/* Intranet — extends ../css/style.css */
body{ background:var(--cream-deep); }
.admin-shell{ display:grid; grid-template-columns:230px 1fr; min-height:100vh; }
.admin-side{
  background:var(--teal-deep); color:var(--mint-soft); padding:1.6rem 1.2rem; display:flex; flex-direction:column; gap:.3rem;
}
.admin-side .brand-name{ color:var(--paper); font-size:1.3rem; margin-bottom:1.4rem; display:block; }
.admin-side button{
  text-align:left; background:none; border:none; color:var(--mint-soft); font-family:var(--font-head);
  font-weight:600; padding:.7rem .8rem; border-radius:12px; font-size:.9rem;
}
.admin-side button.active, .admin-side button:hover{ background:rgba(255,255,255,.12); color:var(--paper); }
.admin-side .logout{ margin-top:auto; color:var(--yellow-soft); }

.admin-main{ padding:2.2rem clamp(1rem,4vw,3rem); }
.admin-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1.6rem; flex-wrap:wrap; gap:1rem; }
.admin-top h1{ font-size:1.5rem; margin:0; }
.admin-actions{ display:flex; gap:.6rem; flex-wrap:wrap; }

.admin-panel{ display:none; }
.admin-panel.active{ display:block; }

.card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-md); padding:1.6rem; box-shadow:var(--shadow-card); margin-bottom:1.4rem; }
.card h3{ font-size:1.05rem; margin-bottom:1rem; }

.field-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field{ display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.field.full{ grid-column:1/-1; }
.field label{ font-family:var(--font-head); font-weight:600; font-size:.82rem; color:var(--teal-deep); }
.field input, .field textarea, .field select{
  border:1px solid var(--line); border-radius:10px; padding:.65rem .8rem; font-family:var(--font-body);
  font-size:.92rem; background:var(--cream); color:var(--ink);
}
.field textarea{ resize:vertical; min-height:70px; }

.list-editable{ display:flex; flex-direction:column; gap:.6rem; }
.list-editable .row{ display:flex; gap:.6rem; align-items:center; }
.list-editable input, .list-editable select{ flex:1; }
.icon-btn{ background:var(--cream); border:1px solid var(--line); border-radius:8px; width:36px; height:36px; flex:none; color:var(--ink-soft); }
.icon-btn:hover{ background:#FBE3E0; color:#C0392B; }
.add-row-btn{ align-self:flex-start; }

table.admin-table{ width:100%; border-collapse:collapse; font-size:.88rem; }
table.admin-table th{ text-align:left; font-family:var(--font-head); color:var(--teal-deep); padding:.6rem .5rem; border-bottom:2px solid var(--line); }
table.admin-table td{ padding:.6rem .5rem; border-bottom:1px solid var(--line); vertical-align:middle; }
table.admin-table tr:hover{ background:var(--cream); }
.table-actions{ display:flex; gap:.4rem; }
.tag-mini{ background:var(--mint-soft); color:var(--teal-deep); padding:.2rem .6rem; border-radius:999px; font-size:.72rem; font-weight:700; }

.login-screen{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.login-card{ background:var(--paper); border-radius:var(--radius-lg); padding:2.4rem; width:100%; max-width:380px; box-shadow:var(--shadow-soft); text-align:center; }
.login-card img{ height:56px; margin:0 auto 1rem; }
.login-card .field{ text-align:left; }
.hint{ font-size:.78rem; color:var(--ink-soft); margin-top:.8rem; }

.toast{
  position:fixed; bottom:1.4rem; left:50%; transform:translateX(-50%) translateY(20px); opacity:0;
  background:var(--teal-deep); color:#fff; padding:.8rem 1.4rem; border-radius:999px; font-family:var(--font-head);
  font-weight:600; font-size:.85rem; box-shadow:var(--shadow-soft); transition:all .25s ease; z-index:500; pointer-events:none;
}
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

.image-preview{ width:100%; height:120px; border-radius:10px; background:var(--cream); display:flex; align-items:center; justify-content:center; font-size:2.4rem; overflow:hidden; border:1px dashed var(--line); }
.image-preview img{ width:100%; height:100%; object-fit:cover; }

@media (max-width: 860px){
  .admin-shell{ grid-template-columns:1fr; }
  .admin-side{ flex-direction:row; overflow-x:auto; align-items:center; }
  .admin-side .brand-name{ display:none; }
  .admin-side .logout{ margin-top:0; margin-left:auto; }
  .field-grid{ grid-template-columns:1fr; }
}
