:root{--text:#1a1a1a;--bg:#fff;--border:#e5e4e7;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#e5e7eb;--bg:#14151a;--border:#2e303a}}body{min-height:100vh;margin:0}#root{min-height:100vh}h1,h2{margin:0;font-weight:600}p{margin:0}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid #80808044;flex-direction:column;flex-shrink:0;width:220px;transition:width .15s;display:flex}.sidebar.collapsed{width:56px}.sidebar-header{border-bottom:1px solid #80808044;justify-content:space-between;align-items:center;padding:14px 12px;display:flex}.sidebar-title{white-space:nowrap;font-size:1rem;font-weight:700}.sidebar-toggle{cursor:pointer;background:0 0;border:1px solid #80808066;border-radius:4px;padding:2px 8px;font-size:.85rem}.sidebar-toggle:hover{background:#80808022}.sidebar-nav{flex-direction:column;gap:2px;padding:8px;display:flex}.sidebar-link{color:inherit;white-space:nowrap;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex;overflow:hidden}.sidebar-link:hover{background:#80808022}.sidebar-link.active{color:#3742fa;background:#3742fa22;font-weight:600}.sidebar-icon{text-align:center;flex-shrink:0;width:20px;font-size:1.05rem}.sidebar-label{align-items:center;gap:6px;display:flex}.soon-badge{opacity:.6;text-transform:uppercase;border:1px solid #80808066;border-radius:8px;padding:0 6px;font-size:.65rem}.sidebar-section-label{letter-spacing:.06em;text-transform:uppercase;opacity:.5;padding:14px 10px 4px;font-size:.68rem;font-weight:700}.sidebar-nav>.sidebar-section-label:first-child{padding-top:4px}.shell-main{flex:1;min-width:0;max-width:1400px;padding:20px}.page-content{flex-direction:column;gap:20px;display:flex}.page-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-toolbar-hint{opacity:.65;font-size:.8rem}.coming-soon-body{text-align:center;opacity:.8;padding:24px}.coming-soon-hint{opacity:.6;font-size:.8rem}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.app-header h1{margin:0;font-size:1.4rem}.header-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.control-bar{align-items:center;gap:10px;display:flex}.ws-dot{background:#888;border-radius:50%;width:10px;height:10px}.ws-dot.live{background:#2ecc71;box-shadow:0 0 6px #2ecc71}.ws-dot.down{background:#e74c3c}.mode-badge{letter-spacing:.03em;border-radius:6px;padding:4px 10px;font-size:.85rem;font-weight:700}.mode-paper{color:#3742fa;background:#3742fa22}.mode-live{color:#e74c3c;background:#e74c3c22}.btn{cursor:pointer;background:0 0;border:1px solid #888;border-radius:6px;padding:6px 14px;font-size:.85rem}.btn:hover{background:#80808022}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{color:#e74c3c;border-color:#e74c3c}.btn-warning{color:#f39c12;border-color:#f39c12}.btn-small{padding:2px 8px;font-size:.75rem}.kill-active-label{color:#e74c3c;font-size:.8rem;font-weight:700}.banner{border-radius:6px;margin-bottom:16px;padding:10px 16px;font-size:.9rem}.banner-error{color:#e74c3c;background:#e74c3c22}.banner-info{color:#3498db;background:#3498db22}.summary-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.summary-card{border:1px solid #80808044;border-radius:8px;flex-direction:column;align-items:center;padding:14px;display:flex}.summary-value{font-size:1.8rem;font-weight:700}.summary-label{opacity:.7;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.grid{grid-template-columns:1fr;gap:20px;display:grid}.grid-1{grid-template-columns:1fr}.panel{border:1px solid #80808044;border-radius:8px;overflow:hidden}.panel-header{border-bottom:1px solid #80808044;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.panel-header h2{margin:0;font-size:1rem}.panel-header input{background:0 0;border:1px solid #80808066;border-radius:4px;padding:4px 8px}.table-scroll{max-height:420px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;white-space:nowrap;padding:6px 12px}thead th{background:canvas;border-bottom:1px solid #80808044;position:sticky;top:0}tbody tr:hover{background:#80808011}tbody tr.row-selected{outline-offset:-1px;background:#4a90d911;outline:1px solid #4a90d966}.highlight{color:#2ecc71;font-weight:700}.row-resistance{border-left:3px solid #e74c3c}.row-support{border-left:3px solid #2ecc71}.status-badge{border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:700}.status-open{color:#3742fa;background:#3742fa22}.status-closed{color:gray;background:#80808022}.status-control{color:#f39c12;background:#f39c1222}.status-system{color:gray;background:#80808022}.status-order{color:#3742fa;background:#3742fa22}.status-signal{color:#2ecc71;background:#2ecc7122}.status-risk{color:#e74c3c;background:#e74c3c22}.pnl-positive{color:#2ecc71;font-weight:700}.pnl-negative{color:#e74c3c;font-weight:700}.empty-row{text-align:center;opacity:.6;padding:20px}.chip-group{padding:14px}.chip-group+.chip-group{border-top:1px solid #80808022}.chip-group-label{text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.85em;font-weight:700;display:block}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.symbol-chip{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.85em;font-weight:600}.symbol-chip-buy{color:#2ecc71;background:#2ecc7122}.symbol-chip-sell{color:#e74c3c;background:#e74c3c22}.oi-strike-list{flex-wrap:wrap;gap:5px;display:flex}.oi-chip{white-space:nowrap;border-radius:999px;align-items:baseline;gap:5px;padding:2px 8px;font-size:.8em;display:inline-flex}.oi-chip-ce{color:#e74c3c;background:#e74c3c22}.oi-chip-pe{color:#2ecc71;background:#2ecc7122}.oi-chip-strike{font-weight:700}.oi-chip-oi{opacity:.75;font-size:.9em}.quadrant-badge{white-space:nowrap;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 10px;font-size:.8em;display:inline-flex}.quadrant-badge-label{font-weight:700}.quadrant-badge-sub{opacity:.75;font-size:.85em}.q-long-buildup{color:#2ecc71;background:#2ecc7122}.q-short-buildup{color:#e74c3c;background:#e74c3c22}.q-short-covering{color:#2ecc71;background:#2ecc7115;border:1px dashed #2ecc7166}.q-long-unwinding{color:#e74c3c;background:#e74c3c15;border:1px dashed #e74c3c66}.confluence-cell{opacity:.85;max-width:220px;font-size:.82em}.bias-card-grid{flex-wrap:wrap;gap:10px;padding:4px 2px;display:flex}.bias-card{cursor:pointer;min-width:150px;font:inherit;text-align:left;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px;display:flex}.bias-card-active{border-color:currentColor}.bias-bullish{color:#2ecc71;background:#2ecc7118}.bias-bearish{color:#e74c3c;background:#e74c3c18}.bias-mixed{color:#e8b74b;background:#e8b74b18}.bias-neutral{color:#8ba0b5;background:#8ba0b518}.bias-card-symbol{font-size:.95em;font-weight:700}.bias-card-label{align-items:center;gap:6px;font-size:.82em;font-weight:700;display:flex}.bias-confidence{opacity:.85;font-size:.85em;font-weight:600}.bias-confidence-low{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.bias-card-counts{opacity:.7;font-size:.72em}.fib-near-badge{color:#e8b74b;font-weight:700}.fib-row-clickable{cursor:pointer}.fib-row-clickable:hover{background:#80808014}.fib-row-selected{background:#4fa8ff14;box-shadow:inset 3px 0 #4fa8ff}.fib-ltp-row td{color:#4fa8ff;text-align:center;letter-spacing:.03em;background:#4fa8ff1c;font-weight:700}.fib-ladder-nearest td{font-weight:700}.fib-ladder-confluence td{background:#e8b74b16}.fib-ladder-extension td{opacity:.65;font-style:italic}@media (width>=1100px){.grid:not(.grid-1){grid-template-columns:1.3fr 1fr}}.q-flat{color:#9aa0a6;background:#80808018;border:1px dashed #80808055}.oi-compare-shell{grid-template-columns:240px 1fr;align-items:start;gap:16px;display:grid}@media (width<=900px){.oi-compare-shell{grid-template-columns:1fr}}.oi-compare-symbols{border:1px solid #80808044;border-radius:8px;flex-direction:column;max-height:78vh;display:flex;overflow:hidden}.oi-compare-symbols input{width:calc(100% - 16px);margin:8px}.oi-compare-symbol-list{flex:1;overflow-y:auto}.oi-compare-symbol-item{cursor:pointer;border-left:3px solid #0000;padding:7px 12px;font-size:.92em}.oi-compare-symbol-item:hover{background:#80808014}.oi-compare-symbol-item.active{background:#2a78d61a;border-left-color:#2a78d6;font-weight:600}.oi-compare-viz{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-1:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--gridline:#e1e0d9;--axis:#c3c2b7;--series-today:#2a78d6;--series-previous:#eb6834;--border:#0b0b0b1a}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .oi-compare-viz{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-1:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--gridline:#2c2c2a;--axis:#383835;--series-today:#3987e5;--series-previous:#d95926;--border:#ffffff1a}}:root[data-theme=dark] .oi-compare-viz{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-1:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--gridline:#2c2c2a;--axis:#383835;--series-today:#3987e5;--series-previous:#d95926;--border:#ffffff1a}.oi-compare-chart-card{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:14px}.oi-compare-chart-title{color:var(--text-primary);margin:0 0 6px;font-size:.95em;font-weight:700}.oi-compare-legend{color:var(--text-secondary);gap:16px;margin-bottom:8px;font-size:.82em;display:flex}.oi-compare-legend-item{align-items:center;gap:6px;display:flex}.oi-compare-legend-swatch{border-radius:2px;width:14px;height:3px;display:inline-block}.oi-compare-svg text{fill:var(--text-muted);font-size:10px}.oi-compare-svg .oi-compare-gridline{stroke:var(--gridline);stroke-width:1px}.oi-compare-svg .oi-compare-axis{stroke:var(--axis);stroke-width:1px}.oi-compare-svg .oi-compare-line-today{fill:none;stroke:var(--series-today);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.oi-compare-svg .oi-compare-line-previous{fill:none;stroke:var(--series-previous);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.oi-compare-svg .oi-compare-dot-today{fill:var(--series-today)}.oi-compare-svg .oi-compare-dot-previous{fill:var(--series-previous)}.oi-compare-svg .oi-compare-crosshair{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 3}.oi-compare-tooltip{pointer-events:none;background:var(--surface-1);border:1px solid var(--border);color:var(--text-primary);white-space:nowrap;z-index:5;border-radius:6px;padding:6px 10px;font-size:.8em;position:absolute;box-shadow:0 2px 8px #00000026}.oi-compare-tooltip-row{align-items:center;gap:6px;display:flex}.oi-compare-empty{color:var(--text-muted);text-align:center;padding:40px 0;font-size:.85em}.btn-active{color:#2a78d6;background:#2a78d622;border-color:#2a78d6}
