/* Approved Invest screen references, 2026-09-16. Real data and existing flows. */
:root {
  --ink:#080e16;
  --surface:#0d141e;
  --surface-raised:#111b28;
  --surface-strong:#192538;
  --text:#f3f6fd;
  --muted:#afbfdb;
  --faint:#92a4c2;
  --line:#1d2a3b;
  --line-strong:#31425b;
  --positive:#36e3af;
  --negative:#ff637e;
  --warning:#ffc058;
  --vertux:#865dff;
  --vertux-soft:#b6a2ff;
  --action-fill:#6538ed;
  --action-hover:#7648fa;
  --radius:10px;
  --radius-large:12px;
  --rail:256px;
  --type-caption:13px;
  --type-label:14px;
}
body { font-weight:400; }
button, input, select, textarea { caret-color:var(--vertux-soft); }
body :is(h1,h2,h3,h4,strong,b) { letter-spacing:-.02em; }
body :is(h2,h3,h4) { font-weight:600; }
.rail { background:#0a1019; padding:24px 16px 12px; }
.brand-lockup strong { font:600 20px/1.2 var(--body); }
.brand-lockup small { font:400 11px/1.5 var(--body); letter-spacing:0; text-transform:none; color:var(--muted); }
.brand-mark { background:#382077; color:#e9e0ff; box-shadow:none; }
.navigation { margin-top:28px; }
.nav-heading { display:none; }
.nav-item { min-height:47px; font-weight:400; font-size:14px; color:var(--muted); padding:0 14px; margin:3px 0; }
.nav-item svg { width:21px; height:21px; flex:0 0 21px; }
.nav-item.active { background:#241e49; }
.nav-item.active::before { left:0; width:1px; height:24px; box-shadow:none; }
.nav-item[data-system-section=subscription] { margin-top:24px; }
.runtime-evidence { border:0; margin:0; padding:0 9px; }
.runtime-evidence small { display:none; }
.owner-button { padding:10px; }
.owner-button > span:first-child { border-radius:50%; background:#30215f; }
.topbar { min-height:78px; padding:14px 24px; gap:16px; }
.topbar-title { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.topbar-search { flex:1; width:auto; max-width:none; }
.topbar-search input { height:44px; background:var(--surface); border-color:var(--line); border-radius:10px; font-size:14px; }
.topbar-actions { margin-left:auto; }
.topbar-actions #syncButton { background:var(--surface); border-color:var(--line-strong); }
main { padding:20px 24px 30px; }
.environment-banner { padding:7px 0; margin:0 0 12px; min-height:0; border:0; background:none; color:var(--faint); justify-content:flex-end; font-size:11px; }
.environment-banner strong { color:var(--muted); font-size:11px; font-weight:500; }
.environment-banner span,.environment-banner code { display:none; }
.environment-banner strong::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:7px; background:var(--vertux); }
.section-head,.section-intro { margin:0 0 22px; }
.section-head h2,.section-intro h2 { font-size:30px; line-height:1.25; }
.section-head p,.section-intro p { margin:7px 0 0; color:var(--muted); font-size:14px; }
.surface-head { min-height:58px; padding:16px 20px; border-bottom:0; }
.surface-head h2,.surface-head h3 { font-size:17px; }
.surface-head p { font-size:12px; }
.button { min-height:40px; border-radius:8px; font-weight:450; }
.button.primary { border-color:#865dff; }
.term-help { border:1px solid var(--vertux); border-radius:50%; width:16px; height:16px; min-width:16px; min-height:16px; font:500 11px/1 var(--body); color:var(--vertux-soft); background:transparent; vertical-align:middle; margin-left:5px; }
.term-help:hover { color:var(--text); background:#31235b; }
.overview-summary { display:grid; grid-template-columns:minmax(235px,1.55fr) minmax(165px,1.08fr) repeat(4,minmax(110px,.8fr)); gap:10px; border:0; background:none; padding:0; margin-bottom:12px; }
.overview-summary .portfolio-headline,.overview-metrics,.overview-metrics .metric-ledger { display:contents; }
.overview-summary .headline-copy,.overview-summary .headline-pnl,.overview-metrics .metric-ledger > div { display:flex; position:relative; flex-direction:column; justify-content:flex-start; align-items:flex-start; padding:17px 18px; border:1px solid var(--line); border-radius:10px; background:var(--surface); min-width:0; gap:0; margin:0; }
.overview-summary .headline-copy > span,.overview-summary .headline-pnl > span,.overview-metrics dt { font:400 12px/1.5 var(--body); color:var(--muted); }
.overview-summary .headline-copy > .term-help { position:absolute; top:18px; right:16px; }
.overview-summary .headline-value { font:600 36px/1.15 var(--body); letter-spacing:-.035em; margin-top:16px; white-space:nowrap; }
.overview-summary .headline-pnl { border-left:1px solid var(--line); }
.overview-summary .headline-pnl strong { font:600 28px/1.2 var(--body); margin:16px 0 4px; }
.overview-summary .metric-rate { font-size:13px; font-weight:500; }
.overview-metrics .metric-ledger dd { font:550 24px/1.3 var(--body); margin:20px 0 0; letter-spacing:-.02em; }
.overview-metrics .metric-ledger dt { display:block; font-size:12px; }
.overview-grid { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:12px; margin-bottom:12px; }
.overview-grid .chart-surface { display:grid; grid-template-rows:auto auto minmax(240px,1fr); }
.overview-grid .chart-frame,.overview-grid .chart-host { height:270px; min-height:270px; }
.chart-surface .surface-head { align-items:flex-start; padding-bottom:7px; }
.chart-value { display:flex; gap:12px; align-items:center; margin-top:8px; font-variant-numeric:tabular-nums; }
.chart-value > strong { font-size:23px; line-height:1.3; }
.chart-value > span { font-size:14px; font-weight:500; }
.chart-scope { border:0; padding:3px 20px 7px; min-height:0; display:flex; justify-content:space-between; }
.chart-scope label { display:flex; align-items:center; gap:10px; }
.chart-scope label > span { display:none; }
.chart-scope select { padding-block:5px; font-size:12px; min-height:30px; }
.chart-scope p { font-size:11px; margin:0; }
.range-switch { border:1px solid var(--line); border-radius:8px; padding:3px; background:var(--ink); }
.range-switch button { min-height:32px; padding:6px 10px; font:400 12px var(--body); }
.range-switch button.active,.range-switch button[aria-pressed=true] { background:var(--action-fill); color:white; border-radius:6px; }
.portfolio-breakdown .surface-head { padding:18px; }
.portfolio-breakdown .portfolio-rows { padding:0 12px 12px; display:grid; gap:8px; }
.portfolio-breakdown .portfolio-row { border:1px solid var(--line); border-radius:9px; padding:16px; gap:11px; background:var(--surface); }
.account-card-name { display:flex; align-items:center; gap:9px; }
.account-card-name strong { font-size:13px; font-weight:400; }
.account-dot { display:inline-block; width:10px; height:10px; background:var(--vertux); border-radius:50%; flex:0 0 10px; }
.portfolio-row:nth-child(2n) .account-dot { background:#5782ff; }
.portfolio-breakdown .portfolio-row > span.numeric { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.portfolio-breakdown .portfolio-row > span.numeric strong { font-size:21px; font-weight:550; }
.allocation-track { height:7px; background:var(--surface-strong); border-radius:4px; }
.allocation-track i { background:var(--vertux); border-radius:4px; }
.positions-surface .surface-head { min-height:56px; }
.positions-surface .wide-ledger { min-width:930px; }
table { width:100%; border-collapse:collapse; }
thead { background:var(--surface-raised); }
th { padding:9px 16px; color:var(--muted); font-size:12px; font-weight:400; background:var(--surface-raised); border-block:1px solid var(--line); }
td { padding:11px 16px; height:52px; border-color:var(--line); font-size:13px; }
td.numeric { font-size:13px; font-variant-numeric:tabular-nums; }
td.numeric strong { font-weight:550; }
tbody tr:hover { background:#141d2b; }
.instrument-with-mark { gap:12px; }
.instrument-mark { flex:0 0 32px; width:32px; height:32px; background:var(--surface-strong); }
.instrument-mark img { background:transparent; }
.instrument-mark svg { width:21px; height:21px; }
.positions-surface .instrument-cell { display:flex; align-items:center; gap:12px; min-width:170px; max-width:240px; }
.instrument-cell strong { font-size:13px; font-weight:500; }
.instrument-cell small { color:var(--muted); font-size:11px; }
.position-direction,.asset-type { font-size:11px; }
.return-rate { margin-top:3px; font-size:12px; opacity:1; }
.column-sort { min-height:25px; }
.inline-help { display:inline; margin-left:5px; }
.list-pagination,.operations-pagination { padding:15px 18px; min-height:60px; border:0; font-size:12px; }
.ledger-filters { padding:0; gap:12px; margin-bottom:16px; border:0; }
.ledger-filters label > span { font-size:12px; min-height:0; }
.filter-field { display:flex; position:relative; align-items:center; }
.filter-field > svg { position:absolute; left:13px; z-index:1; width:20px; height:20px; color:var(--muted); pointer-events:none; }
.filter-field :is(select,input) { min-height:44px; padding-left:44px; border-color:var(--line-strong); background-color:var(--surface); }
.ledger-date-range { gap:12px; padding:0; }
.ledger-date-range input { min-height:38px; font-size:12px; padding:8px 11px; }
.ledger-date-range label { max-width:165px; }
.ledger-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:12px 0; border:0; border-radius:0; background:none; padding:0; }
.ledger-summary > div,.ledger-summary > div:first-child,.ledger-summary > div:last-child { padding:17px 20px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.ledger-summary dt { font-size:13px; }
.ledger-summary dd { font:600 30px/1.25 var(--body); margin:12px 0 0; }
.workspace-section-tabs { gap:0; padding:0 12px; margin-bottom:14px; border-radius:10px; }
.workspace-section-tabs button { position:relative; min-height:48px; padding:12px 24px; border-radius:0; background:transparent; }
.workspace-section-tabs button.active,.workspace-section-tabs [aria-selected=true] { background:transparent; color:var(--text); }
.workspace-section-tabs button.active::after,.workspace-section-tabs [aria-selected=true]::after { content:''; position:absolute; bottom:0; height:2px; left:8px; right:8px; background:var(--vertux); }
.closed-positions-surface { margin-top:0; }
.closed-positions-surface > .surface-head { display:none; }
.closed-positions-surface .wide-ledger { min-width:930px; }
.period-controls { border:0; background:none; padding:0; margin:0 0 14px; gap:12px; align-items:end; }
.period-controls input,.period-controls select { min-height:38px; background:var(--surface); }
.period-controls label > span { font-size:11px; }
.period-controls .period-presets { flex:1 1 auto; margin-right:auto; }
[data-view-panel=analytics] .analytics-primary { border:0; background:none; padding:0; margin:14px 0; overflow:visible; }
[data-view-panel=analytics] .analytics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; }
[data-view-panel=analytics] .analytics-grid > div { position:relative; grid-column:auto; border:1px solid var(--line); border-radius:10px; padding:18px; min-height:120px; background:var(--surface); }
[data-view-panel=analytics] .analytics-grid > div:nth-child(4) { border-right:1px solid var(--line); }
[data-view-panel=analytics] .analytics-grid dt { font-size:12px; line-height:1.6; padding-right:0; }
[data-view-panel=analytics] .analytics-grid dd { font:600 34px/1.2 var(--body); letter-spacing:-.03em; margin:12px 0 3px; padding-right:40px; }
[data-view-panel=analytics] .analytics-grid small { color:var(--muted); font-size:12px; }
.metric-icon { position:absolute; right:20px; top:54px; width:33px; height:33px; color:var(--vertux); stroke-width:1.6; }
.metric-icon.trend-down { transform:scaleY(-1); }
.analytics-chart-surface { margin-bottom:12px; }
.analytics-chart-surface .chart-frame,.analytics-chart-surface .chart-host { height:285px; min-height:285px; }
.analytics-chart-surface .surface-head { padding:16px 20px 10px; }
.analytics-chart-legend { justify-content:flex-end; }
.range-control { border-radius:8px; }
.analytics-results-ledger { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; margin:12px 0; }
.analytics-results-ledger .ranking-surface { padding:0; }
.analytics-results-ledger .ranking-surface > h3 { margin:0; padding:17px 20px; font-size:17px; }
.ranking-list { padding:0; }
.result-bar-row { grid-template-columns:minmax(140px,1.2fr) minmax(35px,.8fr) auto; padding:11px 18px; border-color:var(--line); }
.result-bar-row .instrument-mark { width:28px; height:28px; flex-basis:28px; }
.result-bar-row .instrument-cell { display:flex; gap:8px; align-items:center; }
.result-bar-row > small { display:none; }
.result-bar-row .relative-bar { height:8px; border-radius:2px; }
.relative-bar i { background:var(--positive); }
.stat-comparison { padding:0 18px; }
.account-result-row { padding:14px 0; }
.account-result-main { grid-template-columns:minmax(140px,1fr) minmax(50px,.65fr) auto; }
.account-result-main > strong { display:flex; align-items:center; gap:9px; }
.account-result-details { padding-top:8px; font-size:11px; }
.account-result-note { display:none; }
.cash-flow-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; padding:0 20px 16px; }
.cash-flow-list > .empty-copy { grid-column:1/-1; }
.cash-flow-row { padding:12px 0; }
.secondary-metrics { margin-top:16px; }
.secondary-metrics summary { color:var(--muted); cursor:pointer; padding:12px 0; }
[data-view-panel=analytics] .secondary-metrics .analytics-grid { grid-template-columns:1fr 1fr; }
.glossary-head { align-items:start; }
.glossary-category-filter { gap:6px; }
.glossary-workspace { grid-template-columns:minmax(250px,1fr) minmax(0,2fr); gap:14px; }
.glossary-term { padding:17px 18px; gap:7px; position:relative; }
.glossary-term.active { background:#241e49; }
.glossary-term small { font-size:11px; }
.glossary-term small::before,.term-category::before { content:''; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--positive); margin-right:7px; }
.glossary-detail { padding:22px; }
.glossary-definition { font-size:15px; line-height:1.65; margin:16px 0 8px; }
.glossary-context { font-size:13px; }
.term-explanation { grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.term-explanation > section,.term-drawdown-example { padding:16px; margin:0; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.term-drawdown-example { margin-top:18px; }
.term-formula-text { background:var(--ink); margin-top:8px; font-size:15px; }
.term-worked-example p { font-size:14px; }
.term-related { padding-top:18px; margin-top:18px; }
.term-related button { border-radius:20px; font-size:12px; min-height:34px; }
.company-key-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.company-key-metrics > div { border:1px solid var(--line); border-radius:10px; padding:18px; background:var(--surface); }
.company-key-metrics dd { font-size:27px; font-weight:600; }
.company-selection { min-height:100px; }
.company-selection > svg { width:42px; height:42px; }
.company-selection select { font-size:18px; font-weight:550; }
.ai-report h3 { font-size:21px; }
.ai-section { border:1px solid var(--line); border-radius:10px; padding:18px; margin:12px 0; background:var(--surface); }
.calculator-columns { gap:14px; }
.risk-plan-view .calculator-surface { border:0; background:none; }
.calculator-surface > .surface-head { padding-left:0; }
.risk-plan-view .calculator-form,.calculator-output { padding:22px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.calculator-form label { font-size:13px; }
.calculator-form label small { font-size:11px; }
.calculator-output .calculator-metrics { gap:14px; }
.calculator-output .calculator-metrics > div { border:1px solid var(--line); border-radius:8px; padding:15px; }
.calculator-output .calculator-metrics dd { font-size:26px; }
.calculator-output .calculator-metrics dt { font-size:12px; }
.margin-account-ledger .metric-ledger { gap:12px; }
.plan-ledger-head,.manual-plan-row { display:grid; grid-template-columns:minmax(145px,1fr) minmax(210px,1.3fr) minmax(125px,.8fr) 160px minmax(160px,1fr) 34px; gap:14px; align-items:center; }
.plan-ledger-head { padding:13px 20px; background:var(--surface-raised); border-block:1px solid var(--line); font-size:11px; color:var(--muted); }
.manual-plan-row { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:17px 20px; margin:0; background:var(--surface); }
.manual-plan-row .plan-draft-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.manual-plan-row .plan-draft-identity .instrument-cell { min-width:0; }
.manual-plan-row :is(.plan-draft-plan,.plan-draft-review) { display:grid; gap:6px; min-width:0; }
.manual-plan-row .plan-draft-prices { display:flex; flex-wrap:wrap; gap:5px 12px; margin:0; font-size:11px; }
.manual-plan-row .plan-draft-prices div { display:flex; gap:5px; }
.manual-plan-row .plan-draft-prices dt { color:var(--muted); }
.manual-plan-row .plan-draft-prices dd { margin:0; }
.manual-plan-row .plan-draft-review small,.manual-plan-row .instrument-cell small { font-size:11px; margin:0; }
.manual-plan-row > .plan-draft-note { grid-column:auto; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0; font-size:12px; }
.manual-plan-row .plan-draft-more { width:32px; height:32px; border:1px solid var(--line); border-radius:6px; color:var(--text); font-size:22px; background:var(--surface-raised); cursor:pointer; }
.manual-plan-row .plan-draft-detail { grid-column:1/-1; padding:16px; background:var(--surface-raised); border-radius:8px; }
.manual-plan-row .plan-draft-detail h4 { margin:0 0 8px; }
.manual-plan-row .plan-draft-detail p { white-space:pre-wrap; }
.manual-plan-row .plan-draft-actions { display:flex; gap:8px; margin-top:14px; }
.risk-plan-view .margin-account { padding:16px 20px; }
.risk-plan-view .margin-ledger { grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:12px; }
.risk-plan-view .margin-ledger>div { min-height:85px; padding:14px; border:1px solid var(--line); border-radius:8px; background:var(--surface-raised); }
.risk-plan-view .margin-ledger dt { font-size:11px; line-height:1.4; }
.risk-plan-view .margin-ledger dd { font-size:23px; }
.risk-plan-view .term-help { width:20px; height:20px; font-size:11px; }
.risk-plan-view .surface-head { padding:18px 20px; }
.risk-plan-view .status-chip { font-size:11px; }
.risk-plan-view .calculator-form { gap:14px; padding:20px; }
.risk-plan-view .calculator-form label,.risk-plan-view .calculator-form small { font-size:12px; }
.risk-plan-view .calculator-form input,.risk-plan-view .calculator-form select { min-height:40px; font-size:14px; }
.risk-plan-view .calculator-metrics { padding:0; gap:12px; }
.calculator-help { margin:0 0 12px; color:var(--muted); font-size:12px; }
.calculator-help summary { cursor:pointer; padding:8px 0; }
.journal-summary { gap:14px; }
.journal-summary > span { padding:10px 14px; background:var(--surface-raised); border-radius:7px; }
.calendar-upcoming { padding:16px 20px; }
.calendar-upcoming #calendarUpcoming { gap:10px; }
.calendar-upcoming article { border:1px solid var(--line); border-radius:9px; padding:11px 13px; background:var(--surface-raised); }
.calendar-layout { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:16px; }
.calendar-grid .calendar-day { min-height:66px; border-color:var(--line); background:var(--surface); }
.calendar-grid .calendar-day[aria-pressed=true] { background:#251f49; border-color:var(--vertux); }
.calendar-agenda { border:1px solid var(--line); border-radius:10px; padding:16px; }
.calendar-grid .calendar-event { padding:2px 4px; margin:0; border:0; border-radius:3px; }
.calendar-legend,.calendar-settings p,.calendar-status { font-size:11px; }
.news-workspace { grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr); gap:14px; align-items:start; }
.news-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:0 20px 14px; }
.news-filters label { display:flex; align-items:center; gap:6px; }
.news-filters label>span:not(.sr-only):not(.filter-select) { display:none; }
.news-filters select { min-height:34px; padding:6px 28px 6px 10px; font-size:11px; }
.news-filters #newsFilterCount { margin-left:auto; font-size:11px; color:var(--muted); }
.news-workspace .news-item { display:grid; grid-template-columns:32px minmax(0,1fr) 105px; gap:12px; align-items:center; padding:13px 16px; border-bottom:1px solid var(--line); }
.news-workspace .news-item .instrument-mark { width:32px; height:32px; flex-basis:32px; }
.news-workspace .news-item-copy { min-width:0; }
.news-workspace .news-select { display:block; padding:0; width:100%; text-align:left; }
.news-workspace .news-select h4 { margin:0; font-size:13px; line-height:1.45; }
.news-workspace .news-item-copy p { margin:4px 0 0; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--muted); }
.news-item-meta { display:grid; gap:5px; text-align:right; justify-items:end; font-size:10px; color:var(--muted); }
.news-item-meta strong { font-size:11px; font-weight:500; color:var(--text); }
.news-relation-dot { width:6px; height:6px; border-radius:50%; background:var(--positive); }
.news-relation-dot.related { background:var(--vertux-soft); }
.news-analysis-panel { background:var(--surface); border:1px solid var(--line); border-radius:10px; }
.news-row { padding:15px; }
.news-row[aria-pressed=true] { background:#241e49; }
.alert-summary { gap:12px; padding:0; border:0; background:none; margin:20px 0; }
.alert-summary > div { padding:18px 20px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.alert-summary strong { font-size:28px; }
.alert-workspace { grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr); gap:14px; }
.alert-rules-surface { grid-column:1; grid-row:1; }
.price-alert-form { grid-column:2; grid-row:1; padding:20px; }
.price-alert-form h3 { margin-top:0; font-size:19px; }
.price-alert-form label { font-size:13px; }
.price-alert-help,#alertTelegramHint { font-size:11px; color:var(--muted); }
.price-alert-row { gap:14px; padding:16px; }
.price-alert-row .instrument-mark { width:36px; height:36px; flex-basis:36px; }
.price-alert-actions { flex-wrap:wrap; }
.price-alert-actions button { font-size:11px; padding:6px 9px; }
.alert-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
.alert-summary>div { position:relative; padding:18px; }
.alert-icon { width:20px; height:20px; flex-shrink:0; }
.alert-summary .alert-icon { position:absolute; top:17px; right:17px; color:var(--vertux-soft); }
.alert-summary span { padding-right:25px; }
.alert-summary .alert-device-state { font-size:20px; }
.alert-rule-head,.alert-rule-row { display:grid; grid-template-columns:minmax(130px,1.3fr) minmax(78px,.8fr) minmax(90px,.8fr) 100px minmax(90px,.8fr); gap:12px; align-items:center; }
.alert-rule-head { padding:13px 16px; background:var(--surface-raised); border-block:1px solid var(--line); color:var(--muted); font-size:11px; }
.alert-rule-row { padding:16px; border-bottom:1px solid var(--line); }
.alert-rule-identity>div { min-width:0; }
.alert-rule-identity .alert-rule-note { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:160px; }
.alert-rule-condition { font-size:12px; color:var(--muted); }
.alert-rule-price strong { font-size:15px; }
.alert-rule-price small { font-size:10px; }
.alert-delivery { font-size:11px; }
.alert-delivery>span { display:flex; align-items:center; gap:4px; }
.alert-delivery .alert-icon { width:15px; height:15px; color:var(--vertux-soft); }
.alert-rule-row .price-alert-actions { display:flex; gap:5px; }
.alert-rule-row .price-alert-setup { grid-column:1/-1; }
.price-alert-form textarea { min-height:65px; resize:vertical; }
.alert-chart-preview { border:1px solid var(--line); border-radius:8px; padding:12px; background:var(--ink); }
.alert-chart-preview>div { display:flex; justify-content:space-between; gap:8px; font-size:11px; }
.alert-chart-preview span,.alert-chart-preview p { font-size:11px; color:var(--muted); line-height:1.5; }
.alert-chart-preview svg { width:100%; display:block; }
@media(max-width:1300px) { .alert-workspace { grid-template-columns:1fr; }.alert-workspace .price-alert-form { grid-column:1;grid-row:2; max-width:none; display:grid;grid-template-columns:1fr 1fr; }.price-alert-form>h3,.price-alert-form>.price-alert-help { grid-column:1/-1; }.alert-summary>div { padding:14px; }.alert-summary strong { font-size:22px; } }
@media(max-width:700px) { .alert-summary { grid-template-columns:1fr 1fr; }.alert-rule-head { display:none; }.alert-rule-row { grid-template-columns:1fr 1fr; }.alert-rule-row .price-alert-actions { grid-column:1/-1; }.alert-workspace .price-alert-form { grid-template-columns:1fr; }.alert-summary .alert-icon { display:none; }.alert-summary span { padding-right:0; } }
[data-view-panel=sync].active { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:16px; align-items:start; }
[data-view-panel=sync]>.section-head { grid-column:1/-1; grid-row:1; margin:0; }
[data-view-panel=sync]>#connectionSurface { grid-column:1/-1; grid-row:3; margin:0; }
[data-view-panel=sync]>.quality-strip { grid-column:2; grid-row:4; display:grid; grid-template-columns:1fr; padding:8px 18px; margin:0; border:1px solid var(--line); border-radius:10px; background:var(--surface); gap:0; }
[data-view-panel=sync]>.quality-strip>div { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:12px 0; gap:6px; }
[data-view-panel=sync]>.quality-strip>div:last-child { border-bottom:0; }
.sync-summary-cards { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.sync-summary-cards article { display:flex; align-items:flex-start; gap:13px; padding:20px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.sync-summary-cards svg { width:27px; height:27px; flex:0 0 27px; color:var(--vertux-soft); }
.sync-summary-cards article>div { display:grid; gap:9px; }
.sync-summary-cards span,.sync-summary-cards small { color:var(--muted); font-size:12px; }
.sync-summary-cards strong { font-size:19px; font-weight:550; }
.sync-summary-cards button { justify-self:start; font-size:12px; }
.sync-layout { grid-column:1; grid-row:4; grid-template-columns:1fr; gap:14px; }
.sync-layout>.sync-history { grid-row:1; }
.sync-layout>.sync-pipeline { grid-row:2; }
.sync-layout>.latency-surface { grid-row:3; }
.sync-layout details>summary,.connection-details>summary { cursor:pointer; font-size:12px; color:var(--muted); }
.connection-details { margin:0 20px 15px; }
.connection-actions { justify-content:flex-start; gap:8px; padding:0 20px 18px; }
.connection-actions button { font-size:12px; min-height:36px; }
.connection-header { padding:18px 20px 12px; }
.connection-header p { font-size:12px; max-width:75ch; }
.company-tabs { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0; background:none; border:0; margin:16px 0; }
.company-tabs button { border:1px solid var(--line); border-radius:9px; background:var(--surface); padding:16px; font-size:15px; }
.company-tabs button[aria-selected=true] { border-color:var(--vertux); background:#251e48; }
.sync-history,.sync-pipeline,.connection-surface,.latency-surface { background:var(--surface); border:1px solid var(--line); border-radius:10px; }
.connection-meta { gap:12px; }
.connection-meta > div { padding:14px; background:var(--surface-raised); border-radius:8px; }
.sync-history .run-row { padding:15px 0; }
.quality-strip { gap:12px; padding:0; border:0; background:none; }
.quality-strip > div { border:1px solid var(--line); border-radius:10px; background:var(--surface); padding:16px; }
.personal-settings { max-width:none; }
.personal-settings fieldset { background:var(--surface); }
.personal-settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 24px; }
.personal-preview { margin-top:14px; padding-top:14px; font-size:12px; }
.app-about { padding:20px; margin-top:18px; }
.app-about h3 { margin:0; font-size:18px; }
.app-about p { color:var(--muted); }
.app-about a { font-size:12px; color:var(--faint); }
.portfolio-ledger { gap:12px; }
.overview-summary,.overview-grid { margin-bottom:0; }
.overview-summary .headline-pnl strong:not(.positive):not(.negative) { color:var(--text); }
.overview-summary .headline-pnl small.positive { color:var(--positive); }
.overview-summary .headline-pnl small.negative { color:var(--negative); }
.environment-banner { display:flex; }
.topbar-search { border:1px solid var(--line); padding:0 14px; background:var(--surface); }
.topbar-search input { border:0; padding-inline:4px; }
.topbar-search .search-icon { width:19px; height:19px; }
.rail-close { display:none; }
.term-drawdown-example .example-drop { stroke:var(--negative); stroke-width:1.5; stroke-dasharray:4 4; }
.term-drawdown-example small { font-size:11px; color:var(--muted); }
.stat-comparison { display:block; padding:0; }
.account-statistics-table th,.account-statistics-table td { padding:12px; font-size:12px; }
.account-statistics-table .account-card-name { min-width:125px; white-space:normal; }
.mark-metal { background:#b9c4d4; color:#293546; }
.mark-currency { background:#153f53; color:#67dce1; }
.mark-apple { background:#16364b; }
td { color:var(--text); }
.view.active { animation:none; }
.button > svg { display:block; width:16px; height:16px; flex:0 0 16px; vertical-align:middle; }
#resetStatisticsPeriod { display:inline-flex; align-items:center; justify-content:center; gap:7px; white-space:nowrap; }
#resetStatisticsPeriod svg { width:16px; height:16px; flex:0 0 16px; display:block; }
.chart-type-picker select { min-height:31px; padding:5px 24px 5px 9px; font-size:11px; }
.instrument-list-controls { display:grid; gap:8px; padding:0 12px 12px; }
.instrument-list-controls input,.instrument-list-controls select { min-height:34px; font-size:11px; padding:7px 9px; }
.instrument-watch-row { display:flex; align-items:center; gap:3px; padding-right:8px; border-bottom:1px solid var(--line); }
.instrument-watch-row .instrument-quick-item { flex:1; min-width:0; border:0; display:flex; gap:8px; padding:13px 8px 13px 12px; }
.instrument-watch-row .instrument-quick-item>span:not(.instrument-mark) { min-width:0; }
.instrument-watch-row .instrument-quick-item small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:115px; }
.instrument-favorite { flex:0 0 25px; width:25px; height:30px; padding:4px; border:0; background:none; color:var(--faint); cursor:pointer; }
.instrument-favorite svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
.instrument-favorite.active { color:#c3a4ff; }
.instrument-favorite.active svg { fill:currentColor; }
.instrument-favorite:disabled { opacity:.4; cursor:default; }
.watch-price { margin-left:auto; font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
vertux-service-center { --vsc-surface:var(--surface);--vsc-surface-strong:var(--surface-raised);--vsc-text:var(--text);--vsc-muted:var(--muted);--vsc-accent:var(--vertux-soft);--vsc-success:var(--positive);--vsc-danger:var(--negative);--vsc-border:var(--line);--vsc-font:var(--body);--vsc-shadow:none;--vsc-radius:10px; }
.instruments-view.active { gap:14px; grid-template-columns:250px minmax(0,1fr); }
.instruments-view > .instrument-shortlist { grid-row:2 / span 2; height:100%; }
.instruments-view > .catalog-surface { grid-column:2; }
.instrument-shortlist .instrument-quick-item { padding:14px; }
.market-summary-identity .instrument-mark { width:46px; height:46px; flex-basis:46px; }
.market-summary-identity strong { font-size:27px; }
.instrument-surface .market-chart { height:360px; }
.market-status { font-size:11px; padding:10px 16px; }
.calendar-grid .calendar-day { min-height:66px; }
.calendar-layout .agenda-event { padding:14px; margin-bottom:10px; border:1px solid var(--line);border-radius:9px; }
.news-workspace .news-item.selected { background:#241e49; box-shadow:inset 1px 0 var(--vertux); }
.calendar-upcoming #calendarUpcoming { grid-template-columns:repeat(3,minmax(0,1fr)); }
.calendar-source-details { margin:0 22px 16px; font-size:12px; color:var(--muted); }
.calendar-source-details summary { cursor:pointer; }
.calendar-source-details .calendar-status { margin:8px 0; }
.portfolio-row > .account-card-name { display:flex; align-items:center; gap:8px; }
.market-summary-quote strong { font-size:28px; }
.market-instrument-summary { flex-wrap:wrap; }
.market-asset-tags { display:flex; gap:6px; margin-top:5px; }
.market-asset-tags > span { padding:3px 6px; border:1px solid var(--line); border-radius:5px; font-size:10px; }
.market-ohlc { display:flex; flex-basis:100%; gap:28px; margin:0; padding-top:14px; border-top:1px solid var(--line); }
.market-ohlc div { display:grid; gap:5px; min-width:0; }
.market-ohlc dt { color:var(--muted); font-size:11px; }
.market-ohlc dd { margin:0; font-size:13px; font-variant-numeric:tabular-nums; }
.company-selection #companyIdentityMark { flex:0 0 42px; }
.company-selection #companyIdentityMark .instrument-mark { width:42px; height:42px; }
.company-selection #companyIdentityMark svg { width:24px; height:24px; }
.position-instrument { display:flex; align-items:center; gap:10px; }
@media(max-width:600px) { .market-ohlc { gap:14px; flex-wrap:wrap; }.market-summary-quote strong { font-size:23px; } }
.term-explanation section { min-width:0; }
.result-bar-row .instrument-cell { display:grid; gap:2px; }
.alert-workspace .price-alert-form { gap:14px; }
.instrument-surface { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.instrument-surface > :is(.market-instrument-summary,.market-chart,.market-status) { grid-column:1/-1; }
.instrument-surface > .chart-toolbar { grid-column:1; grid-row:2; min-width:0; }
.instrument-surface > .market-interval-control { grid-column:2; grid-row:2; display:flex; align-items:center; gap:8px; padding:8px 14px; border-bottom:1px solid var(--line); font-size:12px; }
.instrument-surface #marketInterval { width:auto; padding:7px 9px; font-size:12px; }
.journal-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0 20px 18px; }
.journal-summary > span { display:grid; gap:7px; padding:16px; border:1px solid var(--line); background:var(--surface-raised); }
.journal-summary > span strong { font-size:27px; font-weight:550; }
.journal-summary > span span { font-size:12px; color:var(--muted); }
#manualPlanList > .empty-copy { margin:0; padding:22px 20px; }
.nav-item,.topbar-search input { font-size:var(--type-label); }
td,td.numeric,.instrument-cell strong { font-size:var(--type-caption); }
th { font-size:calc(var(--type-caption) - 1px); }
.instrument-cell small { font-size:calc(var(--type-caption) - 2px); }
:root[data-text-size=large] :is(.overview-summary dt,.overview-summary .headline-copy > span,.overview-summary .headline-pnl > span,.analytics-grid dt,.ledger-summary dt),
:root[data-text-size=extra-large] :is(.overview-summary dt,.overview-summary .headline-copy > span,.overview-summary .headline-pnl > span,.analytics-grid dt,.ledger-summary dt) { font-size:var(--type-caption); }
@media(max-width:1100px) { .instrument-surface>.chart-toolbar { grid-column:1/-1; }.instrument-surface>.market-interval-control { grid-column:1/-1;grid-row:3;justify-content:flex-end; }.journal-summary { grid-template-columns:1fr 1fr; } }
@media(max-width:1100px) { .instruments-view.active { grid-template-columns:1fr; }.instruments-view>.instrument-shortlist { grid-row:2; }.instruments-view>.catalog-surface { grid-column:1; }.alert-workspace .price-alert-form { grid-column:1;grid-row:2; }.alert-workspace .alert-rules-surface { grid-row:1; }.calendar-upcoming #calendarUpcoming { grid-template-columns:1fr 1fr; } }
@media(max-width:1000px) { .rail-close { display:grid; } }
@media(max-width:720px) { .calendar-upcoming #calendarUpcoming { grid-template-columns:1fr; } }
@media(min-width:1750px) { .overview-summary { grid-template-columns:minmax(275px,1.5fr) minmax(205px,1.12fr) repeat(4,minmax(130px,.8fr)); }.overview-summary .headline-value { font-size:42px; }.overview-grid .chart-frame,.overview-grid .chart-host { height:310px; } }
@media(min-width:1301px) and (max-width:1600px) { .overview-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }.overview-summary .headline-copy,.overview-summary .headline-pnl { grid-column:span 2; }.overview-metrics .metric-ledger dd { font-size:25px; } }
@media(max-width:1300px) { :root { --rail:230px; }.overview-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }.overview-summary .headline-copy,.overview-summary .headline-pnl { grid-column:span 2; }.overview-summary .headline-value { font-size:34px; }.overview-grid { grid-template-columns:minmax(0,1fr) 235px; }.overview-summary .headline-pnl strong { font-size:29px; }.overview-grid .surface-head { flex-wrap:wrap; gap:10px; }.overview-metrics .metric-ledger dd { font-size:23px; }.ledger-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.ledger-date-range { grid-row:auto; }.analytics-results-ledger { grid-template-columns:1fr 1fr; } }
@media(max-width:1000px) { .topbar,main { padding-inline:18px; }.overview-grid { grid-template-columns:1fr; }.portfolio-breakdown .portfolio-rows { grid-template-columns:repeat(2,minmax(0,1fr)); }.analytics-results-ledger { grid-template-columns:1fr; }.glossary-workspace { grid-template-columns:260px minmax(0,1fr); }.term-explanation { grid-template-columns:1fr; }.alert-workspace { grid-template-columns:1fr; }.price-alert-form { grid-column:1;grid-row:2; }.calendar-layout { grid-template-columns:1fr; } }
@media(max-width:780px) { .overview-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.overview-summary .headline-copy,.overview-summary .headline-pnl { grid-column:auto; }.topbar #navProductSwitcher { display:inline-flex; width:44px; min-width:44px; height:44px; padding:0; }.topbar #navProductSwitcher span { display:none; }.topbar-search { display:flex; min-width:0; }.topbar-search input { width:100%; min-width:0; }.topbar { gap:8px; }.topbar #syncButton { padding-inline:10px; }.topbar #syncButton span { display:none; }.section-head h2,.section-intro h2 { font-size:26px; }.glossary-workspace { grid-template-columns:1fr; }.glossary-workspace #glossaryGrid { max-height:285px; }[data-view-panel=analytics] .analytics-grid { grid-template-columns:1fr 1fr; }[data-view-panel=analytics] .analytics-grid > div { grid-column:auto; border:1px solid var(--line); }.ledger-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }.ledger-summary > div:nth-child(2) { grid-column:auto; grid-row:auto; padding:17px; }.ledger-summary dd { font-size:23px; }.ledger-summary dt { font-size:11px; }.cash-flow-list { grid-template-columns:1fr; }.company-key-metrics { grid-template-columns:1fr 1fr; } }
@media(max-width:500px) { main { padding-inline:12px; }.topbar { padding-inline:12px; }.overview-summary .headline-value { font-size:27px; }.overview-summary .headline-pnl strong { font-size:24px; }.overview-summary .headline-copy,.overview-summary .headline-pnl,.overview-metrics .metric-ledger > div { padding:14px 12px; }.overview-summary .headline-copy > .term-help { right:9px; top:13px; }.overview-summary .headline-copy > span { padding-right:18px; }.overview-grid .surface-head { padding:15px 12px; }.chart-scope { padding-inline:12px; }.chart-value { flex-wrap:wrap; }.chart-value > strong { font-size:21px; }.portfolio-breakdown .portfolio-rows { grid-template-columns:1fr; }.ledger-filters { grid-template-columns:1fr 1fr; }.ledger-summary { grid-template-columns:1fr; }.ledger-summary > div { min-height:95px; }.ledger-summary > div:nth-child(2) { padding:17px 20px; }.workspace-section-tabs { padding-inline:4px; }.workspace-section-tabs button { padding-inline:14px; font-size:13px; }[data-view-panel=analytics] .analytics-grid > div { padding:14px; }[data-view-panel=analytics] .analytics-grid dd { font-size:28px; padding-right:20px; }.metric-icon { right:12px; width:24px; height:24px; }.analytics-chart-surface .surface-head { flex-wrap:wrap; gap:12px; }.period-controls { flex-wrap:wrap; }.period-controls .period-presets { flex-basis:100%; }.glossary-detail { padding:16px; }.company-key-metrics { grid-template-columns:1fr; }.personal-settings-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }
@media(max-width:1300px) { .plan-ledger-head,.manual-plan-row { grid-template-columns:minmax(130px,1fr) minmax(200px,1.3fr) 115px 160px 34px; }.plan-ledger-head span:nth-child(5) { display:none; }.manual-plan-row>.plan-draft-note { grid-column:1/-2; grid-row:2; }.manual-plan-row>.plan-draft-more { grid-column:5; grid-row:1; } }
@media(max-width:1000px) { [data-view-panel=sync].active { grid-template-columns:1fr; }[data-view-panel=sync]>.quality-strip { grid-column:1;grid-row:5; }.sync-summary-cards { grid-template-columns:1fr; }.news-workspace { grid-template-columns:1fr; }.news-workspace .news-item { grid-template-columns:30px minmax(0,1fr) 90px; } }
@media(max-width:700px) { .plan-ledger-head { display:none; }.manual-plan-row { grid-template-columns:minmax(0,1fr) auto; }.manual-plan-row>.plan-draft-more { grid-column:2;grid-row:1; }.manual-plan-row>.plan-draft-plan { grid-column:1/-1;grid-row:2; }.manual-plan-row>.plan-draft-review { grid-column:1;grid-row:3; }.manual-plan-row>.plan-draft-state { grid-column:2;grid-row:3; }.manual-plan-row>.plan-draft-note { grid-column:1/-1;grid-row:4; }.company-tabs button { padding:13px 8px;font-size:13px; }.news-filters { padding-inline:12px; }.news-workspace .news-item { padding-inline:12px; gap:8px; } }

/* Keep portfolio values readable in the compact table. */
#positionsBody td { font-size:14px; }

.risk-plan-view :is(.metric-explanation,.metric-source), #riskCalculatorForm :is(label,small), #riskCalculatorResult :is(dt,small) { font-size:14px; }

/* Reference geometry: compact rows, independent chart and account heights. */
:root { --workspace-gap:12px; --row-pad:6px; }
main { padding-top:12px; }
.environment-banner { margin-bottom:8px; padding-block:3px; }
.section-head,.section-intro { margin-bottom:16px; min-height:0; align-items:flex-start; }
.portfolio-ledger { gap:var(--workspace-gap); }
.overview-summary { padding:0; gap:10px; }
.overview-summary .headline-copy,.overview-summary .headline-pnl,.overview-metrics .metric-ledger > div { padding:16px; min-height:126px; }
.overview-summary .headline-copy > span,.overview-summary .headline-pnl > span,.overview-metrics .metric-ledger dt { font-size:13px; }
.overview-summary .headline-value { margin-top:10px; font-size:clamp(29px,2.6vw,40px); }
.overview-summary .headline-pnl strong { margin-top:12px; font-size:clamp(24px,1.9vw,30px); }
.overview-metrics .metric-ledger dd { margin-top:14px; font-size:23px; }
.portfolio-day-change { margin-top:7px; font-size:13px; }
.portfolio-day-change small { color:var(--muted); font-size:12px; margin-left:5px; }
.position-exposure { display:block; color:var(--muted); font-size:11px; }
.overview-grid { align-items:stretch; gap:var(--workspace-gap); grid-template-columns:minmax(0,1fr) 290px; }
.overview-grid .chart-surface { display:block; min-height:0; }
.overview-grid .surface-head { padding:16px 18px 8px; min-height:0; gap:12px; }
.overview-grid .surface-head h2 { font-size:20px; line-height:1.3; }
.overview-grid .chart-frame,.overview-grid .chart-host { height:270px; min-height:270px; }
.overview-grid .chart-frame-empty { min-height:160px; height:160px; }
.chart-value { margin-top:6px; }
.chart-value > strong { font-size:26px; }
.chart-scope { padding:0 18px 8px; }
.portfolio-breakdown { overflow:visible; display:flex; flex-direction:column; }
.portfolio-breakdown .portfolio-rows { display:flex; flex:1; flex-direction:column; padding:0 12px 12px; gap:8px; }
.portfolio-breakdown .portfolio-row { display:grid; grid-template-columns:1fr; gap:10px; padding:12px; }
.account-card-name strong { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.account-pin { display:grid; place-items:center; width:32px; height:32px; margin:-6px -6px -6px 0; padding:6px; flex:0 0 32px; color:var(--muted); background:transparent; border:0; border-radius:6px; cursor:pointer; }
.account-pin svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.5; fill:none; }
.account-pin[aria-pressed=true] { color:var(--vertux-soft); background:#251e46; }
.account-pin[aria-pressed=true] svg { fill:#493281; }
.account-pin:hover { background:var(--surface-strong); }
.accounts-more { position:relative; }
.accounts-more summary { display:flex; justify-content:space-between; align-items:center; list-style:none; padding:9px 4px; color:var(--muted); font-size:13px; cursor:pointer; }
.accounts-more summary::-webkit-details-marker { display:none; }
.accounts-more svg,.term-arrow,#glossarySort svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.5; fill:none; flex-shrink:0; }
.accounts-more[open] summary svg { transform:rotate(180deg); }
.accounts-overflow { position:absolute; top:100%; right:0; left:0; z-index:20; padding:8px; display:grid; gap:8px; max-height:360px; overflow:auto; background:var(--surface-raised); border:1px solid var(--line-strong); border-radius:10px; }
.accounts-total { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; padding:10px 2px 0; margin-top:auto; font-size:13px; color:var(--muted); }
.accounts-total strong { color:var(--text); font-size:16px; }
.positions-surface .surface-head { padding:13px 18px; min-height:48px; }
.positions-surface .surface-head h2 { font-size:20px; }
.positions-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 20px; }
.positions-result { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; }
.positions-result strong { font-size:14px; }
.positions-surface td,.closed-positions-surface td,.operations-surface td,.catalog-surface td { padding:var(--row-pad) 12px; height:44px; line-height:1.35; }
.positions-surface td,.closed-positions-surface td,.operations-surface td { font-size:var(--type-label); }
.positions-surface th,.closed-positions-surface th,.operations-surface th,.catalog-surface th { padding:6px 12px; }
.positions-surface .instrument-mark { width:28px; height:28px; flex-basis:28px; }
.positions-surface .instrument-with-mark { gap:9px; }
.positions-surface .instrument-cell { display:flex; flex-direction:row; gap:12px; min-width:145px; max-width:220px; }
.positions-surface .instrument-cell small { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.positions-surface .position-direction { display:inline; margin-left:5px; }
.positions-surface .return-rate { display:inline-block; margin:0 0 0 8px; }
.positions-surface .asset-type { font-size:12px; }
.closed-positions-surface .instrument-mark,.operations-surface .instrument-mark { width:28px; height:28px; flex-basis:28px; }
.closed-positions-surface .instrument-cell { display:flex; flex-direction:row; align-items:center; gap:10px; min-width:155px; }
.closed-positions-surface .instrument-cell small { margin:0; max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.closed-positions-surface .asset-chip { border:0; border-radius:0; background:none; padding:0; font-size:12px; }
.closed-positions-surface .cell-note { display:inline; margin-left:5px; font-size:12px; }
.closed-positions-surface .return-rate { display:inline; margin-left:10px; }
.ledger-date-range[hidden] { display:none; }
[data-view-panel=analytics] > .section-head > div { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:baseline; }
[data-view-panel=analytics] > .section-head p { margin:0; }
[data-view-panel=analytics] .analytics-grid > div { min-height:110px; padding:14px 18px; }
.analytics-chart-surface .chart-frame,.analytics-chart-surface .chart-host { height:240px; min-height:240px; }
.analytics-chart-legend { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.analytics-chart-legend .period-presets { order:2; }
.analytics-chart-legend .period-presets button { font-size:11px; padding-inline:9px; }
.analytics-results-ledger .ranking-row { padding-block:9px; }
.analytics-results-ledger .account-statistics-table td { padding:8px 12px; }
.list-pagination,.operations-pagination { min-height:44px; padding:8px 14px; }
.list-pagination .button,.operations-pagination .button { min-height:30px; padding:5px 10px; }
.glossary-head { flex-wrap:wrap; gap:12px; }
.glossary-head > div:first-child { flex:1; min-width:300px; }
.glossary-head p { max-width:52ch; }
.glossary-category-filter { flex-wrap:wrap; }
.glossary-category-filter button { min-height:34px; padding:6px 12px; font-size:13px; }
.glossary-search-wrap { margin-bottom:12px; max-width:none; }
.glossary-results .glossary-search-wrap { margin:10px; padding:6px 9px; min-height:36px; border-radius:6px; }
.glossary-results .glossary-search-wrap input { min-width:0; height:28px; font-size:12px; }
.glossary-results .glossary-search-wrap svg { flex:0 0 16px; }
.glossary-category-filter button { font-size:12px; }
.glossary-workspace { grid-template-columns:minmax(280px,1fr) minmax(0,2fr); align-items:start; gap:14px; }
.glossary-results { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.glossary-results-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 16px; min-height:52px; color:var(--muted); font-size:13px; border-bottom:1px solid var(--line); }
#glossarySort { display:flex; align-items:center; gap:7px; min-width:70px; flex-shrink:0; white-space:nowrap; background:transparent; color:var(--text); border:1px solid var(--line); border-radius:6px; padding:6px 9px; cursor:pointer; }
.glossary-workspace #glossaryGrid { border:0; border-radius:0; display:block; max-height:710px; }
.glossary-term { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto 16px; grid-template-rows:auto auto; gap:6px 8px; padding:14px 16px; min-height:76px; }
.glossary-term strong { font-size:14px; line-height:1.4; }
.glossary-term small { align-self:center; font-size:11px; max-width:112px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.glossary-term > span { grid-column:1/3; grid-row:2; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.glossary-term .term-arrow { grid-column:3; grid-row:1/3; align-self:center; }
.tone-green { --category-color:var(--positive); }
.tone-amber { --category-color:var(--warning); }
.tone-blue { --category-color:#5782ff; }
.tone-violet { --category-color:var(--vertux); }
.glossary-term small::before,.term-category::before { background:var(--category-color,var(--vertux)); }
.glossary-detail { padding:18px; border-radius:10px; }
.glossary-detail-head { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.glossary-detail-head h3 { font-size:29px; line-height:1.25; margin:0; }
.term-category { border:1px solid var(--line); border-radius:16px; padding:5px 10px; font-size:12px; color:var(--muted); }
.glossary-definition { font-size:16px; margin:14px 0 6px; }
.glossary-context { margin:0 0 12px; font-size:14px; line-height:1.55; }
.term-drawdown-example { margin-top:12px; padding:12px; }
.term-drawdown-example figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; font-size:16px; font-weight:550; }
.term-drawdown-example svg { margin-top:6px; max-height:230px; }
.term-drawdown-example .example-axis { fill:var(--muted); font-size:12px; }
.term-drawdown-example .example-peak-label { fill:var(--vertux-soft); }
.term-drawdown-example .example-fall { stroke-width:2; }
.term-drawdown-example .example-trough { stroke:var(--negative); }
.term-drawdown-example .example-loss { font-size:23px; font-weight:600; }
.term-explanation { gap:12px; }
.term-explanation > section { padding:12px; }
.term-explanation h4,.term-resources h4 { font-size:16px; margin:0 0 12px; }
.term-math { display:flex; justify-content:center; align-items:center; gap:10px; padding:12px 8px; border:1px solid var(--line); border-radius:8px; background:var(--ink); font-family:Cambria,'Times New Roman',serif; font-size:24px; white-space:nowrap; }
.math-fraction { display:inline-flex; flex-direction:column; text-align:center; line-height:1.25; }
.math-fraction > span:first-child { border-bottom:1px solid currentColor; padding:0 5px 5px; }
.math-fraction > span:last-child { padding-top:5px; }
.term-math sub { font-size:.55em; }
.math-legend { margin:10px 0 0; font-size:12px; line-height:1.6; color:var(--muted); }
.term-example-values { margin:0; }
.term-example-values > div { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:7px; padding:9px 0; border-top:1px solid var(--line); }
.term-example-values dt { font-size:13px; color:var(--muted); }
.term-example-values dd { margin:0; font-size:16px; white-space:nowrap; }
.term-example-values .term-example-result dd { color:inherit; font-size:25px; font-weight:600; }
.term-resources { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.term-resources > section { padding:12px; margin:0; border:1px solid var(--line); border-radius:10px; }
.term-related > div { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.term-related button { display:flex; align-items:center; gap:6px; font-size:12px; min-height:32px; padding:6px 10px; }
.term-topic p { color:var(--muted); font-size:14px; margin:0 0 12px; }
.term-topic .text-button { display:flex; gap:8px; align-items:center; font-size:13px; }
.term-topic > small { display:block; margin-top:12px; color:var(--faint); font-size:12px; }
.instruments-view.active { grid-template-columns:270px minmax(0,1fr); gap:12px; align-items:start; }
.instruments-view > .instrument-heading { grid-column:1/-1; margin:0; min-height:0; }
.instrument-heading > div { display:none; }
.instrument-heading .instrument-picker { margin-left:auto; }
.instruments-view > .instrument-shortlist { grid-column:1; grid-row:2 / 4; height:auto; position:static; }
.instrument-quick-list { max-height:690px; overflow:auto; }
.instrument-watch-row .instrument-quick-item { padding:9px 10px; min-height:52px; }
.instrument-watch-row .instrument-mark { width:30px; height:30px; flex-basis:30px; }
.instrument-watch-row .instrument-quick-item small { max-width:100px; }
.instruments-view > .instrument-surface { grid-column:2; grid-row:2; }
.instruments-view > .catalog-surface { grid-column:2; grid-row:3; margin:0; }
.market-instrument-summary { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(210px,1fr); align-items:center; gap:20px; padding:18px; min-height:118px; }
.market-summary-identity { min-width:0; gap:12px; }
.market-summary-identity > span:last-child { min-width:0; }
.market-summary-identity small { overflow:hidden; text-overflow:ellipsis; }
.market-summary-quote { min-width:0; }
.market-summary-quote strong { font-size:26px; white-space:nowrap; }
.market-summary-quote small { font-size:11px; }
.market-ohlc { display:grid; grid-template-columns:1fr; gap:6px; border:0; border-left:1px solid var(--line); padding:0 0 0 18px; margin:0; }
.market-ohlc > div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.market-ohlc dt { font-size:12px; }
.market-ohlc dd { font-size:13px; white-space:nowrap; }
.instrument-surface .market-chart { height:330px; }
.catalog-surface > .surface-head { min-height:44px; padding:10px 14px; align-items:center; }
.catalog-surface > .surface-head h3 { font-size:17px; }
.catalog-surface > .surface-head p { font-size:11px; margin-top:3px; }
.catalog-surface .button { min-height:30px; padding:5px 9px; font-size:12px; }
.catalog-surface .catalog-tabs { padding:4px 14px 8px; gap:4px; flex-wrap:wrap; margin:0; }
.catalog-tabs button { min-height:30px; border-color:transparent; border-radius:5px; padding:5px 9px; font-size:12px; }
.catalog-tabs button:disabled { opacity:.45; cursor:not-allowed; }
.catalog-filters { padding:0 14px 10px; }
.catalog-main-filters { align-items:center; gap:10px; }
.catalog-filters .catalog-search { min-width:180px; }
.catalog-search > span { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.catalog-main-filters .check-label { min-height:32px; font-size:12px; }
.catalog-filters input:not([type=checkbox]),.catalog-filters select { min-height:34px; padding:6px 9px; font-size:13px; }
.catalog-filters details { margin-top:6px; }
.catalog-filters summary { font-size:12px; padding:4px 0; }
.catalog-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-raised); }
#catalogExtraFilters { display:block; padding:0; border:0; background:none; }
#catalogExtraFilters fieldset { min-width:0; margin:0 0 12px; padding:12px; border:1px solid var(--line); border-radius:8px; }
#catalogExtraFilters legend { padding:0 7px; color:var(--text); font-size:13px; }
.catalog-filter-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 14px; }
.catalog-surface table { min-width:740px; }
.catalog-surface td { height:40px; font-size:var(--type-caption); }
.catalog-surface .instrument-mark { width:24px; height:24px; flex-basis:24px; }
.catalog-surface .instrument-link { display:flex; align-items:center; gap:8px; min-height:28px; }
.catalog-surface .instrument-label { display:flex; align-items:center; gap:10px; }
.catalog-surface .instrument-label > span { font-size:12px; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.catalog-surface .portfolio-mark { display:none; }
.instrument-shortlist .instrument-heading { display:block; padding:0 12px 10px; margin:0; }
.instrument-shortlist .instrument-picker { width:100%; display:block; }
.instrument-shortlist .instrument-picker > span { display:none; }
.instrument-shortlist #instrumentSelect { width:100%; min-height:34px; padding:6px 9px; font-size:12px; }
.instruments-view > .instrument-shortlist { grid-row:1 / 3; }
.instruments-view > .instrument-surface { grid-row:1; }
.instruments-view > .catalog-surface { grid-row:2; }
.risk-plan-view [data-risk-panel][hidden] { display:none; }
.risk-plan-view .workspace-section-tabs { margin-bottom:16px; }
.risk-plan-layout { margin-top:12px; }
.risk-plan-view .margin-ledger>div { min-height:70px; padding:12px; }
.manual-plan-row { padding:12px 16px; }
.news-workspace .news-item { padding-block:12px; }
.company-key-metrics > div { padding:14px; }
@media(min-width:1251px) {
  .overview-summary { grid-template-columns:minmax(235px,1.55fr) minmax(175px,1.2fr) repeat(3,minmax(135px,1fr)); }
  .overview-summary .headline-copy,.overview-summary .headline-pnl { grid-column:auto; }
}
@media(max-width:1400px) {
  .market-instrument-summary { grid-template-columns:minmax(0,1fr) auto; gap:14px; }
  .market-ohlc { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); border:0; border-top:1px solid var(--line); padding:10px 0 0; }
  .market-ohlc > div { display:grid; gap:3px; }
  .instruments-view.active { grid-template-columns:235px minmax(0,1fr); }
}
@media(max-width:1500px) {
  .glossary-head > div:first-child { flex-basis:100%; min-width:0; }
  .glossary-head p { max-width:none; }
}
@media(max-width:1100px) {
  .overview-grid { grid-template-columns:minmax(0,1fr) 250px; }
  .overview-grid .surface-head { flex-wrap:wrap; }
  .instruments-view.active { grid-template-columns:1fr; }
  .instruments-view > .instrument-shortlist { grid-column:1; grid-row:1; position:static; }
  .instrument-quick-list { max-height:220px; }
  .instruments-view > .instrument-surface { grid-column:1; grid-row:2; }
  .instruments-view > .catalog-surface { grid-column:1; grid-row:3; }
  .glossary-workspace { grid-template-columns:280px minmax(0,1fr); }
  .glossary-term { grid-template-columns:minmax(0,1fr) 16px; }
  .glossary-term small { display:none; }
  .glossary-term .term-arrow { grid-column:2; }
  .glossary-term > span { grid-column:1; }
  .term-explanation,.term-resources { grid-template-columns:1fr; }
}
@media(max-width:900px) {
  .overview-grid { grid-template-columns:1fr; }
  .portfolio-breakdown .portfolio-rows { display:grid; grid-template-columns:1fr 1fr; }
  .accounts-more,.accounts-total { grid-column:1/-1; }
  .glossary-workspace { grid-template-columns:1fr; }
  .glossary-workspace #glossaryGrid { max-height:260px; }
  .glossary-term { min-height:66px; }
}
@media(max-width:600px) {
  .overview-summary .headline-value { font-size:27px; }
  .overview-summary .headline-copy { grid-column:1/-1; }
  .overview-summary .headline-copy,.overview-summary .headline-pnl,.overview-metrics .metric-ledger > div { min-height:108px; }
  .overview-grid .surface-head h2 { font-size:18px; }
  .portfolio-breakdown .portfolio-rows { grid-template-columns:1fr; }
  .market-instrument-summary { padding:14px; }
  .market-summary-identity strong { font-size:23px; }
  .market-summary-quote strong { font-size:22px; }
  .catalog-main-filters { align-items:stretch; }
  .catalog-search { flex-basis:100%; }
  .catalog-filter-grid { grid-template-columns:1fr 1fr; }
  .catalog-filter-fields { grid-template-columns:1fr 1fr; }
  .glossary-detail-head h3 { font-size:25px; }
  .term-math { font-size:22px; gap:7px; }
}
@media(min-width:781px) and (max-width:1250px) {
  .overview-summary { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .overview-summary .headline-copy,.overview-summary .headline-pnl { grid-column:span 3; }
  .overview-metrics .metric-ledger > div { grid-column:span 2; }
}
@media(min-width:601px) and (max-width:780px) { .overview-metrics .metric-ledger > div:last-child { grid-column:1/-1; } }
@media(pointer:coarse) {
  .account-pin,.instrument-favorite { min-height:44px; min-width:40px; }
  .catalog-tabs button,.catalog-surface .button,.list-pagination .button { min-height:40px; }
}
.portfolio-breakdown[hidden] { display:none!important; }
.overview-grid:has(> .portfolio-breakdown[hidden]) { grid-template-columns:minmax(0,1fr); }
@media(max-width:500px) {
  [data-view-panel="operations"] .ledger-summary { gap:4px; }
  [data-view-panel="operations"] .ledger-summary > div { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; gap:4px 8px; min-height:0; padding:8px 12px; }
  [data-view-panel="operations"] .ledger-summary dt { display:flex; align-items:center; gap:6px; min-width:0; min-height:0; padding-right:0; font-size:var(--type-caption); }
  [data-view-panel="operations"] .ledger-summary dt .term-help { position:static; flex:0 0 auto; width:24px; height:24px; margin:0; }
  [data-view-panel="operations"] .ledger-summary dd { min-width:0; margin:0; text-align:right; font:600 var(--type-body)/1.35 var(--body); overflow-wrap:anywhere; }
  [data-view-panel="operations"] .ledger-summary small { grid-column:1/-1; }
}

/* A conflicted plan keeps its typed fields until an explicit replacement. */
.plan-conflict-recovery{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;padding:0 16px 16px;box-sizing:border-box;overflow-wrap:anywhere}
.plan-conflict-recovery[hidden]{display:none}
.plan-conflict-recovery p{flex-basis:100%;margin:0;max-width:75ch;line-height:1.6}
.plan-conflict-recovery .button{min-height:44px;height:auto;white-space:normal}
.plan-conflict-recovery .button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
