:root {
  color-scheme: dark;
  --bg: #0e0f12;
  --surface: #15161b;
  --surface-raised: #1b1c22;
  --line: #2b2d36;
  --line-strong: #40424e;
  --control-border: #747784;
  --text: #f1f1f4;
  --muted: #a0a1ab;
  --accent: #7657ff;
  --accent-hover: #6040dc;
  --accent-text: #ffffff;
  --good: #54c99a;
  --warn: #efb356;
  --bad: #ef6a78;
  --pnl-positive-1: #91d9b8;
  --pnl-positive-2: #66d4a4;
  --pnl-positive-3: #40ca8e;
  --pnl-positive-4: #21be7a;
  --pnl-negative-1: #f4abb4;
  --pnl-negative-2: #f58c99;
  --pnl-negative-3: #f57082;
  --pnl-negative-4: #fa556e;
  --focus: #b7a8ff;
  --radius: 6px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --bg: #f5f5f7;
    --surface: #ffffff;
    --surface-raised: #fafafd;
    --line: #d9d9e0;
    --line-strong: #b8b8c2;
    --control-border: #85858f;
    --text: #19191e;
    --muted: #676773;
    --accent: #5c3fe5;
    --accent-hover: #4b30ce;
    --accent-text: #ffffff;
    --good: #187a58;
    --warn: #9b5f06;
    --bad: #bd3046;
    --pnl-positive-1: #26785b;
    --pnl-positive-2: #176749;
    --pnl-positive-3: #105338;
    --pnl-positive-4: #0b452e;
    --pnl-negative-1: #b34b55;
    --pnl-negative-2: #a23843;
    --pnl-negative-3: #8c2332;
    --pnl-negative-4: #751324;
    --focus: #5c3fe5;
  }
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f5f5f7;
  --surface: #ffffff;
  --surface-raised: #fafafd;
  --line: #d9d9e0;
  --line-strong: #b8b8c2;
  --control-border: #85858f;
  --text: #19191e;
  --muted: #676773;
  --accent: #5c3fe5;
  --accent-hover: #4b30ce;
  --accent-text: #ffffff;
  --good: #187a58;
  --warn: #9b5f06;
  --bad: #bd3046;
  --pnl-positive-1: #26785b;
  --pnl-positive-2: #176749;
  --pnl-positive-3: #105338;
  --pnl-positive-4: #0b452e;
  --pnl-negative-1: #b34b55;
  --pnl-negative-2: #a23843;
  --pnl-negative-3: #8c2332;
  --pnl-negative-4: #751324;
  --focus: #5c3fe5;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); letter-spacing: 0; }
a { color: var(--text); text-underline-offset: 4px; }
a:hover { color: var(--accent-hover); }
button, input { font: inherit; letter-spacing: 0; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.tracker-badge { border: 1px solid var(--accent); border-radius: var(--radius); color: var(--text); padding: 8px 12px; width: fit-content; }
.tracker-filter { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.tracker-filter select { background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius); color: var(--text); font: inherit; min-height: 42px; max-width: 100%; padding: 8px; }
.tracker-metrics { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tracker-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); min-width: 0; overflow-wrap: anywhere; padding: 24px; }
.tracker-panel h2 { font-size: 15px; margin-bottom: 16px; }
.tracker-panel h3 { font-size: 14px; }
.tracker-panel strong { display: block; font-size: 25px; font-variant-numeric: tabular-nums; margin-bottom: 12px; }
.tracker-panel p { color: var(--muted); font-size: 13px; line-height: 1.6; margin-bottom: 0; }
.tracker-panel p.eyebrow { margin-bottom: 8px; }
.tracker-columns { margin-top: 20px; gap: 20px; }
.tracker-details { font-size: 13px; margin: 24px 0; }
.tracker-details > div { border-bottom: 1px solid var(--line); display: flex; gap: 16px; justify-content: space-between; padding: 12px 0; }
.tracker-details dt { color: var(--muted); }
.tracker-details dd { font-variant-numeric: tabular-nums; margin: 0; text-align: right; }
.tracker-notices { border-left: 2px solid var(--warn); font-size: 13px; line-height: 1.6; padding-left: 24px; }
.tracker-notices li { margin: 8px 0; }
.tracker-history { max-height: 360px; overflow-y: auto; }
.tracker-subtitle { color: var(--muted); font-size: 14px; line-height: 1.5; margin: 12px 0 0; max-width: 650px; }
.period-controls { align-items: center; border-block: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; padding: 18px 0; }
.period-tabs { display: flex; flex-wrap: wrap; gap: 4px; }
.period-tabs button { background: transparent; border: 1px solid transparent; border-radius: var(--radius); color: var(--muted); cursor: pointer; min-height: 44px; padding: 10px 14px; }
.period-tabs button:hover { background: var(--surface-raised); color: var(--text); }
.period-tabs button[aria-pressed="true"] { background: var(--accent); color: var(--accent-text); }
.period-tabs button span { display: block; font-size: 9px; margin-top: 2px; }
.custom-range { align-items: end; display: flex; flex-wrap: wrap; gap: 10px; }
.custom-range label { color: var(--muted); display: block; font-size: 11px; margin-bottom: 5px; }
.custom-range input { background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius); color: var(--text); font: inherit; font-size: 13px; min-height: 40px; padding: 8px; }
.period-heading { align-items: end; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; margin: 28px 0 14px; }
.period-heading h2 { font-size: 20px; }
.period-heading .result-scope { margin: 0; }
.metric-feature { border-top: 2px solid var(--accent); background: color-mix(in srgb, var(--accent) 6%, var(--surface)); }
.growth-panel { margin-top: 24px; }
.growth-panel h2 { font-size: 19px; margin-bottom: 0; }
.growth-panel .section-heading { align-items: center; flex-wrap: wrap; gap: 14px; }
.chart-legend { color: var(--muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 16px; }
.chart-legend span { align-items: center; display: flex; gap: 7px; }
.chart-legend i { display: inline-block; width: 22px; }
.legend-equity { border-top: 3px solid var(--accent); }
.legend-funded { border-top: 2px dashed var(--muted); }
.growth-svg { display: block; margin: 20px 0 6px; width: 100%; }
.chart-grid { stroke: var(--line); stroke-width: 1; }
.chart-label { fill: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.series-equity { fill: none; stroke: var(--accent); stroke-width: 3; vector-effect: non-scaling-stroke; }
.series-funded { fill: none; stroke: var(--muted); stroke-dasharray: 7 6; stroke-width: 2; vector-effect: non-scaling-stroke; }
.chart-crosshair { stroke: var(--line-strong); stroke-dasharray: 3 4; pointer-events: none; }
.chart-readout { align-items: center; background: var(--surface-raised); border-radius: var(--radius); display: flex; flex-wrap: wrap; font-size: 12px; gap: 14px 24px; justify-content: space-between; margin-bottom: 16px; padding: 14px; }
.chart-readout > span { color: var(--muted); }
.chart-readout b { color: var(--text); font-variant-numeric: tabular-nums; margin-left: 4px; }
.chart-empty { align-items: center; color: var(--muted); display: flex; justify-content: center; min-height: 200px; text-align: center; }
.period-summary p + p { margin-top: 14px; }
.driver-chart { display: block; margin: 24px 0; width: 100%; }
.driver-values { display: none; }
.driver-chart .chart-label { font-size: 20px; }
.driver-funding { fill: var(--muted); }
.driver-performance { fill: var(--accent); }
.driver-withdrawal, .driver-negative { fill: var(--bad); }
.strategy-table small { color: var(--muted); display: block; margin-top: 5px; }
.strategy-table details { max-width: 250px; min-width: 90px; }
details summary { cursor: pointer; min-height: 32px; }
.strategy-table details p { color: var(--muted); font-size: 12px; line-height: 1.5; margin-top: 12px; }
.history-details > summary, .current-risk > summary { font-size: 16px; font-weight: 600; }
.current-risk > summary span { color: var(--muted); display: block; font-size: 12px; font-weight: 400; margin: 10px 0 0 17px; }
@media (max-width: 560px) {
  .period-controls { gap: 16px; }
  .period-tabs button { padding-inline: 12px; }
  .custom-range { width: 100%; }
  .custom-range > div { flex: 1; min-width: 0; }
  .custom-range input { width: 100%; min-width: 0; }
  .custom-range .button { width: 100%; }
  .growth-panel { padding: 18px 12px; }
  .growth-svg { width: 100%; }
  .growth-svg .chart-label { display: none; }
  .chart-readout { display: grid; grid-template-columns: 1fr; }
  .chart-readout > span { display: flex; justify-content: space-between; }
  .driver-chart .chart-label { font-size: 28px; }
}
.tracker-chart { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); display: block; margin-bottom: 16px; width: 100%; }
.tracker-chart polyline { fill: none; stroke: var(--accent); stroke-width: 3; vector-effect: non-scaling-stroke; }
@media (max-width: 1100px) { .tracker-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tracker-metrics { grid-template-columns: 1fr; } .tracker-filter select { width: 100%; } }
.sr-only { height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { background: var(--accent); color: var(--accent-text); left: 12px; padding: 10px 14px; position: fixed; top: -64px; z-index: 20; }
.skip-link:focus { top: 12px; }

.topbar {
  align-items: center;
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr);
  min-height: 64px;
  padding: 0 32px;
  position: sticky;
  top: 0;
  z-index: 5;
}
.topbar-actions { align-items: center; display: flex; gap: 12px; justify-self: end; }
.theme-control { align-items: center; color: var(--muted); display: flex; font-size: 12px; gap: 8px; }
.theme-control select { background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius); color: var(--text); font: inherit; font-size: 16px; min-height: 44px; padding: 8px; }
.select-control { display: inline-grid; max-width: 100%; min-width: 0; position: relative; }
.select-trigger { align-items: center; background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius); color: var(--text); cursor: pointer; display: flex; font: inherit; font-size: 16px; gap: 16px; justify-content: space-between; min-height: 44px; min-width: 0; padding: 10px 12px; text-align: left; width: 100%; }
.select-value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.select-trigger::after { border-bottom: 2px solid var(--muted); border-right: 2px solid var(--muted); content: ''; flex: 0 0 7px; height: 7px; margin: -4px 2px 0 0; transform: rotate(45deg); }
.select-trigger[aria-expanded="true"] { border-color: var(--accent); }
.select-menu { background: var(--surface-raised); border: 1px solid var(--line-strong); border-radius: var(--radius); box-shadow: 0 8px 28px #0003; box-sizing: border-box; color: var(--text); left: 0; list-style: none; margin: 0; max-height: 288px; overflow-y: auto; overscroll-behavior: contain; padding: 4px; position: absolute; top: calc(100% + 6px); width: 100%; z-index: 30; }
.select-menu[data-side="above"] { bottom: calc(100% + 6px); top: auto; }
.select-menu[hidden] { display: none; }
.select-option { align-items: center; border-radius: 3px; cursor: pointer; display: flex; font-size: 16px; gap: 12px; justify-content: space-between; min-height: 44px; overflow-wrap: anywhere; padding: 10px 12px; }
.select-option::after { content: ''; flex: 0 0 14px; }
.select-option[aria-selected="true"]::after { content: '✓'; }
.select-option[data-active="true"] { background: var(--accent); color: var(--accent-text); }
.select-option[aria-disabled="true"] { cursor: default; opacity: .5; }
.theme-control .select-trigger { min-width: 108px; }
.tracker-filter .select-control { width: min(100%, 36rem); }
.login-theme { display: flex; justify-content: end; margin-bottom: 20px; }
.source-details { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); font-size: 13px; margin: 0 0 20px; padding: 12px 16px; }
.source-details p { color: var(--muted); line-height: 1.6; margin: 10px 0; }
.demo-notice { background: color-mix(in srgb, var(--accent) 8%, var(--surface)); border-left: 3px solid var(--accent); font-size: 13px; line-height: 1.6; padding: 12px 16px; }
.brand { align-items: center; display: inline-flex; gap: 10px; font-size: 15px; font-weight: 700; text-decoration: none; }
.brand-mark {
  display: block;
  flex: 0 0 auto;
  height: 32px;
  width: 32px;
}
.risk-amount { display: block; font-size: 28px; margin: 12px 0; font-variant-numeric: tabular-nums; }
.expiry-risk-list dt { min-width: 0; }
.expiry-risk-list dt small { display: block; font-size: 11px; line-height: 1.5; margin-top: 4px; }
.expiry-risk-list dd { flex-shrink: 0; white-space: nowrap; }
.topbar nav { display: flex; gap: 4px; max-width: 100%; overflow-x: auto; }
.topbar nav a { border-bottom: 2px solid transparent; color: var(--muted); padding: 20px 12px 18px; text-decoration: none; }
.topbar nav a[aria-current="page"] { border-bottom-color: var(--accent); color: var(--text); }

.page-shell { margin: 0 auto; max-width: 1440px; padding: 48px 32px 72px; }
.page-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 34px; min-height: 56px; }
h1, h2, p { margin-top: 0; }
h1 { font-size: 30px; line-height: 1.15; margin-bottom: 0; }
h2 { font-size: 18px; line-height: 1.3; margin-bottom: 0; }
.eyebrow { color: var(--muted); font-size: 12px; font-weight: 700; margin-bottom: 8px; text-transform: uppercase; }

.button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 5px;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  min-height: 44px;
  padding: 8px 14px;
  max-width: 100%;
  min-width: 44px;
  line-height: 1.4;
  white-space: normal;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.button-primary { background: var(--accent); color: var(--accent-text); }
.button-primary:hover { background: var(--accent-hover); }
.button-danger { background: transparent; border-color: color-mix(in srgb, var(--bad) 55%, var(--line)); color: var(--bad); }
.button-danger:hover { background: color-mix(in srgb, var(--bad) 10%, transparent); }
.button-quiet { background: var(--surface-raised); border-color: var(--line-strong); color: var(--text); }
.button-quiet:hover { border-color: var(--line-strong); color: var(--text); }

.status-grid { background: var(--line); border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; gap: 1px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 28px; }
.status-item { background: var(--bg); display: flex; flex-direction: column; gap: 7px; min-height: 128px; padding: 24px; }
.status-label, .status-detail { color: var(--muted); font-size: 12px; }
.status-item strong { font-size: 20px; line-height: 1.2; }
.state-good { color: var(--good); }
.state-warn { color: var(--warn); }
.state-bad { color: var(--bad); }
.state-neutral { color: var(--muted); }

.alert-band { align-items: center; background: color-mix(in srgb, var(--bad) 8%, var(--surface)); border: 1px solid color-mix(in srgb, var(--bad) 40%, var(--line)); border-radius: var(--radius); display: flex; gap: 16px; margin-bottom: 28px; padding: 14px 16px; }
.alert-band span { color: var(--muted); }
.approval-band { background: color-mix(in srgb, var(--accent) 8%, var(--surface)); border-color: color-mix(in srgb, var(--accent) 40%, var(--line)); }
.approval-band a { color: var(--muted); margin-left: auto; }

.data-section { border-top: 1px solid var(--line); margin-top: 34px; padding-top: 22px; }
.section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 16px; }
.section-heading > a { color: var(--muted); font-size: 13px; }
.two-column { display: grid; gap: 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.table-wrap { overflow-x: auto; width: 100%; }
.orders-table { min-width: 680px; }
.activity-table { min-width: 760px; }
table { border-collapse: collapse; font-size: 13px; width: 100%; }
th { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
th, td { border-bottom: 1px solid var(--line); padding: 12px 10px; text-align: left; vertical-align: top; }
tbody tr:hover { background: color-mix(in srgb, var(--surface-raised) 70%, transparent); }
.numeric { font-variant-numeric: tabular-nums; text-align: right; }
.contract { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.empty { color: var(--muted); padding: 28px 10px; text-align: center; }
.state-text { font-weight: 700; white-space: nowrap; }
.message-cell { max-width: 680px; overflow-wrap: anywhere; }
.event-details { color: var(--muted); display: block; font-size: 11px; margin-top: 6px; overflow-wrap: anywhere; white-space: normal; }

.tabs { border-bottom: 1px solid var(--line); display: flex; gap: 4px; margin-bottom: 20px; overflow-x: auto; }
.tabs a { border-bottom: 2px solid transparent; color: var(--muted); padding: 10px 14px; text-decoration: none; }
.tabs a[aria-current="page"] { border-bottom-color: var(--accent); color: var(--text); }
.result-scope { color: var(--muted); font-size: 12px; margin-bottom: 20px; }
.activity-section { margin-top: 0; }

.login-shell { align-items: center; display: flex; justify-content: center; min-height: 100vh; padding: 24px; }
.login-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; width: min(100%, 390px); }
.login-brand { margin-bottom: 42px; }
.login-panel h1 { font-size: 24px; margin-bottom: 24px; }
.form-stack { display: flex; flex-direction: column; gap: 12px; }
.form-stack label { color: var(--muted); font-size: 13px; font-weight: 700; }
.form-stack input {
  background: var(--bg);
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  color: var(--text);
  font-size: 22px;
  font-variant-numeric: tabular-nums;
  min-height: 48px;
  padding: 8px 12px;
  text-align: center;
}
.form-stack .button { margin-top: 8px; min-height: 44px; width: 100%; }
.form-error { background: color-mix(in srgb, var(--bad) 9%, transparent); border-left: 3px solid var(--bad); color: var(--bad); font-size: 13px; padding: 10px 12px; }

footer { border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; padding: 22px 32px; text-align: center; }

@media (max-width: 880px) {
  .topbar { gap: 12px; grid-template-columns: 1fr auto; padding: 0 18px; }
  .topbar nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; order: 3; }
  .topbar-actions { grid-column: 2; grid-row: 1; }
  .topbar nav a { padding-bottom: 10px; padding-top: 8px; }
  .page-shell { padding: 34px 18px 56px; }
  .status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .status-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .two-column { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .theme-control > label { display: none; }
  .topbar { padding-inline: 12px; }
  .topbar-actions { gap: 8px; }
  .tracker-filter select, .custom-range input { font-size: 16px; min-height: 44px; }
  .tracker-filter, .period-tabs, .custom-range, .section-heading { min-width: 0; }
  .tracker-filter { align-items: stretch; }
  .tracker-filter .select-control { width: 100%; }
  .tracker-filter .button { width: 100%; }
  .period-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; }
  .period-tabs button { min-width: 44px; padding-inline: 8px; }
  .section-heading { flex-wrap: wrap; gap: 12px; }
  .strategy-table td { overflow-wrap: anywhere; }
  .strategy-table details { min-width: 0; max-width: 100%; }
  details summary { min-height: 44px; }
  .tracker-history table { min-width: 620px; table-layout: auto; }
  .tracker-history td { white-space: nowrap; }
  .driver-chart { display: none; }
  .driver-values { display: grid; gap: 16px; margin-block: 24px; }
  .driver-values > div { display: flex; justify-content: space-between; gap: 12px; }
  .driver-values dt { color: var(--muted); }
  .driver-values dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .chart-readout > span { flex-wrap: wrap; gap: 4px; }
  .page-heading { align-items: stretch; flex-direction: column; gap: 20px; }
  .page-heading .button { width: 100%; }
  .status-grid { grid-template-columns: 1fr; }
  .status-item:last-child:nth-child(odd) { grid-column: auto; }
  .status-item { min-height: 108px; padding: 20px 4px; }
  .alert-band { align-items: flex-start; flex-direction: column; gap: 4px; }
  .approval-band a { margin-left: 0; }
  .topbar .brand span:last-child { display: none; }
  .topbar nav { flex-wrap: wrap; justify-content: center; overflow-x: visible; }
  .topbar nav a { padding-left: 7px; padding-right: 7px; }
  .tabs { flex-wrap: wrap; overflow-x: visible; }
  .tabs a { padding: 8px 10px; }
  .orders-table,
  .activity-table { min-width: 0; }
  .orders-table thead,
  .activity-table thead { display: none; }
  .orders-table tbody,
  .activity-table tbody,
  .orders-table tr,
  .activity-table tr { display: block; }
  .orders-table tr,
  .activity-table tr { border-bottom: 1px solid var(--line); padding: 10px 0; }
  .orders-table td,
  .activity-table td {
    align-items: baseline;
    border: 0;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 7px 4px;
    text-align: right;
  }
  .orders-table td::before,
  .activity-table td::before {
    color: var(--muted);
    content: attr(data-label);
    flex: 0 0 88px;
    font-size: 11px;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
  }
  .orders-table .contract { overflow-wrap: anywhere; white-space: normal; }
  .orders-table .empty-row,
  .activity-table .empty-row { padding: 0; }
  .orders-table td.empty,
  .activity-table td.empty { display: block; padding: 28px 10px; text-align: center; }
  .orders-table td.empty::before,
  .activity-table td.empty::before { content: none; }
  .activity-table time { white-space: nowrap; }
  th, td { padding-left: 8px; padding-right: 8px; }
}
/* Account collection controls remain reachable on narrow screens. */
.position-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.position-card h3 { font-size: 22px; letter-spacing: -.02em; }
.position-card h4 { font-size: 16px; margin-block: 14px 6px; }
.position-card .section-heading { margin-bottom: 0; }
.position-legs, .position-evidence { list-style: none; padding: 0; }
.position-legs li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.leg-side { font-size: 12px; padding: 4px 8px; border-radius: 6px; background: color-mix(in srgb, var(--accent) 12%, transparent); }
.leg-short { background: color-mix(in srgb, var(--warn) 12%, transparent); }
.position-evidence li { display: grid; gap: 6px; margin-block: 12px; font-size: 12px; overflow-wrap: anywhere; }
.position-card details { margin-top: 18px; }
.chart-toolbar, .chart-controls { display: flex; justify-content: space-between; gap: 12px; align-items: center; color: var(--muted); font-size: 12px; margin-block: 12px; }
.chart-controls button { min-height: 40px; }
.chart-area { color: var(--accent); }
.chart-zero { stroke: var(--muted); stroke-width: 1; stroke-dasharray: 5 5; opacity: .6; }
.chart-dot { fill: var(--accent); stroke: var(--surface); stroke-width: 3; }
.chart-dot-funded { fill: var(--muted); }
.version-badge { border: 1px solid var(--line); border-radius: 6px; padding: 3px 7px; font-variant-numeric: tabular-nums; }
.tax-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); align-items: end; gap: 16px; margin-block: 20px; }
.tax-form label { display: grid; gap: 8px; min-width: 0; color: var(--muted); font-size: 13px; }
.tax-form input, .tax-form select { width: 100%; min-height: 44px; min-width: 0; border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 10px 12px; background: var(--surface); color: var(--text); font: inherit; font-size: 16px; line-height: 1.4; }
.tax-form input[type="search"] { appearance: none; }
.record-evidence { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 40rem; font-size: 12px; }
.result-visuals { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr); gap: 16px; margin-block: 16px; }
.outcome-bar { display: flex; height: 12px; gap: 3px; border-radius: 6px; overflow: hidden; margin-block: 20px; }
.outcome-bar .win, .result-bars .positive { fill: var(--good); }
.outcome-bar .loss, .result-bars .negative { fill: var(--bad); }
.outcome-bar .flat { fill: var(--muted); }
.result-bars { width: 100%; }
.result-bars rect { cursor: pointer; }
.result-bars rect:focus { stroke: var(--text); stroke-width: 2; }
.result-bars { display: flex; align-items: stretch; height: 160px; gap: 4px; position: relative; margin-block: 20px 10px; }
.result-bars::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; border-top: 1px solid var(--line); }
.result-bar { flex: 1; min-width: 0; position: relative; }
.result-bar span { position: absolute; left: 0; right: 0; min-height: 2px; border-radius: 3px; }
.result-bar .positive { bottom: 50%; background: var(--good); }
.result-bar .negative { top: 50%; background: var(--bad); }
.result-bar:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 700px) { .result-visuals { grid-template-columns: 1fr; } .chart-toolbar { flex-wrap: wrap; } }
.refresh-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.tracker-refresh { margin-block: 1rem; }
.tracker-refresh [role="status"] { min-height: 1.5em; overflow-wrap: anywhere; }
.tracker-refresh button:disabled { opacity: .6; cursor: wait; }
.fee-ledger td:first-child { white-space: normal; min-width: 10rem; max-width: 18rem; overflow-wrap: anywhere; }

/* Tracker workspace: compact controls, clear scope, and readable mobile ledgers. */
.tracker-page .topbar { position: static; grid-template-columns: minmax(0, 1fr) auto; padding-block: 10px; }
.tracker-page .page-shell { max-width: 1440px; padding-top: 32px; }
.tracker-page .page-heading { margin-bottom: 24px; }
.tracker-page .page-heading h1 { font-size: clamp(26px, 3vw, 36px); letter-spacing: -.035em; }
.tracker-page .tracker-subtitle { margin-top: 8px; }
.tracker-page .tracker-badge { font-size: 12px; white-space: normal; line-height: 1.4; padding: 6px 10px; }
.account-toolbar { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding-bottom: 20px; }
.account-toolbar .tracker-filter { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; margin: 0; flex: 1 1 480px; max-width: 720px; }
.account-toolbar .tracker-filter > label { grid-column: 1 / -1; color: var(--muted); font-size: 12px; }
.account-toolbar .tracker-filter .select-control { width: 100%; }
.account-toolbar .tracker-refresh { flex: 0 1 auto; margin: 24px 0 0; min-width: 0; }
.account-toolbar [data-refresh-status] { font-size: 12px; margin: 8px 0 0; color: var(--muted); min-height: 0; }
.account-toolbar [data-refresh-status]:empty { display: none; }
.account-toolbar [data-refresh-status][data-state="failed"] { color: var(--bad); }
.account-toolbar [data-refresh-status][data-state="succeeded"] { color: var(--good); }
.overview-caption { display: flex; justify-content: space-between; align-items: center; gap: 8px 20px; flex-wrap: wrap; color: var(--muted); font-size: 12px; margin-bottom: 14px; line-height: 1.6; }
.scope-pill { display: inline-block; border: 1px solid var(--line); border-radius: 20px; padding: 2px 8px; margin-left: 8px; font-size: 11px; }
.overview-metrics .tracker-panel { padding: 20px; }
.overview-metrics h2 { color: var(--muted); font-size: 12px; font-weight: 500; line-height: 1.5; margin: 0 0 14px; }
.overview-metrics strong { font-size: clamp(25px, 2.5vw, 36px); letter-spacing: -.035em; line-height: 1.15; }
.overview-metrics .metric-feature { border: 1px solid color-mix(in srgb, var(--accent) 60%, var(--line)); box-shadow: inset 0 3px var(--accent); }
.overview-metrics .metric-feature h2 { color: var(--text); }
.tracker-page .overview-metrics .tracker-panel strong.metric-unknown { font-size: 22px; color: var(--muted); letter-spacing: -.015em; }
.overview-method { margin-top: 14px; background: transparent; }
.overview-method summary { display: flex; align-items: center; min-height: 28px; color: var(--muted); }
.overview-method summary::before { content: '+'; font-size: 18px; margin-right: 10px; color: var(--accent); }
.overview-method[open] summary::before { content: '−'; }
.section-nav { position: sticky; top: var(--shell-offset, 0px); z-index: 4; display: flex; gap: 4px; padding: 8px 0; margin-top: 24px; background: var(--bg); border-block: 1px solid var(--line); overflow-x: auto; scrollbar-width: thin; }
.section-nav a { display: flex; align-items: center; justify-content: center; gap: 8px; flex-shrink: 0; text-decoration: none; color: var(--muted); padding: 12px 16px; font-size: 13px; min-height: 44px; border-radius: var(--radius); }
.section-nav a:hover { background: var(--surface-raised); color: var(--text); }
.section-nav a[aria-current="location"] { background: var(--surface-raised); color: var(--text); box-shadow: inset 0 -2px var(--accent); }
.section-nav .date-shortcut { margin-left: auto; }
.date-shortcut span { font-size: 11px; color: var(--text); }
#overview, #activity, #fees, #performance, #risk, #date-range { scroll-margin-top: calc(var(--shell-offset, 0px) + 84px); }
.period-controls { position: relative; border-top: 0; gap: 16px; padding-block: 20px; }
.range-caption { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 18px; width: 100%; }
.range-caption strong { font-size: 14px; }
.range-caption span { color: var(--muted); font-size: 12px; }
.period-tabs { padding: 4px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.period-tabs button { padding: 8px 16px; font-size: 13px; }
.date-picker > summary { border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 12px 16px; font-size: 13px; min-height: 44px; }
.date-picker[open] { width: 100%; }
.date-picker[open] > summary { width: fit-content; margin-bottom: 12px; }
.custom-range input { min-height: 44px; font-size: 16px; }
.tracker-page .data-section { margin-top: 36px; padding-top: 28px; }
.tracker-page .data-section .tracker-panel { padding: 20px; }
.tracker-page .section-heading h2 { font-size: 23px; letter-spacing: -.025em; }
.tracker-page .section-heading { flex-wrap: wrap; gap: 12px; }
.tracker-page .result-scope { line-height: 1.65; }
.history-details { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); margin-top: 12px; padding: 0 18px; }
.history-details > summary { padding: 16px 0; min-height: 52px; font-size: 14px; }
.history-details > p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.history-details .table-wrap { margin-bottom: 18px; }
.ledger-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 12px; padding-block: 8px 14px; }
.ledger-search label { grid-column: 1 / -1; font-size: 12px; color: var(--muted); }
.ledger-search input { min-width: 0; width: 100%; min-height: 44px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--bg); color: var(--text); padding: 10px 12px; font-size: 16px; }
.ledger-search p { grid-column: 1 / -1; margin: 0; }
.ledger-search button:disabled { opacity: .5; cursor: default; }
.mobile-ledger tr[hidden] { display: none !important; }
.tracker-history thead { position: sticky; top: 0; background: var(--surface-raised); z-index: 1; }
.chart-mobile-scale { display: none; }
.analysis-details { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 0 20px; margin: 14px 0; }
.analysis-details > summary { padding: 18px 0; font-size: 14px; font-weight: 600; line-height: 1.5; }
.analysis-details > summary span { color: var(--muted); font-size: 12px; font-weight: 400; margin-left: 12px; }
.analysis-details[open] { padding-bottom: 20px; }
/* Shared overlay system: concise triggers, anchored explanations, modal workspaces. */
.overlay-launch { display: inline-flex; min-width: 0; max-width: 100%; vertical-align: middle; }
.overlay-trigger { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; max-width: 100%; padding: 10px 14px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface-raised); color: var(--text); font: inherit; font-size: 13px; font-weight: 600; line-height: 1.5; text-align: left; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.overlay-trigger-icon { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; flex: 0 0 18px; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--muted); font-size: 11px; }
.overlay-trigger[data-overlay-kind="drawer"] .overlay-trigger-icon { border: 0; border-radius: 0; font-size: 16px; }
.overlay-trigger.state-warn { color: var(--warn); }
.overlay-trigger:hover, .overlay-trigger[aria-expanded="true"] { border-color: var(--accent); background: var(--surface-raised); }
.overlay-trigger:disabled { cursor: default; opacity: .6; }
.overlay-panel { display: none; padding: 0; border: 1px solid var(--line-strong); background: var(--surface); color: var(--text); box-sizing: border-box; box-shadow: 0 18px 64px #0005; overflow: hidden; text-align: left; }
.overlay-popover { position: fixed; inset: auto; margin: 0; width: min(440px, calc(100vw - 24px)); border-radius: 10px; }
.overlay-popover:popover-open { display: flex; flex-direction: column; }
.overlay-drawer { position: fixed; inset: 0; margin: 0 0 0 auto; width: min(880px, 100vw); max-width: 100vw; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; border-width: 0 0 0 1px; border-radius: 0; }
.overlay-drawer[open] { display: flex; flex-direction: column; }
.overlay-drawer::backdrop { background: rgb(0 0 0 / .48); }
.overlay-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border-bottom: 1px solid var(--line); flex: 0 0 auto; }
.overlay-header h2 { margin: 0; font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
.overlay-header h2:focus { outline: none; }
.overlay-close { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 76px; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface-raised); color: var(--text); font: inherit; font-size: 12px; cursor: pointer; flex: 0 0 auto; }
.overlay-close span { font-size: 22px; line-height: 1; color: var(--muted); }
.overlay-close:hover { border-color: var(--accent); }
.overlay-content { min-height: 0; min-width: 0; overflow: auto; overscroll-behavior: contain; padding: 20px; flex: 1 1 auto; }
.overlay-content p, .overlay-content li { font-size: 13px; line-height: 1.7; }
.overlay-content > :first-child { margin-top: 0; }
.overlay-content > :last-child { margin-bottom: 0; }
.overlay-content .overlay-launch { margin-block: 6px; }
.overlay-content .tracker-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.overlay-content .tracker-panel { min-width: 0; }
.overlay-content .tracker-panel strong { font-size: 28px; }
.overlay-description { color: var(--muted); }
.overlay-modal-open { overflow: hidden; }
.overlay-content .tax-form { padding: 0; }
.overlay-content .table-wrap { max-width: 100%; }
.overlay-content .ledger-search { margin-top: 0; }
.overlay-content .context-help-body { border: 0; padding: 0; max-width: none; }
.source-details:has(> .overlay-launch), .analysis-details:has(> .overlay-launch), .history-details:has(> .overlay-launch), .context-help:has(> .overlay-launch) { border: 0; padding: 0; background: transparent; margin-block: 10px; }
.attention-list > li:has(> .overlay-launch) { border: 0; padding: 0; background: transparent; }
.attention-list .overlay-launch, .attention-list .overlay-trigger { width: 100%; }
@media (max-width: 640px) {
  .overlay-header { padding: 10px 14px; gap: 10px; }
  .overlay-header h2 { font-size: 16px; }
  .overlay-content { padding: 16px; }
  .overlay-content .tracker-metrics { grid-template-columns: 1fr; }
  .overlay-drawer { border: 0; }
  .overlay-popover .overlay-content { padding: 14px; }
}
.context-help { margin: 10px 0 16px; color: var(--muted); font-size: 12px; }
.context-help > summary { display: list-item; width: fit-content; max-width: 100%; min-height: 44px; padding: 12px 4px; cursor: pointer; color: var(--muted); line-height: 1.6; }
.context-help > summary:hover { color: var(--text); }
.context-help[open] > summary { color: var(--text); }
.context-help-body { border-left: 2px solid var(--line-strong); padding: 4px 18px; max-width: 82ch; line-height: 1.7; overflow-wrap: anywhere; }
.context-help-body p { margin: 0 0 12px; }
.context-help-body p:last-child { margin-bottom: 0; }
.context-help-body .tracker-details { margin-block: 4px; }
.risk-headline { display: grid; gap: 8px; margin-block: 18px; }
.risk-headline > span { color: var(--muted); font-size: 12px; }
.risk-headline > strong { font-size: 28px; font-variant-numeric: tabular-nums; }
.dashboard-hub { margin: 18px 0 24px; display: grid; gap: 12px; }
.dashboard-hub h2, .dashboard-hub h3 { margin: 0; }
.dashboard-hub .section-heading { margin-bottom: 10px; }
.dashboard-hub > details { margin: 0; }
.dashboard-hub summary { min-height: 44px; padding-block: 12px; line-height: 1.6; }
.attention-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.attention-list > li { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 0 12px; min-width: 0; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.attention-list strong { font-size: 13px; }
.attention-list p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.attention-list details { margin: 0; }
.attention-list details > summary { min-height: 44px; padding-block: 12px; font-size: 12px; line-height: 1.5; }
.attention-list a { display: inline-flex; align-items: center; min-height: 44px; }
.account-switch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 10px; }
.account-switch-card { display: grid; gap: 8px; min-width: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; color: var(--text); text-decoration: none; overflow-wrap: anywhere; }
.account-switch-card:hover, .account-switch-card[aria-current="true"] { border-color: var(--accent); background: var(--surface-raised); }
.account-switch-card small { color: var(--muted); line-height: 1.5; }
.account-switch-card strong { font-size: 20px; font-variant-numeric: tabular-nums; }
.capital-plan { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 0 16px; }
.capital-plan > summary { font-size: 13px; font-weight: 600; }
.capital-plan[open] { padding-bottom: 16px; }
.capital-plan .tracker-metrics { margin-block: 12px; }
.capital-plan .tracker-panel { background: var(--surface-raised); padding: 14px; }
.capital-plan .tracker-panel strong { font-size: 24px; }
.capital-plan .source-details { margin-bottom: 0; }
#attention, #capital { scroll-margin-top: calc(var(--shell-offset, 0px) + 84px); }
.strategy-history { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px; margin-top: 24px; min-width: 0; align-items: start; }
.strategy-month-chart { display: block; width: 100%; max-width: 200px; height: 20px; }
.strategy-month-chart .calendar-tone-gain { fill: var(--good); }
.strategy-month-chart .calendar-tone-loss { fill: var(--bad); }
.strategy-month-chart .calendar-tone-flat { fill: var(--muted); }
.strategy-month-zero { stroke: var(--line-strong); stroke-width: 1; }
.strategy-month-details { list-style: none; margin: 8px 0; padding: 0; line-height: 1.8; }
.strategy-month-details a { display: inline-block; padding-block: 4px; }
.strategy-history > .pnl-calendar { margin-top: 0; }
.pnl-calendar { min-width: 0; margin-top: 20px; }
.pnl-calendar-weekdays, .pnl-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.pnl-calendar-weekdays { color: var(--muted); text-align: center; font-size: 11px; margin-block: 12px 6px; }
.pnl-calendar-day { min-height: 64px; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 6px; border: 1px solid var(--line); border-radius: 4px; padding: 8px; text-decoration: none; font-size: 12px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.pnl-calendar-day small { font-size: 11px; }
.calendar-tone-gain { background: color-mix(in srgb, var(--good) 12%, var(--surface)); color: var(--good); border-color: color-mix(in srgb, var(--good) 35%, var(--line)); }
.calendar-tone-loss { background: color-mix(in srgb, var(--bad) 12%, var(--surface)); color: var(--bad); border-color: color-mix(in srgb, var(--bad) 35%, var(--line)); }
.calendar-tone-flat { background: var(--surface-raised); color: var(--text); }
.calendar-tone-empty { color: var(--muted); background: var(--bg); border-color: transparent; }
.calendar-disabled { color: var(--muted); border-color: transparent; opacity: .6; }
.calendar-tone-gain.calendar-intensity-2 { background: color-mix(in srgb, var(--good) 25%, var(--surface)); }
.calendar-tone-gain.calendar-intensity-3 { background: color-mix(in srgb, var(--good) 40%, var(--surface)); }
.calendar-tone-loss.calendar-intensity-2 { background: color-mix(in srgb, var(--bad) 25%, var(--surface)); }
.calendar-tone-loss.calendar-intensity-3 { background: color-mix(in srgb, var(--bad) 40%, var(--surface)); }
.pnl-calendar-day.calendar-tone-gain, .pnl-calendar-day.calendar-tone-loss { color: var(--text); }
.pnl-calendar-day[href]:hover { outline: 1px solid currentColor; outline-offset: 1px; }
@media (max-width: 1100px) { .strategy-history { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .attention-list { grid-template-columns: 1fr; }
  .dashboard-hub { margin-block: 12px 18px; }
  .attention-list > li { padding: 0 12px; }
  .capital-plan { padding-inline: 12px; }
  .pnl-calendar-day { min-height: 56px; padding: 5px; font-size: 11px; }
  .pnl-calendar-day small { font-size: 9px; }
  .pnl-calendar-grid, .pnl-calendar-weekdays { gap: 3px; }
  .context-help-body { padding-inline: 12px; }
}
@media (max-width: 480px) {
  .pnl-calendar-day small { display: none; }
  .pnl-calendar-day.calendar-tone-gain::after { content: '+'; }
  .pnl-calendar-day.calendar-tone-loss::after { content: '−'; }
  .pnl-calendar-day.calendar-tone-flat::after { content: '0'; }
  .pnl-calendar-day.calendar-tone-empty::after { content: '—'; }
}
.coverage-notice { border-left: 2px solid var(--line-strong); color: var(--muted); padding: 10px 16px; font-size: 13px; line-height: 1.65; }
.tracker-page .current-risk { border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; background: var(--surface); }
.tracker-page .current-risk > summary { font-size: 14px; }
@media (max-width: 880px) {
  .account-toolbar { flex-wrap: wrap; gap: 12px; }
  .account-toolbar .tracker-filter { max-width: none; }
  .account-toolbar .tracker-refresh { margin-top: 0; width: 100%; }
  .tracker-page .topbar-actions { grid-row: auto; }
}
@media (max-width: 640px) {
  .tracker-page .page-shell { padding: 24px 16px 48px; }
  .tracker-page .page-heading { flex-direction: row; align-items: start; gap: 12px; }
  .tracker-page .page-heading .tracker-badge { max-width: 96px; }
  .account-toolbar .tracker-filter { grid-template-columns: minmax(0, 1fr) auto; }
  .account-toolbar .tracker-filter .button { width: auto; padding-inline: 12px; }
  .refresh-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .refresh-actions .button { font-size: 13px; padding-inline: 8px; min-height: 44px; }
  .overview-caption { gap: 4px; }
  .scope-pill { margin-left: 0; border: 0; padding-inline: 0; display: block; }
  .tracker-page .tracker-metrics { gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tracker-page .tracker-metrics .tracker-panel { padding: 16px 12px; }
  .tracker-page .tracker-metrics strong { font-size: clamp(18px, 4.6vw, 25px); overflow-wrap: normal; }
  .tracker-page .overview-metrics .tracker-panel strong.metric-unknown { font-size: 17px; }
  .tracker-page .tracker-metrics h2, .tracker-page .tracker-metrics h3 { font-size: 12px; line-height: 1.5; margin-top: 0; }
  .tracker-page .tracker-metrics p { font-size: 12px; line-height: 1.5; }
  .overview-metrics .metric-feature { grid-column: 1 / -1; grid-row: 1; }
  .tracker-page .overview-metrics .metric-feature strong { font-size: 38px; }
  .overview-metrics .tracker-panel:last-child { grid-column: 1 / -1; }
  .overview-method { padding: 10px 12px; }
  .overview-method summary { min-height: 44px; }
  .section-nav { margin-inline: -16px; padding-inline: 12px; gap: 0; }
  .section-nav a { font-size: 12px; padding-inline: 12px; }
  .section-nav .date-shortcut { margin-left: 0; }
  .period-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; }
  .period-tabs button { padding-inline: 6px; }
  .date-picker, .date-picker > summary { width: 100%; }
  .date-picker[open] > summary { width: 100%; }
  .period-heading h2 { font-size: 17px; }
  .period-heading { gap: 6px; }
  .tracker-page .section-heading h2 { font-size: 21px; }
  .tracker-page .growth-panel { padding: 16px 12px; }
  .growth-svg { height: 220px; margin-top: 12px; }
  .growth-svg .chart-label { display: none; }
  .chart-mobile-scale { display: block; color: var(--muted); font-size: 12px; margin-top: 16px; font-variant-numeric: tabular-nums; }
  .chart-readout { gap: 10px; padding: 12px; }
  .history-details { padding-inline: 12px; }
  .ledger-search { gap: 8px; }
  .ledger-search .button { padding-inline: 10px; font-size: 12px; }
  .tracker-history:has(.mobile-ledger) { max-height: 520px; }
  .tracker-history .mobile-ledger { min-width: 0; display: block; }
  .mobile-ledger thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); }
  .mobile-ledger tbody { display: block; }
  .mobile-ledger tr { display: grid; border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; margin-bottom: 12px; background: var(--surface-raised); }
  .tracker-history .mobile-ledger td { display: grid; grid-template-columns: minmax(82px, .8fr) minmax(0, 1.2fr); gap: 12px; border: 0; padding: 8px 0; text-align: right; white-space: normal; overflow-wrap: anywhere; min-width: 0; max-width: none; }
  .mobile-ledger td::before { content: attr(data-label); color: var(--muted); font-size: 11px; line-height: 1.5; text-align: left; }
  .mobile-ledger td:first-child { border-bottom: 1px solid var(--line); margin-bottom: 4px; }
  .mobile-ledger td[colspan] { display: block; text-align: left; }
  .mobile-ledger td[colspan]::before { content: none; }
  .analysis-details { padding-inline: 12px; }
  .analysis-details > summary span { display: block; margin-left: 18px; margin-top: 4px; }
}

/* Absolute-dollar P&L bands; calendar backgrounds retain their relative scale. */
.pnl-positive { --pnl-color: var(--pnl-positive-1); }
.pnl-negative { --pnl-color: var(--pnl-negative-1); }
.pnl-positive.pnl-intensity-1 { --pnl-color: var(--pnl-positive-1); }
.pnl-positive.pnl-intensity-2 { --pnl-color: var(--pnl-positive-2); }
.pnl-positive.pnl-intensity-3 { --pnl-color: var(--pnl-positive-3); }
.pnl-positive.pnl-intensity-4 { --pnl-color: var(--pnl-positive-4); }
.pnl-negative.pnl-intensity-1 { --pnl-color: var(--pnl-negative-1); }
.pnl-negative.pnl-intensity-2 { --pnl-color: var(--pnl-negative-2); }
.pnl-negative.pnl-intensity-3 { --pnl-color: var(--pnl-negative-3); }
.pnl-negative.pnl-intensity-4 { --pnl-color: var(--pnl-negative-4); }
.pnl-flat { --pnl-color: var(--text); }
.pnl-unknown { --pnl-color: var(--muted); }
.pnl-value { font-variant-numeric: tabular-nums; }
.pnl-value.pnl-positive, .pnl-value.pnl-negative, .pnl-value.pnl-flat, .pnl-value.pnl-unknown { color: var(--pnl-color); }
.pnl-bar.pnl-positive, .pnl-bar.pnl-negative, .pnl-bar.pnl-flat { fill: var(--pnl-color); }
.series-pnl-positive, .series-pnl-negative, .series-pnl-flat { fill: none; stroke-width: 3; vector-effect: non-scaling-stroke; }
.series-pnl-positive { stroke: var(--pnl-positive-2); }
.series-pnl-negative { stroke: var(--pnl-negative-2); }
.series-pnl-flat { stroke: var(--muted); }
.chart-dot.pnl-value { fill: currentColor; }
.chart-dot.pnl-flat { color: var(--muted); }
.pnl-calendar-day .pnl-value { color: inherit; }

/* Quick account reading, with evidence retained in the shared drawers. */
.account-gain-hero { margin-bottom: 18px; border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); box-shadow: inset 0 3px var(--accent); }
.hero-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 20px; flex-wrap: wrap; }
.hero-heading h2 { margin: 0; font-size: 14px; font-weight: 500; }
.account-gain-hero .hero-value { display: block; margin: 12px 0 0; font-size: clamp(38px, 5vw, 62px); line-height: 1.1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.hero-value.metric-unknown { font-size: clamp(28px, 4vw, 40px); }
.account-gain-hero > .result-scope { margin: 8px 0 16px; }
.hero-account-value, .hero-day-change { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; }
.hero-account-value { font-size: 13px; color: var(--muted); }
.hero-account-value strong { font-size: 20px; color: var(--text); font-variant-numeric: tabular-nums; }
.hero-day-change { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; }
.hero-day-change > strong { font-size: 19px; }
.hero-account-value strong, .hero-day-change > strong { display: inline; margin: 0; }
.hero-day-change .overlay-trigger { font-size: 12px; }
.overview-actions, .hub-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.overview-actions .overview-method, .hub-actions .account-switcher, .hub-actions .capital-plan { margin: 0; }
.hub-actions .capital-plan { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.tracker-page .overview-metrics, .tracker-page .metric-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tracker-page .tracker-metrics strong { overflow-wrap: anywhere; }
.tracker-page .overview-metrics .tracker-panel:last-child { grid-column: auto; }
.attention-compact { display: flex; align-items: baseline; gap: 6px 14px; flex-wrap: wrap; padding-block: 4px 12px; }
.attention-summary { flex: 1 1 300px; font-size: 12px; color: var(--warn); line-height: 1.7; margin: 0; }
.attention-summary span:not(:last-child)::after { content: ' · '; color: var(--muted); }
.attention-evidence { grid-template-columns: 1fr; }
.attention-evidence > li { padding: 14px; }
.compact-notice { font-size: 12px; line-height: 1.6; padding-block: 8px; }
.position-value { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-block: 8px 12px; font-size: 13px; }
.position-value strong { font-size: 23px; font-variant-numeric: tabular-nums; margin: 0; }
.records-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
.records-tools > .result-scope { flex-basis: 100%; margin: 0; }
.review-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#review { scroll-margin-top: calc(var(--shell-offset, 0px) + 84px); }
.review-section > .section-heading { align-items: baseline; }
.review-section > .section-heading h2 { margin: 0; }
.review-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: 12px; row-gap: 8px; padding: 16px; }
.tracker-page .review-section .review-card { padding: 16px; }
.review-card h3 { margin: 0; font-size: 12px; color: var(--muted); line-height: 1.5; }
.review-card > strong { font-size: 23px; margin: 0; text-align: right; line-height: 1.25; overflow-wrap: anywhere; }
.review-card > .result-scope { margin: 0; align-self: center; line-height: 1.5; }
.review-card > .overlay-launch { justify-self: end; }
.review-card .overlay-trigger { font-size: 12px; padding-inline: 10px; }
.review-actions { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; }
.review-section > .review-actions > .overlay-launch { flex: 1 1 130px; min-width: 0; }
.review-section > .review-actions > .overlay-launch > .overlay-trigger { width: 100%; justify-content: space-between; font-size: 12px; text-align: left; white-space: normal; }
.outcome-total { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; }
.outcome-total > strong { font-size: 24px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.outcome-distribution { margin: 20px 0; }
.outcome-distribution svg { display: block; width: 100%; height: 24px; }
.outcome-distribution figcaption { margin-top: 8px; font-size: 12px; color: var(--muted); }
.outcome-details > div { align-items: baseline; }
.outcome-details dt, .outcome-details dd { min-width: 0; overflow-wrap: anywhere; }
.outcome-details dd { flex-shrink: 0; max-width: 55%; }
.outcome-days { margin-block: 24px; }
.outcome-days h3 { font-size: 15px; }
.fee-review-actions { margin-block: 12px; }
.fee-composition-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-block: 16px; font-size: 12px; color: var(--muted); }
.fee-composition-legend span { display: inline-flex; align-items: center; gap: 6px; }
.fee-composition-legend i { width: 12px; height: 10px; display: inline-block; }
.fee-key-commission { background: var(--accent); }
.fee-key-other { background: var(--muted); }
.fee-key-posted { background: var(--warn); }
.fee-key-refund { border: 1px solid var(--text); }
.fee-fill-commission { fill: var(--accent); }
.fee-fill-other { fill: var(--muted); }
.fee-fill-posted { fill: var(--warn); }
.fee-fill-refund { fill: none; stroke: var(--text); stroke-width: 1; vector-effect: non-scaling-stroke; }
.fee-month-bars { display: block; width: 100%; min-width: 72px; height: 30px; margin-top: 8px; }
.fee-month-table small, .fee-comparison-table small { display: block; margin-top: 6px; color: var(--muted); }
.fee-month-table .state-warn { color: var(--warn); }
.fee-change { display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; align-items: baseline; }
.fee-change strong { color: var(--text); font-size: 24px; font-variant-numeric: tabular-nums; }
.fee-composition-details dt, .fee-composition-details dd { min-width: 0; overflow-wrap: anywhere; }
.position-review-actions { margin-block: 12px 18px; }
.position-quality-counts { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--warn); font-size: 12px; margin-block: 16px; }
.position-expiry-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.position-expiry-legend span { display: inline-flex; align-items: center; gap: 6px; }
.position-expiry-legend i { display: inline-block; width: 14px; height: 9px; }
.position-key-long { background: var(--accent); }
.position-key-short { border: 1px solid var(--text); }
.position-fill-long, .position-share-bar rect { fill: var(--accent); }
.position-fill-short { fill: none; stroke: var(--text); stroke-width: 1; vector-effect: non-scaling-stroke; }
.position-expiry-bars { display: block; width: 100%; min-width: 80px; height: 28px; margin-top: 8px; }
.position-share-bar { display: block; width: 100%; height: 12px; margin-top: 8px; }
.position-expiry-table small, .position-concentration-table small { display: block; margin-top: 6px; font-size: 12px; color: var(--muted); }
.position-loss-total { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; }
.position-loss-total strong { font-size: 24px; color: var(--text); font-variant-numeric: tabular-nums; }
.review-tools { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-block: 14px 4px; }
.saved-view-selection > div { display: grid; gap: 4px; margin-block: 14px; }
.saved-view-selection dt { color: var(--muted); font-size: 12px; }
.saved-view-selection dd { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
.saved-view-selection time { white-space: nowrap; }
.review-note-form { display: grid; gap: 10px; margin-block: 20px; }
.review-note-form label { font-size: 14px; font-weight: 600; }
.review-note-form textarea { width: 100%; min-width: 0; min-height: 190px; resize: vertical; border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 12px; background: var(--surface); color: var(--text); font: inherit; font-size: 16px; line-height: 1.6; }
.review-note-form .result-scope { margin: 0; }
.review-note-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.saved-review-notes { margin-top: 28px; border-top: 1px solid var(--line); padding-top: 20px; }
.saved-review-notes h3 { font-size: 15px; }
.saved-review-note { border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; margin-block: 12px; overflow-wrap: anywhere; }
.saved-review-note > a { font-size: 13px; font-weight: 600; }
.saved-review-note p { white-space: pre-wrap; font-size: 13px; line-height: 1.7; margin-block: 12px; }
.saved-review-note small { display: block; color: var(--muted); font-size: 11px; }
.review-attribution-bar { display: block; width: min(160px, 100%); height: 20px; margin-top: 6px; }
.review-drawdown-figure { margin: 16px 0; }
.review-drawdown-chart { display: block; width: 100%; height: 160px; }
.review-drawdown-line { fill: none; stroke: currentColor; stroke-width: 2; vector-effect: non-scaling-stroke; }
.coverage-grid { display: grid; gap: 12px; }
.coverage-row { border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; }
.coverage-row .section-heading { margin-bottom: 12px; align-items: baseline; }
.coverage-row h3 { margin: 0; font-size: 15px; }
.coverage-row .section-heading > span { font-size: 12px; }
.coverage-row .tracker-details { margin-block: 0; }
@media (max-width: 1000px) {
  .review-metrics { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .review-section > .review-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .fee-comparison-table td:first-child { grid-column: 1 / -1; font-weight: 600; }
  .fee-comparison-table td:first-child::before { display: none; }
  .fee-comparison-table.responsive-records td:last-child { grid-column: auto; }
  .account-gain-hero { padding: 20px 16px; }
  .hero-heading > .result-scope { font-size: 11px; }
  .hero-heading { gap: 4px; }
  .account-gain-hero .hero-value { font-size: clamp(36px, 10vw, 48px); }
  .hero-day-change { gap: 6px 10px; }
  .hero-day-change > .overlay-launch { margin-left: auto; }
  .hero-day-change > .state-warn { flex-basis: 100%; }
  .attention-compact { gap: 2px 10px; }
  .overview-actions, .hub-actions { gap: 4px 12px; }
  .responsive-records, .responsive-records tbody { display: block; min-width: 0; width: 100%; }
  .responsive-records thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .responsive-records tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 14px; margin-bottom: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
  .responsive-records td { display: block; border: 0; padding: 0; min-width: 0; max-width: none; white-space: normal; overflow-wrap: anywhere; text-align: left; }
  .responsive-records td::before { content: attr(data-label); display: block; margin-bottom: 5px; font-size: 11px; color: var(--muted); }
  .responsive-records td:last-child, .responsive-records td[colspan] { grid-column: 1 / -1; }
  .responsive-records td[colspan]::before { content: none; }
}
@media (forced-colors: active) {
  .pnl-value.pnl-positive, .pnl-value.pnl-negative, .pnl-value.pnl-flat, .pnl-value.pnl-unknown { color: CanvasText; }
  .pnl-bar.pnl-positive, .pnl-bar.pnl-negative, .pnl-bar.pnl-flat { fill: CanvasText; }
  .series-pnl-positive, .series-pnl-negative, .series-pnl-flat { stroke: CanvasText; }
  .review-drawdown-line { stroke: CanvasText; }
}

/* Dashboard overview: values first, supporting evidence in shared drawers. */
.hero-funding { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; margin-top: 6px; font-size: 13px; color: var(--muted); }
.hero-funding strong { display: inline; margin: 0; font-size: 15px; font-weight: 500; color: var(--text); }
.snapshot-time { margin: 12px 0 0; color: var(--muted); font-size: 11px; }
.dashboard-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.dashboard-tools > .button, .dashboard-tools > .overlay-launch > .overlay-trigger { font-size: 12px; }
.tool-group { padding-block: 20px; border-block: 1px solid var(--line); margin-block: 20px; }
.tool-group h3 { margin: 0; }
.range-result-summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; margin-block: 20px; }
.range-result-primary h3 { margin: 0 0 8px; color: var(--muted); font-size: 13px; font-weight: 500; }
.range-result-primary > strong { font-size: clamp(28px, 4vw, 38px); font-variant-numeric: tabular-nums; letter-spacing: -.03em; overflow-wrap: anywhere; }
.range-result-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.range-result-facts dt { color: var(--muted); font-size: 12px; line-height: 1.5; }
.range-result-facts dd { margin: 8px 0; font-size: 22px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.range-result-facts small { display: block; color: var(--muted); font-size: 11px; line-height: 1.6; }
.position-preview { list-style: none; margin: 12px 0; padding: 0; }
.position-preview li { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 8px 16px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 13px; overflow-wrap: anywhere; }
.position-preview li > span:nth-child(2) { color: var(--muted); }
.planning-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.planning-card, .tracker-page .planning-grid > #taxes { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 20px; margin: 0; min-width: 0; }
.planning-card h3, .planning-grid #tax-heading { margin: 0 0 12px; font-size: 13px; font-weight: 500; color: var(--muted); }
.planning-value, .planning-status, .compact-value strong { display: block; font-size: 20px; font-weight: 600; line-height: 1.4; margin: 0; overflow-wrap: anywhere; }
.compact-value > span { display: block; margin-bottom: 6px; font-size: 12px; color: var(--muted); }
.planning-grid .section-heading { margin-bottom: 0; }
.planning-grid .analysis-details { margin: 12px 0 0; }
.planning-grid .coverage-notice { padding: 0; border: 0; background: none; margin-block: 10px; }
.planning-grid .overlay-trigger { font-size: 12px; }
.explore-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.explore-card { min-width: 0; }
.explore-card > .overlay-launch, .explore-card #performance > .overlay-launch { display: flex; }
.explore-card > .overlay-launch > .overlay-trigger, .explore-card #performance > .overlay-launch > .overlay-trigger { width: 100%; justify-content: space-between; text-align: left; white-space: normal; font-size: 13px; }
.explore-card p { margin: 10px 0 0; font-size: 12px; line-height: 1.6; color: var(--muted); }
.tracker-page .explore-card #performance { padding: 0; margin: 0; border: 0; }
.overlay-content > .data-section:first-child { margin: 0; padding: 0; border: 0; }
@media (max-width: 1000px) {
  .explore-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-grid > #taxes { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .range-result-summary { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .range-result-facts { padding-top: 12px; border-top: 1px solid var(--line); }
  .position-preview li { grid-template-columns: 60px minmax(0, 1fr); }
  .position-preview li > span:last-child { grid-column: 2; }
  .planning-grid { grid-template-columns: minmax(0, 1fr); }
  .planning-card, .tracker-page .planning-grid > #taxes { padding: 16px; }
  .explore-card .overlay-trigger { padding-inline: 14px; }
  .tracker-page #activity, .tracker-page #positions, .tracker-page #explore { margin-top: 24px; padding-top: 20px; }
}

/* Let content choose its height: money, warnings and controls remain readable. */
.tracker-page :is(.section-heading, .hero-heading, .range-caption, .chart-readout, .tracker-details > div) > * { min-width: 0; }
.tracker-page :is(h1, h2, h3, h4, p, dt, dd, .tracker-badge, .result-scope, .position-value, .review-stat) { overflow-wrap: anywhere; }
.tracker-details > div { flex-wrap: wrap; align-items: baseline; }
.tracker-details dt { flex: 1 1 130px; }
.tracker-details dd { flex: 1 1 130px; }
.button:active, .overlay-trigger:active, .overlay-close:active { box-shadow: inset 0 0 0 2px var(--accent); }
.button-quiet, .overlay-trigger, .overlay-close, .select-trigger { border-color: var(--control-border); }
.button:disabled, .overlay-trigger:disabled { cursor: default; opacity: .55; }
.chart-controls button { min-width: 44px; min-height: 44px; }
.period-tabs button:not([aria-pressed="true"]) { background: var(--surface); border-color: var(--line); color: var(--text); }
.period-tabs button:not([aria-pressed="true"]):hover { background: var(--surface-raised); border-color: var(--line-strong); }
.refresh-actions { display: flex; flex-wrap: wrap; }
.hero-day-change > .overlay-launch { margin-left: auto; }
.explore-grid .overlay-trigger { min-height: 64px; }
.range-result-facts small { font-size: 12px; }
.snapshot-time { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .tracker-page .overlay-content .tracker-metrics { grid-template-columns: minmax(0, 1fr); }
  .tracker-page .overlay-content .tracker-metrics strong { overflow-wrap: anywhere; font-size: 26px; }
  .tracker-page .overlay-content .tracker-metrics h2, .tracker-page .overlay-content .tracker-metrics h3 { font-size: 14px; }
  .tracker-page .overlay-content .tracker-metrics .tracker-panel { padding: 16px; }
  .tracker-page .overlay-content .tracker-details > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .tracker-page .overlay-content .tracker-details dd { text-align: left; }
  .tracker-page .explore-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .explore-grid .overlay-trigger { min-height: 52px; }
  .chart-readout > span { flex-wrap: wrap; gap: 4px 12px; }
  .chart-readout b { margin-left: 0; }
  .hero-day-change > span:first-child { flex-basis: 100%; }
  .account-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
  .account-toolbar .tracker-filter { display: contents; }
  .account-toolbar .tracker-filter > :is(label, select, .select-control) { grid-column: 1 / -1; }
  .account-toolbar .tracker-filter > .button { width: 100%; }
  .account-toolbar .tracker-refresh { align-self: start; }
  .account-toolbar .refresh-actions .button { width: 100%; }
}

/* One account needs no selector. Chart controls share the same button tokens. */
.account-toolbar-single { display: flex; justify-content: flex-end; }
.account-toolbar-single .tracker-refresh { flex: 0 1 auto; }
.chart-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.chart-tabs[hidden], [data-chart-switcher] > section[hidden] { display: none; }
.chart-tabs button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--control-border); border-radius: var(--radius); color: var(--text); background: var(--surface-raised); font: inherit; cursor: pointer; }
.chart-tabs button[aria-selected="true"] { background: var(--accent); border-color: var(--accent); color: var(--accent-text); }
.chart-tabs button:hover { border-color: var(--focus); }
.chart-tabs button:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
[data-chart-switcher] > section { min-width: 0; }

/* Brand depth stays separate from the red/green financial encoding. */
.account-gain-hero {
  position: relative;
  isolation: isolate;
  border-radius: 14px;
  background: radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 65%), var(--surface);
  box-shadow: inset 0 2px var(--accent), 0 12px 32px color-mix(in srgb, var(--bg) 55%, transparent);
}
.hero-orbit { position: absolute; top: 10px; right: 12px; width: clamp(150px, 28vw, 260px); height: auto; fill: none; stroke: var(--accent); stroke-width: 1; opacity: .04; pointer-events: none; z-index: -1; }
.hero-orbit .orbit-node { fill: var(--accent); stroke: none; }
.tracker-page .topbar .brand-mark { filter: drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 32%, transparent)); }
.tracker-page .button-primary {
  background: linear-gradient(145deg, var(--accent), var(--accent-hover));
  background-color: var(--accent);
  box-shadow: 0 3px 10px color-mix(in srgb, var(--accent) 20%, transparent), inset 0 1px color-mix(in srgb, white 20%, transparent);
}
.tracker-page .growth-panel { border-radius: 12px; box-shadow: 0 6px 24px color-mix(in srgb, var(--bg) 40%, transparent); }
.chart-tabs { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.chart-tabs button { font-size: 13px; font-weight: 600; border-radius: 8px; }
.chart-tabs button[aria-selected="true"] { box-shadow: 0 3px 10px color-mix(in srgb, var(--accent) 22%, transparent); }
.explore-card > .overlay-launch > .overlay-trigger,
.explore-card #performance > .overlay-launch > .overlay-trigger {
  min-height: 64px;
  border-radius: 10px;
  border-left: 3px solid var(--accent);
  background: linear-gradient(110deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent), var(--surface);
}
.explore-card .overlay-trigger-icon { color: var(--accent); }
@media (hover: hover) {
  .explore-card > .overlay-launch > .overlay-trigger:hover,
  .explore-card #performance > .overlay-launch > .overlay-trigger:hover { border-color: var(--accent); box-shadow: 0 4px 16px color-mix(in srgb, var(--accent) 12%, transparent); }
  .tracker-page .button-primary:hover { box-shadow: 0 4px 16px color-mix(in srgb, var(--accent) 34%, transparent); }
}
@media (prefers-reduced-motion: no-preference) {
  .tracker-page .button-primary, .chart-tabs button, .explore-card .overlay-trigger { transition: box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease; }
}
@media (forced-colors: active) {
  .hero-orbit { display: none; }
  .account-gain-hero, .tracker-page .growth-panel, .tracker-page .button-primary { box-shadow: none; background: Canvas; }
}

.position-search { margin-block: 20px; }
.position-search label { display: block; margin-bottom: 8px; font-size: 13px; }
.position-search-controls { display: flex; gap: 8px; }
.position-search-controls input { min-width: 0; flex: 1; min-height: 44px; padding: 10px 12px; font: inherit; font-size: 16px; color: var(--text); background: var(--bg); border: 1px solid var(--control-border); border-radius: var(--radius); }
.position-card[hidden], .position-search[hidden], .symbol-copy button[hidden], .draft-status[hidden], [data-chart-latest][hidden] { display: none; }
.symbol-copy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; }
.symbol-copy code { overflow-wrap: anywhere; }
.symbol-copy [data-copy-status]:not(:empty) { flex-basis: 100%; }
.draft-status { grid-column: 1 / -1; margin: 0; color: var(--warn); font-size: 13px; }
.chart-controls { flex-wrap: wrap; }
[data-chart-latest][aria-disabled="true"] { opacity: .6; }
@media (max-width: 600px) {
  .growth-chart .chart-controls { gap: 8px; }
  .growth-chart .chart-controls button { padding-inline: 10px; }
}
/* Hide every account surface, including dialogs in the browser's top layer. */
body[data-session-state] > :not(#session-lock),
body[data-session-state] [data-overlay] { visibility: hidden !important; }
.session-lock { width: min(420px, calc(100vw - 32px)); box-sizing: border-box; padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); color: var(--text); }
.session-lock::backdrop { background: var(--bg); }
.session-lock h2 { margin: 16px 0 8px; }
.session-lock p { color: var(--muted); line-height: 1.6; overflow-wrap: anywhere; }
.session-lock-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.session-lock [hidden], [data-refresh-view][hidden] { display: none !important; }
.lot-outcomes { margin: 16px 0 24px; }
.lot-outcomes-heading, .lot-outcomes-labels { display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; }
.lot-outcomes .outcome-bar { display: block; width: 100%; height: 6px; margin: 12px 0; border-radius: 6px; }
.lot-outcomes-labels { color: var(--muted); font-size: .85rem; }
.security-signout { margin-bottom: 24px; }
