/* ============================================================
   Admin dashboard
   ============================================================ */
.admin{display:flex;min-height:100dvh;background:var(--bg-sunken)}
.sidebar{width:var(--sidebar-w);flex:none;background:var(--bg-elev);border-inline-end:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;overflow-y:auto}
.sidebar .brand{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}
.side-nav{padding:var(--sp-3);display:flex;flex-direction:column;gap:2px;flex:1}
.side-group{font-size:.64rem;font-weight:800;color:var(--muted-2);letter-spacing:.12em;padding:var(--sp-4) var(--sp-3) 6px;text-transform:uppercase}
.side-link{display:flex;align-items:center;gap:var(--sp-3);padding:.6rem var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;color:var(--text-2);cursor:pointer;transition:all var(--dur);position:relative}
.side-link:hover{background:var(--bg-sunken);color:var(--primary)}
.side-link.on{background:var(--primary-soft);color:var(--primary);font-weight:700}
.side-link .cnt{margin-inline-start:auto;background:var(--danger);color:#fff;font-size:.62rem;font-weight:800;border-radius:99px;padding:1px 6px}
.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}
.admin-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);background:var(--bg-glass);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);flex-wrap:wrap}
.admin-body{padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-5);flex:1}
.kpi{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.toolbar{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.bars{display:flex;align-items:flex-end;gap:var(--sp-2);height:170px;padding-top:var(--sp-3)}
.bars div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:flex-end;height:100%}
.bars i{width:100%;max-width:44px;border-radius:8px 8px 3px 3px;background:var(--grad-primary);transition:height .6s var(--ease);min-height:4px}
.bars span{font-size:.62rem;color:var(--muted);font-weight:600}
.donut{width:150px;height:150px;border-radius:50%;position:relative;flex:none;background:conic-gradient(var(--sky-500) 0 62%,var(--sky-700) 62% 84%,var(--accent) 84% 100%)}
.donut::after{content:"";position:absolute;inset:26px;border-radius:50%;background:var(--bg-elev)}
.donut b{position:absolute;inset:0;display:grid;place-items:center;z-index:2;font-family:var(--font-display);font-size:1.3rem}
.legend{display:flex;flex-direction:column;gap:8px;font-size:var(--fs-sm)}
.legend i{width:11px;height:11px;border-radius:3px;display:inline-block;margin-inline-end:8px}
.live-list{max-height:390px;overflow-y:auto}
.map-live{height:320px;border-radius:var(--r);overflow:hidden;position:relative;border:1px solid var(--border)}
.perm-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0}
.perm-row input{width:18px;height:18px;accent-color:var(--primary)}
.audit-line{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px dashed var(--border);font-size:var(--fs-sm)}
.admin-login{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-5);background:
  radial-gradient(ellipse 60% 50% at 50% 0%,rgba(14,165,233,.2),transparent 60%),var(--bg-sunken)}
.admin-login .card{width:min(430px,100%)}
@media (max-width:980px){
  .sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:120;transform:translateX(100%);transition:transform var(--dur) var(--ease);box-shadow:var(--shadow-lg)}
  html[dir="rtl"] .sidebar{transform:translateX(100%)}
  .sidebar.open{transform:none!important}
  .admin-body{padding:var(--sp-4)}
  .admin-top{padding:var(--sp-3) var(--sp-4)}
}
