:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:#10161d;color:#e5eef5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;gap:24px;padding:38px 5vw 28px;border-bottom:1px solid #26313c;background:#131c25}h1{font-size:30px;letter-spacing:-1px;margin:8px 0}h2{font-size:18px;margin:0}h3{font-size:15px}p{color:#94a6b5;font-size:14px;line-height:1.6;margin:6px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#70d7bc}.header-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px}small,.muted{font-size:12px;color:#95a7b7}a{color:#70d7bc;text-decoration:none;font-size:13px}a:hover{text-decoration:underline}main{max-width:1600px;margin:auto;padding:28px 5vw}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metrics article,.panel{background:#17212b;border:1px solid #2a3845;border-radius:10px}.metrics article{display:flex;flex-direction:column;gap:12px;padding:22px}.metrics article>span{font-size:12px;color:#9eb0bf}.metrics strong{font-size:27px;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.panel{padding:22px;margin-bottom:22px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.current-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.current-card{background:#101a23;border:1px solid #293d49;padding:17px;border-radius:7px}.current-card h3{margin:0 0 5px}.current-card .quotes{display:flex;gap:20px;font-size:13px;margin:14px 0}.progress{height:5px;background:#2a3845;border-radius:3px;overflow:hidden;margin:14px 0 8px}.progress>div{height:100%;background:#66cead;width:0}.upcoming{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;font-size:11px;color:#9eb0bf}.upcoming span{border:1px solid #34414d;border-radius:4px;padding:5px 8px}.upcoming .ready{border-color:#326454;color:#8cdbbf}.badge{font-size:11px;display:inline-block;white-space:nowrap;padding:5px 9px;border-radius:30px;background:#314353;color:#c5d5e2}.badge.running,.badge.finalized{background:#193f34;color:#7bdfb6}.badge.failed,.badge.finalize_error,.badge.heartbeat_expired{background:#542c32;color:#ffadb3}.badge.recording{background:#243e58;color:#8bc8ff}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{font-size:11px;color:#99aab9;font-weight:500;border-bottom:1px solid #364451;padding:12px 10px}td{padding:15px 10px;border-bottom:1px solid #293541;font-variant-numeric:tabular-nums}td:first-child{min-width:245px}td small{display:block;margin-top:4px}.filters{display:flex;gap:8px}select,button{font:inherit;font-size:12px;border:1px solid #405260;background:#1c2a35;color:#dfeaf1;border-radius:5px;padding:8px 10px}button{cursor:pointer}button:hover{background:#2b414f}button:disabled{opacity:.5;cursor:default}.secondary{background:transparent}.foot{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#8b9fae}.error{padding:14px;border:1px solid #a15561;background:#40252b;color:#ffb6bf;margin-bottom:20px;border-radius:6px}dialog{background:#17212b;border:1px solid #45606c;border-radius:10px;color:#e5eef5;width:min(960px,94vw);max-height:90vh;padding:25px}dialog::backdrop{background:#050a10cc}pre{padding:15px;background:#0c151d;border-radius:5px;overflow:auto;font-size:12px;line-height:1.6;max-height:45vh}.detail-stats{color:#a9c0cd;font-size:13px;line-height:1.7;margin-bottom:15px}#more{margin-top:16px}@media(max-width:850px){.metrics{grid-template-columns:repeat(2,1fr)}header{padding:25px 5vw}.section-title{align-items:flex-start;flex-wrap:wrap}.foot{flex-direction:column}}@media(max-width:500px){.metrics{grid-template-columns:1fr}header{flex-direction:column}.header-side{align-items:flex-start}.metrics strong{font-size:25px}.panel{padding:15px}}
:root .filters{flex-wrap:wrap;align-items:end}.filters label{font-size:10px;color:#95a7b7;display:flex;flex-direction:column;gap:4px}.filters input{background:#1c2a35;color:#dfeaf1;border:1px solid #405260;border-radius:5px;padding:7px;font:inherit;font-size:12px}
.current-card > small { display: block; margin-top: 5px; overflow-wrap: anywhere; }
.current-card > strong { display: block; margin-top: 10px; }
.badge.clock_skew { background: #542c32; color: #ffadb3; }
#resume-live { margin-left: 10px; }
.badge.degraded { background: #4b3a19; color: #f3d18d; }
.badge.missed { background: #4b3a19; color: #f3d18d; }
#capture-errors { margin: -8px 0 22px; }
.series-panel .section-title { margin-bottom: 12px; }
.series-status-line { display: flex; justify-content: space-between; gap: 12px; margin: 12px 0; }
.series-table { min-width: 1060px; }
.series-table td:first-child { min-width: 170px; }
.series-row td { padding: 12px 9px; vertical-align: middle; }
.series-row { cursor: pointer; }
.series-row:hover { background: #1c2c38; }
.series-toggle { border: 0; padding: 6px 0; background: transparent; text-align: left; color: #e5eef5; font-weight: 600; white-space: nowrap; }
.series-toggle:hover { background: transparent; color: #70d7bc; }
.series-toggle:focus-visible { outline: 2px solid #70d7bc; outline-offset: 4px; }
.series-table .series-detail > td { padding: 0; }
.series-detail-body { padding: 20px; background: #111c25; border-left: 3px solid #66cead; }
.series-detail-grid { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(320px, 1.5fr); gap: 20px; }
.series-detail .current-card { background: #15232d; }
.series-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.series-history h3 { margin: 0 0 6px; }
.series-recent-market { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #2a3845; }
.series-recent-market > div:first-child { overflow-wrap: anywhere; }
.series-recent-market > div:last-child { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.series-detail-body > p { margin-top: 14px; }
.series-legend { margin-top: 14px; max-width: 1100px; }
.badge.stale,.badge.disk_sync_overdue { background: #542c32; color: #ffadb3; }
.badge.awaiting_metadata,.badge.awaiting_capture,.badge.awaiting_first_save { background: #4b3a19; color: #f3d18d; }
@media(max-width:700px) { .series-status-line { flex-direction: column; } }
