:root {
  --admin-ink: #0b1220;
  --admin-sidebar: #101827;
  --admin-sidebar-2: #172235;
  --admin-accent: #3b82f6;
  --admin-grid: rgba(15, 23, 42, .055);
}
.admin-portal-body { margin: 0; background: #f2f5f9; color: var(--admin-ink); }
.admin-portal-shell { min-height: 100vh; display: grid; grid-template-columns: 280px minmax(0,1fr); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 20px 16px; color: #dce7f8; background: linear-gradient(180deg,var(--admin-sidebar),var(--admin-sidebar-2)); box-shadow: 12px 0 34px rgba(15,23,42,.14); z-index: 30; }
.admin-brand { display: flex; align-items: center; gap: 12px; padding: 6px 8px 18px; border-bottom: 1px solid rgba(255,255,255,.09); }
.admin-brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: rgba(59,130,246,.16); border: 1px solid rgba(96,165,250,.28); color: #8fc0ff; font-size: 21px; }
.admin-brand strong,.admin-brand span { display:block; }.admin-brand strong{color:#fff;font-size:16px}.admin-brand span{color:#8fa3bd;font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin-top:3px}
.admin-environment { display:flex; align-items:center; gap:10px; margin:16px 6px 10px; padding:10px 12px; border-radius:10px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.07); }
.admin-environment strong,.admin-environment small{display:block}.admin-environment strong{font-size:12px;color:#f8fbff}.admin-environment small{font-size:11px;color:#8fa3bd;margin-top:2px}.admin-pulse{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}
.admin-nav { display:flex; flex-direction:column; gap:5px; margin-top:8px; }
.admin-nav-item { width:100%; border:0; background:transparent; color:#9fb0c7; display:flex; align-items:center; gap:11px; padding:11px 12px; border-radius:9px; text-align:left; cursor:pointer; font:inherit; transition:.16s ease; }
.admin-nav-item i{font-size:19px}.admin-nav-item:hover{background:rgba(255,255,255,.06);color:#f8fbff}.admin-nav-item.active{background:rgba(59,130,246,.17);color:#fff;box-shadow:inset 3px 0 0 #60a5fa}
.admin-sidebar-footer { margin-top:auto; padding-top:14px; border-top:1px solid rgba(255,255,255,.09); display:grid; gap:8px; }
.admin-profile { display:flex; gap:10px; align-items:center; padding:7px 5px 12px; }.admin-profile strong,.admin-profile span{display:block}.admin-profile strong{color:#fff;font-size:13px}.admin-profile span{color:#8fa3bd;font-size:11px;margin-top:2px}.admin-profile .profile-avatar{background:rgba(255,255,255,.08);color:#a8c7ef}
.admin-sidebar .button.secondary{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.1);color:#edf5ff}.admin-sidebar .button.ghost{color:#9fb0c7}
.admin-content { min-width:0; padding: 0 30px 34px; background-image: linear-gradient(var(--admin-grid) 1px, transparent 1px),linear-gradient(90deg,var(--admin-grid) 1px,transparent 1px); background-size:32px 32px; }
.admin-header { min-height:105px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid #dce3ec; background:rgba(242,245,249,.93); backdrop-filter:blur(10px); position:sticky; top:0; z-index:20; }
.admin-header h1{margin:3px 0 4px;font-size:25px}.admin-header p{margin:0;color:#65758b}.admin-header-kicker{font-size:10px;letter-spacing:.16em;color:#497099;font-weight:700}.admin-header-actions{display:flex;align-items:center;gap:10px}.admin-header .status-chip.online .status-dot{background:#22c55e}
.admin-page { display:none; padding-top:24px; }.admin-page.active{display:block}.admin-panel-card{box-shadow:0 10px 26px rgba(15,23,42,.055);border-color:#dce3ec}
.admin-command-strip { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 16px; margin-bottom:18px; border:1px solid #cad7e7; border-radius:11px; background:#f8fbff; color:#36516f; }
.admin-command-strip>div{display:flex;align-items:center;gap:11px}.admin-command-strip i{font-size:21px;color:#2563eb}.admin-command-strip strong,.admin-command-strip small{display:block}.admin-command-strip small{color:#718096;margin-top:2px}.admin-command-strip time{font:12px ui-monospace,SFMono-Regular,Consolas,monospace;color:#50637a}
.admin-metric{position:relative;overflow:hidden}.admin-metric:after{content:"";position:absolute;inset:auto -30px -40px auto;width:110px;height:110px;border-radius:50%;background:rgba(59,130,246,.045)}
.admin-live-label{font:700 10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;color:#17803d;display:flex;align-items:center;gap:6px}.admin-live-label i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.1)}
.admin-denied{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-denied-card{max-width:460px;text-align:center;padding:36px}.admin-denied-card .metric-icon{margin:0 auto 16px}.admin-denied-card p{color:#65758b;margin-bottom:22px}
.admin-portal-link{justify-content:center}.admin-mobile-only{display:none}
@media (max-width: 920px){.admin-portal-shell{grid-template-columns:1fr}.admin-sidebar{position:fixed;left:-290px;width:260px;transition:left .2s ease}.admin-portal-shell.menu-open .admin-sidebar{left:0}.admin-content{padding:0 16px 30px}.admin-header{min-height:90px}.admin-header-actions .status-chip,.admin-header-actions .button.secondary{display:none}.admin-mobile-only{display:inline-grid}.admin-portal-shell.menu-open #adminSidebarBackdrop{display:block}}
@media (max-width: 620px){.admin-header h1{font-size:21px}.admin-command-strip{align-items:flex-start;flex-direction:column}.admin-content{padding-left:12px;padding-right:12px}}
