:root,:root[data-theme=dark]{--bg: #0d1017;--panel: #161b22;--panel-border: #2a2f3a;--text: #e6edf3;--muted: #8b949e;--accent: #4cc2ff;--error: #ff7b72;color-scheme:dark}:root[data-theme=light]{--bg: #f5f6f8;--panel: #ffffff;--panel-border: #d0d7de;--text: #1f2328;--muted: #57606a;--accent: #0969da;--error: #cf222e;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}.app{max-width:1280px;margin:0 auto;padding:16px 24px 48px}.app-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--panel-border);padding-bottom:16px;margin-bottom:16px}.app-header h1{font-size:20px;margin:0}.subtitle{margin:2px 0 0;color:var(--muted)}.user{display:flex;align-items:center;gap:12px}.nav-link{background:transparent;border:1px solid transparent;color:var(--accent);font-weight:600}.nav-link:hover{border-color:var(--panel-border)}.filter-bar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.filter-scope{border-top:1px solid var(--panel-border);padding-top:12px}.venue-select select{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:6px 8px}.refresh-control{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12px}.series-filter{display:flex;flex-direction:column;gap:8px}.series-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.series-label{color:var(--muted)}.series-head select{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:6px 8px}.series-head .segmented button{padding:5px 10px;font-size:12px}.series-clear{color:var(--muted)}.series-chips{display:flex;flex-wrap:wrap;gap:6px}.series-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;padding:2px 4px 2px 10px;font-size:12px}.series-chip button{border:none;background:transparent;color:var(--muted);padding:0 4px;font-size:14px;line-height:1}.series-chip button:hover{color:var(--text)}.custom-range{display:flex;align-items:center;gap:12px}.custom-range input[type=date]{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:5px 8px}.segmented{display:inline-flex;border:1px solid var(--panel-border);border-radius:6px;overflow:hidden}.segmented button{background:var(--panel);color:var(--muted);border:none;padding:6px 12px;cursor:pointer}.segmented button.active{background:var(--accent);color:#07121b;font-weight:600}button{cursor:pointer;border-radius:6px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);padding:6px 12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-wide{grid-column:1 / -1}.section-break{display:flex;align-items:center;gap:12px;margin:36px 0 20px;color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.section-break:before,.section-break:after{content:"";flex:1;height:2px;background:var(--panel-border)}@media (max-width: 820px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:16px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-header h2{font-size:14px;font-weight:600;margin:0}.card-body{min-height:80px}.muted{color:var(--muted)}.error{color:var(--error)}.chart-note{margin:4px 0 0;font-size:11px;font-style:italic;text-align:center}.anomaly-callout{margin:0 0 12px;padding:10px 12px;border:1px solid var(--panel-border);border-left:3px solid #ffa657;border-radius:6px}.anomaly-callout h3{margin:0 0 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffa657}.anomaly-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12px}.anomaly-item{display:flex;align-items:center;gap:8px}.anomaly-dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:4px;align-self:flex-start}.zoom-link{background:none;border:none;padding:0 0 0 6px;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.zoom-link:hover{text-decoration:underline}.chart-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:10px 0 0;font-size:17px}.chart-stats strong{font-size:19px;color:var(--accent)}.live-dot:before{content:"●";color:#56d364;margin-right:6px}.feed-autorefresh{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.feed-autorefresh select{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:2px 6px}.feed-autorefresh select:disabled{opacity:.5}.app-footer{margin-top:32px;padding-top:12px;border-top:1px solid var(--panel-border);text-align:center;font-size:11px;color:var(--muted)}.auth-screen{max-width:480px;margin:80px auto;text-align:center;padding:24px}.feed-scroll{max-height:320px;overflow-y:auto}.feed-table{width:100%;border-collapse:collapse}.feed-table th,.feed-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--panel-border);white-space:nowrap}.feed-table th{position:sticky;top:0;background:var(--panel);color:var(--muted);font-weight:600}code{background:var(--bg);border:1px solid var(--panel-border);padding:1px 4px;border-radius:4px;font-size:.92em}.help{max-width:760px}.help h1{font-size:24px;margin:12px 0 8px}.help-section{margin-top:28px;border-top:1px solid var(--panel-border);padding-top:20px}.help-section h2{font-size:16px;margin:0 0 10px}.help p{line-height:1.6;margin:0 0 12px}.help-list,.help-defs{line-height:1.6}.help-list{padding-left:20px}.help-list li{margin-bottom:8px}.help-defs dt{font-weight:600;color:var(--accent);margin-top:14px}.help-defs dd{margin:4px 0 0}.help-callout{background:var(--panel);border:1px solid var(--panel-border);border-left:3px solid var(--accent);border-radius:6px;padding:12px 14px}.help-back{margin:8px 0;color:var(--accent)}
