:root{color-scheme:light;--page: #f9f9f7;--surface: #fcfcfb;--surface-raised: #ffffff;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #6f6d68;--border: rgba(11, 11, 11, .1);--grid: #e1e0d9;--axis: #c3c2b7;--hover: rgba(11, 11, 11, .05);--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--pos: #2a78d6;--neg: #e34948;--neutral-mid: #f0efec;--pos-text: #006300;--neg-text: #b42323;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--accent: #2a78d6;--danger: #c62f2f;--focus: #2a78d6;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-raised: #232322;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #9a988f;--border: rgba(255, 255, 255, .1);--grid: #2c2c2a;--axis: #383835;--hover: rgba(255, 255, 255, .06);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--pos: #3987e5;--neg: #e66767;--neutral-mid: #383835;--pos-text: #0ca30c;--neg-text: #f07c7c;--accent: #3987e5;--danger: #e05252}}:root[data-theme=dark]{color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-raised: #232322;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #9a988f;--border: rgba(255, 255, 255, .1);--grid: #2c2c2a;--axis: #383835;--hover: rgba(255, 255, 255, .06);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--pos: #3987e5;--neg: #e66767;--neutral-mid: #383835;--pos-text: #0ca30c;--neg-text: #f07c7c;--accent: #3987e5;--danger: #e05252}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);font-size:14px;line-height:1.45}h1{font-size:20px;margin:0 0 16px}h2{font-size:16px;margin:24px 0 12px}h3{font-size:14px;margin:16px 0 8px;color:var(--text-secondary)}a{color:var(--accent)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.brand{font-weight:700}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{padding:6px 10px;border-radius:6px;text-decoration:none;color:var(--text-secondary)}.nav a.active{background:var(--hover);color:var(--text-primary);font-weight:600}.topbar .spacer{flex:1}.main{padding:16px;max-width:1400px;width:100%;margin:0 auto}.status-dot{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.status-dot.online:before{background:var(--good)}.status-dot.offline:before{background:var(--critical)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.tile-label{color:var(--text-secondary);font-size:12px}.tile-value{font-size:20px;font-weight:600;margin-top:2px}.tile-sub{color:var(--text-muted);font-size:12px}.pos{color:var(--pos-text)}.neg{color:var(--neg-text)}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px}table{border-collapse:collapse;width:100%}th,td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--grid);white-space:nowrap}th{color:var(--text-secondary);font-weight:600;font-size:12px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--hover)}tr.clickable{cursor:pointer}tr.sub-row td{background:var(--page)}.heatmap td{text-align:center;font-variant-numeric:tabular-nums;min-width:52px;border:2px solid var(--surface)}.btn{padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface-raised);cursor:pointer}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:transparent}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.1)}.btn-danger{background:var(--danger);color:#fff;border-color:transparent}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(1.1)}.btn-sm{padding:2px 8px;font-size:13px}.btn-xl{padding:14px 24px;font-size:16px;font-weight:700}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.field-inline{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}.field{display:flex;flex-direction:column;gap:4px;color:var(--text-secondary);margin:8px 0}input,select{padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised)}input[type=checkbox]{padding:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px}.notice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);margin-bottom:12px}.notice-icon{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-weight:700;font-size:12px;color:#fff;flex:none}.notice-error .notice-icon{background:var(--critical)}.notice-warn .notice-icon{background:var(--warning);color:#0b0b0b}.notice-info .notice-icon{background:var(--accent)}.notice-ok .notice-icon{background:var(--good)}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border)}.badge-good{color:var(--pos-text)}.badge-warning{color:var(--text-primary);background:color-mix(in oklab,var(--warning) 30%,transparent)}.badge-critical{color:#fff;background:var(--critical);border-color:transparent}.badge-neutral{color:var(--text-secondary)}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px;margin-bottom:16px}.chart{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;min-width:0}.chart figcaption{font-weight:600;margin-bottom:8px}.kill-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.kill-panel.engaged{border-color:var(--critical);border-width:2px}.dialog{border:1px solid var(--border);border-radius:12px;padding:20px;background:var(--surface-raised);color:var(--text-primary);width:min(480px,calc(100vw - 32px))}.dialog::backdrop{background:#00000073}.dialog h2{margin-top:0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.login{max-width:420px;margin:12vh auto;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.muted{color:var(--text-muted)}.small{font-size:12px}@media (max-width: 640px){.charts{grid-template-columns:1fr}.main{padding:12px 16px}.tile-value{font-size:17px}}
