:root{color-scheme:light;--bg: #f4f4f2;--surface: #fcfcfb;--border: #dddcd7;--text: #0b0b0b;--text-secondary: #52514e;--text-muted: #77766f;--accent: #2a78d6;--accent-text: #ffffff;--error: #b42323;--notice-bg: #fdf3e1;--grid: #e6e5e0;--series-capacity: #2a78d6;--series-outage: #eb6834;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #121211;--surface: #1a1a19;--border: #383835;--text: #f0efec;--text-secondary: #c3c2b7;--text-muted: #9a998f;--accent: #3987e5;--accent-text: #ffffff;--error: #f07272;--notice-bg: #33291a;--grid: #2c2c2a;--series-capacity: #3987e5;--series-outage: #d95926}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}h1{font-size:1.6rem;margin:0 0 .25rem}h2{font-size:1.1rem;margin:0}.muted{color:var(--text-secondary)}.small{font-size:.85rem}.status{color:var(--text-secondary);padding:1rem 0}.error{color:var(--error)}.stale{opacity:.55;transition:opacity .15s}.topbar{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;padding:.75rem 16px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-weight:700;color:var(--text);text-decoration:none}.topbar nav{flex:1;display:flex;gap:1rem}.topbar nav a{text-decoration:none}.topbar nav a.active{font-weight:600;text-decoration:underline;text-underline-offset:.3em}.who{display:flex;gap:.6rem;align-items:center}.role{font-size:.8rem;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary)}main{max-width:1200px;margin:0 auto;padding:1.5rem 16px 3rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin:1rem 0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.cards .card{margin:0}.cards h2 a{color:var(--text)}table.columns{width:100%;border-collapse:collapse;margin-top:.5rem;font-size:.85rem}table.columns td{padding:.25rem .5rem .25rem 0;vertical-align:top;border-top:1px solid var(--border)}button,input,select{font:inherit;color:inherit}button{background:var(--accent);color:var(--accent-text);border:0;border-radius:6px;padding:.45rem .9rem;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.link{background:none;color:var(--accent);padding:0}input,select{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem}.login{max-width:360px;padding-top:12vh}.login form{display:flex;flex-direction:column;gap:.9rem}.login label{display:flex;flex-direction:column;gap:.3rem;color:var(--text-secondary)}.filters{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;margin:1rem 0}.filters label,.controls label{color:var(--text-secondary);display:flex;gap:.4rem;align-items:center;max-width:100%}.filters select{min-width:0;max-width:100%}.presets,.segmented{display:flex;gap:.25rem;flex-wrap:wrap}.chip,.segmented button{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);padding:.3rem .7rem}.chip.active,.segmented button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.pager{display:flex;gap:.75rem;align-items:center;color:var(--text-secondary);font-size:.9rem}.chart{margin-top:.5rem}.chart-placeholder{height:320px;display:grid;place-items:center}.chart .grid line{stroke:var(--grid)}.chart .axis line{stroke:var(--border)}.chart .axis text{fill:var(--text-secondary);font-size:12px}.chart .crosshair{stroke:var(--text-muted);stroke-width:1}.chart .active-dot{stroke:var(--surface)}.tooltip{display:flex;flex-direction:column;gap:.1rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.45rem .65rem;font-size:.85rem;box-shadow:0 2px 8px #0000001f}.table-wrap{overflow-x:auto;margin-top:.75rem}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data th,table.data td{padding:.35rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap;text-align:left}table.data th{color:var(--text-secondary);font-weight:600}table.data .num{text-align:right;font-variant-numeric:tabular-nums}.null{color:var(--text-muted);font-style:italic}.sql-form{display:flex;flex-direction:column;gap:.5rem}textarea{font:.9rem/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:inherit;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.6rem;resize:vertical}.sql-actions{display:flex;gap:.75rem;align-items:center;margin:.5rem 0}.table-list{color:var(--text-secondary);overflow-wrap:anywhere}.notice{background:var(--notice-bg);border-radius:6px;padding:.5rem .75rem;margin:.75rem 0 0}p.card{margin:1rem 0}.badge{font-size:.85rem;padding:.15rem .6rem;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary)}.badge-failed{color:var(--error);border-color:var(--error)}table.columns td.num{text-align:right;font-variant-numeric:tabular-nums}.result-scroll .table-wrap{max-height:70vh;overflow:auto}.result-scroll table.data th{position:sticky;top:0;background:var(--surface)}
