/* ForeCap: product colors are separate from financial status colors. */
:root{color-scheme:dark;--bg:#0d1520;--sidebar:#101b29;--panel:#162231;--panel-2:#1b2a3c;--border:#304257;--line:#25364a;--text:#e8eef5;--muted:#a5b4c6;--dim:#7e91a8;--accent:#7ca6ff;--accent-soft:#223756;--button:#7ca6ff;--button-text:#0d1520;--green:#6dd3a5;--red:#ff929a;--amber:#e9b85c;--mono:ui-monospace,'Cascadia Code',Consolas,monospace;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--display:var(--sans)}
:root[data-theme=light]{color-scheme:light;--bg:#f4f6f9;--sidebar:#fff;--panel:#fff;--panel-2:#f0f3f8;--border:#c8d3e0;--line:#dce3ed;--text:#172334;--muted:#566579;--dim:#64748a;--accent:#2459d3;--accent-soft:#e8eefc;--button:#2459d3;--button-text:#fff;--green:#18704d;--red:#b83945;--amber:#875700}
*{box-sizing:border-box}html{scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button:disabled,select:disabled,input:disabled{cursor:not-allowed;opacity:.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{border:0}h1,h2,h3,p{margin-top:0}h2{font-size:16px;line-height:1.4;font-weight:600;margin-bottom:0}h3{font-size:17px;font-weight:600}small{font-size:12px}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:16px;z-index:20;background:var(--panel);padding:12px}.skip-link:focus{top:12px}.app-shell{min-height:100dvh;display:flex}.main-content{min-width:0;flex:1}.main-content:focus{outline:none}
.sidebar{width:208px;flex:0 0 208px;background:var(--sidebar);border-right:1px solid var(--line);padding:28px 16px 18px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:650;letter-spacing:-1px;color:var(--text);margin:0 9px 42px}.brand:hover{text-decoration:none}.brand-accent{color:var(--accent)}.brand-mark{position:relative;display:grid;place-items:center;background:var(--accent);color:var(--bg);border-radius:8px;width:29px;height:31px;font-size:23px;font-weight:750;line-height:1;letter-spacing:-2px;padding-right:2px}.brand-mark span{position:absolute;bottom:5px;right:5px;width:5px;height:5px;background:var(--bg)}.workspace-label{font-size:10px;letter-spacing:1.25px;color:var(--dim);padding:0 11px;margin-bottom:12px}.nav-list{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:6px;color:var(--muted);font-size:13px;font-weight:500;white-space:nowrap}.nav-item svg{width:18px;height:18px;flex-shrink:0}.nav-item:hover{background:var(--panel-2);color:var(--text);text-decoration:none}.nav-item.active{color:var(--accent);background:var(--accent-soft)}.sidebar-spacer{flex:1;min-height:30px}.connection-card{padding:16px 9px;border-bottom:1px solid var(--line)}.connection-heading{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.connection-card p{color:var(--muted);font-size:11px;line-height:1.6;margin:8px 0}.connection-link{font-size:11px}.theme-toggle{display:flex;justify-content:space-between;align-items:center;background:none;color:var(--muted);padding:16px 9px;width:100%;font-size:12px}.theme-toggle:hover{color:var(--text)}.user-chip{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:18px 7px 0}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--panel-2);font-size:12px;color:var(--muted)}.user-chip strong{display:block;font-size:12px;font-weight:500}.user-chip small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.topbar{height:64px;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumbs,.topbar-right{display:flex;align-items:center;gap:16px}.breadcrumbs{font-size:12px;color:var(--muted)}.breadcrumbs strong{color:var(--text);font-weight:500}.crumb-slash{color:var(--dim)}.session-clock{font:11px var(--mono);color:var(--muted)}.mode-pill{display:flex;align-items:center;gap:7px;padding:4px 7px;font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--accent)}.status-dot,.feed-pulse{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.status-dot.muted{background:var(--dim)}.mode-pill.live-mode,.mode-pill.replay-mode{color:var(--amber)}.mode-pill.live-mode .status-dot,.mode-pill.replay-mode .status-dot{background:var(--amber)}
.page-wrap{padding:28px 32px 18px;max-width:1680px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font:10px var(--mono);letter-spacing:.5px;color:var(--muted);margin-bottom:8px}h1{font-size:30px;line-height:1.2;letter-spacing:-.9px;font-weight:600;margin:0 0 8px}h1:focus{outline:none}.subheading{font-size:13px;color:var(--muted);margin:0}.button{min-height:36px;padding:8px 13px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:500;white-space:nowrap;transition:background .12s}.button:hover{text-decoration:none;filter:brightness(1.08)}.button-quiet,.button-stop{background:var(--panel);border:1px solid var(--border);color:var(--text)}.button-primary{background:var(--button);color:var(--button-text)}.button-danger{background:none;border:1px solid var(--border);color:var(--red);width:100%;margin-top:9px}.text-button{background:none;color:var(--accent);font-size:12px;padding:4px 0;min-height:30px;display:inline-flex;align-items:center;white-space:nowrap}.notice{display:flex;gap:10px;align-items:center;padding:10px 13px;background:var(--panel);border-left:2px solid var(--accent);margin-bottom:22px;color:var(--muted);font-size:11px}.notice-icon{width:16px;height:16px;border:1px solid var(--dim);border-radius:50%;font-size:11px;text-align:center;line-height:15px;flex:none}.notice>div{flex:1}.notice strong{color:var(--text);font-weight:500;margin-right:9px}.notice-tag{font:9px var(--mono);letter-spacing:.5px;white-space:nowrap;color:var(--accent)}.ownership-notice{padding:13px 16px;border:1px solid var(--amber);color:var(--amber);margin-bottom:20px;font-size:13px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:26px;border-bottom:1px solid var(--line);padding:0 0 22px}.metric-card{padding:0 22px;border-right:1px solid var(--line);min-width:0}.metric-card:first-child{padding-left:0}.metric-card:last-child{border:0}.metric-label{font-size:12px;color:var(--muted);margin-bottom:9px}.metric-value{font-size:28px;line-height:1.2;font-weight:550;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.metric-value small{font-size:18px;font-weight:400;color:var(--dim)}.metric-note{font-size:11px;color:var(--muted);margin-top:8px}.negative,.negative-text{color:var(--red)!important}.positive{color:var(--green)!important}.small-muted{font-size:11px;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0}.desk-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px}.desk-main,.desk-rail{min-width:0;display:grid;gap:22px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px}.panel-kicker{display:block;font-size:10px;letter-spacing:.9px;color:var(--muted);margin-bottom:5px}.panel-heading h2{font-size:16px}.watchlist-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px 20px}.watchlist-heading h2{font-size:14px}.symbol-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.symbol-tabs button{padding:13px 16px;display:flex;justify-content:space-between;gap:8px;background:transparent;text-align:left;min-width:0;border-right:1px solid var(--line);border-bottom:2px solid transparent}.symbol-tabs button:last-child{border-right:0}.symbol-tabs button:hover{background:var(--panel-2)}.symbol-tabs button.selected{background:var(--accent-soft);border-bottom-color:var(--accent)}.symbol-label,.watch-values{display:flex;flex-direction:column;gap:4px}.symbol-label strong{font-size:13px;font-weight:600}.symbol-label span{font-size:10px;color:var(--muted)}.watch-values{text-align:right;font-variant-numeric:tabular-nums}.watch-values strong{font-size:12px;font-weight:500}.watch-values span{font-size:10px;color:var(--muted)}.chart-heading{padding:22px 20px 12px;display:flex;justify-content:space-between;align-items:start;gap:12px}.stock-title{display:flex;align-items:center;gap:9px}.stock-title h2{font-size:14px;font-weight:500}.sample-tag,.version-tag{color:var(--muted);border:1px solid var(--border);border-radius:3px;padding:2px 5px;font:9px var(--mono);white-space:nowrap}.stock-price{display:flex;align-items:baseline;gap:11px;margin-top:10px;flex-wrap:wrap}.stock-price>strong{font-size:30px;line-height:1;font-weight:550;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.stock-price>span{font-size:11px;color:var(--muted)}.chart-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 20px;font-size:10px;color:var(--muted)}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:5px}.legend-dot.vwap{background:var(--amber);margin-left:14px}.chart-holder{height:246px;position:relative;margin:0 20px}.chart-holder svg{display:block;width:100%;height:100%;overflow:visible}.grid-lines line,.equity-zero{stroke:var(--line);stroke-width:1}.axis-labels text{fill:var(--muted);font:11px var(--mono);text-anchor:end}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-area{fill:url(#chartFill)}.vwap-line{fill:none;stroke:var(--amber);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.chart-dot{fill:var(--accent);stroke:var(--panel);stroke-width:2}.chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;color:var(--muted);font-size:12px}.chart-empty strong{color:var(--text);font-size:14px;font-weight:500}.empty-chart-mark{font-size:35px;line-height:1;color:var(--dim)}.chart-axis{display:flex;justify-content:space-between;padding:0 80px 14px 20px;font:10px var(--mono);color:var(--muted)}.quote-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin:0 20px;padding:14px 0}.quote-strip>div{display:flex;flex-direction:column;gap:5px}.quote-strip span{font-size:10px;color:var(--muted)}.quote-strip strong{font:12px var(--mono)}.chart-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;padding:10px 20px;font:9px var(--mono);color:var(--muted)}.feed-pulse{background:var(--dim);margin-right:7px;width:5px;height:5px}.feed-pulse.active{background:var(--accent)}
.bot-panel{padding:20px}.controller-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.controller-heading h2{font-size:16px}.controller-heading a{font-size:11px}.bot-state-row{display:flex;align-items:center;gap:8px;margin-top:20px}.state-indicator{width:7px;height:7px;border-radius:50%;background:var(--dim)}.state-indicator.running{background:var(--accent)}.bot-state{font-size:11px;font-weight:600;letter-spacing:.65px}.controller-detail{color:var(--muted);font-size:12px;margin:9px 0 18px;line-height:1.6}.session-setup{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}.session-setup summary{padding:13px 0;font-size:12px;font-weight:500}.session-setup summary span{display:block;color:var(--muted);font-size:10px;font-weight:400;margin:4px 0 0 14px}.source-controls{display:grid;gap:13px;padding:2px 0 16px}.source-controls label,.event-filters label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px}select,input[type=date]{width:100%;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:9px 10px;font-size:12px;color:var(--text);min-height:38px}.replay-controls{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:12px}.replay-status,.live-mode-note{font-size:11px;color:var(--amber);line-height:1.6;margin:0}.live-mode-note{margin-bottom:14px}.bot-controls{display:grid;grid-template-columns:1fr auto;gap:8px}.bot-footnote{font-size:10px;line-height:1.65;color:var(--muted);margin-top:14px}.rail-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.rail-heading h2{font-size:13px;flex:1}.rail-heading a{font-size:11px}.attention-dot{width:6px;height:6px;background:var(--amber);border-radius:50%}.attention-panel,.rail-strategies{padding:0 3px}.attention-item{padding:11px 0;border-top:1px solid var(--line);font-size:12px}.attention-item strong{display:block;font-size:12px;font-weight:500;margin-bottom:4px}.attention-item p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}.attention-item.urgent strong{color:var(--red)}.activity-row{padding:12px 0;border-top:1px solid var(--line)}.activity-row>div{display:flex;justify-content:space-between;font-size:12px;font-weight:500}.activity-row>div span{color:var(--muted);font:10px var(--mono)}.activity-row p{font-size:11px;color:var(--muted);line-height:1.6;margin:5px 0 0}.context-item{padding:14px 20px;border-top:1px solid var(--line)}.context-item a{color:var(--text);font-size:13px}.context-item small{display:block;margin-bottom:5px;color:var(--amber);font-size:10px}.context-item p{font-size:11px;color:var(--muted);margin:6px 0 0}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:12px}th{font-size:9px;letter-spacing:.55px;font-weight:500;color:var(--muted);padding:12px 16px;background:var(--panel-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:15px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;vertical-align:top}td strong{color:var(--text);font-weight:600}tr:last-child td{border-bottom:0}.table-footer{padding:12px 20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:10px}.empty-row{padding:28px 20px;text-align:center;color:var(--muted);font-size:12px;white-space:normal}.side-pill{padding:3px 5px;border-radius:3px;font-size:9px;display:inline-block;background:var(--panel-2)}.side-pill.buy{color:var(--green)}.side-pill.short{color:var(--red)}.trade-detail{min-width:160px;max-width:300px;white-space:normal}.trade-detail summary{color:var(--text);font-size:11px}.trade-detail>div{font-size:11px;line-height:1.8;padding-top:12px}.log-panel{margin-bottom:22px}.desk-main .log-panel{margin-bottom:0}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 20px}.section-heading h2{font-size:18px}.workers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.worker-card{padding:22px}.worker-top{display:flex;align-items:center;justify-content:flex-end;margin-bottom:20px}.worker-toggle{padding:7px 10px;min-height:34px;border-radius:5px;background:var(--panel-2);border:1px solid var(--border);font-size:11px;color:var(--muted)}.worker-toggle[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.worker-card h3{margin:0 0 9px}.worker-description{color:var(--muted);font-size:12px;min-height:40px}.worker-symbol{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px}.worker-symbol select{max-width:120px;margin-left:auto}.worker-decision{margin:20px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:72px;font-size:12px;color:var(--muted)}.worker-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.worker-stats span{font-size:9px;color:var(--muted);display:block;margin-bottom:6px}.worker-stats strong{font:15px var(--mono)}.section-note{font-size:12px;color:var(--muted);padding:20px 0;line-height:1.8}.section-note a{white-space:nowrap}
.risk-panel{margin-bottom:22px}.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;padding:12px 22px 28px}.risk-label{display:block;font-size:10px;color:var(--muted);margin-bottom:10px;letter-spacing:.3px}.stepper{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--border);border-radius:5px;overflow:hidden}.stepper button{width:36px;height:38px;flex:none;background:var(--panel-2);color:var(--muted);font-size:18px}.stepper strong{font:12px var(--mono);text-align:center;padding:0 4px}.risk-lock{padding:16px 22px;color:var(--muted);font-size:11px;border-top:1px solid var(--line);line-height:1.7}.method-panel{padding:20px 22px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.method-panel summary{font-size:14px}.method-panel p{font-size:12px;color:var(--muted);line-height:1.85;margin:18px 0 0}.journal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.diagnostics-panel{padding:20px;margin-bottom:22px}.diagnostic-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.diagnostic-stats span{font-size:10px;color:var(--muted);display:block;margin-bottom:8px}.diagnostic-stats strong{font:17px var(--mono)}.equity-heading{display:flex;justify-content:space-between;gap:16px;margin-top:26px}#equityChart{display:block;width:100%;height:90px;margin-top:10px}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.decision-list{list-style:none;margin:0;padding:0 20px 20px;max-height:430px;overflow:auto}.decision-list li{display:grid;grid-template-columns:72px 1fr;gap:10px;font-size:12px;border-top:1px solid var(--line);padding:13px 0}.decision-list time{font:10px var(--mono);color:var(--dim);padding-top:4px}.decision-list .event-risk{color:var(--red)}.decision-list li.empty-row{display:block}.archive-list{padding:0 20px 20px;max-height:430px;overflow:auto}.archive-item{border-top:1px solid var(--line);padding:14px 0}.archive-item summary{display:flex;justify-content:space-between;gap:16px;font-size:12px}.archive-item summary small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.archive-item p,.archive-trades{font-size:11px;color:var(--muted);margin-top:12px}.archive-trades{line-height:1.8}
.event-filters{display:flex;gap:22px;align-items:end;padding:0 0 20px}.event-filters>label:first-child{width:180px}.event-filters .checkbox-label{flex-direction:row;align-items:center;min-height:38px;gap:8px;font-size:12px}.checkbox-label input{accent-color:var(--accent);width:16px;height:16px}.market-event-toolbar{display:flex;align-items:center;gap:16px}.market-event-disclaimer{font-size:12px;color:var(--muted);padding:0 20px 16px;margin:0}.market-event-list{padding:0 20px}.market-event-card{padding:22px 0;border-top:1px solid var(--line)}.market-event-meta,.market-event-foot,.market-event-chips{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.market-event-meta{justify-content:space-between}.market-event-flag,.market-event-revision{font-size:10px;color:var(--muted)}.market-event-flag.simulation,.market-event-correction{color:var(--amber)}.market-event-card h3{font-size:18px;line-height:1.5;max-width:850px;margin:12px 0 8px}.market-event-summary{font-size:13px;color:var(--muted);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-width:950px}.market-event-chips{margin:14px 0}.market-event-chip{font:10px var(--mono);padding:4px 7px;background:var(--panel-2);color:var(--text);border-radius:3px}.market-event-chip.category{color:var(--muted)}.market-event-foot{justify-content:space-between;font-size:11px;color:var(--muted)}.market-event-source{font-size:12px}.market-event-identifiers{font:10px/1.7 var(--mono);color:var(--dim);margin-top:10px;overflow-wrap:anywhere}.market-event-correction{display:block;font-size:11px;margin-top:10px}
.page-footer{display:flex;justify-content:space-between;gap:16px;margin-top:28px;border-top:1px solid var(--line);padding-top:16px;color:var(--dim);font-size:10px}.footer-divider{padding:0 8px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(12px);background:var(--text);color:var(--bg);border-radius:7px;padding:13px 18px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:30;max-width:calc(100vw - 32px);box-shadow:0 6px 30px #0003}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.export-dialog{width:min(800px,calc(100% - 32px));max-height:85dvh;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);padding:22px}.export-dialog::backdrop{background:#050b14b3}.export-dialog .panel-heading{padding:0 0 16px}.export-dialog>p{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.export-actions{display:flex;gap:10px;flex-wrap:wrap}.export-dialog pre{max-height:45dvh;overflow:auto;padding:16px;background:var(--bg);border:1px solid var(--line);font:11px/1.7 var(--mono)}#exportStatus{font-size:12px;color:var(--accent)}
@media(min-width:1700px){.desk-grid{grid-template-columns:minmax(0,1fr) 340px}.chart-holder{height:300px}}
@media(max-width:1250px){.sidebar{width:184px;flex-basis:184px;padding-inline:12px}.page-wrap{padding:24px}.topbar{padding:0 24px}.desk-grid{grid-template-columns:minmax(0,1fr) 275px;gap:18px}.desk-main,.desk-rail{gap:18px}.metric-card{padding:0 14px}.metric-value{font-size:25px}.symbol-tabs button{flex-direction:column;padding:12px}.watch-values{text-align:left;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px}.symbol-label span{display:none}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workers-grid{gap:12px}.worker-card{padding:18px}}
@media(max-width:1050px){.sidebar{width:74px;flex-basis:74px;padding:25px 10px}.brand{font-size:0;margin:0 auto 38px;gap:0}.brand-mark{font-size:23px}.workspace-label,.nav-item>span,.connection-card,.user-chip,.theme-toggle{display:none}.nav-item{padding:13px;justify-content:center}.nav-item svg{width:20px;height:20px}.sidebar .nav-item:focus-visible{outline-offset:1px}.metric-note{font-size:10px}.page-wrap{padding:22px}.topbar{padding:0 22px}.workers-grid{grid-template-columns:1fr}.worker-description{min-height:0}.worker-decision{min-height:0}.worker-card{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.worker-top{grid-column:1/-1;margin:0}.worker-card h3{margin:0}.worker-description{grid-column:1;grid-row:3;margin:0}.worker-symbol{grid-column:2;grid-row:2}.worker-decision{grid-column:2;grid-row:3/5;margin:0}.worker-stats{grid-column:1;grid-row:4}.stock-title h2{font-size:12px}.chart-heading{padding:18px 16px 12px;flex-wrap:wrap}.chart-meta{padding-inline:16px}.chart-holder{margin-inline:16px}.chart-footer{padding-inline:16px;flex-wrap:wrap}.watchlist-heading{padding:15px 16px}.watchlist-heading .small-muted{font-size:10px}.quote-strip{margin-inline:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bottom-grid{grid-template-columns:1fr}}
@media(max-width:800px){.desk-grid{grid-template-columns:1fr}.desk-rail{grid-row:1;grid-template-columns:1fr 1fr;align-items:start}.bot-panel{grid-row:1/3}.rail-strategies{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 0}.metric-card:nth-child(2){border-right:0}.metric-card:nth-child(3){padding-left:0}.metric-note{font-size:11px}.journal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.journal-metrics .metric-card:nth-child(2){border-right:1px solid var(--line)}.journal-metrics .metric-card:nth-child(3){padding-left:14px}.symbol-tabs button{flex-direction:row}.symbol-label span{display:block}.watch-values{flex-direction:column;text-align:right}.stock-title h2{font-size:14px}.quote-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-clock{display:none}.diagnostic-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){html{scroll-padding-top:24px}.app-shell{display:block}.sidebar{height:auto;position:relative;width:100%;padding:15px 16px 0;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:22px;margin:0 0 16px;justify-content:start;gap:8px}.brand-mark{width:25px;height:27px;font-size:20px}.nav-list{display:flex;justify-content:space-between;gap:2px}.nav-item{padding:9px 4px;flex:1;flex-direction:column;gap:5px;border-radius:0;font-size:10px;border-bottom:2px solid transparent}.nav-item>span{display:block}.nav-item svg{height:17px;width:17px}.nav-item.active{background:none;border-bottom-color:var(--accent)}.sidebar-spacer{display:none}.theme-toggle{display:flex;position:absolute;top:13px;right:16px;width:auto;gap:10px;padding:9px 0;font-size:11px}.topbar{height:52px;padding:0 16px}.breadcrumbs{font-size:11px}.desktop-label,.crumb-slash{display:none}.topbar-right{gap:6px}.mode-pill{font-size:9px;padding:0}.topbar .button{font-size:10px;min-height:32px;padding:6px 9px}.page-wrap{padding:22px 16px 16px}.page-heading{align-items:start;gap:12px;margin-bottom:18px}.page-heading .button{font-size:10px;padding:7px 9px;min-height:34px;margin-top:22px}h1{font-size:26px}.eyebrow{font-size:9px}.subheading{font-size:12px;max-width:240px}.notice{padding:10px;font-size:10px;align-items:start;margin-bottom:22px}.notice strong,.notice div>span{display:block}.notice div>span{margin-top:4px}.notice-tag{display:none}.notice-icon{margin-top:2px}.metric-value{font-size:26px}.metric-label{font-size:11px;margin-bottom:8px}.metric-note{font-size:10px}.metric-grid{gap:22px 0;margin-bottom:22px}.metric-card{padding-inline:14px}.desk-rail{grid-template-columns:1fr;gap:18px}.bot-panel{grid-row:auto;padding:16px}.bot-state-row{margin-top:12px}.controller-detail{margin-bottom:12px}.session-setup{margin-bottom:14px}.session-setup summary{padding:11px 0}.session-setup summary span{display:inline;margin-left:7px}.bot-footnote{font-size:10px}.attention-panel{padding:0 4px}.attention-item{padding:10px 0}.attention-item p{font-size:11px}.desk-main{gap:18px}.watchlist-heading{padding:14px}.watchlist-heading .small-muted{font-size:9px;max-width:130px;text-align:right}.symbol-tabs button{flex-direction:column;padding:12px 10px;min-height:85px}.symbol-label span{font-size:9px}.watch-values{flex-direction:row;flex-wrap:wrap;text-align:left}.watch-values strong{font-size:12px}.watch-values span{font-size:9px}.stock-price>strong{font-size:28px}.chart-holder{height:225px;margin-inline:14px}.chart-heading{padding:18px 14px 10px}.chart-meta{padding:5px 14px;font-size:9px}.legend-dot.vwap{margin-left:8px}.quote-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:14px}.quote-strip strong{font-size:12px}.chart-axis{padding-left:14px}.chart-footer{font-size:8px;padding:10px 14px}.stock-title h2{font-size:13px}.panel-heading{padding:16px 14px;gap:12px;flex-wrap:wrap}.panel-heading h2{font-size:15px}.panel-heading .small-muted{font-size:10px}.table-footer{padding:12px 14px;font-size:10px;flex-wrap:wrap}.empty-row{font-size:12px;padding:25px 14px}.button{min-height:42px}.text-button{min-height:40px}.source-controls select,.source-controls input,.worker-symbol select,.event-filters select{font-size:16px;min-height:44px}.worker-card{display:block;padding:18px}.worker-top{margin-bottom:16px}.worker-card h3{margin-bottom:8px}.worker-description{margin-bottom:16px}.worker-decision{margin:18px 0}.worker-toggle{min-height:44px;padding:9px 12px}.settings-grid{padding:10px 14px 24px;gap:24px 14px}.stepper button{width:44px;height:44px}.stepper strong{font-size:11px}.risk-label{font-size:9px;min-height:27px}.risk-lock{padding:14px}.journal-metrics{grid-template-columns:1fr;gap:18px}.journal-metrics .metric-card{padding:0 0 14px!important;border:0!important;border-bottom:1px solid var(--line)!important}.journal-metrics .metric-card:last-child{padding-bottom:0!important;border:0!important}.diagnostic-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.equity-heading{flex-direction:column;gap:3px}.event-filters{flex-wrap:wrap;gap:10px}.event-filters .checkbox-label{min-height:44px}.market-event-toolbar{flex-wrap:wrap;gap:10px}.market-event-list{padding:0 14px}.market-event-card h3{font-size:16px}.market-event-summary{font-size:12px}.market-event-disclaimer{padding:0 14px 16px}.market-event-meta{gap:6px}.market-event-foot{align-items:start;flex-direction:column}.page-footer{font-size:9px;flex-wrap:wrap;gap:7px}.toast{left:16px;right:16px;max-width:none;transform:translateY(12px);bottom:16px}.toast.show{transform:translateY(0)}.export-dialog{padding:16px}.export-dialog pre{font-size:10px}.method-panel{padding:18px 14px}}
@media(max-width:370px){.page-wrap{padding-inline:12px}.nav-item{font-size:9px}.topbar{padding-inline:12px}.breadcrumbs{font-size:10px}.settings-grid{grid-template-columns:1fr}.risk-label{min-height:0}.page-heading .button{font-size:9px;padding:7px}.stock-price>span{font-size:10px}.mode-pill .status-dot{display:none}}
.topbar{position:sticky;top:0;z-index:5;background:var(--bg)}.session-shortcut{font-size:11px;color:var(--muted)}.metric-link{display:block}.desk-rail{position:sticky;top:86px}.connection-settings{padding:20px 22px;margin-bottom:22px}.connection-settings p{font-size:12px;color:var(--muted);margin:12px 0 0}
.desk-rail:has(.session-setup[open]){position:static}.chart-crosshair{stroke:var(--dim);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.chart-tooltip{position:absolute;pointer-events:none;white-space:nowrap;background:var(--text);color:var(--bg);font:10px var(--mono);padding:7px 9px;border-radius:4px;z-index:2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#priceChart{touch-action:pan-y}
#viewTitle:focus-visible{outline:none}
.download-progress{border-top:1px solid var(--line);padding-top:4px}.download-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.download-row strong{color:var(--text);font-weight:600}.download-row span{color:var(--muted);overflow-wrap:anywhere;line-height:1.6}.download-row small{display:block;color:var(--accent);font-size:10px}
@media(min-width:601px) and (max-width:1050px){.theme-toggle{display:flex;padding:12px;justify-content:center;min-height:44px}.theme-toggle>span:first-child{display:none}.theme-toggle>span:last-child{font-size:20px}}
@media(max-width:800px){.desk-rail{position:static}.session-shortcut{display:none}}
@media(max-width:600px){.topbar:has(#globalPauseButton:not([hidden])){height:auto;min-height:52px;flex-wrap:wrap;padding-block:8px;gap:8px}.topbar:has(#globalPauseButton:not([hidden])) .topbar-right{flex-wrap:wrap}.topbar:has(#globalPauseButton:not([hidden])) .breadcrumbs{display:none}#globalPauseButton{min-height:36px}.theme-toggle{min-height:40px}}
@media(max-width:600px){#positions table,#positions tbody{display:block;width:100%}#positions thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#positions tbody tr{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding:8px 0}#positions td{border:0;white-space:normal;padding:8px 14px;font-size:12px}#positions td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:9px;margin-bottom:5px}#positions td.empty-row{grid-column:1/-1;padding:22px 14px}.connection-settings{padding:18px 14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.strategy-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:16px}.strategy-toolbar label{display:flex;align-items:center;gap:6px;font-size:11px}.strategy-toolbar select{font:inherit;min-height:32px;padding:4px 8px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:5px}.strategy-meta{font-size:11px;color:var(--muted);margin:8px 0}.strategy-rules{font-size:12px;margin:12px 0;line-height:1.6}.strategy-rules summary{cursor:pointer;min-height:32px;color:var(--accent)}.strategy-rules p{color:var(--muted);margin:8px 0 14px}.worker-card[hidden]{display:none!important}

@media(min-width:601px) and (max-width:1050px){.workers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.worker-card{display:block}.worker-top{margin-bottom:16px}.worker-card h3{margin-bottom:9px}.worker-description{margin-bottom:12px}.worker-decision{margin:18px 0}.worker-stats{margin-top:12px}}
@media(max-width:600px){.strategy-toolbar label{flex-wrap:wrap}.strategy-toolbar select{font-size:16px;min-height:44px}.strategy-toolbar .small-muted{flex-basis:100%}}
.strategy-toolbar label{white-space:nowrap}
.condition-label{margin:12px 0}.condition-label select{max-width:170px}.benchmark-panel{padding:0 20px 16px;margin:18px 0}.benchmark-panel .panel-heading{padding-inline:0}.benchmark-panel p{margin-bottom:8px}
.decision-list time{overflow-wrap:anywhere}

/* Consistent card rhythm across desktop, tablet, and phone layouts. */
.workers-grid .worker-card{display:flex;flex-direction:column;gap:8px;justify-content:flex-start}
.workers-grid .worker-card>*,.workers-grid .worker-card h3{margin:0;min-height:0}
.workers-grid .worker-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.workers-grid .worker-top h3{flex:1;min-width:0;overflow-wrap:anywhere}
.workers-grid .worker-toggle{flex-shrink:0}
.workers-grid .worker-decision{padding:8px 0}
.workers-grid .strategy-rules summary{min-height:0}
.workers-grid .strategy-rules p{margin:8px 0 0}
.workers-grid .worker-stats{gap:8px}
.workers-grid .worker-stats span{margin-bottom:8px}
.risk-group{padding:16px 22px;border-top:1px solid var(--line)}
.risk-group h3,.risk-group summary{font-size:14px;font-weight:600;margin:0}
.risk-group summary{cursor:pointer;color:var(--accent)}
.risk-group p,.holding-policy p{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0 16px}
.risk-group .settings-grid{padding:0;gap:16px 24px}
.holding-policy{padding:20px 22px;margin-bottom:22px}
.holding-policy h2{font-size:18px;margin:4px 0 16px}
.holding-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.holding-grid h3{font-size:14px;margin:0}
.holding-policy>p:last-child{margin-bottom:0}
.connection-facts{display:grid;gap:12px;margin:16px 0}
.connection-facts>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;font-size:12px;line-height:1.6}
.connection-facts dt{color:var(--muted)}
.connection-facts dd{margin:0;overflow-wrap:anywhere}
@media(max-width:600px){.connection-facts>div{grid-template-columns:1fr;gap:4px}}
.brand{margin-bottom:8px}
.brand-tagline{margin:0 9px 30px;color:var(--muted);font-size:11px;line-height:1.5;white-space:nowrap}
@media(min-width:601px) and (max-width:1050px){.brand{margin-bottom:38px}.brand-tagline{display:none}}
@media(max-width:600px){.brand-tagline{margin:0 0 16px}}
.brand>.brand-logo{display:block;position:relative;flex:none;overflow:hidden;width:100%;max-width:100%;min-width:0;aspect-ratio:3/1}
.brand>.brand-logo img{position:absolute;display:block;width:100%;max-width:none;height:auto;left:0;top:-38%}
.brand>.brand-logo-light{display:none}
:root[data-theme=light] .brand>.brand-logo-dark{display:none}
:root[data-theme=light] .brand>.brand-logo-light{display:block}
:root[data-theme=light] .brand>.brand-logo-light img{top:-32%}
@media(min-width:601px) and (max-width:1050px){.brand>.brand-logo{width:32px;height:38px;aspect-ratio:auto}.brand>.brand-logo-dark img{width:514%;left:-48%;top:-54%}.brand>.brand-logo-light img{width:514%;left:-48%;top:-45%}}
@media(max-width:600px){.brand>.brand-logo{width:150px;height:50px;aspect-ratio:auto}}
@media(max-width:600px){.risk-group,.holding-policy{padding:16px 14px}.holding-grid{grid-template-columns:1fr;gap:8px}.risk-group .settings-grid{gap:16px 14px}}
.account-gate{position:relative;isolation:isolate;min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(110deg,rgba(7,14,23,.36),rgba(7,14,23,.60)),url('assets/images/forecap-login-market-bg.png') center/cover no-repeat}
.account-card{position:relative;z-index:1;width:min(100%,460px);padding:28px;background:rgba(13,21,32,.94);backdrop-filter:blur(14px);border-color:rgba(166,195,227,.28);box-shadow:0 24px 80px rgba(3,10,18,.42)}
:root[data-theme=light] .account-gate{background-image:linear-gradient(110deg,rgba(12,27,45,.28),rgba(12,27,45,.48)),url('assets/images/forecap-login-market-bg.png')}
:root[data-theme=light] .account-card{background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.8);box-shadow:0 24px 80px rgba(7,21,39,.24)}
.account-brand{width:min(100%,270px);margin:0 0 22px}
.account-brand .brand-logo{display:block;position:relative;overflow:hidden;border-radius:3px}
.account-brand .brand-logo img{display:block;width:100%;height:auto}
.account-brand .brand-logo-light{display:none}
:root[data-theme=light] .account-brand .brand-logo-dark{display:none}
:root[data-theme=light] .account-brand .brand-logo-light{display:block}
.account-card h1{font-size:26px;margin:12px 0}
.account-card p{font-size:13px;color:var(--muted);line-height:1.6}
.account-card form,.connection-form{display:grid;gap:12px}
.account-card label,.connection-form label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.account-card label[hidden]{display:none}
.account-card input,.connection-form input,.connection-form select{width:100%;min-width:0;min-height:44px;padding:10px 12px;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px}
.account-actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.account-actions .text-button{font-size:12px}
.account-connection{margin-top:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.account-connection-heading{display:flex;gap:16px;align-items:start;justify-content:space-between;margin-bottom:16px}
.account-connection-heading strong{overflow-wrap:anywhere;font-size:13px}
.account-connection-heading p{margin:4px 0}
.connection-form{max-width:560px}
#passwordSettings{font-size:12px;margin-top:16px}
.account-card #accountMessage{min-height:1.4em;margin:12px 0 0}
@media(max-width:600px){.account-gate{padding:18px;background-position:56% center}.account-card{padding:24px}.account-connection-heading{display:block}}
@media(max-width:600px){
  .app-shell,.main-content,.sidebar{min-width:0;max-width:100%}
  .brand{width:100%;min-width:0}
  .brand>.brand-logo{flex:0 0 150px;max-width:calc(100% - 125px)}
  .nav-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;max-width:100%}
  .nav-item{min-width:0;white-space:normal;text-align:center}
  .nav-item>span{line-height:1.2}
  .page-wrap,.topbar{min-width:0;max-width:100%}
}
@media(max-width:430px){.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Account and administration layouts */
.account-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.management-panel{min-width:0;padding:22px}
.management-panel>h2{margin:4px 0 18px}
.management-panel>p{color:var(--muted);font-size:12px;line-height:1.65}
.management-panel .panel-heading{padding:0;margin-bottom:18px}
.management-panel .panel-heading h2{margin:0}
.management-panel .connection-form{width:100%}
.management-panel .connection-form>p{margin:0;color:var(--muted);font-size:11px}
.management-panel .account-actions{margin-top:14px}
.account-role{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--accent);font-size:10px;line-height:1.4;white-space:nowrap}
.account-role.status-suspended{color:var(--red)}
#passwordSettings{border-top:1px solid var(--line);padding-top:14px;margin-top:24px}
#passwordSettings summary{color:var(--accent);min-height:36px;padding:6px 0}
#passwordSettings>p{max-width:560px;margin:10px 0 16px;line-height:1.6}
#passwordSettings .connection-form{max-width:560px}
.management-divider{border-top:1px solid var(--line);margin:24px 0}
.account-sessions-panel{grid-column:1/-1}
.management-list{min-width:0}
.management-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line);min-width:0}
.management-row>div:first-child{min-width:0}
.management-row strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}
.management-row p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.management-row .button{flex:none}
.admin-toolbar{display:grid;grid-template-columns:minmax(0,320px) minmax(0,180px);gap:14px;max-width:none;margin:20px 0 14px}
.admin-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.admin-user-actions select{min-height:36px;max-width:160px;padding:7px 9px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text)}
.admin-user-details{flex:1;min-width:0}
@media(max-width:900px){.account-management-grid{grid-template-columns:1fr}.account-sessions-panel{grid-column:auto}}
@media(max-width:600px){.account-management-grid{gap:16px}.management-panel{padding:16px}.management-row{align-items:flex-start}.admin-toolbar{grid-template-columns:1fr}.admin-user{display:block}.admin-user-actions{justify-content:flex-start;margin-top:14px}.management-panel .account-actions{gap:8px}}
