.admin-body { display:flex; min-height:100vh; background:#F4F7FB; color:var(--ink); overflow:hidden; }
.admin-sidebar { width:230px; background:#07101F; color:#fff; padding:16px 12px; display:flex; flex-direction:column; gap:6px; }
.admin-brand { display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.admin-brand.side { padding:4px 6px 14px; border-bottom:1px solid rgba(255,255,255,.08); }
.admin-brand strong { display:block; font-size:18px; letter-spacing:0; }
.admin-brand span { display:block; color:rgba(255,255,255,.48); font-size:12px; margin-top:1px; }
.admin-mark { width:34px; height:34px; border-radius:8px; background:#0F2D6B; color:#F06A1E; display:grid; place-items:center; font-weight:900; font-size:21px; }
.admin-nav { border:0; border-radius:8px; background:transparent; color:rgba(255,255,255,.62); padding:10px 12px; text-align:left; font:inherit; font-size:13px; cursor:pointer; }
.admin-nav:hover, .admin-nav.active { background:rgba(255,255,255,.08); color:#fff; }
.admin-nav.ghost { margin-top:auto; color:#FDA29B; }
.admin-main { flex:1; min-width:0; height:100vh; overflow:auto; }
.admin-top { min-height:72px; padding:16px 24px; background:rgba(255,255,255,.9); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); display:flex; align-items:center; gap:14px; justify-content:space-between; position:sticky; top:0; z-index:10; }
.admin-top h1 { font-size:24px; line-height:1.1; margin:0; }
.admin-top p { margin:4px 0 0; color:var(--ink-300); font-size:13px; }
.admin-user { color:var(--ink-300); font-size:12px; }
.admin-content { padding:24px; }
.admin-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.admin-kpi { background:#fff; border:1px solid var(--border); border-top:3px solid var(--navy-700); border-radius:8px; padding:16px; box-shadow:var(--shadow-sm); }
.admin-kpi:nth-child(2) { border-top-color:#079455; }
.admin-kpi:nth-child(3) { border-top-color:#F06A1E; }
.admin-kpi:nth-child(4) { border-top-color:#6D28D9; }
.admin-kpi span { display:block; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.08em; color:var(--ink-300); }
.admin-kpi strong { display:block; margin-top:6px; font-size:28px; letter-spacing:0; }
.admin-grid { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:16px; }
.admin-card { background:#fff; border:1px solid var(--border); border-radius:8px; box-shadow:var(--shadow-sm); overflow:hidden; }
.admin-card-head { padding:14px 16px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.admin-card-title { font-weight:750; }
.admin-card-body { padding:16px; }
.admin-table { width:100%; border-collapse:collapse; min-width:780px; }
.admin-table th { text-align:left; font-size:10px; letter-spacing:.08em; color:var(--ink-300); text-transform:uppercase; padding:12px 14px; background:#F8FAFC; }
.admin-table td { padding:13px 14px; border-top:1px solid var(--border); font-size:13px; vertical-align:middle; }
.admin-table-wrap { overflow:auto; }
.admin-search { max-width:340px; }
.admin-pill { display:inline-flex; border-radius:999px; padding:4px 8px; font-size:11px; font-weight:700; background:var(--navy-50); color:var(--navy-700); }
.admin-pill.green { background:var(--success-bg); color:var(--success); }
.admin-pill.red { background:var(--error-bg); color:var(--error); }
.admin-pill.amber { background:var(--warning-bg); color:var(--warning); }
.school-drawer { display:grid; gap:14px; }
.admin-actions { display:flex; gap:8px; flex-wrap:wrap; }
.admin-mini-input { width:130px; height:32px; font-size:12px; }
.admin-auth { min-height:100vh; width:100%; display:grid; place-items:center; background:radial-gradient(circle at top left,#EFF6FF,#F8FAFC 45%,#FFF7ED); padding:18px; }
.admin-auth-card { width:100%; max-width:430px; background:#fff; border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow-lg); padding:30px; }
.admin-auth-card h1 { margin:0 0 6px; font-size:25px; }
.admin-auth-card p { margin:0 0 20px; color:var(--ink-300); }
.admin-foot { margin-top:18px; color:var(--ink-300); font-size:12px; text-align:center; }
.admin-menu { display:none; }
@media(max-width:900px){
  .admin-sidebar { position:fixed; inset:0 auto 0 0; transform:translateX(-100%); transition:.2s; z-index:50; }
  .admin-open .admin-sidebar { transform:translateX(0); }
  .admin-menu { display:flex; }
  .admin-top { padding:12px 14px; align-items:flex-start; }
  .admin-user { display:none; }
  .admin-content { padding:14px; }
  .admin-kpis, .admin-grid { grid-template-columns:1fr; }
  .admin-auth-card { padding:22px 18px; }
}
