:root{color-scheme:dark;--bg-0: #06080f;--bg-1: #0a0e1a;--bg-2: #0f172a;--bg-3: #131c30;--border: #1f2a44;--border-strong: #2a3756;--hover: #16213a;--text: #e6ecf6;--text-muted: #9aa6bf;--text-dim: #5f6e8c;--accent: #22d3ee;--accent-2: #818cf8;--accent-fg: #04161c;--ok: #22c55e;--ok-soft: rgba(34, 197, 94, .14);--warn: #f59e0b;--warn-soft: rgba(245, 158, 11, .14);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .14);--info: #38bdf8;--info-soft: rgba(56, 189, 248, .14);--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.35);--shadow-lg: 0 12px 40px rgba(0,0,0,.45);--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 20% -10%,rgba(34,211,238,.06),transparent 60%),radial-gradient(900px 500px at 110% 0%,rgba(129,140,248,.07),transparent 60%),var(--bg-0);color:var(--text);font:14px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;background:var(--accent);color:var(--accent-fg);border:none;padding:.5rem .85rem;border-radius:var(--r-md);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:filter .15s,transform .05s}button:hover:not(:disabled){filter:brightness(1.1)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border-strong)}button.secondary:hover:not(:disabled){background:var(--hover)}button.danger{background:var(--danger);color:#fff}button.ghost{background:transparent;color:var(--text-muted);border:none}button.ghost:hover:not(:disabled){background:var(--hover);color:var(--text)}input,select,textarea{font:inherit;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);padding:.5rem .7rem;outline:none;transition:border-color .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.app{display:grid;grid-template-columns:248px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"sidebar topbar" "sidebar main";height:100%}.sidebar{grid-area:sidebar;background:var(--bg-1);border-right:1px solid var(--border);display:flex;flex-direction:column}.topbar{grid-area:topbar;background:var(--bg-1);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.75rem;padding:0 1.25rem}.main{grid-area:main;overflow:auto;padding:1.5rem}@media(max-width:800px){.app{grid-template-columns:1fr;grid-template-rows:56px auto 1fr;grid-template-areas:"topbar" "sidebar" "main"}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;overflow-x:auto}.sidebar .nav{display:flex;gap:.25rem;padding:.5rem}.sidebar .brand,.sidebar .tenant-switcher,.sidebar .footer{display:none}}.brand{padding:1rem 1.25rem .75rem;display:flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:.02em}.brand .mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;color:var(--accent-fg);font-weight:800;font-size:14px}.brand-text{font-size:15px;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.tenant-switcher{margin:.25rem .75rem .75rem}.nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:.5rem;overflow-y:auto}.nav .item{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border-radius:var(--r-md);color:var(--text-muted);font-weight:500;cursor:pointer;user-select:none}.nav .item:hover{background:var(--hover);color:var(--text);text-decoration:none}.nav .item.active{background:linear-gradient(90deg,#22d3ee1f,#818cf80f);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.nav .item .badge{margin-left:auto;font-size:11px;padding:1px 6px;border-radius:9999px;background:var(--danger);color:#fff}.nav .group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);padding:.75rem .85rem .4rem}.sidebar .footer{padding:.75rem;border-top:1px solid var(--border);color:var(--text-dim);font-size:12px;display:flex;align-items:center;gap:.4rem}.topbar h1{font-size:16px;font-weight:600;margin:0}.topbar .spacer{flex:1}.topbar .live-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:9999px;background:var(--bg-2);border:1px solid var(--border);font-size:12px;color:var(--text-muted)}.topbar .live-pill.live{color:var(--ok);border-color:#22c55e4d;background:var(--ok-soft)}.topbar .live-pill.dead{color:var(--danger);border-color:#ef44444d;background:var(--danger-soft)}.topbar .live-pill .dot{width:6px;height:6px;border-radius:9999px;background:currentColor}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:1rem}.card.tight{padding:.75rem}.card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.card-header h2{font-size:14px;font-weight:600;margin:0}.card-header .spacer{flex:1}.kpi{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border-radius:var(--r-lg);background:var(--bg-1);border:1px solid var(--border);position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(34,211,238,.06),transparent 60%);pointer-events:none}.kpi .label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.kpi .value{font-size:28px;font-weight:700;letter-spacing:-.02em}.kpi .sub{font-size:12px;color:var(--text-dim)}.kpi.warn .value{color:var(--warn)}.kpi.danger .value{color:var(--danger)}.kpi.ok .value{color:var(--ok)}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:9999px;border:1px solid var(--border);color:var(--text-muted);background:var(--bg-2)}.badge.info{color:var(--info);border-color:#38bdf84d;background:var(--info-soft)}.badge.ok{color:var(--ok);border-color:#22c55e4d;background:var(--ok-soft)}.badge.warn{color:var(--warn);border-color:#f59e0b4d;background:var(--warn-soft)}.badge.danger{color:var(--danger);border-color:#ef44444d;background:var(--danger-soft)}.table{width:100%;border-collapse:separate;border-spacing:0}.table thead th{text-align:left;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);padding:.55rem .75rem;border-bottom:1px solid var(--border)}.table tbody td{padding:.65rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:hover{background:var(--hover)}.table tbody tr:last-child td{border-bottom:none}.row{display:flex;align-items:center;gap:.75rem}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:.75rem}.stack-tight{display:flex;flex-direction:column;gap:.4rem}.spacer{flex:1}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.ok{color:var(--ok)}.err,.danger-text{color:var(--danger)}.warn{color:var(--warn)}.mono{font-family:var(--font-mono);font-size:12px}.grid{display:grid;gap:1rem}.grid-3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grid-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty .icon{width:48px;height:48px;border-radius:50%;background:var(--bg-2);border:1px solid var(--border);display:grid;place-items:center;margin:0 auto .75rem;color:var(--text-dim)}.skel{background:linear-gradient(90deg,var(--bg-2),var(--bg-3),var(--bg-2));background-size:200% 100%;animation:shimmer 1.6s infinite linear;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{box-shadow:0 0 #ef444480}50%{box-shadow:0 0 0 8px #ef444400}}.alert-pulse{animation:pulse 1.6s infinite}.dialog-backdrop{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);display:grid;place-items:center;z-index:50}.dialog{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:1.25rem;min-width:360px;max-width:560px;width:100%}.dialog h3{margin:0 0 .25rem;font-size:16px}
