/* v44.7 — typography and colors from the deployed FYERS Quant reference.
   Presentation only: no dimensions, spacing, visibility or layout declarations.
   Local fonts retain their SIL Open Font Licenses in static/fyers-*-OFL.txt. */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('./fyers-inter-400.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url('./fyers-inter-500.ttf') format('truetype')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('./fyers-inter-600.ttf') format('truetype')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('./fyers-space-grotesk-500.ttf') format('truetype')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('./fyers-space-grotesk-600.ttf') format('truetype')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('./fyers-space-grotesk-700.ttf') format('truetype')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('./fyers-jetbrains-mono-400.ttf') format('truetype')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('./fyers-jetbrains-mono-500.ttf') format('truetype')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url('./fyers-jetbrains-mono-700.ttf') format('truetype')}
:root,body.workspace,body.login-body{
  --bg:#05070b;--surface:#0a0e14;--panel:#0a0e14;--surface-raised:#11161f;--panel2:#11161f;
  --line:#1c2430;--text:#b3bcc7;--info:#b3bcc7;--muted:#8b98a9;--label:#8b98a9;--dim:#4a5568;
  --accent:#79aaae;--good:#70a68e;--bad:#c17c86;--warning:#bca06b;--warn:#bca06b;
  --font-body:Inter,system-ui,sans-serif;--font-display:'Space Grotesk',Inter,sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}
body:is(.workspace,.login-body){background:var(--bg)!important;color:var(--font-text);font-family:var(--font-body)}
body:is(.workspace,.login-body) :is(button,input,select,textarea){font-family:var(--font-body)}
body:is(.workspace,.login-body) :is(h1,h2,h3,h4,.workspace-brand,.login-brand,.login-submit,.chart-alert-manager-head strong){font-family:var(--font-display);color:var(--font-text)}
body:is(.workspace,.login-body) :is(label,th,.nav-caption,.workspace-brand small,.workspace-breadcrumb,.workspace-status,.server-strip,.header-health span,.header-health b,.login-kicker,.login-card-head>span,.login-footnote,.capacity-pill,.lifecycle-badge,.event-market,.crosshair-info,.panel-heading span,.price-alert-price,#chartAlertsCount){font-family:var(--font-mono)}
body.workspace :is(.summary-metric b,.position-metrics b,.risk-summary b,.journal-summary b,.server-strip b){font-family:var(--font-mono)}
/* Surfaces keep their existing geometry and hierarchy. */
body:is(.workspace,.login-body) :is(.workspace-nav,.workspace-topbar,.bot-card,.account-risk-panel,.events-panel,.orders-panel,.manage-card,.journal-card,.journal-summary>div,.login-shell,.login-card,.login-intro,dialog,.chart-command-bar,.chart-board,.chart-shell,.chart-tool-panel,.price-alert-editor-card,.price-alert-menu){background:var(--surface)!important;border-color:var(--line)!important}
body:is(.workspace,.login-body) :is(.workspace-logo,.summary-metric,.schedule-metrics,.schedule-metrics>div,.position-metrics>div,.owned-position,.detail-box,.position-empty,.card-actions,.settings-section,.drawing-object-row,.clone-row,.event-market,.source-pill,.capacity-pill,.lifecycle-badge,.price-alert-bot-actions,.chart-alert-monitor,.chart-alert-monitor-status,.chart-alert-item,.login-assurance span){background:var(--surface-raised)!important;border-color:var(--line)!important}
body.workspace :is(.schedule-metrics>div,.detail-box,.position-empty){background:var(--surface)!important}
body.workspace :is(.card-summary,.position-metrics,.position-heading,.event-row,.nav-bottom,.chart-footer,.chart-tool-panel-head,.chart-tool-file-actions,.chart-view-actions,.chart-alert-manager-head,.chart-alert-manager,.price-alert-editor-head,.price-alert-editor-actions,.dialog-actions){border-color:var(--line)!important}
body.workspace :is(.dialog-actions,.price-alert-editor-actions){background:var(--surface)!important}
body.workspace :is(th,td){border-color:var(--line)!important}
body.workspace th{background:var(--surface-raised)!important;color:var(--font-muted)!important}
body.workspace :is(.chart-board .panel-heading,.candle-inspector){background:#0a0e14f5!important;border-color:var(--line)!important}
body.workspace .chart-board>.panel-resizer{background:var(--line)!important}
body.workspace .chart-board>.panel-resizer:is(:hover,:focus-visible,.dragging){background:var(--accent)!important}
body:is(.workspace,.login-body) dialog::backdrop{background:#05070bcc}
/* Controls and navigation follow FYERS' cyan action color. */
body:is(.workspace,.login-body) a{color:var(--font-accent)}
body.workspace .workspace-brand{color:var(--font-text)}
body.workspace :is(.workspace-nav nav a,.nav-bottom a){color:var(--font-muted)}
body.workspace .workspace-nav nav a:hover{background:var(--surface-raised);color:var(--font-text)}
body.workspace .workspace-nav nav a[aria-current=page]{background:#79aaae12!important;border-color:#79aaae40!important;color:var(--font-accent)}
body.workspace .workspace-logo{color:var(--font-accent)}
body:is(.workspace,.login-body) :is(button,.button-link,.btn){background:var(--accent)!important;border-color:var(--accent)!important;color:var(--font-bg)!important}
body:is(.workspace,.login-body) :is(button.ghost,.button-link.ghost,.btn.ghost,.chart-switch,.chart-tool-menu>summary,.drawing-toolbar button,.chart-view-actions button,.chart-tool-file-actions button,.chart-alert-item-actions button){background:var(--surface-raised)!important;border-color:var(--line)!important;color:var(--font-muted)!important}
body.workspace :is(button.selected,.chart-switch.active,button[aria-pressed=true],.chart-tool-menu[open]>summary){background:#79aaae1a!important;border-color:#79aaae70!important;color:var(--font-accent)!important}
body.workspace #chartAlertsButton[aria-pressed=true]{background:#bca06b1a!important;border-color:var(--warning)!important;color:var(--font-warning)!important;box-shadow:inset 0 0 0 1px #bca06b40}
body:is(.workspace,.login-body) :is(input,select,textarea){background:var(--surface-raised)!important;border-color:var(--line)!important;color:var(--font-text)!important;caret-color:var(--accent);accent-color:var(--accent)}
body:is(.workspace,.login-body) :is(input,select,textarea):focus{border-color:var(--accent)!important}
body:is(.workspace,.login-body) :is(input,textarea)::placeholder{color:var(--font-dim)}
body:is(.workspace,.login-body) :is(button,a,input,select,textarea,summary):focus-visible{outline-color:var(--accent)}
body.login-body .login-card input:focus{box-shadow:0 0 0 3px #79aaae1c}
body.login-body .brand-mark{background:var(--accent);color:var(--font-bg)}
body.login-body .login-kicker i{background:var(--accent);box-shadow:0 0 0 6px #79aaae1c}
/* Information hierarchy: neutral readings, muted labels, semantic states. */
body:is(.workspace,.login-body) :is(label,small,.muted,.nav-caption,.workspace-breadcrumb,.workspace-brand small,.page-intro p,.section-head p,.dialog-head p,.login-intro p,.login-assurance span,.login-footnote,.clone-health,.card-identity p,.diagnostics-status,.event-row small,.crosshair-info span,.summary-metric span,.schedule-metrics span,.position-metrics span,.risk-summary span,.journal-summary span,.signal-heading>span,.header-health span){color:var(--font-muted)!important}
body.workspace :is(.detail-box,.position-empty,.summary-metric b,.schedule-metrics b,.position-metrics b,.risk-summary b,.journal-summary b,.signal-heading b,.crosshair-info strong,.event-row b,.clone-row p,.clone-row small,td,.panel-heading strong,.chart-alert-item strong,.chart-alert-item span,.chart-alert-item small){color:var(--font-text)!important}
body.workspace :is(.workspace-status time,.chart-tool-panel-head,.drawing-help,.drawing-status,.chart-footer,.panel-heading span,#chartSettingsMessage,#activeDrawingTool){color:var(--font-muted)!important}
body.login-body :is(.login-kicker,.login-card-head>span){color:var(--font-accent)!important}
body.workspace :is(.good-text,.risk-good,.header-health .good,.header-health .ok,.lifecycle-badge.active,.circuit-pill.closed,.heartbeat-state.healthy,.heartbeat-state.healthy [data-field=service],.position-badge.bullish,.price-alert-drag-status.saved,#connectionStatus[data-state=ok]){color:var(--font-good)!important}
body.workspace .neutral-text{color:var(--font-muted)!important}
body.workspace :is(.warn-text,.risk-warn,.header-health .warn,.lifecycle-badge.retiring,.circuit-pill.open,.heartbeat-state.paused,.heartbeat-state.stale,.heartbeat-state.paused [data-field=service],.heartbeat-state.stale [data-field=service],#connectionStatus[data-state=error],#chartSettingsMessage.warning){color:var(--font-warning)!important}
body:is(.workspace,.login-body) :is(.bad-text,.risk-bad,.header-health .bad,.heartbeat-state.failed,.heartbeat-state.failed [data-field=service],.position-badge.bearish,.price-alert-drag-status.bad){color:var(--font-bad)!important}
body.workspace .heartbeat-dot{background:var(--dim)}
body.workspace .heartbeat-state.healthy .heartbeat-dot{background:var(--good)}
body.workspace :is(.heartbeat-state.paused,.heartbeat-state.stale) .heartbeat-dot{background:var(--warning)}
body.workspace .heartbeat-state.failed .heartbeat-dot{background:var(--bad)}
body.workspace .heartbeat-state.disabled .heartbeat-dot{background:var(--dim)}
body.workspace :is(.position-badge.bullish,.risk-good,.success-box,.lifecycle-badge.active,.circuit-pill.closed,.price-alert-drag-status.saved){border-color:#70a68e45!important}
body.workspace :is(.position-badge.bearish,.risk-bad,.price-alert-drag-status.bad){border-color:#c17c8645!important}
body:is(.workspace,.login-body) :is(.freshness-banner,.incident-banner,.filtered-box,.chart-alert-monitor.warn,.price-alert-drag-status,.drawing-error,.error-box){background:#bca06b0d!important;border-color:#bca06b45!important;color:var(--font-warning)!important}
body.workspace #errorBox{background:#bca06b0d!important;color:var(--font-warning)!important}
body:is(.workspace,.login-body) :is(.error,.warning-box,.risk-reasons,.risk-alert,.chart-alert-monitor.bad,.price-alert-form-error){background:#c17c860d!important;border-color:#c17c8645!important;color:var(--font-bad)!important}
body:is(.workspace,.login-body) :is(.danger-button,button.danger){background:#c17c8626!important;border-color:#c17c8670!important;color:var(--font-bad)!important}
body:is(.workspace,.login-body) :is(.login-notice,.workspace-toast){background:#70a68e15!important;border-color:#70a68e45!important;color:var(--font-good)!important}
body.workspace .workspace-toast[data-error=true]{background:#c17c8615!important;border-color:#c17c8645!important;color:var(--font-bad)!important}

/* Nested alert badges and messages retain contrast in both interaction modes. */
body.workspace #chartAlertsCount{background:var(--surface-raised)!important;color:var(--font-accent)!important}
body.workspace #chartAlertsButton[aria-pressed=true] #chartAlertsCount{color:var(--font-warning)!important}
body.workspace :is(.chart-alert-contract span,.price-alert-menu-price,.price-alert-toggle-row span,.price-alert-bot-actions small){color:var(--font-muted)!important}
body.workspace .chart-alert-monitor.good{background:#70a68e0d!important;border-color:#70a68e45!important;color:var(--font-good)!important}
body.workspace .chart-alert-monitor.warn{background:#bca06b0d!important;border-color:#bca06b45!important;color:var(--font-warning)!important}
body.workspace :is(.chart-alert-monitor.bad,.chart-alert-error){background:#c17c860d!important;border-color:#c17c8645!important;color:var(--font-bad)!important}

/* v44.12: text RGB channels +8% over v44.11; shared surface/line tokens unchanged. */
:root,body.workspace,body.login-body{--font-text:#cbd5e2;--font-info:#cbd5e2;--font-muted:#9eadbf;--font-label:#9eadbf;--font-dim:#546076;--font-accent:#89c1c6;--font-good:#7fbca1;--font-bad:#db8c98;--font-warning:#d5b579;--font-warn:#d5b579;--font-bg:#05080d;}

/* One persisted theme for the complete workspace and sign-in page. */
html[data-theme="light"],
html[data-theme="light"] body.workspace,
html[data-theme="light"] body.login-body {
  --bg:#f4f6f8;--surface:#fff;--panel:#fff;--surface-raised:#f0f3f6;--panel2:#f0f3f6;
  --line:#d1d4dc;--text:#131722;--info:#131722;--muted:#515b6b;--label:#515b6b;--dim:#687386;
  --accent:#126c78;--good:#087f5b;--bad:#c6283c;--warning:#8a5800;--warn:#8a5800;
  --font-text:#131722;--font-info:#131722;--font-muted:#515b6b;--font-label:#515b6b;
  --font-dim:#687386;--font-accent:#126c78;--font-good:#087f5b;--font-bad:#c6283c;
  --font-warning:#8a5800;--font-warn:#8a5800;--font-bg:#fff;
  color-scheme:light;
}
.global-theme-control {
  display:inline-flex!important;align-items:center;gap:7px;flex:0 0 auto;
  margin:0;font-size:.75rem;white-space:nowrap;
}
.global-theme-control select {
  width:auto!important;min-width:76px;min-height:34px;padding:5px 8px;font-size:.8rem;
}
.login-theme-choice {position:absolute;top:16px;right:20px;z-index:2;}
html[data-theme="light"] body.workspace :is(.chart-board .panel-heading,.candle-inspector) {
  background:#fffffff5!important;
}
html[data-theme="light"] body:is(.workspace,.login-body) :is(.drawing-toolbar,.chart-view-actions,.chart-tool-file-actions,.drawing-edit-grid,.chart-alert-manager,.price-alert-editor-head,.chart-view-panel,.chart-tool-panel-head,.workspace-toast,.login-notice) {
  background:var(--surface)!important;border-color:var(--line)!important;
}
html[data-theme="light"] body.workspace :is(.chart-shell,.chart-board,.chart-host){background:#fff!important;}
html[data-theme="light"] body.workspace .workspace-nav nav a[aria-current=page],
html[data-theme="light"] body.workspace :is(button.selected,.chart-switch.active,button[aria-pressed=true],.chart-tool-menu[open]>summary) {
  background:#e0f0f2!important;border-color:#80acb2!important;
}
html[data-theme="light"] body:is(.workspace,.login-body) dialog::backdrop {background:#25334d66;}
html[data-theme="light"] body.workspace :is(.page-intro,.dialog-head,.server-strip,.chart-feedback,.chart-footer,.risk-summary,.journal-summary,.diagnostics-status) {color:var(--font-text);}
html[data-theme="light"] body.workspace .workspace-toast[data-error=true] {background:#fff1f2!important;}
html[data-theme="light"] body.workspace .chart-board .panel-heading {box-shadow:none;}
@media(max-width:650px){.global-theme-control{font-size:.7rem;gap:5px}.global-theme-control select{min-width:72px}.login-theme-choice{top:10px;right:12px;}}
html[data-theme="light"] body.workspace.overview-workspace .summary-metric {
  background:#f0f3f6!important;border-color:#c7cdd5!important;box-shadow:none;
  --badge-tone:#515b6b;
}
html[data-theme="light"] body.workspace.overview-workspace .summary-metric[data-tone=live]{--badge-tone:#8a5800}
html[data-theme="light"] body.workspace.overview-workspace .summary-metric[data-tone=dry]{--badge-tone:#315b87}
html[data-theme="light"] body.workspace.overview-workspace .summary-metric[data-tone=open]{--badge-tone:#126c78}
html[data-theme="light"] body.workspace.overview-workspace .summary-metric[data-tone=attention]{--badge-tone:#c6283c}
html[data-theme="light"] body.workspace.overview-workspace .trade-cell {
  background:#fff;border-color:#d1d4dc;
}
html[data-theme="light"] body.workspace.overview-workspace .trade-cell dt{color:var(--font-muted)}
html[data-theme="light"] body.workspace.overview-workspace .trade-cell dd{color:var(--font-text)}
html[data-theme="light"] body.workspace.overview-workspace .trade-cell .good-text{color:var(--font-good)!important}
html[data-theme="light"] body.workspace.overview-workspace .trade-cell .bad-text{color:var(--font-bad)!important}
body.workspace.overview-workspace .workspace-topbar > .global-theme-control{align-self:flex-end;margin-top:10px}
/* Clear text hierarchy in dark mode without changing the trading palette. */
html[data-theme="dark"],
html[data-theme="dark"] body.workspace,
html[data-theme="dark"] body.login-body {
  --text:#e6edf3;--info:#e6edf3;--muted:#b4bfce;--label:#b4bfce;--dim:#91a0b4;
  --font-text:#e6edf3;--font-info:#e6edf3;--font-muted:#b4bfce;--font-label:#b4bfce;
  --font-dim:#91a0b4;--font-accent:#9bd2d7;--font-good:#91d5b6;--font-bad:#f2a2ad;
  --font-warning:#edca88;--font-warn:#edca88;
  color-scheme:dark;
}
html[data-theme="dark"] body.workspace.overview-workspace .trade-cell dt{color:var(--font-muted)}
html[data-theme="dark"] body.workspace.overview-workspace .trade-cell dd{color:var(--font-text)}
body:is(.workspace,.login-body) :is(input,select,button){font-weight:500;}
