:root{--bg: #ffffff;--panel: #f5f7fa;--panel-border: #dde3ea;--text: #101820;--text-dim: #5b6b7a;--accent: #1f6fd6;--green: #1e9e52;--red: #d8393f;--amber: #b6790a;--mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-shell{max-width:1400px;margin:0 auto;padding:24px}.app-header h1{margin:0;font-size:28px;letter-spacing:1px}.tagline{color:var(--text-dim);margin:4px 0 20px;font-size:14px}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:16px 20px;margin-bottom:20px}.panel h2{margin-top:0;font-size:16px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.health-bar{display:flex;flex-wrap:wrap;gap:20px;align-items:center;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:14px 20px;margin-bottom:20px}.indicator{display:flex;align-items:center;gap:6px;font-size:13px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-ok{background:var(--green)}.dot-bad{background:var(--red)}.indicator-label{font-weight:600}.indicator-detail{color:var(--text-dim)}.auth-error-note{width:100%;font-size:12px;color:var(--amber)}.health-counters{display:flex;gap:24px;margin-left:auto;flex-wrap:wrap}.counter{display:flex;flex-direction:column;align-items:center}.counter-value{font-family:var(--mono);font-size:16px}.counter-label{font-size:11px;color:var(--text-dim)}.main-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media (max-width: 800px){.main-grid{grid-template-columns:1fr}}.symbol-form{display:flex;gap:8px;margin-bottom:12px}.symbol-form input{flex:1;background:var(--bg);border:1px solid var(--panel-border);color:var(--text);padding:8px 10px;border-radius:6px;font-family:var(--mono)}button{background:var(--accent);color:#06131f;border:none;padding:8px 14px;border-radius:6px;cursor:pointer;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.danger-btn{background:var(--red);color:#2a0000;display:block;width:100%;margin-bottom:10px}.remove-btn{background:transparent;border:1px solid var(--panel-border);color:var(--text-dim);padding:4px 10px;font-size:12px}.symbol-list{list-style:none;margin:0;padding:0}.symbol-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--panel-border)}.symbol-name{font-family:var(--mono);font-weight:600;flex:1}.empty-state{color:var(--text-dim);font-style:italic}.form-error{color:var(--red);font-size:13px;margin-bottom:10px}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px}.badge-live{background:#2ecc7126;color:var(--green)}.badge-off{background:#8fa1b326;color:var(--text-dim)}.badge-buy{background:#2ecc7126;color:var(--green)}.badge-sell{background:#ff5c5c26;color:var(--red)}.badge-long{background:#2ecc7133;color:var(--green)}.badge-short{background:#ff5c5c33;color:var(--red)}.badge-close{background:#f5a62333;color:var(--amber)}.badge-pending{background:#8fa1b333;color:var(--text-dim)}.badge-status{background:#4da3ff26;color:var(--accent)}.table-wrap{overflow-x:auto}.event-table{width:100%;border-collapse:collapse;font-size:13px}.event-table th{text-align:left;color:var(--text-dim);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--panel-border);white-space:nowrap}.event-table td{padding:8px 10px;border-bottom:1px solid var(--panel-border);white-space:nowrap}.event-row{cursor:pointer}.event-row:hover{background:#4da3ff0f}.mono{font-family:var(--mono)}.datetime-cell{display:flex;flex-direction:column;line-height:1.3;white-space:nowrap;font-family:var(--mono)}.datetime-date{font-size:11px;color:var(--text-dim)}.datetime-time{font-size:13px;font-weight:600}.admin-message{background:#4da3ff1a;border:1px solid var(--accent);padding:10px 16px;border-radius:6px;margin-bottom:20px;cursor:pointer}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:flex-end;z-index:100}.drawer{width:min(560px,100%);background:var(--panel);border-left:1px solid var(--panel-border);height:100%;overflow-y:auto;padding:20px}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.close-btn{background:transparent;color:var(--text-dim);font-size:18px}.drawer-body section{margin-bottom:24px}.section-fact{color:var(--green);font-size:13px;letter-spacing:.5px}.section-inference{color:var(--amber);font-size:13px;letter-spacing:.5px}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.fact-label{display:block;color:var(--text-dim);font-size:11px}.disclaimer{font-size:12px;color:var(--text-dim);font-style:italic;margin-top:8px}.mini-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:10px}.mini-table th,.mini-table td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--panel-border)}.probable-result{font-size:15px}.evidence-list{font-size:12px;color:var(--text-dim);padding-left:18px}.confirm-dialog{margin:auto;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:24px;max-width:420px;align-self:center}.confirm-instruction{font-size:13px;color:var(--text-dim)}.confirm-dialog input{width:100%;background:var(--bg);border:1px solid var(--panel-border);color:var(--text);padding:8px 10px;border-radius:6px;margin-bottom:14px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.probability-bars{display:flex;flex-direction:column;gap:8px;margin:10px 0}.probability-bar-row{display:grid;grid-template-columns:90px 1fr 48px;align-items:center;gap:8px;font-size:12px}.probability-bar-label{color:var(--text-dim);font-weight:600}.probability-bar-track{background:var(--bg);border:1px solid var(--panel-border);border-radius:4px;height:10px;overflow:hidden}.probability-bar-fill{height:100%;border-radius:4px 0 0 4px;background:var(--text-dim)}.probability-bar-fill-top{background:var(--accent)}.probability-bar-pct{font-family:var(--mono);text-align:right}.inconclusive-box{background:#b6790a1a;border:1px solid var(--amber);border-radius:6px;padding:10px 12px;font-size:12px;margin-top:8px}.inconclusive-box ul{margin:6px 0 0;padding-left:18px}.final-classification{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;margin-bottom:10px;border:1px solid var(--panel-border)}.final-classification-directional{border-color:var(--accent);background:#1f6fd61a}.final-classification-inconclusive{border-color:var(--text-dim);background:#ffffff08}.final-classification-label{font-size:11px;color:var(--text-dim);letter-spacing:.5px}.final-classification-value{font-size:16px;font-weight:700;font-family:var(--mono)}.confidence-tier-badge{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid currentColor}.tier-weak{color:var(--amber)}.tier-moderate{color:var(--accent)}.tier-strong,.tier-very-strong{color:var(--green)}.reliable-oi-box{border:1px solid var(--panel-border);border-radius:6px;padding:10px 12px;margin-top:10px}.reliable-oi-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.reliability-badge{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid currentColor}.reliability-high{color:var(--green)}.reliability-moderate{color:var(--accent)}.reliability-low{color:var(--amber)}.reliability-unreliable{color:var(--red)}.evidence-block-list{display:flex;flex-direction:column;gap:8px;font-size:12px}.evidence-item{border:1px solid var(--panel-border);border-radius:6px;padding:8px 10px;background:var(--bg)}.evidence-signal{font-family:var(--mono);font-weight:700;display:block;margin-bottom:4px}.evidence-contributions{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:4px}.evidence-contribution-supports{color:var(--green)}.evidence-contribution-opposes{color:var(--red)}.evidence-meta{color:var(--text-dim);font-size:11px}.sla-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.3px}.sla-on-time{background:#2ecc7126;color:var(--green)}.sla-late{background:#f5a62333;color:var(--amber)}.sla-stale{background:#ff5c5c26;color:var(--red)}.sla-missing{background:#8fa1b333;color:var(--text-dim)}.sla-unknown{background:#8fa1b326;color:var(--text-dim)}.timeline-table{width:100%;border-collapse:collapse;font-size:11px}.timeline-table th,.timeline-table td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--panel-border);white-space:nowrap}.timing-health{display:flex;flex-wrap:wrap;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:10px 20px;margin-bottom:20px;font-size:12px}.timing-health-item{display:flex;flex-direction:column}.timing-health-label{color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.4px}.timing-health-value{font-family:var(--mono)}.timing-health-degraded{color:var(--red)}.quick-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.quick-filters button{background:var(--bg);border:1px solid var(--panel-border);color:var(--text-dim);font-size:11px;font-weight:700;letter-spacing:.3px;padding:5px 10px;border-radius:999px}.quick-filters button.active{background:#1f6fd626;border-color:var(--accent);color:var(--accent)}.quick-filters button.quick-filter-strong.active{background:#2ecc7126;border-color:var(--green);color:var(--green)}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:10px}.filter-search{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);padding:7px 10px;border-radius:6px;font-size:13px;min-width:180px;flex:1 1 180px}.filter-clear-btn{background:transparent;border:1px solid var(--panel-border);color:var(--text-dim);font-size:12px;padding:7px 12px}.toggle-group{display:flex;border:1px solid var(--panel-border);border-radius:6px;overflow:hidden}.toggle-group button{background:var(--bg);color:var(--text-dim);border:none;border-right:1px solid var(--panel-border);border-radius:0;font-size:12px;padding:7px 10px}.toggle-group button:last-child{border-right:none}.toggle-group button.active{background:#1f6fd626;color:var(--accent)}.filter-dropdown{position:relative}.filter-dropdown-trigger{background:var(--bg);border:1px solid var(--panel-border);color:var(--text-dim);font-size:12px;padding:7px 10px;display:flex;align-items:center;gap:6px;white-space:nowrap}.filter-dropdown-trigger.active{border-color:var(--accent);color:var(--accent);background:#1f6fd61a}.filter-dropdown-trigger .caret{font-size:9px;opacity:.7}.filter-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:50;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:10px;min-width:220px;max-width:320px;box-shadow:0 8px 24px #00000040}.filter-dropdown-search{width:100%;background:var(--bg);border:1px solid var(--panel-border);color:var(--text);padding:6px 8px;border-radius:6px;font-size:12px;margin-bottom:8px}.filter-dropdown-actions{display:flex;gap:6px;margin-bottom:8px}.filter-dropdown-actions button{background:transparent;border:1px solid var(--panel-border);color:var(--text-dim);font-size:11px;padding:4px 8px}.filter-dropdown-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.filter-dropdown-option{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 4px;border-radius:4px;cursor:pointer}.filter-dropdown-option:hover{background:#ffffff0a}.filter-dropdown-option span:first-of-type{flex:1}.filter-dropdown-count{color:var(--text-dim);font-family:var(--mono);font-size:11px}.filter-dropdown-empty{color:var(--text-dim);font-size:12px;margin:4px 0}.threshold-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.threshold-presets button{background:var(--bg);border:1px solid var(--panel-border);color:var(--text-dim);font-size:11px;padding:4px 8px}.threshold-presets button.active{background:#1f6fd626;border-color:var(--accent);color:var(--accent)}.threshold-custom{display:flex;gap:6px;margin-bottom:6px}.threshold-custom input{flex:1;background:var(--bg);border:1px solid var(--panel-border);color:var(--text);padding:6px 8px;border-radius:6px;font-size:12px;min-width:0}.threshold-clear{width:100%;background:transparent;border:1px solid var(--panel-border);color:var(--text-dim);font-size:11px;padding:5px 8px}.oi-filter-panel{display:flex;flex-direction:column;gap:8px;min-width:260px}.more-filters-panel{display:flex;flex-direction:column;gap:12px;min-width:260px}.more-filters-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.more-filters-row .more-filters-label{color:var(--text-dim);font-size:11px;min-width:110px}.more-filters-row input[type=datetime-local]{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);padding:5px 6px;border-radius:6px;font-size:11px}.active-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.active-filter-chips-label{color:var(--text-dim);font-size:11px;margin-right:2px}.filter-chip{display:inline-flex;align-items:center;gap:6px;background:#1f6fd61f;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:3px 6px 3px 10px;font-size:11px;font-weight:600}.filter-chip button{background:transparent;color:var(--accent);padding:0 4px;font-size:13px;line-height:1}.filter-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;margin-bottom:8px;border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border)}.filter-summary-count{font-size:13px;color:var(--text-dim)}.filter-summary-stats{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--text-dim)}.filter-summary-stats strong{color:var(--text);font-family:var(--mono)}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;color:var(--text-dim)}.pagination-rows{display:flex;align-items:center;gap:6px}.pagination-rows button{background:var(--bg);border:1px solid var(--panel-border);color:var(--text-dim);font-size:11px;padding:4px 8px}.pagination-rows button.active{background:#1f6fd626;border-color:var(--accent);color:var(--accent)}.pagination-nav{display:flex;align-items:center;gap:10px}.pagination-nav button{background:var(--bg);border:1px solid var(--panel-border);color:var(--text-dim);font-size:12px;padding:5px 10px}
