:root{--bg:#060a12;--bg-panel:#0b1220;--bg-panel-hi:#111c30;--border:#1c2942;--border-hi:#2a3d5f;--text:#dce5f2;--text-dim:#8496b3;--text-faint:#5a6b87;--ok:#34d399;--warn:#fbbf24;--crit:#f87171;--accent:#38bdf8;--mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:10px;--gap:16px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(56,189,248,.028) 1px,transparent 0),linear-gradient(90deg,rgba(56,189,248,.028) 1px,transparent 0);background-size:48px 48px;z-index:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.num{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.state-ok{color:var(--ok)}.state-warn{color:var(--warn)}.state-crit{color:var(--crit)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.shell{display:flex;min-height:100vh;position:relative;z-index:1}.sidebar{width:216px;flex-shrink:0;border-right:1px solid var(--border);background:rgba(11,18,32,.72);padding:20px 12px;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px;border-bottom:1px solid var(--border);margin-bottom:16px}.brand-mark{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(140deg,#0ea5e9,#1e3a8a);font-family:var(--mono);font-weight:700;font-size:14px;color:#041018}.brand-name{font-weight:650;letter-spacing:.02em}.brand-sub{font-size:11px;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--text-dim);font-size:14px}.nav-item:hover{text-decoration:none}.nav-item:hover,.nav-item[aria-current=page]{background:var(--bg-panel-hi);color:var(--text)}.nav-item[aria-current=page]{box-shadow:inset 2px 0 0 var(--accent)}.nav-badge{margin-left:auto;font-family:var(--mono);font-size:11px;background:var(--warn);color:#1a1204;border-radius:999px;padding:1px 7px;font-weight:700}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{height:56px;flex-shrink:0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 22px;background:rgba(6,10,18,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar h1{font-size:15px;font-weight:600;margin:0}.status-rail{margin-left:auto;gap:18px}.status-item,.status-rail{display:flex;align-items:center}.status-item{gap:7px;font-size:12px;color:var(--text-dim)}.dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.dot.ok{background:var(--ok);box-shadow:0 0 7px var(--ok)}.dot.warn{background:var(--warn);box-shadow:0 0 7px var(--warn)}.dot.crit{background:var(--crit);box-shadow:0 0 7px var(--crit)}.content{padding:22px;display:flex;flex-direction:column;gap:var(--gap)}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.panel-head{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.panel-title{font-size:13px;font-weight:600;letter-spacing:.02em}.panel-body{padding:16px}.grid{display:grid;grid-gap:var(--gap);gap:var(--gap)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tile-label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.09em}.tile-value{font-family:var(--mono);font-size:28px;font-weight:600;margin-top:6px}.tile-note{font-size:12px;color:var(--text-dim);margin-top:4px}.empty{padding:28px 16px;text-align:center;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--r)}.login-wrap{min-height:100vh;display:grid;place-items:center;position:relative;z-index:1}.login-card{width:340px;background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;padding:28px}.login-card h1{font-size:19px;margin:14px 0 4px}.login-card p.sub{color:var(--text-faint);font-size:12px;margin:0 0 22px;letter-spacing:.08em;text-transform:uppercase}label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px}input[type=password],input[type=text]{width:100%;padding:9px 11px;margin-bottom:14px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font-family:var(--mono);font-size:14px}input:focus{outline:none;border-color:var(--accent)}button{width:100%;padding:10px;border:none;border-radius:8px;background:var(--accent);color:#04121c;font-weight:650;font-size:14px;cursor:pointer}button:hover:not(:disabled){background:#7dd3fc}button:disabled{opacity:.55;cursor:not-allowed}.error{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.35);color:var(--crit);padding:9px 11px;border-radius:8px;font-size:13px;margin-bottom:14px}.logout-btn{width:auto;padding:5px 12px;font-size:12px;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:7px}.logout-btn:hover{background:var(--bg-panel-hi);color:var(--text)}@media (max-width:820px){.sidebar{display:none}.grid-3{grid-template-columns:1fr}.content{padding:14px}}