@font-face{font-family:Geist;src:url("./assets/Geist-Variable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;}
/* Generated from brand/fiat/tokens.json · v1.21.0. Do not edit. */
:root {
  --fiat-color-main-yellow: #FFD44C;
  --fiat-color-white: #FFFFFF;
  --fiat-color-vanilla: #FEE8A3;
  --fiat-color-cornsilk: #FFF6D7;
  --fiat-color-black-metal: #050505;
  --fiat-color-elemental: #D2D3D4;
  --fiat-color-jet: #292929;
  --fiat-background: #F7F7F7;
  --fiat-surface: #FFFFFF;
  --fiat-surface-sunken: #F2F2F2;
  --fiat-text: #292929;
  --fiat-text-soft: #555555;
  --fiat-text-muted: #6B6B6B;
  --fiat-border: #E5E5E5;
  --fiat-border-strong: #D2D3D4;
  --fiat-input-border: #8C8D8E;
  --fiat-accent: #FFD44C;
  --fiat-accent-text: #292929;
  --fiat-hero-surface: #FEE8A3;
  --fiat-hero-text: #292929;
  --fiat-hero-muted: #655B3E;
  --fiat-selected: #FFF6D7;
  --fiat-primary: #292929;
  --fiat-primary-text: #FFFFFF;
  --fiat-focus: #292929;
  --fiat-positive: #235F45;
  --fiat-negative: #9A4038;
  --fiat-warning: #7A5A17;
  --fiat-info: #23507E;
  --fiat-chart-portfolio: #80621C;
  --fiat-chart-comparison: #747E8B;
  --fiat-chart-cash: #3985B3;
  --fiat-chart-tax-deferred: #AA8126;
  --fiat-chart-tax-free: #8170B3;
  --fiat-chart-charitable: #398D86;
  --fiat-chart-liability: #AE6B83;
  --fiat-font-family: "Geist", ui-sans-serif, system-ui, sans-serif;
  --fiat-type-body-size: 15px;
  --fiat-type-body-weight: 400;
  --fiat-type-body-leading: 1.6;
  --fiat-type-display-size: 36px;
  --fiat-type-display-weight: 450;
  --fiat-type-display-leading: 1.15;
  --fiat-type-mobile-display-size: 28px;
  --fiat-type-mobile-display-weight: 450;
  --fiat-type-mobile-display-leading: 1.2;
  --fiat-type-section-size: 20px;
  --fiat-type-section-weight: 500;
  --fiat-type-section-leading: 1.3;
  --fiat-type-panel-size: 17px;
  --fiat-type-panel-weight: 500;
  --fiat-type-panel-leading: 1.3;
  --fiat-type-label-size: 13px;
  --fiat-type-label-weight: 500;
  --fiat-type-label-leading: 1.5;
  --fiat-type-caption-size: 12px;
  --fiat-type-caption-weight: 400;
  --fiat-type-caption-leading: 1.5;
  --fiat-type-metric-size: 44px;
  --fiat-type-metric-weight: 450;
  --fiat-type-metric-leading: 1.1;
  --fiat-report-body: 10pt;
  --fiat-report-caption: 8pt;
  --fiat-report-title: 26pt;
  --fiat-report-metric: 30pt;
  --fiat-report-inset: 0.4in;
  --fiat-shadow-card: none;
  --fiat-shadow-popover: 0 4px 18px rgb(5 5 5 / 0.08);
  --fiat-shadow-dialog: 0 24px 60px rgb(5 5 5 / 0.22);
  --fiat-space-4: 4px;
  --fiat-space-8: 8px;
  --fiat-space-12: 12px;
  --fiat-space-16: 16px;
  --fiat-space-20: 20px;
  --fiat-space-24: 24px;
  --fiat-space-32: 32px;
  --fiat-space-48: 48px;
  --fiat-space-64: 64px;
  --fiat-radius-control: 8px;
  --fiat-radius-card: 15px;
  --fiat-radius-hero: 17px;
  --fiat-radius-mobile-card: 14px;
  --fiat-radius-dialog: 18px;
  --fiat-container: 1460px;
  --fiat-gutter: 48px;
  --fiat-control-height: 44px;
  --fiat-duration-fast: 150ms;
  --fiat-duration-standard: 250ms;
  --fiat-ease: cubic-bezier(0.16, 1, 0.3, 1);
}
/* Portable primitives. No framework, global reset, or application-specific data required. */
.fiat-theme { color:var(--fiat-text); background:var(--fiat-background); font-family:var(--fiat-font-family); font-size:15px; line-height:1.6; }
.fiat-theme *, .fiat-theme *::before, .fiat-theme *::after { box-sizing:border-box; }
.fiat-theme :is(button,input,select,textarea) { font:inherit; }
.fiat-theme :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--fiat-focus); outline-offset:3px; }
.fiat-theme :is(h1,h2,h3) { font-weight:500; letter-spacing:-.035em; line-height:1.2; }
.fiat-panel { padding:24px; border:1px solid var(--fiat-border); border-radius:var(--fiat-radius-card); background:var(--fiat-surface); min-width:0; }
.fiat-hero { padding:32px; border:1px solid rgb(41 41 41 / .1); border-radius:var(--fiat-radius-hero); background:var(--fiat-hero-surface); color:var(--fiat-hero-text); }
.fiat-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid var(--fiat-border-strong); border-radius:var(--fiat-radius-control); background:var(--fiat-surface); color:var(--fiat-text); font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; cursor:pointer; transition:background 150ms; }
.fiat-button:hover { background:var(--fiat-surface-sunken); }
.fiat-button-primary { background:var(--fiat-primary); color:var(--fiat-primary-text); border-color:var(--fiat-primary); }
.fiat-button-primary:hover { background:var(--fiat-color-black-metal); }
.fiat-button-accent { background:var(--fiat-accent); color:var(--fiat-accent-text); border-color:transparent; }
.fiat-button-accent:hover { background:var(--fiat-hero-surface); }
.fiat-button:disabled { opacity:.45; cursor:not-allowed; }
.fiat-input { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--fiat-input-border); border-radius:var(--fiat-radius-control); background:var(--fiat-surface); color:var(--fiat-text); }
.fiat-input::placeholder { color:var(--fiat-text-muted); }
.fiat-input[aria-invalid="true"] { border-color:var(--fiat-negative); }
.fiat-label { display:block; margin-bottom:6px; font-size:13px; font-weight:500; }
.fiat-helper { display:block; margin-top:6px; font-size:13px; color:var(--fiat-text-muted); }
.fiat-error { color:var(--fiat-negative); }
.fiat-disclosure { border-top:1px solid var(--fiat-border); border-bottom:1px solid var(--fiat-border); }
.fiat-disclosure summary { min-height:48px; padding:14px 0; cursor:pointer; font-size:14px; }
.fiat-disclosure > :not(summary) { padding-bottom:20px; }
.fiat-table-wrap { overflow:auto; border:1px solid var(--fiat-border); border-radius:var(--fiat-radius-card); }
.fiat-table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; }
.fiat-table th { padding:14px 18px; background:var(--fiat-surface-sunken); color:var(--fiat-text-muted); font-size:12px; font-weight:400; }
.fiat-table td { padding:18px; background:var(--fiat-surface); border-top:1px solid var(--fiat-border); }
.fiat-number { font-variant-numeric:tabular-nums; }
/* Contained analysis panel. The adopting app owns movement, scope, and persistence behavior. */
.fiat-analysis-workspace { position:relative; min-height:660px; padding:20px; border:1px solid var(--fiat-border); border-radius:var(--fiat-radius-card); background:var(--fiat-surface-sunken); margin:24px 0; isolation:isolate; overflow:hidden; }
.fiat-analysis-workspace:has(.fiat-tools-panel[hidden]) .fiat-analysis-canvas { padding-right:0; }
.fiat-analysis-canvas { position:relative; min-width:0; min-height:600px; padding:0 380px 64px 0; }
.fiat-analysis-canvas .fiat-hero { padding:24px; }
.fiat-analysis-canvas h3 { font-size:25px; font-weight:450; margin:8px 0; }
.fiat-analysis-canvas p { font-size:13px; line-height:1.7; }
.fiat-analysis-canvas .fiat-disclosure { margin-top:22px; }
.fiat-tools-trigger { position:absolute; bottom:20px; right:20px; z-index:1; box-shadow:0 4px 16px rgb(5 5 5 / .08); }
.fiat-tools-panel { position:absolute; top:20px; right:20px; width:340px; max-height:calc(100% - 100px); z-index:2; min-width:0; overflow:auto; overscroll-behavior:contain; border:1px solid var(--fiat-border); border-radius:var(--fiat-radius-card); background:var(--fiat-surface); padding:20px; box-shadow:0 12px 36px rgb(5 5 5 / .1); }
.fiat-tools-panel>header { position:sticky; top:0; z-index:3; display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; padding:0 0 8px; background:var(--fiat-surface); }
.fiat-tools-panel>header h3 { font-size:16px; letter-spacing:-.02em; margin:0; }
.fiat-tools-panel>header>button { border:1px solid var(--fiat-input-border); border-radius:8px; width:44px; min-height:44px; background:var(--fiat-surface); font-size:20px; }
.fiat-tools-movement { display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; }
.fiat-tools-movement>button { min-height:44px; padding:8px 12px; border:1px solid var(--fiat-border); border-radius:8px; background:var(--fiat-surface); color:var(--fiat-text); font-size:12px; }
.fiat-tools-movement>button:first-child { cursor:grab; touch-action:none; user-select:none; }.fiat-tools-panel[data-dragging] .fiat-tools-movement>button:first-child { cursor:grabbing; }
.fiat-tools-movement-note { margin:0 0 16px; font-size:12px; line-height:1.5; color:var(--fiat-text-muted); }
.fiat-tools-tabs { display:flex; gap:4px; padding-bottom:14px; border-bottom:1px solid var(--fiat-border); margin-bottom:18px; }
.fiat-tools-tabs>button { min-height:44px; flex:1; padding:8px; border:0; border-radius:8px; background:var(--fiat-surface); color:var(--fiat-text-muted); font-size:12px; }
.fiat-tools-tabs>button[aria-pressed=true] { background:var(--fiat-selected); color:var(--fiat-text); }
.fiat-edit-scope { padding:12px 14px; border-radius:10px; background:var(--fiat-surface-sunken); margin-bottom:18px; font-size:12px; color:var(--fiat-text-muted); }
.fiat-edit-scope>strong { display:block; color:var(--fiat-text); font-weight:500; }
.fiat-tools-panel .fiat-helper { font-size:12px; line-height:1.65; }
.fiat-tools-panel .fiat-input { margin-bottom:14px; }
@media(max-width:1100px) { .fiat-analysis-workspace { display:grid; grid-template-columns:1fr; gap:20px; min-height:0; padding:16px; } .fiat-analysis-canvas { min-height:240px; padding:0; } .fiat-tools-panel { position:static; width:auto; max-height:none; box-shadow:none; } .fiat-tools-trigger { position:static; justify-self:start; }.fiat-tools-movement,.fiat-tools-movement-note { display:none; } }
@media print { .fiat-analysis-workspace { display:block; min-height:0; overflow:visible; }.fiat-analysis-canvas { min-height:0; padding:0; }.fiat-tools-panel { position:static!important; width:auto; max-height:none; margin-top:20px; box-shadow:none; }.fiat-tools-trigger,.fiat-tools-movement,.fiat-tools-movement-note { display:none!important; } }
/* New documents use physical units. Existing reports keep their dedicated composition adapter. */
.fiat-report-page { position:relative; box-sizing:border-box; width:11in; min-height:8.5in; padding:var(--fiat-report-inset); padding-bottom:.8in; background:var(--fiat-surface); color:var(--fiat-text); font:var(--fiat-report-body)/1.5 var(--fiat-font-family); page:fiat-landscape; break-after:page; }
.fiat-report-portrait { width:8.5in; min-height:11in; page:fiat-portrait; }
.fiat-report-page:last-child { break-after:auto; }
.fiat-report-page :is(h1,h2,h3) { font-weight:500; line-height:1.2; }
.fiat-report-page h1 { font-size:var(--fiat-report-title); font-weight:450; letter-spacing:-.035em; }
.fiat-report-cover { display:flex; min-height:6.4in; flex-direction:column; justify-content:space-between; gap:24px; padding:.4in; border-radius:var(--fiat-radius-card); background:var(--fiat-hero-surface); color:var(--fiat-hero-text); }
.fiat-report-cover :is(p,em,strong,span) { color:inherit; }
.fiat-report-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; font-size:var(--fiat-report-caption); color:var(--fiat-text-muted); }
.fiat-report-footer { position:absolute; bottom:.3in; left:var(--fiat-report-inset); right:var(--fiat-report-inset); display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--fiat-border); padding-top:.12in; font-size:var(--fiat-report-caption); color:var(--fiat-text-muted); }
.fiat-report-page table { width:100%; border-collapse:collapse; font-size:var(--fiat-report-body); }
.fiat-report-page :is(th,td) { padding:.08in .1in; border-bottom:1px solid var(--fiat-border); text-align:left; vertical-align:top; }
.fiat-report-page th { font-weight:500; }
.fiat-report-page thead { display:table-header-group; }
.fiat-report-page tr { break-inside:avoid; }
@page fiat-landscape { size:11in 8.5in; margin:0; }
@page fiat-portrait { size:8.5in 11in; margin:0; }
@media print { .fiat-report-page { border:0; box-shadow:none; print-color-adjust:exact; -webkit-print-color-adjust:exact; } .fiat-print-hidden { display:none!important; } }
.fiat-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:700px) { .fiat-panel,.fiat-hero { padding:22px; border-radius:var(--fiat-radius-mobile-card); } }
@media(prefers-reduced-motion:reduce) { .fiat-theme *, .fiat-theme *::before, .fiat-theme *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }
