:root{color-scheme:light;--app-bg: #f4f6f8;--surface: #ffffff;--surface-raised: #f7f9fb;--surface-muted: #eef2f5;--sidebar-bg: #202932;--sidebar-hover: #344251;--text-primary: #202932;--text-strong: #25303b;--text-secondary: #46515c;--text-muted: #64717e;--border: #dfe5eb;--border-soft: #edf1f4;--border-strong: #cfd7df;--accent: #1f6feb;--focus: rgba(31, 111, 235, .35);--success: #15803d;--danger: #c2413a;--shadow: rgba(35, 48, 61, .14);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--app-bg);color:var(--text-primary);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--app-bg)}.theme-selector{min-width:0;margin:0;padding:16px;border:0}.theme-selector legend{padding:0;color:var(--text-secondary);font-size:13px;font-weight:600}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.theme-option{position:relative;min-width:0;cursor:pointer}.theme-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.theme-option-content{min-height:72px;display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);background:var(--surface-raised);transition:border-color .14s ease,background-color .14s ease,color .14s ease}.theme-option:hover .theme-option-content{border-color:var(--border-strong);color:var(--text-primary)}.theme-option input:checked+.theme-option-content{border-color:var(--accent);color:var(--text-primary);background:color-mix(in srgb,var(--accent) 10%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}.theme-option input:focus-visible+.theme-option-content{outline:3px solid var(--focus);outline-offset:2px}.theme-option-content>span{min-width:0;display:grid;gap:4px}.theme-option-content strong{font-size:13px}.theme-option-content small{color:var(--text-muted);font-size:11px;line-height:1.35}.appearance-panel{max-width:760px}:root[data-theme=dark]{color-scheme:dark;--app-bg: #080d13;--surface: #0d141c;--surface-raised: #111a24;--surface-muted: #151f2a;--sidebar-bg: #070c12;--sidebar-hover: #152331;--text-primary: #e8edf3;--text-strong: #f4f7fa;--text-secondary: #bac5d0;--text-muted: #8d9aa8;--border: #263341;--border-soft: #1b2733;--border-strong: #394b5d;--accent: #4f8fdc;--focus: rgba(79, 143, 220, .42);--success: #2fc477;--danger: #f05252;--shadow: rgba(0, 0, 0, .42);background:var(--app-bg);color:var(--text-primary)}[data-theme=dark] .boot-screen,[data-theme=dark] .login-screen,[data-theme=dark] .workspace{background:var(--app-bg);color:var(--text-secondary)}[data-theme=dark] .login-panel,[data-theme=dark] .filter-bar,[data-theme=dark] .metric-panel,[data-theme=dark] .user-card,[data-theme=dark] .npd-ncd-info-popover,[data-theme=dark] .chart-tooltip{border-color:var(--border);background:var(--surface);color:var(--text-primary);box-shadow:0 16px 40px var(--shadow)}[data-theme=dark] .sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);color:var(--text-primary)}[data-theme=dark] .sidebar-toggle,[data-theme=dark] .nav-button{color:var(--text-secondary)}[data-theme=dark] .sidebar-toggle:hover,[data-theme=dark] .nav-button:hover,[data-theme=dark] .nav-button.active{background:var(--sidebar-hover);color:#fff}[data-theme=dark] .nav-button.active{box-shadow:inset 2px 0 0 var(--accent),inset 0 0 0 1px #4f8fdc3d}[data-theme=dark] .beta-sidebar-panel{border-color:var(--border);background:var(--surface-raised);color:var(--text-secondary)}[data-theme=dark] .page-title span,[data-theme=dark] .metric-header p,[data-theme=dark] .timestamp,[data-theme=dark] .filter-group label,[data-theme=dark] .field-hint,[data-theme=dark] .muted-text,[data-theme=dark] .header-series-controls,[data-theme=dark] .header-series-controls button,[data-theme=dark] .empty-state{color:var(--text-muted)}[data-theme=dark] .metric-header,[data-theme=dark] .user-card-header,[data-theme=dark] th,[data-theme=dark] td{border-color:var(--border-soft)}[data-theme=dark] .metric-header h2,[data-theme=dark] .spot-price,[data-theme=dark] .header-series-controls button.active,[data-theme=dark] .market-clock,[data-theme=dark] .field-label,[data-theme=dark] .settings-form label,[data-theme=dark] .login-panel label{color:var(--text-primary)}[data-theme=dark] .login-panel input,[data-theme=dark] .filter-bar select,[data-theme=dark] .settings-form input,[data-theme=dark] .settings-form select,[data-theme=dark] .user-table input,[data-theme=dark] .user-table select,[data-theme=dark] .chart-control-select{border-color:var(--border-strong);background:#0a1119;color:var(--text-primary)}[data-theme=dark] input:focus-visible,[data-theme=dark] select:focus-visible,[data-theme=dark] button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}[data-theme=dark] .icon-button,[data-theme=dark] .npd-window-card,[data-theme=dark] .ohf-window-card,[data-theme=dark] .atm-gap-window-card,[data-theme=dark] .npd-bias-table-header,[data-theme=dark] .empty-state{border-color:var(--border);background:var(--surface-muted);color:var(--text-secondary)}[data-theme=dark] .npd-window-card.active,[data-theme=dark] .ohf-window-card.active,[data-theme=dark] .atm-gap-window-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}[data-theme=dark] .npd-window-card:hover,[data-theme=dark] .ohf-window-card:hover,[data-theme=dark] .atm-gap-window-card:hover{border-color:var(--border-strong);background:var(--surface-raised)}[data-theme=dark] .npd-window-card span,[data-theme=dark] .ohf-window-card span,[data-theme=dark] .atm-gap-window-card span{color:var(--text-muted)}[data-theme=dark] .ohf-positive{color:#22c55e}[data-theme=dark] .ohf-negative{color:#ef4444}[data-theme=dark] .chart-info-popover{border-color:var(--border);color:#fff;background:var(--surface-raised);box-shadow:0 16px 38px #0000006b}[data-theme=dark] .adaptive-info-popover,[data-theme=dark] .adaptive-info-popover *{color:var(--text-primary)}[data-theme=dark] .chart-hover-tooltip{border-color:var(--border-strong);color:var(--text-primary);background:color-mix(in srgb,var(--surface-raised) 96%,transparent);box-shadow:0 14px 34px #0000006b}[data-theme=dark] .chart-info-popover p,[data-theme=dark] .npd-ncd-info-popover,[data-theme=dark] .npd-ncd-info-popover *{color:#fff}[data-theme=dark] .npd-bias-tabs{background:var(--surface-muted)}[data-theme=dark] .npd-bias-tabs button{color:#fff}[data-theme=dark] .npd-bias-tabs button.active{color:#fff;background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--accent)}[data-theme=dark] .npd-bias-note,[data-theme=dark] .npd-bias-note strong{color:#fff}[data-theme=dark] .npd-bias-table{border-color:var(--border)}[data-theme=dark] .npd-bias-head{color:#fff;background:var(--surface-muted);border-bottom-color:var(--border)}[data-theme=dark] .npd-bias-row>span{color:#fff;border-bottom-color:var(--border)}[data-theme=dark] .market-clock span{background:#f7931a;color:#17120b}[data-theme=dark] .primary-button{background:#377fc5;color:#fff}[data-theme=dark] .form-error,[data-theme=dark] .app-error{border-color:#f052525c;background:#f052521a;color:#ff9a9a}[data-theme=dark] .form-success{border-color:#2fc47757;background:#2fc4771a;color:#83e4ad}[data-theme=dark] table,[data-theme=dark] .user-table,[data-theme=dark] .admin-layout{color:var(--text-secondary)}[data-theme=dark] th{color:var(--text-muted);background:var(--surface-raised)}[data-theme=dark] .user-table-wrap{border-color:var(--border);background:var(--surface)}[data-theme=dark] .user-table th{color:#fff;background:var(--surface-muted);border-bottom-color:var(--border)}[data-theme=dark] .user-table td{color:var(--text-secondary);border-bottom-color:var(--border)}[data-theme=dark] .heatmap-crosshair-vertical,[data-theme=dark] .heatmap-crosshair-horizontal,[data-theme=dark] .strike-crosshair-vertical,[data-theme=dark] .strike-crosshair-horizontal,[data-theme=dark] .npd-ncd-crosshair{--crosshair-color: rgba(232, 237, 243, .72)}[data-theme=dark] .chart-svg-grid line,[data-theme=dark] .chart-grid line{stroke:#273442}[data-theme=dark] .chart-axis line,[data-theme=dark] .chart-axis path{stroke:#415160}[data-theme=dark] .chart-axis text{fill:#9eabb8}@media(max-width:560px){.theme-options{grid-template-columns:1fr}.theme-option-content{min-height:62px}}@media(prefers-reduced-motion:reduce){.theme-option-content{transition:none}}button,input,select{font:inherit}.boot-screen,.login-screen{min-height:100vh;display:grid;place-items:center;background:#eef2f5}.boot-screen{gap:10px;color:#46515c}.boot-screen.inline{min-height:220px;background:transparent}.app-error{display:grid;gap:12px;align-content:start;max-width:560px;padding:18px;border:1px solid #f0c7c7;border-radius:8px;background:#fff7f7;color:#8a2d2d}.app-error h2,.app-error p{margin:0}.login-panel{width:min(380px,calc(100vw - 32px));background:#fff;border:1px solid #dfe5eb;border-radius:8px;padding:24px;box-shadow:0 18px 45px #23303d1f}.login-brand,.brand{display:flex;align-items:center;gap:10px}.login-brand{margin-bottom:22px}.login-brand h1{margin:0;font-size:22px;letter-spacing:0}.login-panel label{display:grid;gap:7px;margin-bottom:14px;color:#46515c;font-size:13px}.login-panel input,.filter-bar select,.settings-form input,.settings-form select,.user-table input,.user-table select{height:38px;border:1px solid #cfd7df;border-radius:6px;padding:0 10px;color:#202932;background:#fff}.primary-button,.nav-button,.icon-button,.sidebar-toggle{border:0;cursor:pointer}.primary-button{width:100%;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;background:#1f6feb;color:#fff}.primary-button:disabled{opacity:.68;cursor:default}.form-error{margin:4px 0 14px;padding:9px 10px;border-radius:6px;color:#8a2d2d;background:#fff1f1;border:1px solid #f0c7c7;font-size:13px}.form-success{margin:4px 0 14px;padding:9px 10px;border-radius:6px;color:#11613a;background:#eef9f2;border:1px solid #bde8cc;font-size:13px}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);width:100%;max-width:100vw;min-height:100vh;overflow-x:hidden}.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar{background:#202932;color:#f7fafc;padding:18px 12px;display:flex;flex-direction:column;gap:8px}.brand{font-weight:700;margin:0 8px 18px}.brand span,.nav-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-toggle{width:30px;height:30px;margin-left:auto;display:grid;place-items:center;border-radius:6px;color:#d9e1e8;background:transparent}.sidebar-toggle:hover{background:#344251}.sidebar-collapsed .sidebar{padding-inline:10px}.sidebar-collapsed .brand{justify-content:center;margin-inline:0}.sidebar-collapsed .brand span,.sidebar-collapsed .nav-button span{display:none}.sidebar-collapsed .sidebar-toggle{margin-left:0}.nav-button{height:38px;border-radius:6px;display:flex;align-items:center;gap:10px;padding:0 10px;color:#d9e1e8;background:transparent;text-align:left}.nav-button.active{background:#344251;color:#fff}.nav-button.logout{margin-top:auto}.beta-sidebar-panel{margin:8px 2px 10px;padding:10px;border:1px solid rgba(217,225,232,.16);border-radius:6px;background:#34425185;color:#d9e1e8;display:grid;gap:6px;font-size:12px}.beta-sidebar-title{color:#fff;font-size:13px;font-weight:700}.beta-sidebar-row{display:flex;justify-content:space-between;gap:8px;min-width:0}.beta-sidebar-row span{color:#aebac5}.beta-sidebar-row strong{color:#fff;font-weight:700;text-align:right;white-space:nowrap}.beta-sidebar-panel-collapsed{width:44px;margin:12px auto 10px;padding:8px 4px;justify-items:center;text-align:center;gap:3px}.beta-sidebar-kicker,.beta-sidebar-panel-collapsed small{color:#aebac5;font-size:10px;line-height:1}.beta-sidebar-panel-collapsed strong{max-width:38px;color:#fff;font-size:11px;line-height:1.1;overflow:hidden;text-overflow:ellipsis}.workspace{min-width:0;padding:22px;overflow:auto;container:workspace / inline-size}.dashboard,.admin-page,.account-page{display:grid;gap:14px;align-content:start;grid-auto-rows:max-content;min-width:0}.dashboard{container:dashboard / inline-size;grid-template-columns:repeat(var(--dashboard-columns, 1),minmax(0,1fr))}.dashboard[data-columns="1"]{--dashboard-columns: 1}.dashboard[data-columns="2"]{--dashboard-columns: 2}.dashboard[data-columns="3"]{--dashboard-columns: 3}.dashboard[data-columns="4"]{--dashboard-columns: 4}.dashboard>.page-title,.dashboard>.filter-bar,.dashboard>.dashboard-empty-state{grid-column:1 / -1}.dashboard>.dashboard-full-width{grid-column:1 / -1}.page-title,.filter-bar,.metric-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.page-title h1{margin:0;font-size:24px;letter-spacing:0}.page-title span,.metric-header p,.timestamp,.filter-group label{color:#64717e;font-size:13px}.filter-bar{min-height:58px;padding:10px 14px;background:#fff;border:1px solid #dfe5eb;border-radius:8px}.filter-group{display:flex;align-items:center;gap:9px}.market-clock{display:flex;align-items:center;gap:10px;color:#46515c;font-size:13px}.market-clock span{padding:3px 7px;border-radius:5px;background:#f7931a;color:#17120b;font-weight:700}.metric-panel{display:flex;flex-direction:column;background:#fff;border:1px solid #dfe5eb;border-radius:8px;min-width:0;max-width:100%;overflow:hidden}.metric-header{min-height:60px;padding:12px 14px;border-bottom:1px solid #edf1f4}.metric-title{flex:0 0 auto;min-width:0}.metric-header h2{margin:0;font-size:16px;letter-spacing:0}.metric-header p{margin:3px 0 0}.metric-actions{display:flex;align-items:center;gap:9px;min-width:0;flex:1;flex-wrap:wrap;justify-content:flex-end}.metric-header-controls{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px}.metric-header-controls>.chart-info{order:100}.chart-header-legend{order:10;display:inline-flex;align-items:center;gap:18px;color:var(--text-muted);font-size:12px;pointer-events:none}.chart-header-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.chart-header-legend i{width:9px;height:9px;flex:0 0 auto;border-radius:50%}.sabr-curve-header-legend{order:10;display:inline-flex;align-items:center;gap:14px;color:var(--text-muted);font-size:12px;pointer-events:none}.sabr-curve-header-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.sabr-curve-header-legend i{width:20px;height:0;border-top:2px solid}.sabr-curve-header-legend i.dashed{border-top-style:dashed}.sabr-curve-header-legend i.dotted{border-top-style:dotted}.ohf-header-controls,.atm-gap-header-controls{order:10;display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.ohf-window-cards,.atm-gap-window-cards{display:flex;align-items:center;gap:6px;min-width:0}.ohf-window-card,.atm-gap-window-card{min-width:0;height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 9px;border:1px solid #dfe5eb;border-radius:8px;color:#46515c;background:#f7f9fb;cursor:pointer}.ohf-window-card.active,.atm-gap-window-card.active{border-color:#9eb8d2;background:#eef5fb}.ohf-window-card span,.ohf-window-card strong,.atm-gap-window-card span,.atm-gap-window-card strong{white-space:nowrap;font-size:12px;font-weight:700}.ohf-window-card span,.atm-gap-window-card span{color:#64717e}.ohf-positive{color:#15803d}.ohf-negative{color:#c2413a}.adaptive-info{position:relative;flex:0 0 auto}.adaptive-info-popover{position:absolute;z-index:8;display:grid;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;color:var(--text-strong);background:var(--surface);box-shadow:0 14px 36px var(--shadow);font-size:13px;line-height:1.45}.adaptive-info-popover p{margin:0}.time-series-chart-shell{position:relative;width:100%;min-width:0;min-height:520px;height:520px;max-height:520px;flex:none;overflow:hidden;touch-action:pan-y;cursor:crosshair}.time-series-chart-shell canvas{display:block;width:100%;height:100%}.total-gex-hover{position:absolute;z-index:4;width:max-content;max-width:180px;display:grid;gap:4px;padding:8px 10px;border:1px solid #dfe5eb;border-radius:7px;color:#25303b;background:#fffffff5;box-shadow:0 8px 24px #23303d29;pointer-events:none;font-size:12px;line-height:1.35}[data-theme=dark] .total-gex-hover{border-color:#344352;color:#ecf2f8;background:#182028f5}.metric-loading-slot{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center}.header-series-controls{display:inline-flex;align-items:center;gap:12px;min-height:24px;color:#64717e;font-size:12px;line-height:1}.header-series-controls button{height:24px;display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:#64717e;background:transparent;cursor:pointer}.header-series-controls button.active{color:#25303b}.header-series-controls i{width:12px;height:8px;flex:0 0 auto;border-radius:2px}.spot-price{color:#25303b;font-size:13px;font-weight:700;white-space:nowrap}.icon-button{width:32px;height:32px;border-radius:6px;display:grid;place-items:center;color:#46515c;background:#eef2f5}.metric-body{flex:1;display:flex;flex-direction:column;padding:10px 12px 14px;min-width:0;max-width:100%;overflow:hidden}label.check-row,.table-check{display:inline-flex;align-items:center;gap:8px}label.check-row input,.table-check input{width:16px;height:16px;margin:0}.settings-form{display:grid;gap:12px;max-width:420px;padding:16px}.dashboard-preferences-form{display:grid;gap:14px;padding:16px}.dashboard-column-picker{display:flex;align-items:center;gap:16px;margin:0;padding:0;border:0}.dashboard-column-picker legend{margin-bottom:9px;color:#46515c;font-size:13px}.dashboard-column-picker label{display:inline-flex;align-items:center;gap:6px;color:#46515c;font-size:13px}.dashboard-chart-list{display:grid;gap:8px;max-width:720px}.dashboard-chart-setting{display:grid;grid-template-columns:minmax(190px,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e5eaf0;border-radius:7px}.dashboard-full-width-setting{display:inline-flex;align-items:center;gap:6px;color:#46515c;font-size:13px;white-space:nowrap}.dashboard-order-buttons{display:flex;gap:5px}.dashboard-order-buttons button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #dfe5eb;border-radius:6px;color:#46515c;background:#f7f9fb;cursor:pointer}.dashboard-order-buttons button:disabled{opacity:.35;cursor:default}@container workspace (max-width: 1399px){.dashboard[data-columns="3"],.dashboard[data-columns="4"]{--dashboard-columns: 2}}@container workspace (max-width: 899px){.dashboard[data-columns]{--dashboard-columns: 1}}.settings-form label{display:grid;gap:7px;color:#46515c;font-size:13px}.field-label{color:#46515c;font-size:13px}.field-hint{color:#64717e;font-size:12px}.access-block{display:grid;gap:8px}.access-block.muted{opacity:.64}.chart-access-grid,.chart-access-list{display:grid;gap:8px}.chart-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-access-list{min-width:210px}.muted-text{color:#64717e}.expiry-cell{display:flex;align-items:center;gap:8px}.expiry-cell input{min-width:190px}.text-button{border:0;background:transparent;color:#1f6feb;cursor:pointer;font:inherit;padding:0}.danger-text{color:#c2413b}.ban-status{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:700;white-space:nowrap}.ban-status.active{background:#26966924;color:#1f7a58}.ban-status.blocked{background:#c2413b24;color:#c2413b}.ban-details{min-width:180px;max-width:320px}.ban-details summary{cursor:pointer;overflow-wrap:anywhere}.ban-details pre{max-height:180px;overflow:auto;white-space:pre-wrap;font-size:.7rem}.compact-button{width:fit-content;min-width:140px;padding:0 16px}.admin-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:16px;padding:16px}.user-table-wrap{overflow:auto;border:1px solid #edf1f4;border-radius:6px;min-width:0}.user-table{width:100%;border-collapse:collapse;font-size:13px}.user-table th,.user-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #edf1f4;white-space:nowrap}.user-table th{color:#64717e;font-weight:600;background:#f7f9fb}.user-table tr:last-child td{border-bottom:0}.chart-canvas{width:100%;min-width:0;height:520px}.chart-canvas.tall{height:560px}.chart-canvas.gex-old{height:640px}.chart-canvas.heatmap{height:520px}.viewport-chart-mount{flex:1;display:flex;flex-direction:column;min-width:0;contain:layout paint}.heatmap-canvas-shell{position:relative;overflow:hidden;touch-action:none}.heatmap-canvas-shell canvas{display:block;width:100%;height:100%;cursor:default}.heatmap-canvas-shell.cursor-plot canvas{cursor:grab}.heatmap-canvas-shell.cursor-y-axis canvas{cursor:ns-resize}.heatmap-canvas-shell.cursor-x-axis canvas{cursor:ew-resize}.heatmap-canvas-shell.cursor-outside canvas{cursor:default}.heatmap-canvas-shell.dragging canvas{cursor:grabbing}.heatmap-canvas-shell.cursor-y-axis.dragging canvas{cursor:ns-resize}.heatmap-canvas-shell.cursor-x-axis.dragging canvas{cursor:ew-resize}.heatmap-live-button{position:absolute;right:54px;bottom:54px;z-index:3;display:inline-flex;align-items:center;height:34px;padding:0 14px;border:0;border-radius:6px;color:#fff;background:#344251;box-shadow:0 8px 22px #2029322e;font-size:14px;font-weight:700;line-height:1;cursor:pointer}.heatmap-live-button:hover{background:#25303b}.heatmap-live-button:focus-visible{outline:2px solid rgba(52,66,81,.35);outline-offset:3px}[data-theme=dark] .heatmap-live-button{color:#64717e;background:#fff;box-shadow:0 8px 22px #00000057}[data-theme=dark] .heatmap-live-button:hover{color:#46515c;background:#eef2f5}.heatmap-boundary-label{position:absolute;left:50%;bottom:54px;z-index:3;transform:translate(-50%);height:30px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid rgba(100,113,126,.18);border-radius:6px;color:#46515c;background:#ffffffeb;box-shadow:0 8px 22px #2029321f;font-size:12px;font-weight:700;line-height:1;pointer-events:none}.heatmap-crosshair{position:absolute;left:0;top:0;z-index:2;pointer-events:none;--crosshair-color: rgba(51, 65, 85, .52)}.heatmap-crosshair-vertical{width:1px;background:repeating-linear-gradient(to bottom,var(--crosshair-color) 0 5px,transparent 5px 9px)}.heatmap-crosshair-horizontal{height:1px;background:repeating-linear-gradient(to right,var(--crosshair-color) 0 5px,transparent 5px 9px)}.heatmap-canvas-tooltip{position:absolute;left:0;top:0;z-index:3;min-width:150px;padding:8px 10px;border:1px solid rgba(32,41,50,.14);border-radius:6px;color:#25303b;background:#fffffff5;box-shadow:0 10px 28px #23303d24;font-size:12px;line-height:1.45;pointer-events:none;will-change:transform}.heatmap-canvas-tooltip strong{font-weight:700}.npd-ncd-shell{display:grid;gap:10px;min-width:0;width:100%}.npd-ncd-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.npd-ncd-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto}.npd-ncd-window-cards{display:flex;align-items:center;gap:6px;min-width:0}.npd-window-card{min-width:0;height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 9px;border:1px solid #dfe5eb;border-radius:8px;color:#46515c;background:#f7f9fb;text-align:left;cursor:pointer}.npd-window-card.active{border-color:#9eb8d2;background:#eef5fb}.npd-window-card span{color:#64717e;font-size:12px;font-weight:700}.npd-window-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.npd-value{color:#c2413a}.ncd-value{color:#15803d}.npd-ncd-info{position:relative;flex:0 0 auto}.npd-ncd-info-popover{padding:12px;font-size:12px}.npd-ncd-info-summary{margin:0 0 10px;font-weight:600}.npd-bias-tabs{display:inline-flex;gap:6px;margin-top:0;padding:3px;border-radius:6px;background:#eef2f5}.npd-bias-tabs button{height:26px;border:0;border-radius:5px;padding:0 9px;color:#64717e;background:transparent;cursor:pointer;font-size:12px;font-weight:700}.npd-bias-tabs button.active{color:#25303b;background:#fff;box-shadow:0 1px 3px #23303d1f}.npd-bias-note{display:grid;gap:3px;margin:10px 0;color:#46515c}.npd-bias-note strong{color:#25303b}.npd-bias-table{display:grid;grid-template-columns:142px 52px minmax(0,1fr);align-items:center;border:1px solid #edf1f4;border-radius:6px;overflow:hidden}.npd-bias-head{padding:7px 8px;color:#64717e;background:#f7f9fb;border-bottom:1px solid #edf1f4;font-weight:700}.npd-bias-row{display:contents}.npd-bias-row>span{min-height:32px;display:flex;align-items:center;padding:6px 8px;color:#46515c;border-bottom:1px solid #edf1f4}.npd-bias-row:last-child>span{border-bottom:0}.npd-bias-text{min-width:0}.npd-bias-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;box-shadow:0 1px 4px #2029322e}.npd-bias-dot.green{background:#22c55e}.npd-bias-dot.red{background:#ef4444}.npd-bias-dot.yellow{background:#f0b429}.npd-ncd-canvas-shell{position:relative;width:100%;height:520px;min-width:0;overflow:hidden;touch-action:none}.npd-ncd-canvas-shell canvas{display:block;width:100%;height:100%;cursor:default}.npd-ncd-crosshair{position:absolute;left:0;top:0;z-index:3;width:1px;pointer-events:none;--crosshair-color: rgba(51, 65, 85, .52);background:repeating-linear-gradient(to bottom,var(--crosshair-color) 0 5px,transparent 5px 9px)}.npd-ncd-boundary-label{bottom:50px}.npd-ncd-tooltip{position:absolute;z-index:4;display:grid;gap:3px;min-width:150px;padding:8px 10px;border:1px solid rgba(32,41,50,.14);border-radius:6px;color:#25303b;background:#fffffff5;box-shadow:0 10px 28px #23303d24;font-size:12px;pointer-events:none}.npd-ncd-legend{display:flex;justify-content:flex-end;gap:18px;color:#64717e;font-size:12px;white-space:nowrap}.npd-ncd-legend span{display:inline-flex;align-items:center;gap:6px}.npd-dot,.ncd-dot{width:9px;height:9px;border-radius:50%}.npd-dot{background:#ef4444}.ncd-dot{background:#22c55e}.strike-canvas-shell{position:relative;overflow:hidden;touch-action:none}.strike-canvas-shell canvas{display:block;width:100%;height:100%;cursor:default}.strike-canvas-shell.cursor-plot canvas{cursor:grab}.strike-canvas-shell.cursor-x-axis canvas{cursor:ew-resize}.strike-canvas-shell.dragging canvas{cursor:grabbing}.strike-canvas-shell.cursor-x-axis.dragging canvas{cursor:ew-resize}.strike-legend{position:absolute;top:0;right:20px;z-index:2;display:inline-flex;align-items:center;gap:14px;height:24px;color:#64717e;font-size:12px;line-height:1;pointer-events:auto}.strike-legend button,.strike-canvas-tooltip div{display:flex;align-items:center;gap:6px}.strike-legend button{height:20px;border:0;padding:0;color:#64717e;background:transparent;cursor:pointer}.strike-legend button.active{color:#25303b}.strike-legend button.inactive{opacity:.38}.strike-legend button:disabled{cursor:default}.strike-legend i,.strike-canvas-tooltip i{width:12px;height:8px;flex:0 0 auto;border-radius:2px}.strike-crosshair{position:absolute;left:0;top:0;z-index:2;pointer-events:none;--crosshair-color: rgba(51, 65, 85, .52)}.strike-crosshair-vertical{width:1px;background:repeating-linear-gradient(to bottom,var(--crosshair-color) 0 5px,transparent 5px 9px)}.strike-crosshair-horizontal{height:1px;background:repeating-linear-gradient(to right,var(--crosshair-color) 0 5px,transparent 5px 9px)}.strike-canvas-tooltip{position:absolute;left:0;top:0;z-index:3;min-width:164px;padding:8px 10px;border:1px solid rgba(32,41,50,.14);border-radius:6px;color:#25303b;background:#fffffff5;box-shadow:0 10px 28px #23303d24;font-size:12px;line-height:1.45;pointer-events:none;will-change:transform}.strike-canvas-tooltip strong{font-weight:700}.chart-hover-tooltip{border-color:var(--border-strong);color:var(--text-strong);background:color-mix(in srgb,var(--surface-raised) 96%,transparent);box-shadow:0 12px 30px var(--shadow)}.liquidity-stress-hover{width:auto;min-width:190px;max-width:min(230px,calc(100% - 16px))}.liquidity-stress-hover span{white-space:nowrap}.options-hedge-flow-hover{width:auto;min-width:230px;max-width:min(290px,calc(100% - 16px))}.sabr-skew-hover{width:auto;min-width:220px;max-width:min(250px,calc(100% - 16px))}.sabr-skew-hover span{white-space:nowrap}.exposure-chart-shell{position:relative;flex:0 0 auto;display:flex;flex-direction:column;height:520px;min-width:0;max-width:100%}.exposure-chart-shell .strike-canvas-shell{flex:0 0 520px;height:520px;min-height:520px;max-height:520px}.dashboard:not([data-columns="1"]) .exposure-chart-shell{flex:0 0 520px;height:520px}.dashboard:not([data-columns="1"]) .exposure-chart-shell .strike-canvas-shell{flex:0 0 520px;height:520px;min-height:520px;max-height:520px}.series-toggle{position:absolute;top:0;right:20px;z-index:2;display:inline-flex;align-items:center;gap:10px;height:20px;font-size:12px;line-height:20px}.series-toggle button{height:20px;display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:#64717e;background:transparent;cursor:pointer}.series-toggle button.active{color:#25303b}.series-dot{width:12px;height:8px;border-radius:2px;opacity:.38}.series-toggle button.active .series-dot,.header-series-controls button.active .series-dot{opacity:1}.series-dot.gex{background:#3f6fd8}.series-dot.vex{background:#f0a33a}.gex-old-layout{display:grid;gap:10px}.gex-old-toggle{width:fit-content;min-width:118px;height:32px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #cfd7df;border-radius:6px;color:#25303b;background:#fff;cursor:pointer}.gex-old-toggle:hover{background:#f7f9fb}.gex-old-zones{overflow-x:auto;padding:2px 0 8px}.gex-old-zones svg{display:block;min-width:860px;width:100%}.gex-old-baseline{stroke:#6f7b86;stroke-width:.8;opacity:.55}.gex-old-spot{stroke:#25303b;stroke-width:1.4;stroke-dasharray:5 4}.gex-old-expiry-label{fill:#46515c;font-size:11px}.empty-state,.admin-placeholder{min-height:220px;display:grid;place-items:center;color:#64717e;background:#f7f9fb;border:1px dashed #cfd7df;border-radius:6px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:820px){.dashboard[data-columns]{--dashboard-columns: 1;grid-template-columns:minmax(0,1fr)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-shell.sidebar-collapsed{display:flex;flex-direction:column}.sidebar{position:sticky;top:0;z-index:5;flex:0 0 58px;min-height:58px;max-height:58px;flex-direction:row;align-items:center;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar>*{flex:0 0 auto}.brand{margin:0 8px 0 0;white-space:nowrap}.sidebar-collapsed .brand span,.sidebar-collapsed .nav-button span{display:inline}.sidebar-toggle{display:none}.nav-button.logout{margin-top:0;margin-left:0}.beta-sidebar-panel{display:none}.workspace{flex:1 1 auto;display:block;padding:8px;overflow-x:hidden}.dashboard,.admin-page,.account-page{align-content:start;gap:10px}.account-page .page-title,.admin-page .page-title{margin-top:0}.filter-bar,.page-title{align-items:flex-start;flex-direction:column;justify-content:flex-start}.metric-header{align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;min-height:0;padding:10px 8px;column-gap:6px;row-gap:8px;overflow-x:auto;scrollbar-width:none}.metric-header::-webkit-scrollbar{display:none}.metric-header:has(.npd-ncd-window-cards),.metric-header:has(.ohf-window-cards),.metric-header:has(.atm-gap-window-cards){flex-wrap:wrap;overflow-x:visible}.metric-title{width:auto;flex:0 0 auto;order:1}.metric-header h2{font-size:14px;white-space:nowrap}.metric-actions,.metric-header-controls{display:contents}.header-series-controls,.chart-header-legend,.sabr-curve-header-legend,.ohf-header-controls,.atm-gap-header-controls,.npd-ncd-actions{order:2}.chart-info{order:3}.spot-price{order:4;white-space:nowrap}.timestamp{order:5;white-space:nowrap}.metric-loading-slot{order:6}.metric-header .spot-price,.metric-header .timestamp,.header-series-controls,.header-series-controls button,.sabr-curve-header-legend,.npd-ncd-legend{font-size:10px}.header-series-controls{gap:6px}.header-series-controls button{gap:4px}.metric-header .icon-button{width:26px;height:26px}.metric-body{padding:6px 6px 10px}.chart-canvas,.chart-canvas.tall,.chart-canvas.gex-old,.chart-canvas.heatmap{height:460px}.time-series-chart-shell{min-height:460px;height:460px;max-height:460px}.dashboard .exposure-chart-shell,.dashboard:not([data-columns="1"]) .exposure-chart-shell{flex:0 0 auto;height:460px}.dashboard .exposure-chart-shell .strike-canvas-shell,.dashboard:not([data-columns="1"]) .exposure-chart-shell .strike-canvas-shell{flex:0 0 460px;height:460px;min-height:460px;max-height:460px}.npd-ncd-header-controls,.ohf-header-controls,.atm-gap-header-controls{display:contents}.npd-ncd-window-cards,.ohf-window-cards{order:10;flex:0 0 100%;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.atm-gap-window-cards{order:10;flex:0 0 100%;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ohf-window-card,.atm-gap-window-card{justify-content:center}.npd-ncd-actions{gap:6px;align-items:center}.npd-bias-table{grid-template-columns:124px 44px minmax(0,1fr)}.npd-ncd-canvas-shell{height:460px}.admin-layout{grid-template-columns:1fr}.dashboard-column-picker{display:none}.dashboard-chart-setting{grid-template-columns:minmax(0,1fr) auto}.dashboard-full-width-setting{display:none}.dashboard-spot-setting{grid-column:1}.dashboard-order-buttons{grid-column:2;grid-row:1 / span 2}}
