n/* Dark trading terminal: shared workspace theme. */
.terminal-theme {
    color-scheme: dark;
    --bg: #0b0f14;
    --side: #0e1319;
    --panel: #141a22;
    --panel2: #1a222d;
    --line: #29323e;
    --muted: #9aa9bb;
    --text: #e8eef6;
    --blue: #387dff;
    --green: #35d49a;
    --red: #ff7987;
    --font: 'Segoe UI', system-ui, Arial, sans-serif;
    --head: 'Segoe UI', system-ui, Arial, sans-serif;
    background: var(--bg);
    font-family: var(--font);
    line-height: 1.5;
}
.terminal-theme :is(button, input, select, textarea) { font-family: var(--font); }
.terminal-theme.auth-page { background: var(--bg); }
.terminal-theme .auth-card { background: var(--panel); border-color: var(--line); box-shadow: 0 20px 60px #0004; border-radius: 12px; }
.terminal-theme .sidebar { background: var(--side); border-color: var(--line); }
.terminal-theme .topbar { background: var(--side); border-color: var(--line); }
.terminal-theme .brand-mark { background: transparent; border-radius: 0; box-shadow: none; }
.terminal-theme .brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.terminal-theme .brand-copy small { color: var(--muted); }
.terminal-theme .workspace-label { color: #8596ac; }
.terminal-theme .nav-link { height: 40px; color: #a5b2c4; border-radius: 7px; }
.terminal-theme .nav-link:hover { color: #f0f5ff; background: #1a2330; }
.terminal-theme .nav-link.is-active { color: #a9c8ff; background: #172c4a; box-shadow: inset 3px 0 var(--blue); }
.terminal-theme .sidebar-divider { background: var(--line); }
.terminal-theme .data-status { background: var(--panel); border-color: var(--line); }
.terminal-theme .user-mini { border-color: var(--line); }
.terminal-theme .page-heading { gap: 20px; }
.terminal-theme .page-heading h1 { font-size: 28px; line-height: 1.25; letter-spacing: -.6px; }
.terminal-theme :is(.page-heading p, .panel-heading p) { color: var(--muted); font-size: 13px; }
.terminal-theme :is(.eyebrow, .breadcrumb, .market-state) { color: var(--muted); }
.terminal-theme :is(.panel, .metric-card) { background: var(--panel); border-color: var(--line); border-radius: 10px; box-shadow: none; }
.terminal-theme .metric-value { font-size: 27px; letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
.terminal-theme .metric-label { color: var(--muted); font-size: 10px; }
.terminal-theme .metric-foot { color: var(--muted); font-size: 11px; }
.terminal-theme .metric-card { min-height: 126px; padding: 18px 20px; }
.terminal-theme .panel-heading h2 { font-size: 16px; }
.terminal-theme .button { min-height: 38px; height: auto; padding: 9px 14px; font-size: 12px; line-height: 1.3; border-radius: 7px; transition: background-color .15s, border-color .15s; }
.terminal-theme .button-primary { background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: none; }
.terminal-theme .button-primary:hover { background: #216af0; border-color: #216af0; }
.terminal-theme .button-secondary { background: #1a2330; border-color: #354253; color: #d7e4f5; }
.terminal-theme .button-secondary:hover { background: #233249; border-color: #5275a5; }
.terminal-theme button:disabled { opacity: .45; cursor: not-allowed; }
.terminal-theme :is(a, button, summary):focus-visible { outline: 2px solid #8ab7ff; outline-offset: 3px; }
.terminal-theme button.text-link { border: 0; background: transparent; padding: 6px; cursor: pointer; }
.terminal-theme .text-link { color: #8eb8ff; font-size: 12px; }
.terminal-theme :is(.analyzer-form, .form-field) label { color: #bac9dd; font-size: 12px; }
.terminal-theme :is(.analyzer-form, .form-field) input:not([type='checkbox']):not([type='hidden']):not([type='file']):not([type='range']),
.terminal-theme :is(.analyzer-form, .form-field) select,
.terminal-theme :is(.analyzer-form, .form-field) textarea,
.terminal-theme .signal-search-form input { background: #0f151d; border-color: #354151; color: var(--text); font-size: 13px; border-radius: 7px; min-height: 40px; }
.terminal-theme input::placeholder, .terminal-theme textarea::placeholder { color: #8493a7; }
.terminal-theme :is(input, select, textarea):focus-visible { outline: 2px solid #78a7ff; outline-offset: 1px; }
.terminal-theme .field-error { font-size: 12px; color: #ff9ca6; }
.terminal-theme :is(.form-success, .analysis-warnings) { font-size: 12px; line-height: 1.6; }
.terminal-theme table { font-variant-numeric: tabular-nums; }
.terminal-theme th { padding-top: 10px; padding-bottom: 13px; color: #91a4bc; font-size: 10px; letter-spacing: .06em; }
.terminal-theme td { padding-top: 16px; padding-bottom: 16px; border-color: var(--line); color: #ced9e8; font-size: 13px; }
.terminal-theme td strong { font-size: 13px; }
.terminal-theme td small { color: var(--muted); font-size: 11px; }
.terminal-theme tbody tr:hover { background: #1a2431; }
.terminal-theme :is(.signal-analyzer-entry, .signal-analyzer-how, .signal-analysis-list) { background: var(--panel); }
.terminal-theme .signal-analyzer-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; }
.terminal-theme .signal-analyzer-heading h2 { font-size: 17px; }
.terminal-theme :is(.signal-analyzer-heading p, .signal-analyzer-how ul) { font-size: 12px; color: var(--muted); }
.terminal-theme .analyzer-number { background: #182944; border-color: #365980; color: #9bbfff; }
.terminal-theme :is(.signal-override-fields, .screenshot-options) { background: #101720; border-color: var(--line); }
.terminal-theme :is(.signal-override-fields summary, .screenshot-options>summary) { font-size: 12px; }
.terminal-theme .screenshot-options p { font-size: 12px; color: var(--muted); }
.terminal-theme .screenshot-options input[type='file'] { font-size: 12px; }
.terminal-theme .screenshot-options input[type='file']::file-selector-button { font-size: 12px; background: var(--panel2); color: var(--text); border-color: #354253; }
.terminal-theme .ocr-confirm { background: #101720; font-size: 12px; border-color: #354253; }
.terminal-theme :is(.detect-call-row span, .signal-save-row span) { color: var(--muted); font-size: 12px; }
.terminal-theme .analysis-call-heading strong { font-size: 16px; }
.terminal-theme .analysis-call-heading time { font-size: 11px; }
.terminal-theme .analysis-price-grid>div { background: #0f151d; border-color: var(--line); padding: 13px; }
.terminal-theme .analysis-price-grid small { color: var(--muted); font-size: 10px; }
.terminal-theme .analysis-price-grid strong { font-size: 14px; font-variant-numeric: tabular-nums; }
.terminal-theme :is(.analysis-explanation, .paper-signal-context) { background: #122238; border-color: #2d466b; }
.terminal-theme :is(.analysis-explanation strong, .provider-rationale strong) { font-size: 12px; }
.terminal-theme :is(.analysis-explanation p, .provider-rationale p, .analysis-warnings, .analysis-original-message, .analysis-card-actions>span) { font-size: 12px; }
.terminal-theme .signal-disclaimer { color: var(--muted); font-size: 11px; line-height: 1.6; }
.terminal-theme .source-tag { font-size: 10px; border-color: #354253; }
.terminal-theme .signal-count { font-size: 11px; }
.terminal-theme :is(.positions-panel, .evidence-call-overview, .evidence-chart-panel, .evidence-reasons, .evidence-summary, .evidence-import) { background: var(--panel); border-color: var(--line); }
.terminal-theme :is(.evidence-chart-scroll, .evidence-readout, .evidence-level-card, .evidence-reason) { background: #0e141c; border-color: #2a3545; }
.terminal-theme .evidence-reason:hover, .terminal-theme .evidence-reason[aria-pressed='true'] { background: #152840; border-color: #5789d0; }
.terminal-theme .evidence-chart-controls { background: #101720; border-color: var(--line); }
.terminal-theme :is(.evidence-workspace select, .evidence-history select, .trade-tabs) { background: #0f151d; border-color: #354151; }
.terminal-theme :is(.trade-summary, .trade-chart-card, .trade-fetch-card, .trade-empty, .trade-evidence-bar) { background: var(--panel); border-color: var(--line); box-shadow: none; }
.terminal-theme .trade-summary>div { border-color: var(--line); }
.terminal-theme .trade-chart-controls { background: #101720; border-color: var(--line); }
.terminal-theme .trade-plot { background: #0e141c; }
.terminal-theme .trade-tabs button[aria-selected='true'] { background: #173358; color: #e5efff; box-shadow: none; }
.terminal-theme :is(.trade-zoom button, .trade-range-shortcuts button, .evidence-zoom-controls button) { background: #1a2534; border-color: #354253; }
.terminal-theme .trade-evidence-menu>div { background: var(--panel2); border-color: #354253; }
.terminal-theme .dashboard-workflow { background: #15253b; border-color: #304568; }
.terminal-theme .app-footer { border-color: var(--line); color: #8d9daf; }
@media (max-width: 1050px) {
    .terminal-theme .signal-analyzer-layout { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
    .terminal-theme .nav-link, .terminal-theme .nav-link:not(.is-active) { display: flex; height: 44px; font-size: 0; }
    .terminal-theme .nav-link.is-active { font-size: 0; }
    .terminal-theme .nav-icon { font-size: 18px; }
    .terminal-theme .page-heading h1 { font-size: 24px; }
    .terminal-theme .button { flex: initial; min-height: 40px; }
    .terminal-theme .metric-value { font-size: 22px; }
    .terminal-theme .metric-card { padding: 15px; min-height: 110px; }
}
@media (prefers-reduced-motion: reduce) {
    .terminal-theme .button, .terminal-theme .nav-link { transition: none; }
    .terminal-theme .signal-analysis-card:target { animation: none; outline: 1px solid var(--blue); }
}
