:root{color-scheme:light;--bg: #f4f4f1;--surface-1: #fcfcfb;--surface-2: #f0efec;--border: #e2e1dc;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #77766f;--grid: #e8e7e2;--axis: #c9c8c1;--accent: #1c5cab;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--neutral: #8a8982;--good-bg: #e7f5e7;--warning-bg: #fff4dc;--serious-bg: #fdece4;--critical-bg: #fbe7e7;--neutral-bg: #efeeea}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--bg: #121211;--surface-1: #1a1a19;--surface-2: #232321;--border: #2f2f2c;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #8f8e86;--grid: #2a2a27;--axis: #44443f;--accent: #5598e7;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--good-bg: #13291a;--warning-bg: #2e2510;--serious-bg: #2f1d14;--critical-bg: #321617;--neutral-bg: #262624}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text-primary);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.num{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px}.muted{color:var(--text-muted)}.small{font-size:12px}code{font-family:ui-monospace,Consolas,monospace;font-size:12px}.app{max-width:1440px;margin:0 auto;padding:20px 20px 40px}.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.topbar h1{margin:0 0 2px;font-size:22px;font-weight:650;letter-spacing:-.01em}.topbar-right{display:flex;align-items:center;gap:12px}.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.6;cursor:default}.banner{padding:10px 14px;border-radius:8px;margin-bottom:12px;border:1px solid var(--border)}.banner.error{background:var(--critical-bg);border-color:var(--critical)}.banner.warn{background:var(--warning-bg);border-color:var(--warning)}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.tile-label{font-size:12px;color:var(--text-secondary)}.tile-value{font-size:26px;font-weight:650;line-height:1.2;margin-top:2px}.tile-of{font-size:16px;font-weight:500}.tile-sub{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.chips{display:flex;gap:6px}.chip{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);padding:5px 12px;border-radius:999px;font:inherit;cursor:pointer}.chip.on{background:var(--text-primary);color:var(--surface-1);border-color:var(--text-primary)}.check{display:flex;align-items:center;gap:6px;color:var(--text-secondary);cursor:pointer}select{font:inherit;padding:4px 6px;border-radius:6px;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary)}.key{display:flex;gap:6px;margin-left:auto;align-items:center}.pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border-radius:999px;padding:3px 10px 3px 4px;font-weight:600;color:var(--text-primary);background:var(--neutral-bg)}.pill-icon{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 3px;border-radius:999px;font-size:10px;font-weight:800;color:#fff;background:var(--neutral)}.pill-sm{font-size:12px;padding:2px 8px 2px 3px}.pill-sm .pill-icon{min-width:16px;height:16px;font-size:9px}.pill-good{background:var(--good-bg)}.pill-good .pill-icon{background:var(--good)}.pill-warning{background:var(--warning-bg)}.pill-warning .pill-icon{background:var(--warning);color:#1a1300}.pill-serious{background:var(--serious-bg)}.pill-serious .pill-icon{background:var(--serious);color:#1f0d05}.pill-critical{background:var(--critical-bg)}.pill-critical .pill-icon{background:var(--critical)}.pill-closed .pill-icon{background:var(--text-secondary)}.pill-muted{color:var(--text-secondary);font-weight:500}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(560px,1fr));gap:14px;align-items:start}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:14px 16px;border-left:4px solid var(--border)}.card.sev-good{border-left-color:var(--good)}.card.sev-warning{border-left-color:var(--warning)}.card.sev-serious{border-left-color:var(--serious)}.card.sev-critical{border-left-color:var(--critical)}.card.sev-closed{border-left-color:var(--text-secondary)}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.card-head h2{margin:0;font-size:17px;font-weight:650}.meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;margin-top:2px}.card-status{text-align:right}.notice{margin-top:10px;padding:7px 10px;border-radius:6px;background:var(--surface-2);font-size:12px;color:var(--text-secondary)}.notice.warn{background:var(--warning-bg)}.cat{margin-top:12px}.cat-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--border);padding-bottom:4px;margin-bottom:2px}.cat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.lane-row{display:grid;grid-template-columns:96px 150px 64px 1fr 110px;align-items:center;gap:8px;padding:5px 0;border-bottom:1px dashed var(--grid)}.lane-row:last-child{border-bottom:0}.lane-hdr{font-size:11px;padding:4px 0 2px;border-bottom:0}.lane-type,.lane-delay{font-weight:600}.lane-open{display:flex;align-items:center;gap:8px;white-space:nowrap}.lane-updated{font-size:11px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lane-row.is-na{opacity:.55}.lane-dots{display:inline-flex;gap:3px}.dot{width:9px;height:12px;border-radius:2px;border:1.5px solid var(--axis)}.dot.on{background:var(--text-secondary);border-color:var(--text-secondary)}.empty-cats{margin-top:12px}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.link{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.seg{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden}.seg button{background:var(--surface-1);color:var(--text-secondary);border:0;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}.seg button+button{border-left:1px solid var(--border)}.seg button.on{background:var(--surface-2);color:var(--text-primary);font-weight:600}.history{margin-top:10px}.history-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}.chart-title{font-weight:600;font-size:13px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary);order:3;flex-basis:100%}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-swatch{display:inline-block;width:12px;height:3px;border-radius:2px}.history-head .seg{margin-left:auto}.chart-wrap{position:relative}.chart-wrap svg{display:block;overflow:visible}svg .grid{stroke:var(--grid);stroke-width:1}svg .baseline{stroke:var(--axis);stroke-width:1}svg .axis{fill:var(--text-muted);font-size:11px}svg .end-label{fill:var(--text-secondary);font-size:11px}svg .crosshair{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3}svg .ring{stroke:var(--surface-1);stroke-width:2}.tooltip{position:absolute;pointer-events:none;min-width:250px;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:8px 10px;font-size:12px}.tt-time{font-weight:600;margin-bottom:4px}.tt-row{display:flex;align-items:center;gap:6px}.tt-label{color:var(--text-secondary);flex:1}.tt-val{font-weight:600}.history-empty{padding:16px 0;font-size:12px}.table-wrap{max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:8px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{padding:5px 8px;text-align:left;border-bottom:1px solid var(--grid);white-space:nowrap}.data-table th{position:sticky;top:0;background:var(--surface-2);color:var(--text-secondary);font-weight:600}.empty{padding:30px 0;text-align:center}.pagefoot{margin-top:24px;text-align:center}@media (max-width: 760px){.app{padding:14px 12px 30px}.tiles{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.key{margin-left:0}.lane-row{grid-template-columns:80px 1fr 56px}.lane-row .lane-open{grid-column:1 / -1;padding-left:80px}.lane-row .lane-updated{display:none}.lane-hdr div:nth-child(4),.lane-hdr div:nth-child(5){display:none}}
