:root{--bg: #0d1117;--bg-elev: #111823;--bg-elev-2: #1a2230;--border: #2b3648;--text: #e7ecf4;--text-sub: #91a0b6;--primary: #4cc2ff;--success: #1db87f;--warning: #e6a92f;--danger: #e05454}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}button,input,select{font:inherit}.admin-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#0a0f15;border-right:1px solid var(--border);padding:14px}.brand{font-weight:700;font-size:15px;letter-spacing:.3px;margin-bottom:16px;color:#d8f1ff}.sidebar-scroll{overflow-y:auto;max-height:calc(100vh - 56px)}.nav-section{margin-bottom:14px}.nav-title{font-size:11px;color:var(--text-sub);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.nav-link{display:block;text-decoration:none;color:#b7c4d7;padding:7px 9px;border-radius:8px;font-size:13px}.nav-link:hover,.nav-link.active{background:#152132;color:#ecf6ff}.main-shell{min-width:0}.topbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--border);background:#0d1117f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.global-search{width:min(620px,100%);background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.topbar-right{display:flex;align-items:center;gap:12px}.env-badge{background:#1f2c3e;border:1px solid #2f4868;color:#9cc8f3;border-radius:999px;font-size:11px;padding:4px 8px;font-weight:600}.profile-menu{text-align:right;font-size:12px}.profile-sub{color:var(--text-sub)}.content-area{padding:16px}.page-header{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}.page-header h1{margin:0;font-size:20px}.page-header p{margin:4px 0 0;color:var(--text-sub);font-size:13px}.filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.filter-bar input,.filter-bar select,.login-card input,select{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 9px}.table-wrap{overflow:auto;border:1px solid var(--border);background:var(--bg-elev);border-radius:10px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{text-align:left;padding:10px;white-space:nowrap;border-bottom:1px solid #223044}.data-table th{color:var(--text-sub);font-weight:600;background:#101722;position:sticky;top:0}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.btn{border:1px solid var(--border);border-radius:6px;padding:6px 8px;cursor:pointer;background:#1b2738;color:var(--text);font-size:12px}.btn-ghost{background:#121a26}.btn-danger{background:#2b1515;border-color:#5a2b2b;color:#ffb0b0}.btn-primary{background:#1e5a7a;border-color:#2d7dab}.status-badge{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;text-transform:capitalize;border:1px solid transparent}.status-badge.success{background:#113228;color:#7cf1c1;border-color:#1e5946}.status-badge.warning{background:#3b2f12;color:#ffd483;border-color:#715723}.status-badge.danger{background:#3b1b1b;color:#ff9e9e;border-color:#713131}.status-badge.neutral{background:#202a38;color:#c3d2e9;border-color:#36465f}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;margin-bottom:12px}.kpi-card{border:1px solid var(--border);border-radius:10px;background:var(--bg-elev);padding:10px}.kpi-label{color:var(--text-sub);font-size:11px}.kpi-value{font-size:24px;font-weight:700;margin-top:4px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel{border:1px solid var(--border);border-radius:10px;background:var(--bg-elev);padding:12px}.panel h2{margin:0 0 8px;font-size:14px}.detail-drawer{position:fixed;right:-420px;top:0;height:100vh;width:420px;background:#0e141d;border-left:1px solid var(--border);transition:right .18s ease;z-index:9}.detail-drawer.open{right:0}.drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:12px}.drawer-body{padding:12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070ca6;display:grid;place-items:center;z-index:10}.modal{width:min(560px,95vw);background:#101823;border:1px solid var(--border);border-radius:12px;padding:14px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.stack{display:grid;gap:8px}.loading{margin-bottom:10px;color:var(--text-sub)}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#132131,#0b1016 45%)}.login-card{width:min(420px,95vw);padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);display:grid;gap:10px}.login-card h1{margin:0;font-size:22px}.login-card p{margin:0;color:var(--text-sub);font-size:13px}.login-card label{display:grid;gap:4px;font-size:12px}.password-field{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.btn-inline{padding:7px 10px}.login-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.check-row{display:flex;align-items:center;gap:8px;color:var(--text-sub)}.text-link{color:#8ec9ff;text-decoration:none;font-size:12px}.text-link:hover{text-decoration:underline}.error-text{color:#ff9e9e;font-size:12px}.hint{color:var(--text-sub);font-size:12px}.placeholder{color:var(--text-sub)}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.two-col{grid-template-columns:1fr}}@media (max-width: 980px){.admin-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}}
