* { box-sizing:border-box; } :root { font:14px/1.5 'Segoe UI',Arial,sans-serif; color-scheme:dark; }
body { margin:0; background:var(--bg); color:var(--ink); }
body { --bg:#061322; --panel:#0a1b2c; --raised:#0d2236; --side:#06111e; --ink:#eef5ff; --muted:#a7b9cf; }
body { --line:#29445c; --soft:#112c44; --accent:#209ef4; --accent-text:#4fc0ff; --on-accent:#051522; }
body { --blue:#4cb5ff; --cyan:#50dce6; --green:#60e594; --amber:#ffcd65; --purple:#c69bff; --focus:#ffcf72; }
body { --plot:var(--blue); --plot-fill:#238dea; --ss:var(--blue); --pension:var(--green); --draw:var(--amber); }
[data-theme=light] { color-scheme:light; }
[data-theme=light] body { --bg:#eaf1f8; --panel:#fff; --raised:#f5f9ff; --side:#f8fbff; --ink:#16304d; }
[data-theme=light] body { --muted:#53667b; --line:#c5d5e6; --soft:#e3effb; --accent:#096abd; --on-accent:#fff; }
[data-theme=light] body { --accent-text:#0865b2; --blue:#0967b6; --cyan:#007682; --green:#166d3e; }
[data-theme=light] body { --amber:#865507; --purple:#7936ad; --focus:#a55207; }
button,input,select { font:inherit; }button,a { touch-action:manipulation; }button { cursor:pointer; color:inherit; }
button { border:0; background:none; }a { text-decoration:none; color:inherit; }button:hover,a:hover { filter:brightness(1.13); }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }h1,h2,h3,p { margin:0; }
p { color:var(--muted); }small { display:block; }h1 { font-size:25px; line-height:1.25; font-weight:600; }
h2 { font-size:12px; font-weight:600; letter-spacing:.5px; }h3 { font-size:17px; font-weight:600; }
.icon { width:19px; height:19px; stroke:currentColor; stroke-width:1.6; fill:none; flex-shrink:0; }
.primary,.secondary { min-height:42px; border-radius:5px; padding:10px 15px; font-size:12px; font-weight:600; }
.primary { background:var(--accent); color:var(--on-accent); }.secondary { background:var(--soft); border:1px solid var(--line); }
.small-label,.eyebrow { font-size:10px; letter-spacing:1.3px; color:var(--muted); font-weight:600; }
.blue-text { color:var(--blue); }.cyan-text { color:var(--cyan); }.green-text { color:var(--green); }
.purple-text { color:var(--purple); }.amber-text { color:var(--amber); }.muted { color:var(--muted); }
.dot { display:inline-block; width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.dot.blue,.track .blue { background:var(--blue); }.dot.cyan,.track .cyan { background:var(--cyan); }
.dot.green,.track .green { background:var(--green); }.dot.amber,.track .amber { background:var(--amber); }
.dot.purple,.track .purple { background:var(--purple); }.dot.assets { background:var(--plot); }
.ss { background:var(--ss); }.pension { background:var(--pension); }.draw { background:var(--draw); }
.skip { position:fixed; top:-100px; left:12px; padding:12px; z-index:50; background:var(--panel); }
.skip:focus { top:8px; }.avatar { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; }
.avatar { background:var(--soft); font-size:11px; color:var(--cyan); border:1px solid var(--line); }
.full { width:100%; }.badge { display:inline-block; padding:5px 8px; border-radius:4px; font-size:11px; }
.badge { background:var(--soft); margin-top:12px; }.badge.green { color:var(--green); }.badge.amber { color:var(--amber); }
.badge.blue { color:var(--blue); }.preview-label { font-size:10px; color:var(--amber); letter-spacing:1px; }
#toast { position:fixed; bottom:20px; right:22px; z-index:60; max-width:450px; padding:13px 18px; pointer-events:none; }
#toast { background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:8px; font-size:12px; }
#toast:empty { display:none; }.callout { padding:15px; background:var(--soft); border-left:3px solid var(--amber); }

.sidebar { position:fixed; inset:0 auto 0 0; width:216px; background:var(--side); border-right:1px solid var(--line); }
.sidebar { display:flex; flex-direction:column; padding:25px 12px 18px; overflow-y:auto; }
.brand { display:flex; align-items:center; gap:10px; font-size:23px; line-height:1.2; padding:0 6px; }
.brandmark { width:33px; height:37px; flex-shrink:0; color:var(--blue); }
.brandmark svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2; }
.brand small { font-size:9px; color:var(--muted); margin-top:7px; }.edition { color:var(--cyan); font-size:9px; }
.edition { margin:16px 8px 25px; letter-spacing:1px; }.sidebar nav { display:grid; gap:7px; }
.sidebar nav a { display:flex; align-items:center; gap:12px; padding:12px 10px; border-radius:5px; min-height:44px; }
.sidebar nav a { font-size:12px; }.sidebar nav a .icon { color:var(--muted); }
.sidebar nav a[aria-current=page] { background:linear-gradient(110deg,#086abd,#0453a2) #086abd; color:#fff; }
.sidebar nav a[aria-current=page] .icon { color:#fff; }.side-help { margin:28px 4px 20px; padding:15px 12px; }
.side-help { border:1px solid var(--line); border-radius:5px; font-size:10px; color:var(--muted); }
.side-help strong { display:block; font-size:15px; color:var(--ink); margin:7px 0; }.side-help p { margin-bottom:12px; }
.side-dot { width:7px; height:7px; border-radius:50%; background:var(--amber); display:inline-block; margin-right:5px; }
.side-bottom { margin-top:auto; display:grid; gap:13px; }.side-bottom > a { font-size:11px; color:var(--blue); padding:5px; }
.theme-button { display:flex; align-items:center; gap:9px; padding:10px; font-size:12px; min-height:44px; }
.workspace { margin-left:216px; }.topbar { min-height:64px; border-bottom:1px solid var(--line); padding:13px 25px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:15px; background:var(--side); }
.topbar { position:sticky; top:0; z-index:5; }
.breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:11px; color:var(--muted); }
.breadcrumb a { color:var(--blue); }.breadcrumb strong { font-weight:500; color:var(--ink); }
.top-actions { display:flex; gap:18px; align-items:center; flex-shrink:0; }
.top-actions a { display:flex; align-items:center; gap:7px; color:var(--blue); font-size:12px; }
main { padding:22px 22px 10px; max-width:1800px; margin:auto; }.page-heading { display:flex; align-items:center; }
.page-heading { justify-content:space-between; gap:20px; margin-bottom:20px; }.page-heading h1 { margin:6px 0; }
.page-heading p { font-size:12px; }.plan-pill { border:1px solid var(--line); padding:7px 10px; border-radius:4px; }
.plan-pill { font-size:11px; color:var(--cyan); white-space:nowrap; }.back-link { white-space:nowrap; }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:16px; border:1px solid var(--line); }
.metrics { background:linear-gradient(135deg,var(--panel),var(--raised)); border-radius:7px; padding:18px 0; }
.metric { padding:0 20px; border-right:1px solid var(--line); }.metric:last-child { border:0; }
.metric > span { font-size:10px; letter-spacing:.5px; }.metric strong { display:block; font-size:27px; line-height:1.3; }
.metric strong { margin:7px 0; font-weight:600; }.metric small { font-size:10px; color:var(--muted); }
.metric.blue strong { color:var(--green); }.metric.green strong { color:var(--blue); }
.metric.cyan strong { color:var(--cyan); }.metric.purple strong { color:var(--purple); }
.app-footer { padding:22px; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:10px; }
.draft-banner { background:var(--soft); border-left:3px solid var(--amber); padding:12px 16px; margin-bottom:18px; }
.draft-banner span,.draft-banner small { display:block; font-size:12px; margin-top:5px; color:var(--muted); }

.tile-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:14px; align-items:stretch; }
.tile { background:linear-gradient(140deg,var(--panel),var(--raised)); border:1px solid var(--line); border-radius:7px; }
.tile { display:flex; flex-direction:column; min-width:0; overflow:hidden; }.tile-head { padding:15px 16px 11px; }
.tile-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tile-indicator { width:6px; height:6px; border-radius:50%; background:var(--tile-color); flex-shrink:0; }
.tile.blue { --tile-color:var(--blue); }.tile.green { --tile-color:var(--green); }.tile.cyan { --tile-color:var(--cyan); }
.tile.purple { --tile-color:var(--purple); }.tile.amber { --tile-color:var(--amber); }
.tile-body { padding:8px 16px 16px; flex:1; }.tile-foot { padding:0 16px; border-top:1px solid var(--line); }
.tile-link { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:43px; padding:10px 0; }
.tile-link { font-size:12px; color:var(--accent-text); width:100%; text-align:left; }.tile-link span { font-size:15px; }
.span4 { grid-column:span 4; }.span5 { grid-column:span 5; }.span6 { grid-column:span 6; }
.span7 { grid-column:span 7; }.span8 { grid-column:span 8; }.span12 { grid-column:span 12; }
.mix-tile,.timing-tile { grid-column:span 3; }.journey-tile { grid-column:span 6; }
.income-tile,.investing-tile,.family-tile { grid-column:span 4; }.next-tile { grid-column:span 12; }
.pair { display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.pair { font-size:12px; }.pair span { color:var(--muted); }.pair strong { font-weight:500; text-align:right; }
.tile-note { font-size:12px; line-height:1.65; margin:14px 0 2px; }.retirement-ages { display:flex; gap:24px; }
.retirement-ages { padding:5px 0 13px; }.retirement-ages span { color:var(--muted); font-size:11px; }
.retirement-ages strong { display:block; font-size:48px; font-weight:500; color:var(--green); line-height:1.2; }
.retirement-ages > div:last-child strong { color:var(--cyan); }.budget-number { font-size:34px; color:var(--green); }
.budget-number span { font-size:12px; color:var(--muted); margin-left:8px; }.legacy-number span { font-size:11px; }
.legacy-number strong { display:block; font-size:34px; color:var(--purple); font-weight:500; margin:7px 0; }
.legacy-number small { font-size:11px; color:var(--muted); }.progress-row { margin:16px 0; }
.progress-row > div:first-child { display:flex; justify-content:space-between; gap:10px; font-size:12px; }
.progress-row strong { font-weight:500; }.track { height:7px; border-radius:5px; background:var(--soft); margin-top:8px; }
.track span { display:block; height:100%; border-radius:5px; }.decision-list { display:grid; grid-template-columns:1fr 1fr 1fr; }
.decision-list { gap:28px; }.table-wrap { overflow-x:auto; }table { width:100%; border-collapse:collapse; font-size:12px; }
th,td { text-align:left; padding:12px 9px; border-bottom:1px solid var(--line); }th { font-weight:500; color:var(--muted); }
th:first-child,td:first-child { padding-left:0; }td:last-child { color:var(--cyan); }caption { text-align:left; padding:10px 0; }
.scenario-ages { font-size:42px; color:var(--tile-color); line-height:1.3; }.scenario-ages span { font-size:12px; display:block; }
.scenario-ages span { color:var(--muted); }.tile-link[aria-pressed=true] { color:var(--green); }
.allocation { display:flex; align-items:center; gap:20px; flex-wrap:wrap; justify-content:center; padding:12px 0; }
.donut { width:162px; height:162px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; }
.donut { background:conic-gradient(#279df5 0 55%,#27cedd 55% 80%,#f6bd43 80% 95%,#a870ef 95%); }
.donut > div { width:117px; height:117px; background:var(--panel); border-radius:50%; display:grid; align-content:center; }
.donut strong { font-size:23px; text-align:center; font-weight:500; }.donut span { font-size:10px; text-align:center; }
.allocation-key { flex:1; min-width:125px; }.allocation-key > div { display:flex; justify-content:space-between; }
.allocation-key > div { gap:12px; padding:8px 0; font-size:12px; }.allocation-key span { display:flex; gap:8px; align-items:center; }

.phase-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin-bottom:14px; }
.phase-tabs button { padding:7px 5px; border:1px solid var(--line); border-radius:5px; font-size:9px; color:var(--muted); }
.phase-tabs span { font-size:12px; display:block; color:var(--ink); }.phase-tabs button[aria-pressed=true] { color:var(--blue); }
.phase-tabs button[aria-pressed=true] { border-color:var(--blue); background:var(--soft); }
.chart-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.chart-heading .muted { font-size:10px; }.chart-heading strong { display:block; color:var(--blue); font-size:25px; }
.chart-stage { font-size:10px; color:var(--muted); }.asset-chart { display:block; width:100%; margin:9px 0; }
.chart-line { stroke:var(--plot); stroke-width:3; fill:none; }.chart-area { fill:url(#area); }
.asset-chart stop { stop-color:var(--plot-fill); stop-opacity:.33; }.chart-grid line { stroke:var(--line); }
.chart-grid text,.chart-years { fill:var(--muted); font-size:12px; }.chart-cursor { stroke:var(--blue); }
.chart-cursor { stroke-dasharray:4 4; opacity:.5; }.chart-point { fill:var(--blue); stroke:var(--panel); stroke-width:3; }
.chart-caption { display:flex; justify-content:space-between; gap:10px; font-size:10px; color:var(--muted); }
.chart-caption .dot { margin-right:5px; }.horizon-strip { display:flex; justify-content:space-between; gap:12px; }
.horizon-strip { padding:10px 0; margin-top:5px; border-bottom:1px solid var(--line); font-size:10px; color:var(--muted); }
.horizon-strip strong { display:block; font-size:15px; color:var(--green); font-weight:500; margin-top:3px; }
.horizon-strip > span:last-child strong { color:var(--purple); }.data-details { font-size:10px; color:var(--muted); }
.data-details summary { cursor:pointer; min-height:28px; padding:5px 0; }.data-details table { font-size:11px; }
.funding-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.funding-heading .eyebrow { font-size:10px; }.funding-year { border:1px solid var(--line); padding:3px 8px; font-size:10px; }
.funding-year { border-radius:4px; }.funding-total { font-size:33px; color:var(--amber); margin:8px 0 2px; }
.funding-total > span { font-size:12px; color:var(--muted); margin-left:6px; }.funding-sub { font-size:11px; }
.funding-bar { display:flex; height:9px; gap:3px; border-radius:4px; overflow:hidden; margin:17px 0 12px; }
.funding-rows { margin:0; }.funding-rows > div { display:flex; align-items:center; justify-content:space-between; padding:7px 0; }
.funding-rows dt { display:flex; gap:8px; align-items:center; font-size:12px; }.funding-rows dd { font-size:13px; margin:0; }
.funding-gap { border-top:1px solid var(--line); display:flex; justify-content:space-between; padding:11px 0 0; margin-top:8px; }
.funding-gap { font-size:11px; }.funding-gap strong { color:var(--green); }.funding-note { font-size:11px; margin-top:12px; }
.funding-link { display:none; }

dialog { inset:0 auto 0 0; margin:0; width:520px; height:100dvh; max-height:100dvh; max-width:100%; padding:0; }
dialog { border:0; border-right:1px solid var(--line); background:var(--panel); color:var(--ink); }
dialog[open] { display:flex; flex-direction:column; }.dialog-head,.dialog-footer { flex-shrink:0; }
.dialog-body { overflow-y:auto; flex:1; min-height:0; }
dialog::backdrop { background:#020b18bd; backdrop-filter:blur(4px); }
.dialog-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px; }
.dialog-head { border-bottom:1px solid var(--line); }.dialog-head h2 { font-size:24px; letter-spacing:0; margin-top:8px; }
.close-button { width:42px; height:42px; border:1px solid var(--line); border-radius:6px; font-size:25px; flex-shrink:0; }
.dialog-body { padding:25px; }.dialog-intro { font-size:13px; line-height:1.65; margin-bottom:25px; }
.detail-tile { border:1px solid var(--line); border-radius:7px; padding:18px; margin-bottom:16px; }
.detail-tile h3 { color:var(--blue); margin-bottom:13px; }.detail-tile p { font-size:14px; line-height:1.75; }
.dialog-footer { padding:20px 24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; }
.dialog-footer { align-items:center; gap:12px; }.home-link { display:flex; gap:8px; align-items:center; color:var(--blue); }
.home-link { font-size:13px; }.form-grid { display:grid; gap:20px; }
.form-grid label { display:block; font-size:13px; }.form-grid input,.form-grid select { width:100%; margin-top:9px; }
.form-grid input,.form-grid select { min-height:44px; border:1px solid var(--line); border-radius:5px; padding:12px; }
.form-grid input,.form-grid select { background:var(--bg); color:var(--ink); }.form-actions { display:flex; gap:12px; }
.form-actions { flex-wrap:wrap; }.dialog-body .callout { margin:24px 0; font-size:12px; line-height:1.65; }

@media(min-width:1800px) { main { padding:28px 30px; }.sidebar { width:235px; }.workspace { margin-left:235px; } }
@media(max-width:1200px) {
  .sidebar,.spectrum .sidebar { width:195px; }.workspace,.spectrum .workspace { margin-left:195px; }
  .brand { font-size:21px; gap:6px; }.brand small { font-size:8px; }.brandmark { width:28px; }
  main { padding:20px 16px 10px; }.metric { padding:0 13px; }.metric strong { font-size:23px; }
  .mix-tile,.timing-tile { grid-column:span 6; }.journey-tile { grid-column:span 12; }
  .spectrum .journey-tile { grid-column:span 8; }.spectrum .timing-tile { grid-column:span 4; }
  .income-tile,.investing-tile,.family-tile { grid-column:span 6; }.next-tile { grid-column:span 6; }
  .decision-list { grid-template-columns:1fr; gap:0; }.span4 { grid-column:span 6; }.span8 { grid-column:span 12; }
  .span5,.span7 { grid-column:span 6; }.classic .asset-chart { max-height:230px; }
  .spectrum .mix-tile,.spectrum .income-tile,.spectrum .investing-tile { grid-column:span 6; }
}
@media(max-width:850px) {
  .sidebar,.spectrum .sidebar { position:relative; width:100%; padding:16px 18px; overflow:visible; }
  .sidebar { display:grid; grid-template-columns:1fr auto; gap:15px; border-right:0; border-bottom:1px solid var(--line); }
  .workspace,.spectrum .workspace { margin-left:0; }.sidebar nav { grid-column:1/-1; grid-row:2; display:flex; }
  .sidebar nav { flex-wrap:wrap; gap:4px; }.sidebar nav a { padding:8px 10px; font-size:12px; min-height:40px; }
  .sidebar nav .icon { display:none; }.edition,.side-help { display:none; }.side-bottom { margin:0; gap:4px; }
  .side-bottom a { font-size:10px; padding:0; }.theme-button { padding:4px; }.topbar { padding:13px 18px; }
  .brand small { font-size:9px; }.metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; }
  .metric:nth-child(2) { border-right:0; }.spectrum .metrics { gap:10px; }.spectrum .metric { padding:14px; }
  .top-actions .preview-label { display:none; }.spectrum .journey-tile { grid-column:span 12; }
  .spectrum .timing-tile { grid-column:span 6; }.spectrum .timing-tile .retirement-ages strong { font-size:48px; }
  .spectrum .timing-tile .retirement-ages { padding:6px 0 16px; }
}
@media(max-width:580px) {
  .tile-grid { display:flex; flex-direction:column; gap:14px; }.metrics { padding:15px 0; }.metric { padding:0 12px; }
  .metric strong { font-size:23px; }.metric small { font-size:10px; }.metric > span { font-size:9px; }
  .page-heading { align-items:flex-start; flex-direction:column; gap:12px; }h1 { font-size:24px; }
  .page-heading .small-label { font-size:9px; }.page-heading p { font-size:13px; }.page-heading { margin-bottom:17px; }
  .breadcrumb { font-size:10px; gap:6px; }.top-actions { gap:8px; }.top-actions .avatar { display:none; }
  .allocation { flex-wrap:nowrap; }.donut { width:145px; height:145px; }.donut > div { width:105px; height:105px; }
  .allocation-key { min-width:100px; }.tile-head h2 { font-size:12px; }.phase-tabs button { font-size:9px; }
  .chart-heading { flex-wrap:wrap; }.chart-caption { flex-wrap:wrap; }.app-footer { flex-direction:column; gap:7px; }
  .form-actions { flex-direction:column; }.dialog-body,.dialog-head { padding:20px; }#toast { left:16px; right:16px; }
  .dialog-footer { padding:18px; }.side-bottom a { max-width:135px; }.spectrum .metrics { padding:0; }
  .sidebar { gap:10px; }.brand { font-size:22px; }.brand small { font-size:8px; }.brandmark { width:28px; }
}

.classic .metrics { padding:14px 0; }.classic .metric strong { margin:4px 0; font-size:26px; }
.dashboard-grid .tile-head { padding:12px 16px 8px; }
.dashboard-grid .tile-body { padding-top:6px; padding-bottom:10px; }
.dashboard-grid .chart-heading .muted { display:block; line-height:15px; }
.dashboard-grid .chart-heading strong { line-height:28px; font-size:23px; }
.dashboard-grid .horizon-strip { padding:6px 0; }
.dashboard-grid .horizon-strip strong { display:inline; font-size:13px; margin-left:6px; }
.dashboard-grid .data-details summary { min-height:24px; }
.classic .dashboard-grid .asset-chart { height:140px; }
.dashboard-grid .phase-tabs { margin-bottom:10px; }
.dashboard-grid .funding-total { font-size:29px; line-height:1.3; margin:4px 0; }
.dashboard-grid .funding-bar { margin:12px 0 8px; }.dashboard-grid .funding-rows > div { padding:5px 0; }
.dashboard-grid .funding-note { line-height:1.5; margin-top:10px; }
.dashboard-grid .funding-gap { padding-top:8px; margin-top:6px; }
.classic .dashboard-grid .allocation { padding:5px 0; }
.classic .dashboard-grid .donut { width:145px; height:145px; }
.classic .dashboard-grid .donut > div { width:105px; height:105px; }
.classic .dashboard-grid .allocation-key > div { padding:6px 0; }
.classic .dashboard-grid .retirement-ages { padding-bottom:8px; }
.classic .dashboard-grid .tile-foot .tile-link { min-height:39px; }
.classic .page-heading { margin-bottom:16px; }
@media(max-width:580px) { .dashboard-grid .horizon-strip strong { display:block; margin-left:0; } }

.topbar { display:grid; grid-template-columns:minmax(150px,1fr) auto minmax(160px,1fr); min-height:55px; padding:10px 20px; }
.topbar h1 { font-size:21px; text-align:center; font-weight:600; max-width:590px; line-height:1.25; }
.top-actions { justify-content:flex-end; }.top-actions .preview-label { display:none; }
main { padding-top:8px; }.page-context { display:flex; justify-content:space-between; gap:15px; margin:2px 0 10px; }
.page-context { font-size:11px; color:var(--muted); }.page-context a { color:var(--blue); }
.back-link { padding:0; min-height:24px; }.dashboard-grid .horizon-strip { display:none; }
.next-decision-icon { color:var(--green); margin:8px 0 12px; }.next-decision-icon svg { width:30px; height:30px; }
.timing-tile h3 { font-size:20px; line-height:1.35; }.asset-intro { font-size:12px; color:var(--muted); margin:8px 0; }
.class-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:8px 0 15px; }
.class-summary strong { color:var(--tile-color); font-size:28px; font-weight:500; }.class-summary span { font-size:12px; }
.asset-link { color:var(--blue); display:block; min-height:40px; }.asset-link small { font-size:10px; color:var(--muted); }
.asset-link small { margin-top:4px; max-width:200px; }.asset-link strong { font-size:13px; }
.signal { display:inline-flex; align-items:center; gap:7px; font-size:11px; white-space:nowrap; }
.signal i { width:8px; height:8px; border-radius:50%; flex-shrink:0; }.signal.add i { background:#46d986; }
.signal.hold i { background:#efca42; }.signal.reduce i { background:#ef6974; }.signal.review i { background:#9aaec5; }
.signal-legend { display:flex; flex-wrap:wrap; gap:12px 20px; padding:12px 15px; background:var(--soft); margin-bottom:15px; }
.signal-legend { border:1px solid var(--line); border-radius:5px; }.signal-legend small { flex-basis:100%; color:var(--muted); }
.signal-legend small { font-size:11px; }.asset-link:hover { text-decoration:underline; }td:has(.signal) { color:var(--ink); }
.account-control { position:relative; }.account-control .avatar { cursor:pointer; width:34px; height:34px; }
#account-menu { position:absolute; right:0; top:44px; width:250px; padding:10px; border:1px solid var(--line); }
#account-menu { background:var(--panel); border-radius:8px; box-shadow:0 12px 30px #0005; z-index:20; }
#account-menu[hidden] { display:none; }#account-menu strong { display:block; font-size:12px; padding:8px; }
#account-menu a { display:block; color:var(--ink); font-size:13px; padding:11px; border-radius:4px; }
#account-menu a:hover { background:var(--soft); }.field { display:block; font-size:13px; margin:8px 0; }
.field select,.form-grid input,.form-grid textarea { font:inherit; width:100%; margin-top:8px; min-height:44px; }
.field select,.form-grid textarea { color:var(--ink); background:var(--bg); border:1px solid var(--line); padding:10px; }
.form-grid input[type=checkbox] { width:18px; min-height:18px; margin:0; }.form-grid fieldset { border:1px solid var(--line); }
.check-row { display:flex!important; align-items:center; gap:10px; margin:10px 0; }
.form-actions { margin-top:22px; }#invite-error { color:var(--amber); margin-top:15px; }
.switch-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; font-size:13px; }
.switch-row input { width:38px; height:22px; accent-color:var(--accent); }.switch-ui { display:none; }
.checkbox-list { display:grid; grid-template-columns:1fr 1fr; gap:15px; padding:10px 0; }
.checkbox-list label { display:flex; align-items:center; gap:9px; font-size:13px; }.checkbox-list input { width:18px; height:18px; }
.faq details { border-bottom:1px solid var(--line); padding:12px 0; }.faq summary { cursor:pointer; font-size:13px; }
.faq p { font-size:13px; margin-top:10px; }.guide-links { display:grid; gap:12px; }
.guide-links a { color:var(--blue); border-bottom:1px solid var(--line); padding:10px 0; font-size:13px; }
video { width:100%; border:1px solid var(--line); border-radius:5px; background:#061322; }.research-card { margin-top:20px; }
.large-text .tile-body p,.large-text .tile-link,.large-text .pair,.large-text td,.large-text th { font-size:16px; }

@media(max-width:1100px) {
  .topbar { grid-template-columns:minmax(110px,1fr) minmax(200px,2fr) minmax(90px,1fr); gap:10px; }
  .topbar h1 { font-size:19px; }.breadcrumb { font-size:10px; gap:5px; }.top-actions { gap:10px; }
  .top-actions .avatar { display:grid; }.tile:has(.asset-link) { grid-column:span 12; }
}
@media(max-width:580px) {
  .topbar { grid-template-columns:1fr auto; padding:8px 15px; gap:6px; }
  .topbar h1 { grid-column:1/-1; grid-row:2; max-width:none; font-size:18px; }
  .top-actions { grid-column:2; grid-row:1; }.breadcrumb { grid-column:1; grid-row:1; }
  .top-actions .avatar { display:grid; }.page-context { font-size:10px; flex-wrap:wrap; gap:3px; }
  .page-context > span:last-child { display:none; }.checkbox-list { grid-template-columns:1fr; }
  .signal { font-size:10px; }.asset-link small { max-width:110px; }.class-summary strong { font-size:25px; }
  .tile:has(.asset-link) th,.tile:has(.asset-link) td { padding:10px 5px; font-size:11px; }
  .tile:has(.asset-link) td:last-child .signal { white-space:normal; }.signal-legend { gap:10px; }
  #account-menu { width:240px; }.topbar h1 { overflow-wrap:anywhere; }
}
main:focus { outline:none; }
.switch-row input { appearance:none; background:var(--muted); border:2px solid var(--muted); border-radius:20px; }
.switch-row input { position:relative; cursor:pointer; flex-shrink:0; width:40px; height:24px; }
.switch-row input::before { content:''; width:16px; height:16px; background:var(--bg); border-radius:50%; }
.switch-row input::before { position:absolute; left:2px; top:2px; }
.switch-row input:checked { background:var(--blue); border-color:var(--blue); }
.switch-row input:checked::before { left:18px; }
@media(forced-colors:active) { .switch-row input { appearance:auto; } }

.brand { margin-bottom:28px; }.side-help a { color:var(--blue); font-size:12px; }
.setup-intro { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:12px 0 22px; }
.setup-intro h2 { font-size:21px; letter-spacing:0; margin-bottom:7px; }.setup-intro p { font-size:13px; }
.setup-intro .primary { white-space:nowrap; }.setup-value { font-size:29px; color:var(--tile-color); margin:5px 0 14px; }
.person-avatar { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; }
.person-avatar { background:var(--soft); color:var(--cyan); font-size:22px; margin:0 0 15px; }
.household-ages { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:18px; }
.household-ages strong { color:var(--green); font-size:35px; display:block; }.household-ages small { color:var(--muted); }
.household-ages small { font-size:10px; max-width:130px; }.metric.purple strong { font-size:17px; }
.field-hint { font-size:12px; color:var(--muted); margin:16px 0; }#setup-error { color:var(--amber); margin:15px 0; }
.form-grid fieldset { padding:12px; }.form-grid textarea { max-width:100%; }.inline-link { color:var(--blue); }
.inline-link { font-size:12px; display:inline-block; padding:6px 0; }
.page-context:empty { display:none; }.tile-body .tile-link { border:0; padding:8px 0; }
.metric.green strong { font-size:18px; }
.large-text .future-controls label,.large-text .future-control>span { font-size:15px; }
.large-text .year-readout span,.large-text .outcome-strip span { font-size:14px; }
@media(max-width:580px) { .setup-intro { display:block; }.setup-intro .primary { display:inline-block; margin-top:15px; }
  .setup-intro h2 { font-size:19px; }.brand { margin-bottom:0; }.metric.purple strong { font-size:14px; } }

.future-tile { overflow:hidden; }.future-header { display:flex; align-items:center; justify-content:space-between; }
.future-header { gap:20px; padding:20px 24px; border-bottom:1px solid var(--line); }.future-header h2 { color:var(--cyan); }
.future-header p { font-size:13px; margin-top:7px; }.future-actions { display:flex; gap:10px; }
.future-layout { display:grid; grid-template-columns:300px minmax(0,1fr); }.future-controls { padding:23px; }
#future-controls { background:var(--side); border-right:1px solid var(--line); }.control-heading { display:flex; }
.control-heading { align-items:center; gap:10px; margin:0 0 14px; }.control-heading h3 { font-size:14px; }
.control-heading:not(:first-child) { margin-top:25px; border-top:1px solid var(--line); padding-top:23px; }
.section-number { color:var(--cyan); font-size:11px; border:1px solid var(--line); padding:3px 6px; border-radius:5px; }
.future-control { display:block; margin:18px 0; }.future-control > span { display:flex; justify-content:space-between; }
.future-control > span { font-size:12px; color:var(--muted); gap:8px; }.future-control output { color:var(--cyan); }
.future-control output { font-size:16px; font-weight:600; white-space:nowrap; }.future-control input { width:100%; }
input[type=range] { accent-color:var(--blue); min-height:28px; cursor:pointer; }
.future-controls .field { font-size:12px; }.future-controls input[type=number] { width:100%; margin-top:8px; padding:9px; }
.future-controls input[type=number] { background:var(--bg); border:1px solid var(--line); color:var(--ink); }
.future-results { padding:25px; min-width:0; }.result-title { display:flex; justify-content:space-between; gap:15px; }
.result-title h3 { font-size:18px; }.quiet-label { font-size:11px; color:var(--muted); }
#future-status { font-size:11px; color:var(--cyan); max-width:300px; text-align:right; }
.result-lead { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:28px 0 15px; }
.result-lead span { font-size:12px; color:var(--muted); }.result-lead strong { display:block; font-size:37px; }
.result-lead strong { color:var(--green); font-weight:500; }.result-lead .result-delta { color:var(--cyan); }
.future-chart { width:100%; height:260px; overflow:visible; }.projection-line { fill:none; stroke:var(--blue); stroke-width:3; }
.baseline-line { fill:none; stroke:var(--muted); stroke-width:1.5; stroke-dasharray:5 5; }
.chart-grid-line { stroke:var(--line); stroke-width:1; }.axis-label { fill:var(--muted); font:11px 'Segoe UI',sans-serif; }
.cursor-line { stroke:var(--cyan); stroke-dasharray:3 4; opacity:.6; }.chart-key { display:flex; gap:25px; }
.chart-key { font-size:11px; color:var(--muted); }.chart-key span { display:flex; align-items:center; gap:6px; }
.baseline-dash { display:inline-block; width:18px; border-top:2px dashed var(--muted); }
.year-scrubber { display:block; font-size:12px; margin:20px 0 12px; }.year-scrubber output { float:right; color:var(--cyan); }
.year-scrubber input { display:block; width:100%; margin-top:6px; }.year-readout { display:grid; }
.year-readout { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:14px; background:var(--soft); border-radius:6px; }
.year-readout span,.outcome-strip span { font-size:11px; color:var(--muted); }.year-readout strong { display:block; }
.year-readout strong { color:var(--ink); font-size:17px; margin-top:5px; font-weight:500; }
.outcome-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:23px 0 18px; }
.outcome-strip strong { display:block; font-size:17px; margin-top:6px; }.future-footer { display:flex; }
.future-footer { border-top:1px solid var(--line); margin-top:16px; justify-content:space-between; gap:15px; }
.future-footer .tile-link { width:auto; padding:14px 0 0; min-height:36px; font-size:11px; }
#future-output[aria-busy=true] { opacity:.4; }.result-placeholder { padding:150px 25px; color:var(--muted); text-align:center; }
.mobile-live { display:none; }.future-results { scroll-margin-top:105px; }
@media(max-width:1100px) { .future-layout { grid-template-columns:250px minmax(0,1fr); }.future-results { padding:18px; }
 .year-readout { grid-template-columns:repeat(2,1fr); }.result-lead { align-items:flex-start; flex-direction:column; } }
@media(max-width:700px) { .future-layout { display:block; }#future-controls { border-right:0; }
 .future-header { display:block; }.future-actions { margin-top:15px; }.future-controls { padding:18px; }
 .future-chart { height:210px; }.outcome-strip { grid-template-columns:1fr; }.future-results { padding:16px; }
 .future-footer { flex-wrap:wrap; }.future-header { padding:18px; }.result-title { flex-wrap:wrap; } }
@media(max-width:700px) { .mobile-live { display:flex; position:fixed; bottom:12px; left:12px; right:12px; z-index:8; }
 .mobile-live { align-items:center; justify-content:space-between; gap:15px; background:var(--panel); padding:12px; }
 .mobile-live { border:1px solid var(--blue); border-radius:8px; box-shadow:0 8px 25px #0005; }
 .mobile-live span { font-size:11px; color:var(--muted); }.mobile-live strong { display:block; font-size:20px; }
 .mobile-live strong { color:var(--green); }.future-tile { margin-bottom:100px; } }

.overview-tools { display:flex; justify-content:flex-end; margin:0 0 12px; font-size:12px; }
.overview-tools a { color:var(--accent-text); padding:5px 0; }
.dashboard-grid { display:flex; flex-direction:row; flex-wrap:wrap; align-items:stretch; gap:14px; }
.dashboard-grid > .tile { flex:1 1 calc((100% - 28px)/3); min-width:0; }
.dashboard-grid > .journey-tile,.dashboard-grid > .next-tile { flex-basis:100%; }
.dashboard-grid .tile-body { min-height:0; }
.dashboard-grid .next-decision-icon { margin:0 0 10px; }
.dashboard-grid .decision-list { display:flex; flex-wrap:wrap; gap:10px 28px; }
.dashboard-grid .decision-list > a { flex:1 1 220px; }
.holdings-summary { display:flex; flex-wrap:wrap; gap:16px; }
.holding-summary { flex:1 1 200px; padding:0 0 13px; border-bottom:1px solid var(--line); }
.holding-summary.blue { --holding-color:var(--blue); }.holding-summary.purple { --holding-color:var(--purple); }
.holding-label { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:var(--muted); }
.holding-label > span:first-child { color:var(--ink); }.holding-label .dot { margin-right:7px; }
.holding-summary > strong { display:block; font-size:30px; font-weight:500; color:var(--holding-color); margin:4px 0; }
.holding-tickers { display:flex; flex-wrap:wrap; gap:7px; }
.holding-tickers a { padding:4px 9px; border:1px solid var(--line); border-radius:5px; font-size:11px; }
.holding-class { display:block; color:var(--accent-text); font-size:12px; padding-top:8px; }
.funding-alert { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:14px 0; }
.funding-alert { padding:14px 18px; border:1px solid var(--amber); border-radius:7px; background:var(--panel); }
.funding-alert strong { display:block; color:var(--amber); }.funding-alert span { font-size:12px; }
.dashboard-grid:empty::after { content:'Choose your overview tiles using Tiles in the page header or Settings.'; }
.dashboard-grid:empty::after { padding:24px; width:100%; box-sizing:border-box; min-width:0; }
.dashboard-grid:empty::after { background:var(--panel); color:var(--muted); }
@media(max-width:1200px) { .dashboard-grid > .tile { flex-basis:calc((100% - 14px)/2); } }
@media(max-width:1200px) { .dashboard-grid > .journey-tile,.dashboard-grid > .next-tile { flex-basis:100%; } }
@media(max-width:700px) { .dashboard-grid > .tile { flex-basis:100%; }.funding-alert { flex-wrap:wrap; } }

.beta-tag { display:inline-block; font-size:10px; letter-spacing:.5px; font-weight:600; color:var(--purple); }
.beta-tag { padding:3px 8px; border:1px solid var(--purple); border-radius:20px; vertical-align:middle; }
.tile-head .beta-tag { margin-left:8px; }.mdio-description { font-size:12px; margin-top:14px; }
.mdio-switch-row { display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:13px; }
.mdio-switch { width:48px; height:28px; padding:3px; border:1px solid var(--muted); border-radius:20px; }
.mdio-switch { background:var(--soft); flex-shrink:0; }.mdio-switch span { display:block; width:20px; height:20px; }
.mdio-switch span { border-radius:50%; background:var(--muted); }
.mdio-switch[aria-checked=true] { background:var(--accent); border-color:var(--accent); }
.mdio-switch[aria-checked=true] span { transform:translateX(18px); background:var(--on-accent); }
.mdio-panel { display:grid; gap:18px; }.mdio-panel > .beta-tag { justify-self:start; }
.mdio-panel p,.mdio-panel li { font-size:14px; line-height:1.65; }
.mdio-panel .form-actions { display:flex; flex-wrap:wrap; gap:10px; }
.mdio-prices { border:0; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mdio-prices legend { font-size:12px; margin-bottom:12px; color:var(--muted); }
.mdio-prices label { padding:16px; border:1px solid var(--line); border-radius:8px; display:flex; gap:10px; }
.mdio-prices label:has(input:checked) { border-color:var(--cyan); background:var(--soft); }
.mdio-prices input { align-self:start; margin-top:6px; accent-color:var(--accent); }
.mdio-prices strong { display:block; font-size:30px; font-weight:600; color:var(--ink); }
.mdio-prices small { font-size:11px; color:var(--muted); font-weight:400; }
.mdio-prices label > span > small { margin-top:10px; color:var(--green); }
.mdio-consent { display:flex; gap:12px; padding:16px; border:1px solid var(--line); border-radius:8px; }
.mdio-consent { font-size:13px; }.mdio-consent input { flex-shrink:0; width:18px; }
.mdio-panel .mdio-benefits { margin:0; padding-left:20px; }.mdio-panel button:disabled { cursor:not-allowed; opacity:.6; }
#mdio-feedback { color:var(--amber); }#mdio-feedback:empty { display:none; }
@media(max-width:480px) { .mdio-prices { grid-template-columns:1fr; }.mdio-panel .form-actions > * { width:100%; } }

.allocation-key > a { display:flex; justify-content:space-between; gap:12px; padding:8px 0; font-size:12px; }
.allocation-key { min-width:175px; }.allocation-key a span { display:flex; align-items:center; gap:8px; }
.category-children { margin-top:12px; }.category-children a { display:flex; justify-content:space-between; gap:12px; }
.category-children a { padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; }
.category-children strong { color:var(--accent-text); font-weight:500; text-align:right; }
.asset-empty { padding:22px 0; }.asset-empty p { padding-top:12px; }
.valuation-notice { margin:8px 0 16px; padding:12px; background:var(--soft); border-left:3px solid var(--amber); }
.valuation-notice { font-size:12px; }.tile-choice { display:flex; align-items:center; gap:10px; padding:10px 0; }
.tile-choice span { flex:1; }.default-tag { color:var(--cyan); font-size:10px; border:1px solid var(--line); }
.default-tag { padding:2px 7px; border-radius:20px; }.tile-choice input { flex-shrink:0; }
.choice-section + .choice-section { margin-top:24px; }.choice-section h3 { margin:0 0 10px; font-size:14px; }
#holding-form .form-grid { grid-template-columns:1fr 1fr; }#holding-error { color:var(--amber); }
#holding-form .field-wide { grid-column:1/-1; }.asset-total { font-size:30px; color:var(--tile-color); }
@media(max-width:600px) { #holding-form .form-grid { grid-template-columns:1fr; } }

.retention-steps { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0; gap:10px; margin:0; }
.retention-steps li { color:var(--muted); font-size:11px; padding-top:10px; border-top:2px solid var(--line); }
.retention-steps li[aria-current=step] { color:var(--cyan); border-color:var(--cyan); }
.retention-steps li > span { display:block; font-weight:700; font-size:15px; margin-bottom:4px; }
.retention-benefits { display:grid; gap:12px; }.retention-benefits section { padding:16px; border-radius:7px; }
.retention-benefits section { background:var(--soft); border-left:3px solid var(--cyan); }
.retention-benefits section:nth-child(2) { border-color:var(--purple); }
.retention-benefits section:nth-child(3) { border-color:var(--green); }
.retention-benefits h4 { margin:0 0 6px; font-size:15px; }.retention-benefits p { font-size:13px; }
.retention-saving { color:var(--green); font-weight:600; }.retention-price { font-size:42px; color:var(--green); }
.retention-price span { font-size:14px; color:var(--muted); }
.retention-review { max-width:1050px; margin:0 auto; padding:30px 24px; }
.retention-review > header { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.retention-review h1 { margin:28px 0 14px; }.retention-review > p { margin-bottom:24px; }
.retention-review .tile-grid { margin:24px 0; }.retention-review .field { max-width:360px; margin:20px 0; }
.retention-review .tile-body { padding-top:16px; }.retention-review .form-actions { margin-top:16px; }
.retention-dialog .dialog-footer { display:flex; flex-wrap:wrap; gap:10px; }
.retention-dialog .dialog-footer .form-actions { display:flex; flex-wrap:wrap; margin:0; gap:8px; flex:1; }
.retention-dialog .dialog-footer .home-link { align-self:center; }
@media(max-width:480px) { .retention-steps { gap:6px; }.retention-steps li { font-size:10px; } }

.milestone-row,.exposure-row { display:flex; gap:14px; align-items:center; padding:14px 0; }
.milestone-row,.exposure-row { border-bottom:1px solid var(--line); }
.milestone-row > :last-child,.exposure-row > :last-child { margin-left:auto; text-align:right; }
.milestone-row small,.exposure-row small { color:var(--muted); font-size:11px; font-weight:400; }
.milestone-age { background:var(--soft); color:var(--green); padding:7px; border-radius:8px; font-size:23px; }
.milestone-age small { font-size:8px; }.exposure-rank { color:var(--muted); font-size:19px; }
.dashboard-grid .allocation-key { min-width:0; }.dashboard-grid .allocation-key a { gap:8px; }
.dashboard-grid .allocation-key a span { overflow-wrap:anywhere; }
.import-guide { display:grid; gap:16px; }.import-guide ol { padding-left:18px; color:var(--muted); }
.import-guide li { margin:8px 0; }.import-guide input { max-width:100%; }
.import-guide > label { display:grid; gap:8px; }
.import-guide input:not([type=checkbox]) { padding:11px; min-height:44px; border:1px solid var(--line); }
.import-guide input:not([type=checkbox]) { width:100%; border-radius:6px; background:var(--bg); color:var(--ink); }
.import-guide input::file-selector-button { border:0; border-radius:4px; padding:8px; margin-right:8px; }
.import-guide input::file-selector-button { background:var(--soft); color:var(--ink); cursor:pointer; }
.import-error { color:var(--amber); margin:14px 0; }.import-row { padding:16px 0; border-bottom:1px solid var(--line); }
.import-row legend { color:var(--cyan); }.import-row label { display:block; margin:8px 0; }
.import-row select { width:100%; background:var(--bg); color:var(--ink); padding:10px; }
.import-row { min-width:0; }.import-row input[type=checkbox] { width:auto; }
.import-stage { margin:16px 0; padding:16px; border:1px solid var(--line); border-radius:6px; }
.classic .metrics { margin-bottom:14px; }.page-context:empty { display:none; }
@media(prefers-reduced-motion:no-preference) { dialog[open] { animation:drawer-enter .18s ease-out; } }
@keyframes drawer-enter { from { transform:translateX(-100%); } to { transform:translateX(0); } }
.category-grid { display:flex; flex-wrap:wrap; }.category-grid > .tile { flex:1 1 calc((100% - 14px)/2); min-width:0; }
.category-grid > .tile:last-child { flex-basis:100%; }
@media(max-width:700px) { .category-grid > .tile { flex-basis:100%; } }

.tile-grid:not(.dashboard-grid):not(.category-grid){display:flex;flex-wrap:wrap;flex-direction:row}
.tile-grid:not(.dashboard-grid):not(.category-grid)>.tile{flex:1 1 calc((100% - 28px)/3);min-width:0}
.tile-grid:not(.dashboard-grid):not(.category-grid)>.span5{flex-basis:calc(41.666% - 7px)}
.tile-grid:not(.dashboard-grid):not(.category-grid)>.span6{flex-basis:calc(50% - 7px)}
.tile-grid:not(.dashboard-grid):not(.category-grid)>.span7{flex-basis:calc(58.333% - 7px)}
.tile-grid:not(.dashboard-grid):not(.category-grid)>.span8{flex-basis:calc(66.666% - 7px)}
.tile-grid:not(.dashboard-grid):not(.category-grid)>.span12{flex-basis:100%}
.research-intro,.connection-intro{display:grid;gap:18px;align-content:start}
.research-intro h2,.connection-intro h2{font-size:clamp(25px,2.8vw,38px);line-height:1.2;letter-spacing:-.5px}
.research-intro p,.connection-intro p{max-width:70ch;line-height:1.8}
.research-pillars{display:flex;gap:12px;flex-wrap:wrap}
.research-pillars span{padding:8px 13px;border:1px solid var(--line);border-radius:7px;color:var(--cyan)}
.primary-action{background:var(--accent);color:var(--on-accent);padding:12px 18px;border-radius:6px;font-weight:650}
.primary-action:disabled{opacity:.55;cursor:not-allowed}
.billing-choice{display:grid;gap:10px;border:0;margin:0 0 18px;padding:0}
.billing-choice legend{margin-bottom:12px;color:var(--muted)}
.billing-choice label{display:flex;gap:12px;border:1px solid var(--line);border-radius:7px;padding:14px}
.billing-choice strong{font-size:26px}.billing-choice small{display:block;color:var(--green)}
.consent-line{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px;font-size:12px}
.consent-line input{flex-shrink:0;margin-top:3px}.consent-line span{line-height:1.7}
.research-footnote{margin:18px 0;color:var(--muted);font-size:12px}
.research-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.research-toolbar p{flex:1;min-width:180px}.research-toolbar a{color:var(--accent-text)}
.research-search{display:flex;gap:14px;align-items:end;flex-wrap:wrap}
.research-search label{display:grid;gap:8px;flex:1 1 170px}.research-search .research-question{flex:3 1 300px}
.research-search input{width:100%;background:var(--bg);border:1px solid var(--line);padding:12px;color:var(--ink)}
.question-prompts{display:flex;gap:8px;flex-wrap:wrap;flex-basis:100%}
.question-prompts button{border:1px solid var(--line);border-radius:20px;padding:7px 12px;color:var(--accent-text)}
#research-feedback,#connection-feedback,#mdio-feedback{font-size:13px;line-height:1.7;flex-basis:100%;margin-top:12px}
.research-verdict{display:grid;gap:14px}.research-verdict h3{font-size:24px}.research-verdict .badge{justify-self:start}
.research-list{padding-left:20px;margin:14px 0 0}.research-list li+li{margin-top:9px}
.research-metrics{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:12px}
.research-metric{display:grid}.research-metric strong{font-size:26px}.research-metric span{color:var(--muted)}
.research-copy{margin:14px 0;line-height:1.7}.research-placeholder{font-size:32px;color:var(--green);margin-bottom:18px}
.research-placeholder span{display:block;font-size:13px;color:var(--muted)}
.comparison-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0}
.comparison-row+.comparison-row{border-top:1px solid var(--line)}.comparison-row button{color:var(--accent-text)}
.comparison-row p{color:var(--muted);font-size:12px}.evidence-source{margin:16px 0}.evidence-source a{color:var(--blue)}
.connection-mark{font-size:30px;line-height:1}.connection-empty{padding:22px 0;display:grid;gap:14px}
.connection-empty a{color:var(--accent-text)}.mdio-grid .tile-body{padding-top:14px}
.mdio-grid .tile,.connection-intro{overflow-wrap:anywhere}.research-toolbar .beta-tag{white-space:nowrap}
@media(max-width:1200px){
 .tile-grid:not(.dashboard-grid):not(.category-grid)>.tile{flex-basis:calc(50% - 7px)}
 .tile-grid:not(.dashboard-grid):not(.category-grid)>.span12{flex-basis:100%}
}
@media(max-width:700px){
 .tile-grid:not(.dashboard-grid):not(.category-grid)>.tile{flex-basis:100%}
 .research-search>button{width:100%}.research-toolbar{align-items:flex-start}
 .research-intro h2,.connection-intro h2{font-size:26px}
}

.top-actions .theme-button{display:flex;align-items:center;gap:6px;white-space:nowrap;padding:6px;min-height:34px}
.top-actions .theme-button .icon{width:17px;height:17px}.household-names{overflow-wrap:anywhere;line-height:1.6}
.side-help .household-names{font-size:14px}.side-bottom{margin-top:auto}
.investment-opportunities{display:grid;margin-top:12px}
.opportunity-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
.opportunity-row>span:nth-child(2){flex:1}.opportunity-row strong{display:block;color:var(--accent-text)}
.opportunity-row small{display:block;color:var(--muted);line-height:1.6;margin-top:5px}
.opportunity-row .dot{flex-shrink:0}.investment-note{font-size:12px;color:var(--muted);line-height:1.65;margin-top:16px}
.exposure-row{padding:8px 0;min-height:42px}.exposure-row small{font-size:11px}
.exposure-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.exposure-row>span:last-child{display:flex;align-items:center;gap:16px}
.exposure-row>span:last-child small{min-width:72px;text-align:right}
[data-tile="mix"] .tile-body table .tile-link{padding:3px 0;min-height:26px}
[data-tile="mix"] .tile-body table td{padding:9px 8px}
.holdings-count{margin-top:12px;color:var(--muted);font-size:12px}
.runway-number{display:flex;align-items:center;gap:16px;margin:10px 0 20px}
.runway-number strong{font-size:48px;font-weight:500;color:var(--green);line-height:1}
.runway-number span{font-size:15px;max-width:170px;line-height:1.5}
.runway-dates{display:flex;justify-content:space-between;gap:14px;background:var(--soft);padding:16px;border-radius:6px}
.runway-dates span{font-size:12px;color:var(--muted)}.runway-dates strong{display:block;color:var(--cyan);font-size:23px}
.runway-copy{margin-top:16px;line-height:1.7}.risk-checks{display:grid}
.risk-check{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0}
.risk-check+.risk-check{border-top:1px solid var(--line)}.risk-check strong{display:block;font-size:14px}
.risk-check small{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.risk-check>span:last-child{font-size:12px;text-align:right;white-space:nowrap}
[data-tile="concentration"] .asset-link{min-height:0}
[data-tile="concentration"] th,[data-tile="concentration"] td{padding:7px 8px}
.fixed-income-copy{margin:5px 0 14px;color:var(--muted);font-size:13px;line-height:1.7}
.calculation-state{line-height:1.8;color:var(--muted)}
@media(max-width:1100px){.topbar{grid-template-columns:minmax(100px,1fr) minmax(160px,2fr) auto}}
@media(max-width:650px){
 .topbar{grid-template-columns:1fr;padding:8px 14px;gap:8px}.topbar h1{grid-row:3;grid-column:1;font-size:18px}
 .topbar .breadcrumb{grid-row:2;grid-column:1}.top-actions{grid-row:1;grid-column:1;justify-content:flex-end;gap:12px}
 .top-actions .theme-button{font-size:12px}.risk-check{gap:8px}.runway-number strong{font-size:40px}
}

.income-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}
.income-controls label{font-size:14px;display:flex;align-items:center;gap:12px}
.income-controls select{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:10px}
.income-controls>span,.income-caption{font-size:12px;color:var(--muted);line-height:1.7}
.income-grid .tile-body{padding-top:12px}.income-grid .budget-number{font-size:32px}
.income-grid .budget-number.blue-text{color:var(--blue)}
.income-grid th,.income-grid td{padding:12px 5px}.income-grid .progress-row{margin:20px 0}
.income-caption{margin:14px 0 0}.connected-tiles{margin-top:14px}
.connected-tiles .research-list{margin-top:0}.connected-tiles .pair{padding:12px 0}
.year-readout{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
@media(max-width:650px){.income-controls{align-items:flex-start;flex-direction:column}}

#drawer[data-kind="inflation"] { width:440px; height:auto; max-height:calc(100dvh - 32px); }
#drawer[data-kind="inflation"] { animation:none; }
#drawer[data-kind="inflation"] { inset:16px auto auto 16px; border:1px solid var(--line); border-radius:10px; }
#drawer[data-kind="inflation"] .dialog-head { padding:16px 20px; }
#drawer[data-kind="inflation"] .dialog-body { padding:18px 20px; }
#drawer[data-kind="inflation"] .dialog-footer { padding:14px 20px; }
#inflation-form .field { display:grid; gap:8px; margin:16px 0 10px; }
#inflation-form input[type="number"] { background:var(--bg); color:var(--ink); border:1px solid var(--line); }
#inflation-form input[type="number"] { border-radius:5px; padding:12px; min-width:0; width:100%; }
.inflation-explanation { font-size:13px; line-height:1.65; color:var(--muted); margin:0 0 14px; }
.inflation-toggle { display:flex; align-items:center; justify-content:space-between; min-height:44px; }
.inflation-toggle input { width:24px; height:24px; accent-color:var(--blue); }
.inflation-note { display:block; font-size:12px; line-height:1.5; color:var(--muted); margin:6px 0 10px; }
#inflation-error { color:var(--amber); font-size:13px; }
#disclaimer-content { min-height:55vh; max-width:80ch; font-size:15px; line-height:1.75; }
@media(max-width:480px) { #drawer[data-kind="inflation"] { inset:8px; width:calc(100% - 16px); } }

.reports-intro { display:flex; justify-content:space-between; gap:16px; margin:4px 0 18px; flex-wrap:wrap; }
.reports-intro p { color:var(--ink); font-size:14px; }.reports-intro>span { color:var(--muted); font-size:13px; }
.reports-grid { align-items:start; }.reports-grid>[data-tile="report-builder"] { flex:1 1 310px; }
.reports-grid>[data-tile="report-preview"] { flex:2 1 540px; min-width:0; }
.report-library { margin-top:18px; }.report-library .tile { min-width:0; }
#report-form .field { display:grid; gap:7px; margin:0 0 18px; }
#report-form select,#report-form input:not([type="checkbox"]) { width:100%; min-width:0; padding:11px 9px; }
#report-form select,#report-form input:not([type="checkbox"]) { background:var(--bg); color:var(--ink); }
#report-form select,#report-form input:not([type="checkbox"]) { border:1px solid var(--line); border-radius:5px; }
#report-form input[readonly] { color:var(--muted); }.report-date-fields { display:flex; gap:10px; }
.report-date-fields>label { flex:1; min-width:0; }.report-privacy { display:flex; gap:10px; margin:20px 0; }
.report-privacy { font-size:13px; align-items:center; }.report-privacy input { width:18px; height:18px; }
.report-sections { border:1px solid var(--line); padding:14px; margin:0 0 20px; border-radius:6px; }
.report-sections legend { font-size:13px; padding:0 6px; }.report-sections label { display:flex; gap:10px; margin:12px 0; }
.report-sections input { align-self:start; margin-top:3px; }.report-sections span { font-size:13px; }
.report-sections small { display:block; color:var(--muted); font-size:11px; line-height:1.5; margin-top:4px; }
.report-actions { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.report-placeholder { padding:30px 10px; min-height:180px; }.report-placeholder h3 { font-size:19px; margin-bottom:16px; }
.report-placeholder p { color:var(--muted); font-size:14px; line-height:1.7; }
.generated-report { margin-top:20px; }.generated-report>header { border-bottom:2px solid var(--cyan); padding-bottom:16px; }
.generated-report h2 { font-size:21px; margin:10px 0; overflow-wrap:anywhere; }
.generated-report header p { font-size:13px; line-height:1.8; }.generated-report small { color:var(--muted); }
.report-section { margin-top:26px; }.report-section h3 { font-size:16px; margin-bottom:10px; }
.report-basis { font-size:12px; color:var(--cyan); }.report-empty { color:var(--muted); font-size:13px; margin-top:12px; }
.report-section th,.report-section td { font-size:12px; padding:10px 7px; white-space:normal; overflow-wrap:anywhere; }
.report-section table { min-width:560px; }.report-error { color:var(--amber); font-size:14px; }
@media(max-width:600px) { .report-date-fields { flex-direction:column; gap:0; } }

.mdio-value-invite { display:grid; gap:18px; align-content:start; }
.mdio-switch-row { flex-wrap:wrap; }
.mdio-value-invite h3 { font-size:25px; line-height:1.3; }.mdio-value-invite p { line-height:1.7; }
.mdio-value-invite .research-list { margin:0; }.mdio-value-invite>button { justify-self:start; margin-top:8px; }
.mdio-sales { gap:16px; }.mdio-sales-hook h3 { font-size:23px; line-height:1.3; margin:12px 0 8px; }
.mdio-sales-hook>p { color:var(--cyan); font-size:17px; font-weight:600; }
.mdio-value-list { display:grid; gap:12px; }.mdio-value-list section { border-left:2px solid var(--cyan); padding-left:12px; }
.mdio-value-list h4 { font-size:14px; margin-bottom:4px; }.mdio-value-list p { font-size:13px; color:var(--muted); }
.mdio-process { background:var(--soft); padding:12px; border-radius:6px; }.mdio-process h4 { font-size:13px; }
.mdio-process ol { display:flex; gap:20px; padding-left:16px; margin:9px 0 0; font-size:12px; line-height:1.6; }
.mdio-process li { flex:1; }.mdio-choice-footer { border-top:1px solid var(--line); padding-top:14px; }
.mdio-compact-prices { gap:8px; }.mdio-compact-prices legend { font-size:12px; margin-bottom:8px; }
.mdio-compact-prices label { padding:9px 10px; gap:8px; font-size:12px; }
.mdio-compact-prices strong { font-size:15px; margin-top:4px; }.mdio-compact-prices strong small { margin-left:4px; }
.mdio-compact-prices small,.mdio-compact-prices label>span>small { font-size:12px; margin-top:3px; display:block; }
.mdio-compact-prices strong small { display:inline; }.mdio-panel .mdio-terms { font-size:12px; margin:12px 0; }
.mdio-authorization-summary h3 { font-size:16px; margin-bottom:12px; }.mdio-authorization-summary .pair { font-size:13px; }
.mdio-sales .mdio-consent { padding:10px; font-size:12px; line-height:1.65; }
.retirement-paths { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; }
.person-retirement-path { min-width:0; }.person-retirement-path h3 { font-size:15px; overflow-wrap:anywhere; }
.retirement-target { display:flex; align-items:center; gap:12px; margin:10px 0 14px; }
.retirement-target>strong { font-size:36px; color:var(--green); }.retirement-target>span { font-size:11px; line-height:1.6; }
.retirement-target small { display:block; font-size:12px; color:var(--muted); }
.person-retirement-path .pair { font-size:12px; padding:9px 0; align-items:start; gap:10px; }
.person-retirement-path .pair strong { text-align:right; max-width:55%; overflow-wrap:anywhere; }
.person-path-link { display:block; margin-top:12px; color:var(--accent-text); font-size:12px; }
@media(max-width:480px) { .mdio-compact-prices { grid-template-columns:1fr 1fr; } }
@media(max-width:360px) { .mdio-compact-prices { grid-template-columns:1fr; }
  .mdio-process ol { display:block; }.mdio-process li+li { margin-top:6px; } }

.reports-grid { align-items:stretch; }
.reports-grid>[data-tile="report-builder"] { flex:1 1 390px; }
.reports-grid>[data-tile="report-preview"] { flex:2 1 540px; }
[data-tile="report-preview"]>.tile-body { display:flex; flex:1; }
#report-output { width:100%; min-width:0; display:flex; flex-direction:column; }
.report-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; }
.report-actions button { min-height:48px; font-size:15px; font-weight:600; padding:12px; }
.report-actions button:disabled { opacity:1; color:var(--muted); background:var(--soft); cursor:not-allowed; }
.report-export-help { font-size:12px; line-height:1.65; color:var(--muted); margin:12px 0 18px; }
.report-placeholder { flex:1; padding:22px; background:var(--bg); border:1px solid var(--line); border-radius:6px; }
.report-placeholder h3 { margin:12px 0; }.report-placeholder>p { font-size:13px; }
.report-outline { padding:0; list-style:none; margin:18px 0; display:grid; gap:0; }
.report-outline li { padding:13px 0; border-bottom:1px solid var(--line); }
.report-outline strong { display:block; font-size:14px; }.report-outline span { color:var(--muted); font-size:12px; }
.report-mode { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.report-mode>span { font-size:12px; color:var(--cyan); }.report-mode button { min-height:38px; padding:8px 10px; }
#report-form .field { margin-bottom:12px; }.report-sections { padding:12px; margin-bottom:14px; }
.report-sections legend { font-weight:600; font-size:14px; }
.report-sections>p { color:var(--muted); font-size:12px; margin-bottom:8px; line-height:1.6; }
.report-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 10px; }
.report-checks label { margin:0; padding:6px 0; min-height:38px; align-items:center; }
.report-checks input { width:17px; height:17px; flex-shrink:0; align-self:center; margin:0; }
.report-checks span { font-size:12px; line-height:1.5; }
.report-selection-tools { display:flex; gap:16px; margin-top:8px; }
.report-selection-tools button { color:var(--accent-text); font-size:12px; min-height:30px; }
.research-footnote { margin-top:18px; }
@media(max-width:600px) { .report-actions { gap:6px; }.report-actions button { font-size:13px; padding:10px 5px; }
 .report-placeholder { padding:14px; }.report-checks { grid-template-columns:1fr; } }

.future-header { padding:12px 16px; gap:12px; }.future-header p { margin-top:4px; }
.future-controls { padding:12px 16px; }.future-results { padding:14px 18px; }
.future-controls .control-heading { margin:0 0 8px; }
.future-controls .control-heading:not(:first-child) { margin-top:10px; padding-top:10px; }
.future-control { margin:8px 0; }.future-control output { font-size:14px; }
.future-controls .field { margin:0 0 8px; }.future-controls .field select { margin-top:4px; padding:8px; min-height:36px; }
.future-controls input[type=number] { margin-top:4px; padding:8px; min-height:36px; }
.future-controls .inline-link,.future-controls .tile-link { padding:4px 0; min-height:28px; margin:0; }
.future-tile .result-lead { margin:10px 0 6px; }.future-tile .result-lead strong { font-size:30px; }
.future-tile .future-chart { height:220px; }.future-tile .axis-label { font-size:13px; }
.future-tile .year-scrubber { margin:8px 0; }.future-tile .year-scrubber input { margin-top:3px; }
.future-tile .year-readout { padding:10px 12px; gap:10px; }
.future-tile .year-readout strong { margin-top:3px; font-size:16px; }
.future-tile .outcome-strip { margin:10px 0 8px; gap:12px; }
.future-tile .outcome-strip strong { font-size:16px; margin-top:3px; }
.future-tile .future-footer { margin-top:8px; }
.future-tile .future-footer .tile-link { padding-top:6px; min-height:28px; }
@media(min-width:1101px) { .future-layout { grid-template-columns:300px minmax(0,1fr); } }
@media(max-width:700px) { .future-header { padding:14px; }.future-results { padding:14px; }
 .future-tile .future-chart { height:210px; }.future-tile .result-lead { gap:6px; } }

.spacing-control { margin-top:6px; }
.spacing-control .field { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.spacing-control select { width:auto; max-width:65%; margin:0; min-height:38px; padding:7px; }
.spaced #main .tile-grid { row-gap:calc(14px * var(--density)); }
.spaced #main .tile-head { padding-block:calc(15px * var(--density)) calc(11px * var(--density)); }
.spaced #main .tile-body { padding-block:calc(8px * var(--density)) calc(16px * var(--density)); }
.spaced #main .dashboard-grid .tile-head { padding-block:calc(12px * var(--density)) calc(8px * var(--density)); }
.spaced #main .dashboard-grid .tile-body { padding-block:calc(6px * var(--density)) calc(10px * var(--density)); }
.spaced #main .mdio-grid .tile-body { padding-top:calc(14px * var(--density)); }
.spaced #main .tile-foot>.tile-link { min-height:36px; padding-block:calc(10px * var(--density)); }
.spaced #main .pair { padding-block:calc(10px * var(--density)); }
.spaced #main .person-retirement-path .pair { padding-block:calc(9px * var(--density)); }
.spaced #main .connected-tiles .pair { padding-block:calc(12px * var(--density)); }
.spaced #main .tile-note { margin-top:calc(14px * var(--density)); }
.spaced #main .progress-row { margin-block:calc(16px * var(--density)); }
.spaced #main .income-grid .progress-row { margin-block:calc(20px * var(--density)); }
.spaced #main .connected-tiles { margin-top:calc(14px * var(--density)); }
.spaced #main .income-caption { margin-top:calc(14px * var(--density)); }
.spaced #main .category-children a { padding-block:calc(12px * var(--density)); }
.spaced #main .tile th,.spaced #main .tile td { padding-block:calc(10px * var(--density)); }
.spaced #main [data-tile="concentration"] th,.spaced #main [data-tile="concentration"] td {
 padding-block:calc(7px * var(--density)); }
.spaced #main [data-tile="mix"] td { padding-block:calc(9px * var(--density)); }
.spaced #main .allocation { padding-block:calc(12px * var(--density)); }
.spaced #main .dashboard-grid .allocation { padding-block:calc(5px * var(--density)); }
.spaced #main .allocation-key>a { padding-block:calc(8px * var(--density)); }
.spaced.classic #main .metrics { padding-block:calc(14px * var(--density)); }
@media(max-width:700px) { .spaced #main .tile-foot>.tile-link { min-height:43px; }
 .spaced #main .category-children a { min-height:40px; } }

.spaced #main .research-intro,.spaced #main .connection-intro { gap:calc(18px * var(--density)); }
.spaced #main .mdio-value-invite { gap:calc(18px * var(--density)); }
.spaced #main .research-list li+li { margin-top:calc(9px * var(--density)); }
.spaced #main .research-copy { margin-block:calc(14px * var(--density)); }
.spaced #main .comparison-row { padding-block:calc(14px * var(--density)); }
.spaced #main .connection-empty { padding-block:calc(22px * var(--density)); gap:calc(14px * var(--density)); }
.spaced #main .risk-check { padding-block:calc(17px * var(--density)); }
.spaced #main .opportunity-row { padding-block:calc(13px * var(--density)); }
.spaced #main .exposure-row { padding-block:calc(8px * var(--density)); min-height:36px; }
.spaced #main .milestone-row { padding-block:calc(13px * var(--density)); }
.spaced #main .research-metrics { margin-bottom:calc(12px * var(--density)); }
.spaced #main .runway-number { margin-block:calc(10px * var(--density)) calc(20px * var(--density)); }
.spaced #main .runway-dates { padding-block:calc(16px * var(--density)); }
.spaced #main .runway-copy { margin-top:calc(16px * var(--density)); }
.spaced #main .report-sections { padding-block:calc(12px * var(--density)); margin-bottom:calc(14px * var(--density)); }
.spaced #main #report-form .field { margin-bottom:calc(12px * var(--density)); }
.spaced #main .report-privacy { margin-block:calc(20px * var(--density)); }
.spaced #main .report-outline li { padding-block:calc(13px * var(--density)); }
.spaced #main .report-placeholder { padding-block:calc(22px * var(--density)); }
.spaced #main .report-section { margin-top:calc(26px * var(--density)); }
.spaced #main .report-library { margin-top:calc(18px * var(--density)); }
.spaced #main .import-guide { row-gap:calc(16px * var(--density)); }
.spaced #main .import-guide li { margin-block:calc(8px * var(--density)); }
.spaced #main .import-stage { margin-block:calc(16px * var(--density)); padding-block:calc(16px * var(--density)); }
.spaced #main .import-row { padding-block:calc(16px * var(--density)); }
.spaced #main .tile-choice { padding-block:calc(10px * var(--density)); }
.spaced #main .choice-section+.choice-section { margin-top:calc(24px * var(--density)); }
.spaced #main .retirement-target { margin-block:calc(10px * var(--density)) calc(14px * var(--density)); }
.spaced #main .holding-summary { padding-bottom:calc(13px * var(--density)); }
.spaced #main .holding-class { padding-top:calc(8px * var(--density)); }
.spaced #main .investment-note { margin-top:calc(16px * var(--density)); }
.spaced #main .future-header { padding-block:calc(12px * var(--density)); }
.spaced #main .future-controls { padding-block:calc(12px * var(--density)); }
.spaced #main .future-results { padding-block:calc(14px * var(--density)); }
@media(max-width:700px) { .spaced #main .future-chart { height:auto; aspect-ratio:780 / 245; } }

.reports-grid>.tile { grid-column:auto; }
.reports-grid { display:grid; grid-template-columns:minmax(330px,1fr) minmax(0,2fr); }
.reports-grid>[data-tile="report-preview"] { min-height:640px; min-width:0; }
[data-tile="report-preview"]>.tile-body { height:0; min-height:0; overflow:hidden; }
#report-output { min-height:0; height:100%; }
.report-viewer-controls { display:flex; justify-content:flex-start; gap:10px; margin-bottom:12px; flex-shrink:0; }
.report-viewer-controls button { min-height:42px; padding:10px 16px; }
.report-viewer-controls button:disabled { opacity:1; color:var(--muted); background:var(--soft); }
#report-output>.report-actions,#report-output>.report-export-help { flex-shrink:0; }
.report-scroll { flex:1 1 0; min-height:0; overflow-y:scroll; overflow-x:hidden; scrollbar-gutter:stable; }
.report-scroll { border:1px solid var(--line); border-radius:6px; padding:16px; background:var(--bg); }
.report-scroll { scrollbar-color:var(--muted) var(--soft); }
.report-scroll:focus-visible { outline:2px solid var(--cyan); outline-offset:-3px; }
.report-scroll .generated-report { margin:0; }.report-scroll .report-placeholder { border:0; padding:0; }
.report-scroll .table-wrap { overflow-x:auto; }
@media(max-width:1050px) {
 .reports-grid { grid-template-columns:minmax(0,1fr); }
 .reports-grid>[data-tile="report-preview"] { height:740px; min-height:0; }
}
@media(max-width:600px) {
 .reports-grid>[data-tile="report-preview"] { height:700px; }
 .report-viewer-controls { justify-content:stretch; }.report-viewer-controls button { flex:1; padding:10px 8px; }
 .report-scroll { padding:10px; }
}

.risk-intro { color:var(--ink); font-size:16px; margin:0 0 12px; }
.risk-exposure { display:grid; grid-template-columns:minmax(240px,1fr) minmax(420px,2fr);
 gap:26px; align-items:center; }
.risk-figure { text-align:center; }.risk-figure>p { color:var(--muted); font-size:12px; margin-top:12px; }
.risk-donut { width:240px; height:240px; border-radius:50%; margin:auto; padding:34px; }
.risk-donut,.donut { position:relative; }
.donut { background:none; }
.weighted-ring { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.risk-donut>div,.donut>div { position:relative; }
.risk-legend li>svg { flex-shrink:0; }
.risk-donut>div { border-radius:50%; background:var(--panel); height:100%; display:flex; flex-direction:column; }
.risk-donut>div { align-items:center; justify-content:center; padding:12px; }
.risk-donut strong { font-size:21px; color:var(--ink); overflow-wrap:anywhere; max-width:100%; }
.risk-donut span { font-size:11px; color:var(--muted); margin-top:8px; }
.risk-legend { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; }
.risk-legend li { display:flex; gap:10px; border-bottom:1px solid var(--line); padding:10px 0; align-items:center; }
.risk-legend i { width:12px; height:12px; flex-shrink:0; border-radius:3px; border:1px solid var(--ink); }
.risk-legend strong { font-size:12px; font-weight:600; }.risk-legend b { font-size:15px; }
.risk-legend small { display:block; color:var(--muted); font-size:11px; margin-top:4px; }
.risk-legend li>span { margin-left:auto; text-align:right; flex-shrink:0; }
.risk-coverage { margin:14px 0 6px; font-size:12px; color:var(--muted); }
.risk-details { border-top:1px solid var(--line); margin-top:10px; padding-top:8px; }
.risk-details summary { cursor:pointer; color:var(--accent-text); padding:6px 0; font-size:13px; }
.risk-details p,.risk-details li { color:var(--muted); font-size:12px; line-height:1.6; margin:8px 0; }
.risk-inventory { max-height:360px; overflow:auto; margin-top:8px; }
.risk-inventory small { display:block; font-size:11px; color:var(--muted); margin-top:4px; }
.risk-inventory table { min-width:580px; }
@media(max-width:1250px) { .risk-legend { grid-template-columns:1fr; } }
@media(max-width:700px) {
 .risk-exposure { grid-template-columns:minmax(0,1fr); gap:18px; }
 .risk-donut { width:220px; height:220px; }
}

.withdraw-intro { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:16px; }
.withdraw-intro p { color:var(--ink); }.withdraw-status { padding:12px; margin-bottom:14px; color:var(--amber); }
.withdraw-year { display:flex; align-items:center; gap:12px; margin-bottom:12px; font-weight:600; }
.withdraw-year select { padding:8px 14px; background:var(--bg); color:var(--ink); border:1px solid var(--line); }
.withdraw-order-tools { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.withdraw-order-tools strong { font-size:14px; }.withdraw-order-list { list-style:none; padding:0; margin:12px 0; }
.withdraw-order-list>li { display:grid; grid-template-columns:28px minmax(0,1fr) 32px; gap:12px; padding:14px 0; }
.withdraw-order-list>li { border-top:1px solid var(--line); }.withdraw-rank { color:var(--cyan); font-size:23px; }
.withdraw-order-list strong { font-size:14px; }.withdraw-order-list small { color:var(--muted); font-size:11px; }
.withdraw-order-list p { font-size:12px; line-height:1.55; margin:6px 0; }
.withdraw-values { display:flex; flex-wrap:wrap; gap:10px 20px; margin:8px 0; }
.withdraw-values span { font-size:11px; color:var(--muted); }.withdraw-values b { display:block; color:var(--ink); }
.withdraw-move button { border:1px solid var(--line); background:var(--soft); width:32px; height:34px; margin:3px 0; }
.withdraw-move button:disabled { opacity:.4; cursor:not-allowed; }
.withdraw-alerts p { padding:8px 10px; border-left:2px solid var(--amber); margin-bottom:8px; font-size:12px; }
.withdraw-timeline { list-style:none; padding:0; max-height:330px; overflow:auto; }
.withdraw-timeline li { padding:10px 0; border-bottom:1px solid var(--line); }
.withdraw-timeline strong { font-size:13px; }.withdraw-timeline span { display:block; color:var(--cyan); font-size:12px; }
.withdraw-timeline p { font-size:12px; margin-top:5px; }
.withdraw-births,.withdraw-profile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#withdrawal-form .field { display:grid; gap:6px; font-size:12px; margin:10px 0; }
#withdrawal-form input,#withdrawal-form select { min-width:0; width:100%; background:var(--bg); color:var(--ink); }
#withdrawal-form input,#withdrawal-form select { border:1px solid var(--line); padding:10px; border-radius:4px; }
#withdrawal-form fieldset { min-width:0; border:1px solid var(--line); padding:12px; margin:8px 0 16px; }
#withdrawal-form legend { font-size:13px; padding:0 6px; }.withdraw-method p { font-size:12px; margin:10px 0; }
.withdraw-method a { color:var(--accent-text); text-decoration:underline; }
.withdraw-asset-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.withdraw-asset-grid summary { cursor:pointer; font-size:13px; color:var(--accent-text); }
.withdraw-asset-grid p { font-size:12px; margin:10px 0; }.withdraw-summary-title { color:var(--ink); margin-bottom:8px; }
.withdrawal-grid .income-caption { margin:8px 0; }.withdrawal-grid .table-wrap { overflow:auto; }
@media(max-width:1050px) {
 .withdraw-births,.withdraw-profile-grid,.withdraw-asset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
 .withdraw-births,.withdraw-profile-grid,.withdraw-asset-grid { grid-template-columns:minmax(0,1fr); }
 .withdraw-intro,.withdraw-order-tools { flex-wrap:wrap; }
}

.classic #main .metrics .metric > strong {font-size:2rem;font-weight:650;line-height:1.25;margin:6px 0;}
.classic #main .metrics .metric > span {font-size:.86rem;line-height:1.45;display:block;min-height:2.9em;}
.classic #main .metrics .metric > small {font-size:.86rem;line-height:1.5;}
.metric {min-width:0;overflow-wrap:anywhere;}
body .money-value {font-size:max(1em,1.143rem);font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums;}
.metric .money-value,.holding-summary > strong .money-value,.budget-number > .money-value,
.result-lead strong .money-value,.legacy-number strong .money-value {color:inherit;}
.exposure-row .holding-amount {font-size:1.29rem;font-weight:700;color:var(--ink);min-width:6.5em;}
.exposure-row .holding-weight {font-size:.93rem;font-weight:600;color:var(--blue);}
.exposure-row > span:last-child {gap:12px;flex-wrap:wrap;justify-content:flex-end;}
input[type=number],output[data-output=living],output[data-output=contribution] {
 font-size:1.143rem;font-weight:650;color:var(--ink);}
.future-chart text.money-axis {font-size:18px;font-weight:650;fill:var(--ink);}
.chart-viewport {max-width:100%;overflow:auto;}
#main .chart-viewport .future-chart {min-width:780px;width:100%;height:245px;aspect-ratio:auto;}
@media(max-width:700px){
 .classic #main .metrics .metric > strong {font-size:1.72rem;}
 .exposure-row > span:last-child {display:grid;gap:2px;min-width:0;}
 .exposure-row .holding-amount {grid-row:1;min-width:0;}
 .exposure-row .holding-weight {grid-row:2;}
}

body {--control-border:#7797b3;}
[data-theme=light] body {--control-border:#64788e;}
input:not([type=range]),select,textarea {border-color:var(--control-border)!important;}
input[type=checkbox],input[type=radio] {accent-color:var(--accent);}
html {scroll-padding-top:100px;}
:where(a,button,input,select,textarea,summary,[tabindex]) {scroll-margin-block:110px 30px;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
 outline:3px solid var(--focus);outline-offset:3px;}
.table-wrap {max-width:100%;overflow:auto;}
.table-wrap:focus-visible {outline:3px solid var(--focus);outline-offset:2px;}
@media(max-width:700px){.mobile-live{position:static;margin:12px;box-shadow:none;}
 .future-tile{margin-bottom:0;}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after {scroll-behavior:auto!important;animation:none!important;transition:none!important;}
}

.disclosure-page { max-width:76rem; margin:auto; padding:24px; }
#disclaimer-content { font-size:18px; line-height:1.6; overflow-wrap:anywhere; }
#disclaimer-content h2 { font-size:26px; line-height:1.3; margin:0 0 16px; }
#disclaimer-content h3 { font-size:21px; margin:24px 0 8px; }
#disclaimer-content p { margin:0 0 16px; color:var(--ink); }
#disclaimer-content fieldset { border:1px solid var(--line); padding:16px; margin-top:24px; min-width:0; }
#disclaimer-content label { display:block; margin:12px 0; }
#disclaimer-content input[name=signature] { display:block; width:100%; max-width:32rem; }
#disclaimer-content button { background:var(--accent); color:var(--on-accent); padding:12px 16px; border-radius:6px; }
#disclaimer-content input[type=checkbox] { width:20px; height:20px; vertical-align:middle; }
#disclaimer-content button:disabled { cursor:default; }
#disclaimer-content a { text-decoration:underline; }
@media(max-width:540px) { .disclosure-page { padding:16px; } #disclaimer-content h2 { font-size:23px; } }

:root {font-size:16px;}
textarea {font:inherit;color:var(--ink);background:var(--panel);}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
 outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 2px var(--bg);}
#main {scroll-margin-top:100px;}
#app > #main {max-width:72rem;margin:auto;padding:2rem;min-height:60vh;}
#app > #main a,#app > #main button {display:inline-block;padding:.65rem 1rem;margin:.5rem .5rem .5rem 0;}
#app > #main button {border:2px solid var(--control-border);border-radius:.3rem;}
#app > #main p {margin:.8rem 0;font-size:1rem;}
#pinned-research {display:grid;gap:1rem;margin-block:1rem;}
#pinned-research label {display:grid;gap:.4rem;}
#pinned-research select {max-width:100%;white-space:normal;}
.tile pre {white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;}
[role=group]:focus-within,[role=region][aria-label]:focus-within {
 outline:2px solid var(--control-border);outline-offset:5px;}
[role=group],[role=region][aria-label] {scroll-margin-block:110px 30px;}
@media(forced-colors:active){
 :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid Highlight;box-shadow:none;}
 input,select,textarea,button {border:1px solid ButtonText;}
 [role=group]:focus-within,[role=region][aria-label]:focus-within {outline-color:Highlight;}
}

.onboard-shell { max-width:1180px; margin:auto; padding:0 36px 48px; }
.onboard-top { display:flex; justify-content:space-between; align-items:center; height:94px; gap:20px; }
.onboard-brand { display:flex; align-items:center; gap:10px; font-size:25px; font-weight:700; letter-spacing:-1px; }
.onboard-brand>span>span { color:var(--cyan); }.onboard-brand .brandmark { width:36px; height:36px; }
.onboard-brand svg { width:36px; height:36px; }.onboard-top button { border-radius:8px; font-size:12px; }
.onboard-main { padding:22px 0 0; }.onboard-heading { max-width:750px; margin-bottom:28px; }
.onboard-heading .eyebrow { color:var(--cyan); font-size:11px; letter-spacing:1.8px; }
.onboard-heading h1 { font-size:34px; letter-spacing:-.8px; line-height:1.2; margin:10px 0; }
.onboard-heading>p { color:var(--muted); margin:0 0 17px; font-size:15px; }
.onboard-estimate { color:var(--cyan); background:var(--soft); border-left:3px solid var(--cyan); }
.onboard-estimate { padding:12px 16px; font-size:13px; border-radius:0 8px 8px 0; line-height:1.6; }
.onboard-layout { display:grid; grid-template-columns:minmax(0,1fr) 264px; gap:28px; align-items:start; }
.onboard-card { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:26px; }
.onboard-section-title { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.onboard-section-title h2 { margin:0; font-size:18px; letter-spacing:0; }
.onboard-section-title>span { font-size:11px; color:var(--cyan); background:var(--soft); padding:5px 9px; }
.onboard-section-title>span { border-radius:20px; }.onboard-required { color:var(--muted); font-size:12px; }
.onboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; margin-top:24px; }
.onboard-aside { position:sticky; top:24px; }.onboard-guide { border-top:2px solid var(--cyan); padding:24px 20px; }
.onboard-guide { background:linear-gradient(160deg,var(--raised),var(--panel)); border-radius:0 0 12px 12px; }
.onboard-guide h2 { font-size:23px; line-height:1.35; letter-spacing:-.4px; margin:10px 0 14px; }
.onboard-guide p,.onboard-reassurance p { color:var(--muted); font-size:13px; line-height:1.7; }
.onboard-guide label { display:flex; justify-content:space-between; font-size:12px; margin:24px 0 10px; }
.onboard-guide strong { color:var(--cyan); }
.onboard-guide progress { width:100%; height:7px; accent-color:var(--cyan); }
.onboard-guide progress::-webkit-progress-bar { background:var(--line); border-radius:8px; }
.onboard-guide progress::-webkit-progress-value { background:var(--cyan); border-radius:8px; }
.onboard-guide ol { padding-left:18px; font-size:12px; line-height:1.7; color:var(--muted); margin:22px 0 0; }
.onboard-guide li { margin-bottom:9px; padding-left:6px; }.onboard-reassurance { padding:22px 20px; }
.onboard-reassurance strong { font-size:13px; }.onboard-reassurance p { margin:7px 0 0; }
@media(max-width:900px) { .onboard-layout { grid-template-columns:minmax(0,1fr); }.onboard-aside { display:none; } }
@media(max-width:560px) { .onboard-shell { padding:0 18px 28px; }.onboard-top { height:76px; }
 .onboard-heading h1 { font-size:29px; }.onboard-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .onboard-card { padding:22px 18px; }.onboard-top button { max-width:120px; padding:8px 12px; } }

.onboard-field { min-width:0; position:relative; }.onboard-field[hidden] { display:none; }
.onboard-field>label { display:block; font-size:13px; font-weight:600; margin-bottom:8px; }
.onboard-star { color:var(--amber); }.onboard-field input { width:100%; min-height:46px; border-radius:7px; }
.onboard-field input { border:1px solid var(--line); background:var(--bg); color:var(--ink); padding:10px 12px; }
.onboard-field input::placeholder { color:var(--muted); opacity:.75; }
.onboard-field input:focus-visible { outline:none; }
.onboard-field input:focus-visible { border-color:var(--cyan); box-shadow:0 0 0 2px var(--soft); }
.onboard-field input[aria-invalid=true] { border-color:var(--amber); }
.onboard-hint { display:block; color:var(--muted); font-size:11px; line-height:1.6; margin-top:7px; }
.onboard-example { position:relative; font-size:11px; margin-top:4px; }
.onboard-example summary { color:var(--accent-text); cursor:pointer; width:fit-content; padding:3px 0; }
.onboard-example p { position:absolute; inset:100% 0 auto; z-index:5; padding:12px; margin:2px 0 0; }
.onboard-example p { border:1px solid var(--line); border-radius:8px; background:var(--raised); color:var(--ink); }
.onboard-example p { box-shadow:0 10px 26px #0005; line-height:1.6; }
.onboard-error { display:block; font-size:12px; color:var(--amber); line-height:1.5; margin-top:4px; }
.onboard-summary { border:1px solid var(--amber); border-radius:8px; padding:15px; margin-top:16px; font-size:13px; }
.onboard-summary[hidden] { display:none; }.onboard-summary ul { margin:8px 0 0; padding-left:18px; }
.onboard-summary a { text-decoration:underline; text-underline-offset:3px; }.onboard-more { margin-top:27px; }
.onboard-more { border-top:1px solid var(--line); padding-top:21px; }
.onboard-more>summary { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; cursor:pointer; }
.onboard-more>summary { font-size:14px; font-weight:600; }
.onboard-more>summary::after { content:'+'; margin-left:auto; }
.onboard-more[open]>summary::after { content:'−'; }
.onboard-optional { color:var(--muted); font-weight:400; font-size:11px; }
.onboard-more>p { color:var(--muted); font-size:12px; line-height:1.7; margin:16px 0 0; }
.onboard-footer { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.onboard-footer>p { font-size:12px; line-height:1.65; color:var(--muted); margin:0 0 17px; }
.onboard-footer #secure-error { color:var(--amber); }.onboard-footer #secure-error:empty { display:none; }
.onboard-footer .primary { min-height:48px; padding:13px 18px; border-radius:8px; width:100%; font-size:13px; }
.onboard-footer button>span { margin-left:12px; }.onboard-footer button:disabled { opacity:.6; cursor:wait; }
.onboard-main :focus-visible { outline:2px solid var(--focus); outline-offset:4px; }
@media(prefers-reduced-motion:no-preference) { .onboard-field input { transition:border-color .15s; } }
@media(max-width:560px) { .onboard-footer .primary { font-size:12px; padding:13px 9px; } }

#task-list { inset:50% auto auto 50%; margin:0; transform:translate(-50%,-50%); }
#task-list[open] { animation:none; }
#task-list { width:min(540px,calc(100vw - 32px)); height:auto; max-height:85dvh; }
#task-list { border:1px solid var(--line); border-radius:14px; padding:0; box-shadow:0 24px 80px #0007; }
#task-list .task-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
#task-list .task-heading { padding:24px; border-bottom:1px solid var(--line); }
#task-list h2 { margin:8px 0 0; font-size:24px; }
#task-list .small-label { color:var(--cyan); }
#task-list .task-body { padding:20px 24px; overflow-y:auto; }
#task-list .task-body { min-height:0; }
#task-list .task-heading,#task-list .task-footer { flex-shrink:0; }
#task-list p { color:var(--muted); font-size:14px; line-height:1.6; }
#task-list .task-items { display:grid; gap:12px; list-style:none; padding:0; margin:20px 0 0; }
#task-list .task-items button { width:100%; display:flex; align-items:center; justify-content:space-between; }
#task-list .task-items button { gap:18px; padding:16px; text-align:left; border:1px solid var(--line); }
#task-list .task-items button { background:var(--bg); border-radius:8px; color:var(--ink); }
#task-list .task-items button:hover { border-color:var(--cyan); }
#task-list strong { display:block; font-size:16px; color:var(--cyan); }
#task-list small { display:block; margin-top:7px; font-size:13px; line-height:1.5; color:var(--muted); }
#task-list .task-footer { padding:18px 24px; border-top:1px solid var(--line); }
#task-list .task-footer button { width:100%; min-height:44px; }
#task-list button:focus-visible { outline:3px solid var(--cyan); outline-offset:3px; }
@media(max-width:480px) {
 #task-list .task-heading,#task-list .task-body,#task-list .task-footer { padding:18px; }
}

#app > #main.welcome-shell { max-width:1320px; min-height:100dvh; padding:38px 64px 24px; margin:auto; }
.welcome-shell { display:flex; flex-direction:column; }
.welcome-shell { background:radial-gradient(at 20% 55%,#209ef40b,transparent 65%); }
.welcome-header { display:flex; align-items:center; justify-content:space-between; gap:20px; }
#app > #main.welcome-shell a,#app > #main.welcome-shell button { margin:0; }
#app > #main.welcome-shell .welcome-brand { display:flex; align-items:center; gap:13px; padding:0; }
.welcome-brand { font-size:26px; letter-spacing:-.6px; }
.welcome-brand small { font-size:11px; color:var(--muted); letter-spacing:.2px; }
.welcome-mark { display:block; width:42px; color:var(--cyan); }
.welcome-mark svg { width:100%; height:48px; fill:none; stroke:currentColor; stroke-width:2; }
.welcome-grid { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:80px; flex:1; padding:80px 0; }
.welcome-story { min-width:0; }
.welcome-eyebrow { color:var(--cyan); font-size:11px; font-weight:600; letter-spacing:2px; }
.welcome-story h1 { font-size:clamp(36px,4.4vw,60px); font-weight:600; line-height:1.14; letter-spacing:-2px; }
.welcome-story h1 { margin:24px 0; }.welcome-story h1 span { color:var(--cyan); }
#app > #main.welcome-shell .welcome-lead { max-width:480px; font-size:17px; line-height:1.8; }
.welcome-horizon { height:110px; position:relative; overflow:hidden; margin:28px 0 20px; }
.welcome-horizon span { position:absolute; width:180px; height:180px; left:60px; top:34px; border-radius:50%; }
.welcome-horizon span { border:1px solid #50dce66b; box-shadow:0 0 70px #50dce61a; }
.welcome-horizon i,.welcome-horizon b { position:absolute; left:0; right:0; height:1px; background:var(--line); }
.welcome-horizon i { top:100px; }.welcome-horizon b { top:109px; left:80px; right:45px; }
.welcome-promise { display:flex; align-items:flex-start; gap:16px; padding-top:12px; }
.welcome-promise-icon { display:grid; place-items:center; padding:12px; border-radius:50%; background:var(--soft); }
.welcome-promise-icon { color:var(--cyan); }
.welcome-promise strong { display:block; margin-bottom:6px; color:var(--ink); }
#app > #main.welcome-shell .welcome-promise p { margin:0; font-size:14px; line-height:1.7; max-width:350px; }
.welcome-footer { display:flex; justify-content:space-between; gap:16px; color:var(--muted); font-size:12px; }
.welcome-footer { padding-top:22px; border-top:1px solid var(--line); }
@media(max-width:950px) {
 #app > #main.welcome-shell { padding:28px 32px 22px; }.welcome-grid { gap:36px; padding:56px 0; }
 .welcome-story h1 { font-size:40px; }.welcome-horizon { height:90px; }
}
@media(max-width:700px) {
 #app > #main.welcome-shell { padding:24px 20px; }.welcome-grid { grid-template-columns:1fr; gap:28px; padding:42px 0; }
 .welcome-story h1 { font-size:37px; letter-spacing:-1.2px; margin:18px 0; }
 .welcome-horizon,.welcome-promise { display:none; }.welcome-brand { font-size:23px; }
 .welcome-footer { flex-direction:column; font-size:11px; }.welcome-mark { width:34px; }
 .welcome-theme span { display:none; }
}

#app > #main.welcome-shell .welcome-theme { display:flex; align-items:center; gap:8px; padding:10px; }
#app > #main.welcome-shell .welcome-theme { border:1px solid var(--line); border-radius:8px; font-size:12px; }
.welcome-card { min-width:0; padding:38px; border:1px solid var(--line); background:var(--panel); border-radius:16px; }
.welcome-card { box-shadow:0 22px 80px #0002; }
.welcome-card-icon { display:grid; place-items:center; width:52px; height:52px; background:var(--soft); }
.welcome-card-icon { color:var(--cyan); border:1px solid var(--line); border-radius:13px; margin-bottom:28px; }
.welcome-card-icon .icon { width:26px; height:26px; }.welcome-card .small-label { color:var(--cyan); }
.welcome-card h2 { font-size:30px; line-height:1.25; letter-spacing:-.7px; margin:12px 0 16px; }
#app > #main.welcome-shell .welcome-card p { font-size:15px; line-height:1.8; margin:0 0 26px; }
#app > #main.welcome-shell .welcome-signin { display:flex; align-items:center; justify-content:space-between; }
#app > #main.welcome-shell .welcome-signin { width:100%; padding:17px 20px; background:var(--accent); }
#app > #main.welcome-shell .welcome-signin { color:var(--on-accent); font-weight:650; border-radius:8px; }
.welcome-signin span { font-size:22px; line-height:1; }
#app > #main.welcome-shell .welcome-private { text-align:center; font-size:12px; margin:18px 0 28px; }
.welcome-retry { border-top:1px solid var(--line); padding-top:22px; text-align:center; }
.welcome-retry > span { display:block; font-size:12px; color:var(--muted); }
#app > #main.welcome-shell .welcome-retry button { padding:8px 0 0; border:0; color:var(--blue); font-size:13px; }
#app > #main.welcome-shell .welcome-message { border:1px solid var(--line); padding:12px; border-radius:8px; }
#app > #main.welcome-shell .welcome-message { color:var(--ink); background:var(--soft); font-size:13px; }
.welcome-message[hidden] { display:none; }
@media(max-width:950px) { .welcome-card { padding:28px; }.welcome-card h2 { font-size:27px; } }
@media(max-width:700px) {
 .welcome-card { padding:26px; }.welcome-card-icon { margin-bottom:20px; }
 #app > #main.welcome-shell .welcome-lead { font-size:15px; line-height:1.7; }
}

#plaid-mfa { margin:22px 0; padding:24px; border:1px solid var(--line); border-radius:10px; }
#plaid-mfa { background:var(--raised); max-width:720px; display:grid; gap:20px; }
.mfa-heading { display:grid; gap:9px; }.mfa-heading .small-label { font-size:11px; letter-spacing:1px; }
.mfa-heading p { max-width:60ch; line-height:1.7; font-size:14px; }
.mfa-controls { display:grid; gap:10px; max-width:430px; min-width:0; }
.mfa-controls label { font-size:13px; font-weight:600; }
.mfa-controls input { width:100%; min-width:0; min-height:48px; padding:12px 14px; border-radius:7px; }
.mfa-controls input { border:1px solid var(--line); background:var(--bg); color:var(--ink); }
.mfa-controls input::placeholder { color:var(--muted); }
.mfa-controls input:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.mfa-submit { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:4px; }
.mfa-submit { min-height:48px; padding:12px 16px; border-radius:7px; font-size:14px; font-weight:600; }
.mfa-submit { background:var(--accent); color:var(--on-accent); border:1px solid transparent; }
.mfa-submit:disabled { cursor:wait; opacity:.65; }.mfa-feedback { font-size:13px; color:var(--amber); }
.mfa-feedback:empty { display:none; }
@media(max-width:560px) { #plaid-mfa { padding:18px; }.mfa-controls { max-width:none; } }

.signup-shell { max-width:1280px; }.signup-shell .welcome-header { margin-bottom:36px; }
.signup-steps { display:flex; gap:12px 28px; flex-wrap:wrap; color:var(--muted); font-size:12px; margin-bottom:42px; }
.signup-heading { text-align:center; max-width:740px; margin:0 auto 32px; }
.signup-heading h1 { font-size:clamp(30px,4vw,46px); line-height:1.2; margin:16px 0; }
.signup-heading p { font-size:16px; line-height:1.7; color:var(--muted); }
.signup-interval { display:flex; justify-content:center; gap:8px; margin:28px 0; }
.signup-interval button { padding:10px 24px; border:1px solid var(--line); border-radius:7px; background:var(--panel); }
.signup-interval button[aria-pressed=true] { background:var(--accent); color:var(--on-accent); font-weight:700; }
.signup-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.signup-plan { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:28px; }
.signup-plan { display:flex; flex-direction:column; gap:16px; }.signup-plan.selected { border:2px solid var(--cyan); }
.signup-plan h2 { font-size:24px; }.signup-plan p { color:var(--muted); }
.signup-price { font-size:34px; font-weight:700; }
.signup-price small { font-size:14px; font-weight:400; color:var(--muted); }.signup-charge { font-size:12px; }
.signup-plan ul { padding-left:18px; flex:1; margin:0; }.signup-plan li { margin:10px 0; }
.signup-select { display:flex; justify-content:space-between; align-items:center; min-height:48px; padding:12px 16px; }
.signup-select { border:1px solid var(--line); border-radius:7px; background:var(--soft); font-weight:700; }
.signup-select[aria-pressed=true] { background:var(--accent); color:var(--on-accent); }
.signup-addon { color:var(--muted); text-align:center; margin:22px 0 32px; font-size:13px; }
.signup-next { display:grid; grid-template-columns:1fr 1fr; gap:32px; background:var(--panel); padding:28px; }
.signup-next { border:1px solid var(--line); border-radius:12px; }.signup-next h2 { margin:12px 0; font-size:24px; }
.signup-next p { color:var(--muted); line-height:1.7; }
.signup-next-actions { display:grid; align-content:center; gap:18px; }
.signup-next-actions>a:last-child { text-align:center; }.signup-complete { margin:40px auto; max-width:650px; }
.signup-complete p { margin:18px 0; }
.signup-footer { border-top:1px solid var(--line); margin-top:40px; padding-top:24px; }
.signup-footer>p { color:var(--muted); font-size:13px; margin-top:18px; }
@media(max-width:800px) { .signup-plans,.signup-next { grid-template-columns:1fr; }.signup-plan { padding:24px; } }

.signup-payment { display:grid; gap:18px; }.signup-consent { display:flex; gap:12px; line-height:1.6; font-size:14px; }
.signup-consent input { width:20px; height:20px; flex:0 0 20px; margin-top:3px; accent-color:var(--accent); }
.signup-payment .welcome-signin { width:100%; cursor:pointer; }.signup-payment p { font-size:12px; }
.signup-secondary { color:var(--accent-text); border:1px solid var(--line); border-radius:7px; padding:12px 16px; }
.signup-feedback { color:var(--amber); margin:22px 0 12px; }.signup-feedback:empty { display:none; }
.signup-shell button:focus-visible,.signup-shell a:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.signup-shell button:disabled { opacity:.65; cursor:wait; }.signup-shell .welcome-signin { text-decoration:none; }
.plaid-recognition { margin-top:24px; }.plaid-brandline { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.plaid-brandline>span { color:var(--muted); font-size:13px; }
.plaid-logo { width:96px; height:36px; object-fit:contain; }
.plaid-logo { filter:brightness(0) invert(1); }[data-theme=light] .plaid-logo { filter:brightness(0); }
.plaid-recognition p { font-size:13px; line-height:1.7; color:var(--muted); max-width:70ch; margin:10px 0; }
.plaid-recognition>a { font-size:13px; }.welcome-create { margin:16px 0 4px; text-align:center; }
.connection-intro .plaid-recognition { padding:18px 0; border-top:1px solid var(--line); margin:20px 0; }
@media(max-width:560px) { .signup-shell { padding:24px 18px; }.signup-next { padding:20px; gap:24px; } }

.registration-panel {max-width:900px;margin:30px auto;align-items:start;}
.registration-panel label {display:grid;gap:10px;color:var(--ink);font-weight:600;}
.registration-panel input {width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;
 padding:12px;background:var(--bg);color:var(--ink);font:inherit;}
.registration-panel input:focus {outline:2px solid var(--cyan);outline-offset:2px;}
.registration-panel #password-help {font-size:13px;margin:0;line-height:1.7;}
.registration-panel .signup-payment {gap:20px;}
.registration-panel .welcome-signin {margin-top:8px;}
.registration-email-help {padding:18px 20px;margin:20px 0;border:1px solid var(--line);
 border-left:3px solid var(--cyan);border-radius:8px;background:var(--bg);line-height:1.65;}
.registration-email-help strong {display:block;color:var(--ink);}
.registration-email-help p {margin:8px 0 0;font-size:14px;}

.signup-addon-card {display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:24px 0;padding:28px;
 border:1px solid var(--line);border-radius:12px;background:var(--panel);}
.signup-addon-card h2 {margin:12px 0;font-size:24px;}
.signup-addon-card p {color:var(--muted);line-height:1.7;}
.signup-addon-options {display:grid;gap:16px;}.signup-addon-options label {display:grid;gap:10px;}
.signup-addon-options .signup-consent {display:flex;align-items:center;font-weight:600;}
.signup-addon-options select {padding:12px;border-radius:8px;border:1px solid var(--line);font:inherit;
 background:var(--bg);color:var(--ink);min-height:48px;width:100%;}
.signup-addon-options select:focus {outline:2px solid var(--cyan);outline-offset:2px;}
.signup-addon-options select:disabled {opacity:.65;}
@media(max-width:700px){.signup-addon-card {grid-template-columns:1fr;padding:20px;gap:14px;}}

.annual-offer {font-size:13px;font-weight:700;}
.signup-interval .annual-offer {display:inline-block;margin-left:8px;padding:3px 7px;border:1px solid currentColor;
 border-radius:5px;font-size:12px;}
.signup-interval button {white-space:normal;}
.welcome-subscribe {display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;margin-top:30px;
 padding:24px 28px;border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:12px;
 background:var(--panel);}
.welcome-subscribe h2 {font-size:24px;line-height:1.3;margin:0 0 8px;}
#app > #main.welcome-shell .welcome-subscribe p {font-size:14px;line-height:1.7;margin:6px 0 0;}
.welcome-subscribe .annual-offer {color:var(--accent-text);font-size:14px;}
#app > #main.welcome-shell .welcome-subscribe .welcome-signin {width:auto;min-width:190px;gap:24px;}
.welcome-subscribe + .welcome-grid {padding-top:44px;}
@media(max-width:700px) {
 .welcome-subscribe {grid-template-columns:1fr;gap:18px;padding:20px;margin-top:24px;}
 .welcome-subscribe h2 {font-size:22px;}
 #app > #main.welcome-shell .welcome-subscribe .welcome-signin {width:100%;min-width:0;}
 .signup-interval .annual-offer {display:block;margin:3px 0 0;}
}
.registration-preview {padding:16px;border:1px solid var(--line);border-radius:8px;line-height:1.7;}
.registration-preview strong {display:block;color:var(--accent-text);}

.stripe-recognition{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:14px}
.stripe-recognition a{display:inline-flex;flex:none;align-items:center;min-height:32px}
.stripe-recognition img{display:block;width:119px;height:26px;max-width:none}
.stripe-recognition span{color:var(--muted);font-size:12px;line-height:1.5}
.stripe-recognition .stripe-light{display:none}
[data-theme="light"] .stripe-recognition .stripe-dark{display:none}
[data-theme="light"] .stripe-recognition .stripe-light{display:block}
.subscribe-action{min-width:0}
.subscribe-action .stripe-recognition{justify-content:center}
.signup-plan .stripe-recognition{margin-top:12px}
.signup-plan .stripe-recognition span{font-size:11px}

.sidebar.slider-sidebar {position:fixed;inset:0 auto 0 0;z-index:20;width:64px;padding:12px 8px 18px;}
.sidebar.slider-sidebar {display:flex;flex-direction:column;gap:0;overflow-x:hidden;overflow-y:auto;}
.sidebar.slider-sidebar {border-right:1px solid var(--line);border-bottom:0;transition:width .18s ease;}
.slider-sidebar ~ .workspace {margin-left:64px;transition:margin-left .18s ease;}
.sidebar.slider-expanded {width:248px;box-shadow:8px 0 24px #0004;}
.sidebar-pinned .slider-sidebar ~ .workspace {margin-left:248px;}
.slider-controls {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px;}
.slider-controls button {display:grid;place-items:center;width:44px;min-width:44px;height:44px;border-radius:6px;}
.slider-controls button {color:var(--muted);border:1px solid var(--line);background:var(--panel);}
.slider-controls button:hover,.slider-pin[aria-pressed=true] {color:var(--cyan);background:var(--soft);}
.slider-controls svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;}
.slider-pin[aria-pressed=true] svg {fill:var(--soft);stroke-width:2.2;}
.slider-sidebar .brand {padding:0 7px;gap:10px;font-size:22px;white-space:nowrap;}
.slider-sidebar .brandmark {width:30px;min-width:30px;}
.slider-sidebar .brand small {font-size:8px;}
.slider-sidebar .edition {margin:18px 8px 15px;white-space:nowrap;}
.slider-sidebar #main-nav {display:grid;gap:5px;flex-wrap:nowrap;}
.slider-sidebar #main-nav a {display:flex;gap:12px;padding:10px 12px;min-height:44px;font-size:12px;}
.slider-sidebar #main-nav .icon {display:block;width:20px;min-width:20px;height:20px;}
.slider-sidebar #main-nav a>span {white-space:nowrap;}
.slider-sidebar .side-help {margin:22px 4px 16px;min-width:208px;}
.slider-sidebar .side-bottom {margin-top:auto;min-width:208px;}
.slider-sidebar:not(.slider-expanded) .brand>span:last-child {opacity:0;width:0;overflow:hidden;}
.slider-sidebar:not(.slider-expanded) #main-nav a>span {opacity:0;width:0;overflow:hidden;}
.slider-sidebar:not(.slider-expanded) .edition {font-size:0;height:8px;margin:10px 0;}
.slider-sidebar:not(.slider-expanded) .side-help {display:none;}
.slider-sidebar:not(.slider-expanded) .side-bottom {visibility:hidden;}
.slider-sidebar:not(.slider-expanded) .slider-pin {visibility:hidden;}
@media(max-width:850px) {
 .sidebar-pinned .slider-sidebar ~ .workspace {margin-left:64px;}
 .sidebar.slider-expanded {width:min(248px,calc(100vw - 24px));}
 .slider-sidebar .side-help {display:block;}.slider-sidebar .side-bottom {display:grid;}
 .slider-sidebar:not(.slider-expanded) .side-help {display:none;}
 .workspace .top-actions>a {display:none;}.workspace .topbar {padding:12px;gap:8px;flex-wrap:wrap;}
 .workspace .sample-bar select {min-width:120px;}.workspace .sample-about {max-width:65vw;}
}
@media(prefers-reduced-motion:reduce) {
 .sidebar.slider-sidebar,.slider-sidebar ~ .workspace {transition:none;}
}

.sidebar.sidebar-chrome {overflow:visible;padding-bottom:8px;}
.sidebar-chrome .slider-controls {gap:2px;margin-bottom:12px;flex-shrink:0;}
.sidebar-chrome .slider-controls :is(button,a) {width:44px;min-width:44px;height:44px;}
.sidebar-chrome .slider-controls :is(button,a) {display:grid;place-items:center;border:0;background:transparent;}
.sidebar-chrome .slider-controls a {color:var(--muted);border-radius:6px;}
.sidebar-chrome .slider-controls :is(button,a):hover {background:var(--soft);color:var(--cyan);}
.sidebar-chrome .sidebar-settings[aria-current=page] {background:var(--soft);color:var(--cyan);}
.sidebar-chrome:not(.slider-expanded) .slider-controls>:not(.slider-toggle) {display:none;}
.sidebar-scroll {min-height:0;overflow-y:auto;overflow-x:hidden;flex:1;scrollbar-width:thin;}
.sidebar-chrome .side-help {min-width:0;}
.sidebar-chrome .side-bottom {flex-shrink:0;min-width:0;margin-top:8px;display:grid;gap:4px;}
.sidebar-chrome:not(.slider-expanded) .side-bottom {visibility:visible;}
.sidebar-chrome:not(.slider-expanded) .side-bottom>a {display:none;}
.sidebar-chrome .account-control {position:relative;min-height:44px;}
.sidebar-chrome #account-toggle {display:flex;align-items:center;gap:10px;width:100%;height:44px;}
.sidebar-chrome #account-toggle {border:0;border-radius:7px;background:var(--soft);padding:6px 8px;}
.user-initial {display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;}
.user-initial {background:var(--blue);color:var(--side);font-size:13px;font-weight:700;}
.user-label {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--ink);}
.user-chevron {margin-left:auto;color:var(--muted);}
.sidebar-chrome:not(.slider-expanded) :is(.user-label,.user-chevron) {display:none;}
.sidebar-chrome #account-menu {position:fixed;top:auto;bottom:62px;left:8px;right:auto;width:232px;}
.sidebar-chrome #account-menu {max-height:calc(100dvh - 86px);overflow-y:auto;z-index:42;}
.sidebar-chrome #account-menu :is(a,button) {width:100%;text-align:left;min-height:44px;font-size:12px;}
.sidebar-chrome #account-menu button {color:var(--ink);border-radius:4px;}
.sidebar-chrome #account-menu button:hover {background:var(--soft);}
.sidebar-chrome #account-menu strong {color:var(--muted);font-size:11px;border-top:1px solid var(--line);}
.sidebar-chrome #account-toggle[aria-expanded=true] .user-chevron {transform:rotate(180deg);}
@media(max-width:400px) {
 .sidebar-chrome .slider-controls {gap:0;}
 .sidebar-chrome #account-menu {width:min(232px,calc(100vw - 16px));}
}

#sidebar-search {width:min(560px,calc(100vw - 24px));max-height:80dvh;padding:20px;border-radius:12px;}
#sidebar-search {background:var(--panel);color:var(--ink);border:1px solid var(--line);}
#sidebar-search::backdrop {background:#0008;}
:is(#sidebar-search,#sidebar-tasks) header {display:flex;align-items:center;justify-content:space-between;gap:8px;}
:is(#sidebar-search,#sidebar-tasks) h2 {font-size:16px;margin:0;}
:is(#sidebar-search,#sidebar-tasks) header button {width:44px;height:44px;color:var(--muted);font-size:24px;}
#sidebar-search label {display:block;margin:16px 0 8px;font-size:13px;color:var(--muted);}
#sidebar-query {width:100%;height:48px;padding:10px;border:1px solid var(--blue);border-radius:7px;}
#sidebar-query {background:var(--side);color:var(--ink);font-size:16px;}
#sidebar-search-status {font-size:12px;color:var(--muted);margin:12px 0;}
#sidebar-results {display:grid;gap:4px;}
#sidebar-results a {display:flex;justify-content:space-between;gap:12px;padding:12px;min-height:44px;}
#sidebar-results a {border-radius:5px;color:var(--ink);font-size:13px;}
#sidebar-results a:hover {background:var(--soft);color:var(--cyan);}
#sidebar-tasks {position:fixed;top:64px;left:8px;width:min(380px,calc(100vw - 16px));z-index:43;}
#sidebar-tasks {background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;}
#sidebar-tasks {box-shadow:0 12px 30px #0005;max-height:calc(100dvh - 80px);overflow:auto;padding:12px;}
.sidebar-task-body {display:grid;gap:10px;font-size:13px;line-height:1.6;}
.sidebar-task-body button {display:grid;gap:7px;text-align:left;border-top:1px solid var(--line);padding:12px 0;}
.sidebar-task-body strong {color:var(--ink);}.sidebar-task-body span {color:var(--muted);}
.sidebar-task-body a {color:var(--cyan);padding:10px 0;min-height:44px;}

.account-toolbar {display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;}
.account-toolbar label {display:grid;gap:7px;font-size:12px;color:var(--muted);}
.account-toolbar :is(input,select) {background:var(--panel);color:var(--ink);border:1px solid var(--line);}
.account-toolbar :is(input,select) {padding:10px;border-radius:5px;min-height:44px;max-width:100%;}
.account-toolbar>label:first-child {flex:1;min-width:180px;}
.account-toolbar :is(button,a) {min-height:44px;display:flex;align-items:center;padding:10px 12px;}
.account-group {border-bottom:1px solid var(--line);}
.account-group summary {cursor:pointer;padding:14px 0;font-weight:600;color:var(--ink);font-size:14px;}
.account-group summary span {font-size:11px;font-weight:400;color:var(--muted);margin-left:12px;}
.account-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:16px 0;}
.account-row {border-top:1px solid var(--line);}.account-row .tile-link {font-size:14px;text-align:left;}
.account-row p {font-size:12px;margin:6px 0;color:var(--muted);}.account-row small {font-size:11px;}
.account-row small {display:block;margin-top:5px;color:var(--muted);}
.account-row-value {text-align:right;}.account-row-value strong {color:var(--cyan);font-size:17px;}
.account-row-evidence {grid-column:1/-1;display:flex;gap:6px 16px;flex-wrap:wrap;font-size:10px;color:var(--muted);}
.account-choices {display:grid;gap:12px;}.account-choices h3 {margin:14px 0 2px;}
.account-choices .tile-link {padding:12px;border:1px solid var(--line);border-radius:5px;min-height:48px;}
.account-choices p {font-size:13px;line-height:1.6;color:var(--muted);}
.account-flow>.secondary {margin-bottom:16px;min-height:44px;}
#account-manual-form fieldset {border:1px solid var(--line);padding:12px;}
#account-manual-form .check-row {margin:10px 0;}#account-form-error {color:var(--amber);margin:12px 0;}
@media(max-width:650px) {
 .account-toolbar>label {width:100%;}.account-toolbar :is(input,select) {width:100%;}
 .account-row {grid-template-columns:minmax(0,1fr);}.account-row-value {text-align:left;}
 .account-toolbar>button,.account-toolbar>a {flex:1;justify-content:center;}
 .account-toolbar>[data-account-add] {flex-basis:100%;}
}

.budget-toolbar {display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
.budget-toolbar label {display:grid;gap:6px;color:var(--muted);font-size:12px;}
.budget-toolbar :is(button,input,select) {padding:10px;min-height:44px;border:1px solid var(--line);border-radius:5px;}
.budget-toolbar :is(button,input,select) {background:var(--panel);color:var(--ink);}
.budget-caption {font-size:12px;color:var(--muted);line-height:1.7;margin:10px 0 18px;}
.budget-section-title {font-size:16px;color:var(--cyan);padding:12px 0;}
.budget-group {border-top:1px solid var(--line);}.budget-group>summary {padding:16px 0;cursor:pointer;}
.budget-group>summary {font-weight:600;font-size:14px;}.budget-group>summary span {display:block;}
.budget-group>summary span {color:var(--muted);font-size:11px;margin:8px 0 0 16px;font-weight:400;}
.budget-table-wrap {overflow-x:auto;}.budget-table {width:100%;border-collapse:collapse;font-size:12px;}
.budget-table :is(td,th) {padding:12px 7px;border-top:1px solid var(--line);text-align:right;vertical-align:top;}
.budget-table :is(td,th):first-child {text-align:left;width:37%;}
.budget-table thead th {font-size:11px;color:var(--muted);font-weight:400;}
.budget-table .tile-link {text-align:left;font-size:12px;min-height:32px;}
.budget-table small {display:block;font-size:10px;color:var(--amber);}
.budget-table button:disabled {opacity:.8;cursor:default;}.budget-unplanned summary {padding:14px 0;cursor:pointer;}
.budget-unplanned summary {font-size:12px;color:var(--blue);}.budget-total {display:grid;gap:9px;padding:16px 0;}
.budget-total {border-top:1px solid var(--line);font-size:13px;}.budget-total span {color:var(--muted);}
.budget-tabs {display:flex;gap:6px;margin:16px 0;}.budget-tabs button {padding:10px;min-height:44px;border-radius:5px;}
.budget-tabs button[aria-pressed=true] {background:var(--soft);color:var(--cyan);}
#budget-summary h3 {margin:20px 0 10px;font-size:14px;}#budget-error {color:var(--amber);margin:14px 0;}
@media(max-width:650px) {
 .budget-toolbar {gap:6px;}.budget-toolbar input {min-width:0;width:145px;}
 .budget-table {min-width:430px;}.budget-table-wrap {max-width:100%;}
}

.classic #main .metrics.command-metrics {
 display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:0;align-items:stretch;
}
.classic #main .command-metrics .metric {
 position:relative;min-width:0;min-height:0;padding:10px 20px;border:0;
 border-bottom:1px solid var(--line);display:flex;flex-direction:column;
}
.classic #main .command-metrics .metric::after {
 content:"";position:absolute;right:0;top:10px;bottom:10px;width:1px;background:var(--line);
}
.classic #main .command-metrics .metric:nth-child(5n)::after {display:none;}
.classic #main .command-metrics .metric:nth-child(n+6) {border-bottom:0;}
.classic #main .command-metrics .metric>span {min-height:0;letter-spacing:.25px;}
.classic #main .command-metrics .metric>strong {margin:4px 0;}
.classic #main .command-metrics .metric>small {min-height:0;}
@media(max-width:1199px) {
 .classic #main .metrics.command-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}
 .classic #main .command-metrics .metric:nth-child(n) {border-bottom:1px solid var(--line);}
 .classic #main .command-metrics .metric:nth-child(n)::after {display:block;}
 .classic #main .command-metrics .metric:nth-child(2n)::after {display:none;}
 .classic #main .command-metrics .metric:nth-last-child(-n+2) {border-bottom:0;}
}
@media(max-width:599px) {
 .classic #main .metrics.command-metrics {grid-template-columns:minmax(0,1fr);}
 .classic #main .command-metrics .metric:nth-child(n) {border-bottom:1px solid var(--line);}
 .classic #main .command-metrics .metric:nth-child(n)::after {display:none;}
 .classic #main .command-metrics .metric:last-child {border-bottom:0;}
 .classic #main .command-metrics .metric>span {min-height:0;}
 .classic #main .command-metrics .metric {min-height:0;padding:10px 16px;}
}

.command-source-link {margin-top:auto;padding-top:6px;
 font-size:11px;color:var(--cyan);line-height:1.5;display:block;}
.command-source-link:focus-visible {outline:2px solid var(--cyan);outline-offset:3px;}

.page-refresh-bar {display:flex;align-items:center;gap:8px;padding:8px 24px;border-bottom:1px solid var(--line);}
#page-refresh {display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
 padding:6px;flex-shrink:0;border:1px solid var(--line);border-radius:5px;color:var(--cyan);}
#page-refresh:focus-visible {outline:2px solid var(--cyan);outline-offset:2px;}
#page-refresh[aria-busy="true"] svg {opacity:.5;}
.refresh-status {font-size:11px;color:var(--muted);}
.refresh-status:empty {display:none;}
.cashflow-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
#retirement-cashflow-form {max-width:900px;}
#retirement-cashflow-form p {font-size:13px;line-height:1.6;margin:12px 0;}
#retirement-cashflow-form input[type="checkbox"] {width:auto;display:inline;min-height:0;margin-right:8px;}
@media(max-width:599px){.cashflow-fields{grid-template-columns:1fr;}.page-refresh-bar{padding:8px 14px;}}

.holdings-summary {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;}
.holding-summary {display:grid;grid-template-rows:subgrid;grid-row:span 4;gap:8px;min-width:0;}
.holding-summary > strong {align-self:baseline;margin:0;font-variant-numeric:tabular-nums;}
.holding-label {display:flex;flex-direction:column;align-items:flex-start;align-self:start;gap:4px;}
.holding-tickers {align-content:start;}
.holding-class {align-self:start;}
.schedule-row {display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;margin:10px 0;}
.schedule-row input,.schedule-row select {min-width:0;}
#retirement-cashflow-form fieldset {margin:18px 0;padding:16px;border:1px solid var(--line);}
@media(max-width:650px){.schedule-row{grid-template-columns:1fr 1fr;}}
@media(max-width:420px){.holdings-summary{grid-template-columns:1fr;}.holding-summary{grid-row:auto;}}

[data-tile="tax-risk-results"] table { min-width:900px; }
[data-tile="tax-risk-results"] th,
[data-tile="tax-risk-results"] td { white-space:nowrap; }

.tax-form { max-width:1120px; margin:0 auto; }
[data-tile="tax-risk-inputs"] .tile-body > .tile-note { max-width:1120px; margin:0 auto 12px; }
.tax-form .tax-intro { font-size:13px; line-height:1.65; margin-bottom:24px; max-width:850px; }
.tax-section { border-top:1px solid var(--line); padding:22px 0; }
.tax-section h3 { font-size:15px; color:var(--ink); margin:0 0 6px; }
.tax-section > p { font-size:12px; margin:0 0 18px; }
.tax-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; margin-top:16px; }
.tax-profile { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tax-form .tax-field { display:flex; flex-direction:column; gap:8px; min-width:0; margin:0; }
.tax-field > span:first-child { font-size:12px; font-weight:600; color:var(--ink); }
.tax-form .tax-field input,.tax-form .tax-field select { width:100%; height:44px; min-width:0; margin:0; }
.tax-form .tax-field input,.tax-form .tax-field select { padding:10px 12px; border:1px solid var(--line); }
.tax-form .tax-field input,.tax-form .tax-field select { background:var(--side); color:var(--ink); }
.tax-form .tax-field input,.tax-form .tax-field select { border-radius:5px; font-size:14px; line-height:1.4; }
.tax-form .tax-field input::placeholder { color:var(--muted); font-size:13px; opacity:.8; }
.tax-field small { font-size:12px; font-weight:400; line-height:1.5; color:var(--muted); }
.tax-money { position:relative; display:block; }
.tax-money > span { position:absolute; left:13px; top:11px; color:var(--muted); pointer-events:none; }
.tax-form .tax-money input { padding-left:30px; font-variant-numeric:tabular-nums; }
.tax-scope { background:var(--soft); border:1px solid var(--line); border-radius:5px; padding:14px 16px; }
.tax-scope summary { cursor:pointer; font-weight:600; font-size:13px; color:var(--cyan); }
.tax-scope p { margin:12px 0 0; font-size:12px; line-height:1.75; }
.tax-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; padding:22px 0 8px; }
.tax-confirm { display:flex; align-items:flex-start; gap:10px; flex:1 1 450px; font-size:12px; }
.tax-confirm input { width:17px; height:17px; flex:none; margin:1px 0 0; accent-color:var(--accent); }
.tax-actions button { flex:none; min-height:44px; }
.tax-actions [data-tax-risk-error]:empty { display:none; }
.tax-actions [data-tax-risk-error]:not(:empty) { width:100%; color:var(--amber); }
@media(max-width:1000px) { .tax-profile { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) {
 .tax-grid,.tax-profile { grid-template-columns:1fr; gap:18px; }
 .tax-actions { align-items:stretch; }.tax-actions button { width:100%; }
 .tax-confirm { flex-basis:100%; }.tax-section { padding:18px 0; }
}

.ph-form-shell { min-width:0; }
.ph-draft-note { color:var(--muted); font-size:12px; padding:12px 0; }
.ph-draft-note[hidden] { display:none; }
.ph-managed-form { max-width:none; margin:0; }
.ph-managed-form :is(label,fieldset,.form-grid,.cashflow-fields,.withdraw-births,.schedule-row) { display:none; }
.ph-managed-form #add-lifetime-change,.ph-managed-form #lifetime-schedule { display:none; }
.ph-managed-form .tax-section { display:none; }
.ph-survey .sd-root-modern { background:transparent; }
.ph-survey .sd-body,.ph-survey .sd-page { padding:0; max-width:none; margin:0; }
.ph-survey .sd-panel { border-top:1px solid var(--line); padding-top:16px; margin-bottom:20px; }
.ph-survey .sd-panel__title { font-size:15px; color:var(--ink); }
.ph-survey .sd-question__title { font-size:13px; line-height:1.5; color:var(--ink); }
.ph-survey .sd-question__description { font-size:12px; color:var(--muted); }
.ph-survey .sd-formbox { border:1px solid var(--line); border-radius:5px; min-height:44px; }
.ph-survey .sd-formbox { background:var(--side); color:var(--ink); }
.ph-survey .sd-formbox__input { font-size:14px; color:var(--ink); }
.ph-survey .sd-formbox:focus-within { outline:2px solid var(--focus); outline-offset:2px; }
.ph-survey .sd-row { gap:20px; margin-inline:0; flex-wrap:nowrap; }
.ph-survey .sd-row>.sd-element-wrapper { flex:1 1 0 !important; min-width:0; }
.ph-survey .sd-element-wrapper { padding-left:0; }
.ph-survey .sd-question { padding:0; box-shadow:none; background:transparent; }
.ph-survey .sd-element__content { padding:0; }
.ph-survey .sd-element__header { padding-inline:0; }
.cashflow-fields .field { display:grid; gap:8px; align-content:start; }
.cashflow-fields input,.schedule-row input { background:var(--side); color:var(--ink); }
.cashflow-fields input,.schedule-row input { border:1px solid var(--line); padding:10px; min-width:0; }
.large-text .ph-survey :is(input,select,textarea,.sd-question__title) { font-size:16px; }
@media(max-width:650px) { .ph-survey .sd-row { display:block; }
 .ph-survey .sd-question { width:100% !important; margin-bottom:18px; } }

.assistant-launch {display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;margin:12px 0;}
.assistant-launch {color:var(--cyan);text-align:left;border-radius:7px;border:1px solid var(--line);flex-shrink:0;}
.assistant-launch>span:first-child {font-size:24px;min-width:20px;}
.assistant-launch>span:last-child {white-space:nowrap;}
.assistant-launch small {font-size:9px;color:var(--muted);margin-top:4px;}
.slider-sidebar:not(.slider-expanded) .assistant-launch>span:last-child {opacity:0;width:0;overflow:hidden;}
.assistant-launch:hover {background:var(--soft);}.assistant-float {position:fixed;right:20px;bottom:20px;z-index:39;}
.assistant-float {display:flex;gap:9px;align-items:center;padding:13px 18px;border-radius:24px;min-height:48px;}
.assistant-float {background:var(--raised);border:1px solid var(--cyan);color:var(--cyan);box-shadow:0 7px 24px #0005;}
.assistant-float span {font-size:23px;}.assistant-settings h2 {font-size:19px;margin-bottom:18px;}
.assistant-settings p {font-size:13px;line-height:1.7;margin-bottom:15px;}
.assistant-settings button {display:block;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:7px;}
.assistant-settings button {color:var(--cyan);width:100%;min-height:44px;}
#assistant-ui .sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);}
.assistant-modal {overflow:hidden;}
@media(max-width:600px) {
 .assistant-panel,.assistant-panel.expanded {inset:8px;width:auto;height:auto;border-radius:12px;}
 .assistant-header {flex-wrap:wrap;padding:8px;}.assistant-history {flex-basis:100%;}
 .assistant-tools {margin-left:auto;}.assistant-tools button {width:40px;height:40px;}
 .assistant-content {padding:16px;}.assistant-welcome {padding-top:10px;}
 .assistant-float {right:12px;bottom:12px;font-size:12px;}.assistant-composer textarea {font-size:16px;}
 .assistant-welcome h2 {font-size:20px;}.assistant-feedback button {min-height:44px;}
}

.assistant-panel[hidden],.assistant-float[hidden] {display:none;}
.assistant-panel {position:fixed;right:18px;bottom:18px;width:420px;height:min(680px,calc(100dvh - 36px));}
.assistant-panel {z-index:40;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);}
.assistant-panel {border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:0 18px 65px #0007;}
.assistant-panel.expanded {width:min(860px,calc(100vw - 100px));height:calc(100dvh - 36px);}
.assistant-header {display:flex;align-items:center;gap:6px;padding:12px;border-bottom:1px solid var(--line);}
.assistant-history {flex:1;min-width:0;}.assistant-history select {width:100%;min-width:0;min-height:36px;}
.assistant-history select {background:var(--panel);color:var(--ink);border:0;font-size:12px;}
.assistant-tools {display:flex;gap:2px;}.assistant-tools button {width:32px;height:36px;font-size:19px;}
.assistant-tools button {color:var(--muted);border-radius:5px;}.assistant-tools button:hover {background:var(--soft);}
.assistant-tools button[aria-pressed=true] {background:var(--soft);color:var(--cyan);}
.assistant-content {flex:1;overflow-y:auto;min-height:0;padding:20px;overscroll-behavior:contain;}
.assistant-welcome {padding:16px 0 12px;text-align:center;}.assistant-welcome>span {font-size:32px;color:var(--cyan);}
.assistant-eyebrow {font-size:10px;letter-spacing:1.4px;color:var(--cyan);margin:10px 0;}
.assistant-welcome h2 {font-size:22px;line-height:1.4;font-weight:600;margin:8px 0 12px;}
.assistant-welcome>p:last-of-type {font-size:12px;line-height:1.6;margin:0 14px 20px;}
.assistant-suggestions {display:grid;gap:9px;}.assistant-suggestions button {border:1px solid var(--line);}
.assistant-suggestions button {background:var(--raised);border-radius:10px;padding:12px;text-align:left;font-size:12px;}
.assistant-suggestions button {display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:44px;}
.assistant-suggestions button span {color:var(--cyan);}.assistant-suggestions button:hover {border-color:var(--cyan);}
.assistant-message {margin:4px 0 24px;font-size:13px;line-height:1.7;overflow-wrap:anywhere;}
.assistant-message>p {white-space:pre-wrap;color:var(--ink);}
.assistant-message .assistant-message-label {font-size:10px;}
.assistant-message .assistant-message-label {color:var(--muted);margin-bottom:6px;}
.assistant-message.user {margin-left:30px;padding:12px 15px;border-radius:12px 12px 3px 12px;background:var(--soft);}
.assistant-message.assistant {border-left:2px solid var(--cyan);padding-left:14px;}
.assistant-message>a {display:block;font-size:12px;color:var(--cyan);margin-top:10px;}
.assistant-feedback {display:flex;gap:8px;margin-top:12px;}
.assistant-feedback button {color:var(--muted);font-size:10px;}
.assistant-feedback button {display:flex;align-items:center;gap:5px;padding:8px;border-radius:5px;min-height:36px;}
.assistant-feedback .icon {width:14px;height:14px;}.assistant-feedback [aria-pressed=true] {background:var(--soft);}
.assistant-feedback [aria-pressed=true] {color:var(--cyan);}.assistant-status {font-size:11px;min-height:20px;}
.assistant-status {padding:0 18px;color:var(--muted);}.assistant-footer {padding:7px 12px 12px;text-align:center;}
.assistant-footer {font-size:10px;color:var(--muted);}.assistant-composer {margin:8px 12px 0;display:flex;gap:6px;}
.assistant-composer {border:1px solid var(--cyan);border-radius:12px;padding:8px;background:var(--side);}
.assistant-composer textarea {flex:1;min-width:0;resize:none;border:0;background:transparent;color:var(--ink);}
.assistant-composer textarea {font:inherit;font-size:12px;line-height:1.5;padding:4px;max-height:90px;}
.assistant-composer button {width:36px;min-width:36px;height:36px;border-radius:8px;background:var(--soft);}
.assistant-composer button {align-self:flex-end;color:var(--cyan);font-size:20px;}

.evidence-history341 table { min-width: 1100px; }
.evidence-history341 th, .evidence-history341 td { min-width: 135px; }
.evidence-history341 td:first-child { min-width: 180px; }
#statement-filter-342{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}
#statement-filter-342 label{display:flex;flex-direction:column;gap:6px;min-width:160px;max-width:100%}
#statement-filter-342 input,#statement-filter-342 select{padding:8px;min-height:42px;max-width:100%}

/* Permit fluid shrinking in WebKit and align tablet layouts with the mobile stack. */
.welcome-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
.welcome-grid > *, .welcome-subscribe > *, .welcome-header > * { min-width:0; }
.welcome-story h1, .welcome-card h2, .welcome-subscribe h2 { overflow-wrap:break-word; }
.welcome-signin { max-width:100%; }
@media (max-width:850px) {
  .welcome-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .welcome-subscribe { grid-template-columns:minmax(0,1fr); }
  #app > #main.welcome-shell .welcome-subscribe .welcome-signin { width:100%; min-width:0; }
}
