:root{color-scheme:light;--page: #f9f9f7;--surface: #fcfcfb;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--axis: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--good: #0ca30c;--good-text: #006300;--critical: #d03b3b;--warning: #fab219;--accent: #2a78d6;--accent-ink: #ffffff}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])){color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--good: #0ca30c;--good-text: #0ca30c;--critical: #d03b3b;--warning: #fab219;--accent: #3987e5}}:root[data-theme=dark]{color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--good-text: #0ca30c;--accent: #3987e5}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;gap:20px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar .brand{font-weight:700;font-size:16px;letter-spacing:-.01em}.topbar nav{display:flex;gap:4px}.topbar nav a{padding:6px 12px;border-radius:6px;color:var(--text-secondary)}.topbar nav a.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.topbar .spacer{flex:1}.container{max-width:1200px;margin:0 auto;padding:24px 20px}.container.wide{max-width:none}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);padding:7px 14px;border-radius:6px}button:hover{border-color:var(--axis)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}button.primary:hover{filter:brightness(1.05)}button.danger{color:var(--critical)}button.danger:hover{background:color-mix(in srgb,var(--critical) 10%,transparent)}button:disabled{opacity:.5;cursor:not-allowed}input,select{font:inherit;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-primary);width:100%}input:focus,select:focus{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);border-color:var(--accent)}label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:18px}.card h2{margin:0 0 14px;font-size:15px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:right;padding:6px 9px;border-bottom:1px solid var(--grid);white-space:nowrap;font-variant-numeric:tabular-nums}th{color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.02em}th:first-child,td:first-child,th.l,td.l{text-align:left}tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}td.pos{color:var(--good-text)}td.neg{color:var(--critical)}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}.badge.COMPLETED{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good-text)}.badge.RUNNING{background:color-mix(in srgb,var(--series-1) 16%,transparent);color:var(--series-1)}.badge.QUEUED{background:color-mix(in srgb,var(--warning) 20%,transparent);color:#8a5a00}.badge.FAILED{background:color-mix(in srgb,var(--critical) 14%,transparent);color:var(--critical)}:root[data-theme=dark] .badge.QUEUED{color:var(--warning)}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])) .badge.QUEUED{color:var(--warning)}}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.tile .k{font-size:12px;color:var(--text-muted)}.tile .v{font-size:22px;font-weight:700;margin-top:4px}.tile .v.pos{color:var(--good-text)}.tile .v.neg{color:var(--critical)}.chart svg{display:block;width:100%;height:auto}.chart .axis-label{fill:var(--text-muted);font-size:11px}.tooltip{position:fixed;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 9px;font-size:12px;box-shadow:0 4px 14px #00000026;z-index:20;font-variant-numeric:tabular-nums}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-box{width:320px}.muted{color:var(--text-muted)}.mono{font-variant-numeric:tabular-nums}.err{color:var(--critical);font-size:13px;margin-top:8px}.logbox{margin-top:10px}.logbox>summary{cursor:pointer;font-size:12px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;margin-bottom:6px}.logbox>pre{margin:0;padding:10px 12px;background:var(--page);border:1px solid var(--border);border-radius:6px;font-size:12px;line-height:1.45;color:var(--text-secondary);white-space:pre;overflow:auto;max-height:320px}.center-pad{padding:60px 20px;text-align:center;color:var(--text-muted)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--text-primary);color:var(--page);padding:10px 18px;border-radius:8px;font-size:13px;z-index:50}
