:root{color-scheme:dark;--bg: #0a0e14;--bg-elev: #111722;--bg-elev-2: #161d2b;--bg-hover: #1c2535;--border: #232c3d;--border-strong: #314056;--text: #e6ebf2;--text-dim: #93a1b5;--text-faint: #5f6c80;--brand: #5b8cff;--brand-dim: #2f4a8a;--ok: #2ecc71;--ok-bg: rgba(46, 204, 113, .12);--warn: #f5a623;--warn-bg: rgba(245, 166, 35, .12);--down: #ff5b6e;--down-bg: rgba(255, 91, 110, .12);--tamper: #b06bff;--tamper-bg: rgba(176, 107, 255, .14);--unknown: #6b7686;--unknown-bg: rgba(107, 118, 134, .12);--radius: 12px;--radius-sm: 8px;--shadow: 0 8px 28px rgba(0, 0, 0, .45);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}button{font-family:inherit;cursor:pointer}code,.mono{font-family:var(--mono);font-size:.92em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}.tone-ok{--tone: var(--ok);--tone-bg: var(--ok-bg)}.tone-warn{--tone: var(--warn);--tone-bg: var(--warn-bg)}.tone-down{--tone: var(--down);--tone-bg: var(--down-bg)}.tone-tamper{--tone: var(--tamper);--tone-bg: var(--tamper-bg)}.tone-unknown{--tone: var(--unknown);--tone-bg: var(--unknown-bg)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--tone-bg, var(--bg-elev-2));color:var(--tone, var(--text-dim));border:1px solid color-mix(in srgb,var(--tone, var(--border)) 35%,transparent);white-space:nowrap}.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--tone, var(--text-faint));box-shadow:0 0 8px var(--tone, transparent)}.app-shell{display:grid;grid-template-columns:248px 1fr;height:100vh}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 14px;gap:6px}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px}.brand .logo{width:28px;height:28px;display:grid;place-items:center;background:none;color:var(--brand)}.brand .title{font-size:15px;font-weight:700}.brand .sub{font-size:11px;color:var(--text-faint)}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text-dim);font-weight:500;font-size:13.5px;transition:background .12s,color .12s}.nav-link:hover{background:var(--bg-hover);color:var(--text)}.nav-link.active{background:var(--brand-dim);color:#fff}.nav-link .ico{width:18px;text-align:center;opacity:.9}.nav-section{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:14px 12px 4px}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim)}.sidebar-footer .role{font-weight:600;color:var(--text)}.btn-logout{margin-top:8px;width:100%;background:transparent;border:1px solid var(--border-strong);color:var(--text-dim);border-radius:var(--radius-sm);padding:7px;font-size:12.5px}.btn-logout:hover{background:var(--bg-hover);color:var(--text)}.main{overflow-y:auto;padding:26px 30px 60px}.main-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.main-header h1{font-size:22px}.main-header .subtitle{color:var(--text-dim);font-size:13px;margin-top:4px}.privacy-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim);background:var(--bg-elev-2);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--radius-sm);padding:8px 12px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card.tone{border-color:color-mix(in srgb,var(--tone) 45%,var(--border))}.grid{display:grid;gap:14px}.grid.cells{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.kpis{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:18px}.kpi .label{font-size:12px;color:var(--text-dim)}.kpi .value{font-size:28px;font-weight:700;margin-top:4px}.kpi .value.mono{font-family:var(--mono)}.cell-card{display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:transform .1s,border-color .12s}.cell-card:hover{transform:translateY(-2px);border-color:var(--border-strong)}.cell-card .head{display:flex;align-items:center;justify-content:space-between}.cell-card .cell-id{font-weight:700;font-size:15px;font-family:var(--mono)}.cell-card .tenant{font-size:11px;color:var(--text-faint)}.cell-card .stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;font-size:12.5px}.cell-card .stats .k{color:var(--text-dim)}.cell-card .stats .v{font-weight:600;font-family:var(--mono)}.cell-card .chips{display:flex;gap:8px;flex-wrap:wrap}.bar{height:7px;border-radius:999px;background:var(--bg-elev-2);overflow:hidden}.bar>span{display:block;height:100%;border-radius:999px;background:var(--tone, var(--brand));transition:width .3s}.bar-label{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-dim);margin-bottom:4px}.alarm{display:flex;align-items:center;gap:14px;border-radius:var(--radius);padding:16px 18px;margin-bottom:18px;background:var(--tone-bg);border:1px solid var(--tone);color:var(--text);animation:alarm-pulse 1.6s ease-in-out infinite}.alarm .icon{font-size:26px}.alarm .t{font-weight:700;font-size:15px}.alarm .d{font-size:12.5px;color:var(--text-dim)}@keyframes alarm-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--tone) 40%,transparent)}50%{box-shadow:0 0 0 6px transparent}}.table-wrap{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:600;padding:10px 14px;background:var(--bg-elev-2);border-bottom:1px solid var(--border)}table.data td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tr:last-child td{border-bottom:none}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr.clickable:hover{background:var(--bg-hover)}table.data .mono{font-family:var(--mono)}.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono)}.endpoint-row td{background:var(--bg);font-size:12.5px}.endpoint-head td{background:var(--bg);color:var(--text-faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12.5px;color:var(--text-dim);font-weight:500}.input,.select{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px;font-family:inherit;width:100%}.input:focus,.select:focus{outline:none;border-color:var(--brand)}.input.mono{font-family:var(--mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px 16px;font-size:13.5px;font-weight:600}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--bg-elev-2);border:1px solid var(--border-strong);color:var(--text)}.btn.danger{background:var(--down)}.btn.ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text-dim)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.callout{border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;background:var(--tone-bg, var(--bg-elev-2));border:1px solid color-mix(in srgb,var(--tone, var(--border)) 40%,transparent);color:var(--text)}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.section-title{font-size:14px;font-weight:600;margin:22px 0 12px;display:flex;align-items:center;gap:10px}.spacer{flex:1}.row{display:flex;align-items:center;gap:10px}.login-shell{height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(91,140,255,.12),transparent 60%)}.login-card{width:380px;max-width:92vw}.login-card .brand{justify-content:center;padding-bottom:8px}.identity-pick{display:flex;gap:8px;margin-bottom:14px}.identity-pick button{flex:1;background:var(--bg);border:1px solid var(--border-strong);color:var(--text-dim);border-radius:var(--radius-sm);padding:12px;text-align:left;transition:border-color .12s,color .12s}.identity-pick button:hover{border-color:var(--brand);color:var(--text)}.identity-pick .r{font-weight:700;font-size:13px}.identity-pick .d{font-size:11px;color:var(--text-faint);margin-top:2px}.empty{padding:40px;text-align:center;color:var(--text-faint)}.error-text{color:var(--down);font-size:13px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.spin{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:blink 1.4s ease-in-out infinite}@keyframes blink{50%{opacity:.3}}
