*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#E2E8F0;--ink2:#94A3B8;--ink3:#64748B;--bg:#0A0E1A;--bg1:#111827;--bg2:#1E2535;--bg3:#252E42;--green:#00D97E;--green2:#00B866;--greenbg:rgba(0,217,126,.08);--amber:#F59E0B;--amberbg:rgba(245,158,11,.08);--red:#EF4444;--redbg:rgba(239,68,68,.08);--blue:#60A5FA;--bluebg:rgba(96,165,250,.08);--purple:#A78BFA;--purplebg:rgba(167,139,250,.08);--border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.13);--mono:"JetBrains Mono",monospace;--sans:"Inter",sans-serif;--r:6px}html,body,#root{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.app{display:flex;height:100%}nav.side{width:200px;min-width:200px;background:var(--bg1);border-right:1px solid var(--border);display:flex;flex-direction:column}.nav-logo{padding:18px 16px 16px;border-bottom:1px solid var(--border)}.nav-logo-title{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--ink2);text-transform:uppercase}.nav-logo-sub{font-family:var(--mono);font-size:10px;color:var(--green);margin-top:2px}.nav-section{padding:8px 0}.nav-label{font-size:10px;font-weight:600;color:var(--ink3);letter-spacing:.08em;padding:6px 16px 4px;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 16px;color:var(--ink2);font-size:13px}.nav-item:hover{background:var(--bg2);color:var(--ink)}.nav-item.active{background:var(--bg2);color:var(--green);border-right:2px solid var(--green)}.nav-item i{font-size:15px;width:16px}.nav-status{margin-top:auto;padding:12px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--ink2)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;margin-right:6px;box-shadow:0 0 6px var(--green)}.status-dot.off{background:var(--amber);box-shadow:none}main.shell{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:52px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:12px;background:var(--bg1)}.topbar-title{font-size:14px;font-weight:500}.topbar-sub{font-size:12px;color:var(--ink3)}.topbar-actions{margin-left:auto;display:flex;gap:8px}.content{flex:1;overflow:auto;padding:20px}.card{background:var(--bg1);border:1px solid var(--border);border-radius:var(--r);padding:16px}.card h3{font-size:11px;font-weight:600;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.metric{background:var(--bg2);border-radius:var(--r);padding:14px 16px}.metric-label{font-size:11px;color:var(--ink3);margin-bottom:6px}.metric-value{font-family:var(--mono);font-size:22px;font-weight:500}.metric-sub{font-size:11px;color:var(--ink3);margin-top:3px}.metric-good .metric-value{color:var(--green)}.metric-warn .metric-value{color:var(--amber)}.metric-bad .metric-value{color:var(--red)}.badge{display:inline-flex;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500}.badge.green{background:var(--greenbg);color:var(--green)}.badge.amber{background:var(--amberbg);color:var(--amber)}.badge.red{background:var(--redbg);color:var(--red)}.badge.blue{background:var(--bluebg);color:var(--blue)}.badge.gray{background:#ffffff0d;color:var(--ink2)}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r);font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border2);background:var(--bg2);color:var(--ink)}.btn:hover{background:var(--bg3)}.btn.primary{background:var(--green);color:#001a0d;border-color:transparent}.btn.danger{background:var(--redbg);border-color:var(--red);color:var(--red)}.btn:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;color:var(--ink3);padding:8px;border-bottom:1px solid var(--border);text-transform:uppercase}td{padding:8px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:12px}.err{color:var(--red);font-size:13px;margin:8px 0}.ok{color:var(--green)}label{display:block;font-size:12px;color:var(--ink2);margin:10px 0 4px}input,select,textarea{width:100%;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r);padding:8px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}pre.yaml{background:var(--bg2);padding:12px;border-radius:var(--r);overflow:auto;font-family:var(--mono);font-size:11px;white-space:pre-wrap}.muted{color:var(--ink3);font-size:12px}
