/* =========================================================================
   MIRZO KHAIL ADMIN — layered on top of style.css (same design tokens)
   ========================================================================= */

body.admin-body{ background:var(--paper); }

.admin-shell{ display:flex; min-height:100vh; }

/* ---------------- Sidebar ---------------- */
.admin-sidebar{
  width:264px; flex:none; background:var(--navy-deep); color:rgba(255,255,255,.78);
  position:fixed; top:0; bottom:0; left:0; overflow-y:auto; z-index:1050;
  transition:transform .25s ease;
}
.admin-sidebar .as-brand{
  display:flex; align-items:center; gap:.7rem; padding:1.4rem 1.3rem; border-bottom:1px solid rgba(255,255,255,.08);
}
.admin-sidebar .as-brand img{ width:38px; height:38px; }
.admin-sidebar .as-brand .l1{ font-family:var(--font-display); font-weight:700; color:#fff; font-size:1rem; display:block; line-height:1.2; }
.admin-sidebar .as-brand .l2{ font-family:var(--font-mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); }

.admin-sidebar .as-section{ font-family:var(--font-mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.35); padding:1.1rem 1.3rem .4rem; }
.admin-sidebar .as-link{
  display:flex; align-items:center; gap:.75rem; padding:.62rem 1.3rem; color:rgba(255,255,255,.75);
  font-size:.88rem; font-weight:500; text-decoration:none; border-left:3px solid transparent; transition:all .15s ease;
}
.admin-sidebar .as-link i{ font-size:1rem; width:20px; text-align:center; }
.admin-sidebar .as-link:hover{ background:rgba(255,255,255,.05); color:#fff; }
.admin-sidebar .as-link.active{ background:rgba(218,146,67,.12); border-left-color:var(--gold); color:#fff; }
.admin-sidebar .as-badge{ margin-left:auto; background:var(--rust); color:#fff; font-size:.68rem; font-family:var(--font-mono); padding:.05rem .45rem; border-radius:999px; }

.admin-sidebar .as-foot{ border-top:1px solid rgba(255,255,255,.08); padding:1rem 1.3rem; margin-top:1rem; }
.admin-sidebar .as-foot form button{ background:none; border:none; color:rgba(255,255,255,.6); font-size:.85rem; display:flex; align-items:center; gap:.5rem; padding:0; }
.admin-sidebar .as-foot form button:hover{ color:var(--gold); }

/* ---------------- Main area ---------------- */
.admin-main{ flex:1; margin-left:264px; min-width:0; }
.admin-topbar{
  background:#fff; border-bottom:1px solid var(--line); padding:1rem 1.8rem;
  display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:1030;
}
.admin-topbar h1{ font-size:1.25rem; margin:0; }
.admin-topbar .at-user{ font-family:var(--font-mono); font-size:.82rem; color:var(--slate); display:flex; align-items:center; gap:.6rem; }
.admin-topbar .at-user .avatar{ width:32px; height:32px; border-radius:50%; background:var(--sky-tint); color:var(--navy); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; }
.admin-toggle{ display:none; border:none; background:none; font-size:1.4rem; color:var(--navy); }

.admin-content{ padding:1.8rem; }

/* ---------------- Cards / stat tiles ---------------- */
.admin-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:1.5rem; }
.admin-stat{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:1.3rem 1.5rem; display:flex; align-items:center; gap:1rem; height:100%; }
.admin-stat .admin-stat-icon{ width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:#fff; flex:none; }
.admin-stat .admin-stat-num{ font-family:var(--font-mono); font-weight:700; font-size:1.5rem; color:var(--navy-deep); line-height:1.2; }
.admin-stat .admin-stat-label{ font-size:.8rem; color:var(--slate); }

/* ---------------- Tables ---------------- */
.admin-table-wrap{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; }
.admin-table{ width:100%; border-collapse:collapse; font-size:.9rem; }
.admin-table th{ text-align:left; font-family:var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--slate); background:var(--paper); padding:.85rem 1.2rem; border-bottom:1px solid var(--line); }
.admin-table td{ padding:.85rem 1.2rem; border-bottom:1px solid var(--line); vertical-align:middle; color:var(--ink); }
.admin-table tr:last-child td{ border-bottom:none; }
.admin-table tr:hover td{ background:var(--sky-tint); }
.admin-table img.thumb{ width:46px; height:46px; border-radius:8px; object-fit:cover; }
.admin-table .row-actions{ display:flex; gap:.5rem; justify-content:flex-end; }
.admin-table .row-actions .btn{ padding:.35rem .7rem; font-size:.78rem; }

.admin-empty{ text-align:center; padding:3rem 1rem; color:var(--slate); }
.admin-empty i{ font-size:2.2rem; color:var(--slate-light); display:block; margin-bottom:.8rem; }

/* ---------------- Status badges ---------------- */
.status-badge{ font-family:var(--font-mono); font-size:.7rem; font-weight:600; letter-spacing:.03em; text-transform:uppercase; padding:.28rem .7rem; border-radius:999px; display:inline-block; }
.status-pending, .status-new, .status-unread{ background:#FCF1E2; color:var(--gold-deep); }
.status-completed, .status-onboarded, .status-replied, .status-read{ background:#E3F3E8; color:#1E7A43; }
.status-cancelled, .status-archived{ background:#FCE8E6; color:#B3261E; }
.status-contacted{ background:var(--sky-tint); color:var(--blue); }

/* ---------------- Forms ---------------- */
.admin-form-section{ border-bottom:1px solid var(--line); padding-bottom:1.6rem; margin-bottom:1.6rem; }
.admin-form-section:last-child{ border-bottom:none; }
.admin-form-section h3{ font-size:1.05rem; margin-bottom:1rem; }
.repeater-row{ background:var(--paper); border-radius:10px; padding:1rem; margin-bottom:.75rem; position:relative; }
.repeater-row .rr-index{ font-family:var(--font-mono); font-size:.7rem; color:var(--slate); text-transform:uppercase; letter-spacing:.05em; margin-bottom:.5rem; display:block; }
.current-thumb{ width:90px; height:90px; object-fit:cover; border-radius:10px; border:1px solid var(--line); margin-bottom:.5rem; }

.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--navy-deep); position:relative; overflow:hidden; padding:1.5rem; }
.login-card{ background:#fff; border-radius:var(--radius-lg); padding:2.6rem; max-width:420px; width:100%; box-shadow:var(--shadow-lg); position:relative; z-index:2; }

@media (max-width: 991.98px){
  .admin-sidebar{ transform:translateX(-100%); }
  .admin-sidebar.open{ transform:translateX(0); }
  .admin-main{ margin-left:0; }
  .admin-toggle{ display:block; }
}
