/* Financial model. Owner: financial (spec 5.6). Tokens only; no hex outside :root. */

/* ---------------------------------------------------------------- page */
.financial-page{container:fin/inline-size;display:flex;flex-direction:column;gap:20px;width:100%;max-width:1120px;margin:0 auto;min-width:0;color:var(--text-1)}
.financial-page :where(h1,h2,h3,h4,p,dl,dd,ul){margin:0}
.financial-page :where(ul){padding:0;list-style:none}
/* Legacy .status-chip and .metric-card rules in styles.css load later; re-assert the kit look here. */
.financial-page .uk-pill.status-chip,.uk-sheet .uk-pill.status-chip,.financial-templates .uk-pill.status-chip{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0 10px;border:0;border-radius:var(--r-full);background:var(--pill-bg);color:var(--pill-text);font:500 13px/16px var(--font-sans);white-space:nowrap}
.financial-page .uk-pill--sm.status-chip{padding:0 8px;font-size:12px}
.financial-page .uk-pill.status-chip:has(>.uk-icon){padding-left:7px}
.financial-page .uk-pill--sm.status-chip:has(>.uk-icon){padding-left:6px}
.financial-page .uk-kpi.metric-card{min-width:0;padding:20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card)}
.financial-page .demo-banner{display:flex;align-items:flex-start;gap:12px;margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-sunken);color:var(--text-1);font:var(--t-small)}

/* ---------------------------------------------------------------- head */
.financial-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
.financial-head__text{display:flex;flex-direction:column;gap:2px;min-width:0}
/* Same eyebrow line as every other tool page (spec 6.2): sentence case, --t-small, tertiary text. */
.financial-eyebrow{margin:0 0 4px;font:var(--t-small);letter-spacing:0;color:var(--text-3)}
.financial-title{font:var(--t-h1);letter-spacing:-.02em;font-variation-settings:"opsz" 32;outline:none}
.financial-subtitle{margin-top:4px!important;font:var(--t-body);letter-spacing:-.006em;color:var(--text-2)}
.financial-head__side{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto}
.financial-head__status{display:flex;align-items:center;gap:4px}
.financial-status{display:inline-flex}
.financial-actions{display:flex;align-items:center;gap:8px}
.financial-actions .uk-btn.is-blocked{opacity:.55}
.financial-error{display:flex;gap:8px;align-items:flex-start;padding:12px 14px;border:1px solid var(--danger-border);border-radius:var(--r-lg);background:var(--danger-bg);color:var(--danger-text);font:500 14px/20px var(--font-sans);outline:none}
.financial-error[hidden]{display:none}

/* ---------------------------------------------------------------- scenarios */
.financial-scenarios{display:flex;align-items:center;gap:4px;min-width:0;box-shadow:inset 0 -1px 0 var(--border)}
.financial-scenarios__list{position:relative;display:flex;align-items:stretch;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}
.financial-scenarios__list::-webkit-scrollbar{display:none}
.financial-scenarios__spacer{flex:1}
.financial-scenario{position:relative;display:flex;align-items:center;flex:none;padding-right:2px}
.financial-scenario::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;border-radius:2px;background:transparent;transition:background-color var(--dur-3) var(--ease-out)}
.financial-scenario.is-active::after{background:var(--gray-900)}
.financial-scenario__tab{display:flex;align-items:center;gap:6px;height:40px;max-width:240px;padding:0 12px;border:0;border-radius:var(--r-sm) var(--r-sm) 0 0;background:transparent;color:var(--text-3);font:500 14px/20px var(--font-sans);letter-spacing:-.003em;cursor:pointer;transition:color var(--dur-2) var(--ease-out)}
.financial-scenario__tab:hover{color:var(--text-1)}
.financial-scenario.is-active .financial-scenario__tab{color:var(--text-1);padding-right:6px}
.financial-scenario__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.financial-scenario__unsaved{flex:none;width:6px;height:6px;border-radius:50%;background:var(--warning-solid)}
.financial-scenario .uk-menu{display:flex}
.financial-dot{flex:none;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--scenario-a)}
.financial-dot--b{background:var(--scenario-b)}
.financial-dot--c{background:var(--scenario-c)}
.financial-rename{width:160px;height:30px;padding:0 8px;border:1px solid var(--green-500);border-radius:var(--r-sm);background:var(--surface);box-shadow:0 0 0 3px var(--focus-ring);color:var(--text-1);font:500 14px/20px var(--font-sans);outline:none}

/* ---------------------------------------------------------------- template chooser */
.uk-popover.financial-templates{max-width:none;width:min(680px,calc(100vw - 16px));max-height:min(640px,calc(100dvh - 96px));overflow:auto;padding:16px}
.financial-templates__head{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.financial-templates__title{font:var(--t-title)}
.financial-templates__hint{font:400 13px/18px var(--font-sans);color:var(--text-3)}
.financial-templates .uk-card-option{min-height:64px;padding:12px 14px}
.financial-templates .uk-card-option__desc,.financial-start .uk-card-option__desc{font-size:13px;line-height:18px}
.financial-templates__confirm{position:sticky;bottom:-16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px -16px -16px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface)}
.financial-templates__confirm[hidden]{display:none}
.financial-templates__note{flex:1 1 220px;font:400 13px/18px var(--font-sans);color:var(--text-2)}
.financial-templates__buttons{display:flex;gap:8px;flex-wrap:wrap}
.financial-templates__cap{display:flex;gap:6px;align-items:center;width:100%;font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-mini{display:flex;flex-direction:column;justify-content:center;gap:3px;flex:none;box-sizing:border-box;width:40px;height:40px;padding:7px 6px;border-radius:var(--r-md);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border)}
.financial-mini>span{display:block;width:var(--w);height:3px;margin:0 auto;border-radius:2px;background:var(--green-200)}
.financial-mini>span:last-child{background:var(--green-500)}
.uk-card-option:has(input:checked) .financial-mini{background:var(--surface);box-shadow:inset 0 0 0 1px var(--green-100)}

/* ---------------------------------------------------------------- key numbers */
.financial-kpibar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:-8px}
.financial-kpibar__title{display:flex;align-items:center;gap:8px;font:var(--t-title);letter-spacing:-.006em}
.financial-kpibar__actions{display:flex;gap:4px}
.financial-more[hidden]{display:none}
.financial-more{margin-top:-8px}
.financial-highlights .uk-kpi__label{height:auto;min-height:18px;align-items:flex-start;white-space:normal}
.financial-highlights .uk-kpi__label>span:first-child{white-space:normal;overflow:visible;text-wrap:balance}
.financial-highlights .uk-kpi__info{margin-top:-1px}
@container fin (min-width:1000px){.financial-highlights .uk-kpi__label{min-height:36px}}
.financial-highlights .uk-kpi__needs{justify-self:start;text-align:left}

/* ---------------------------------------------------------------- workspace */
.financial-view{display:none}
.financial-shell{display:flex;flex-direction:column;gap:16px;min-width:0}
.financial-workspace{display:grid;grid-template-columns:minmax(340px,388px) minmax(0,1fr);gap:24px;align-items:start;min-width:0}
@container fin (max-width:1000px){.financial-workspace{grid-template-columns:minmax(292px,320px) minmax(0,1fr);gap:16px}}
@container fin (max-width:759px){.financial-workspace{grid-template-columns:minmax(0,1fr)}}

/* Assumptions pane: one inspector panel with accordion rows. It scrolls with the page; only its head sticks. */
.financial-inputs{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card)}
.financial-inputs__head{position:sticky;top:calc(var(--sticky-top) + 76px);z-index:2;display:flex;flex-direction:column;gap:10px;padding:16px 16px 14px;border-bottom:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0}
.financial-inputs__head:has(#fin-missing[open]){position:static}
.financial-pane-title{font:var(--t-title);letter-spacing:-.006em}
.financial-progress{display:flex;flex-direction:column;gap:8px}
.financial-progress .uk-meter__label{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-missing>summary{display:inline-flex;align-items:center;gap:4px;list-style:none;cursor:pointer;font:500 12px/16px var(--font-sans);color:var(--link)}
.financial-missing>summary::-webkit-details-marker{display:none}
.financial-missing>summary:hover{text-decoration:underline;text-underline-offset:2px}
.financial-missing>summary .uk-icon{transition:transform var(--dur-2) var(--ease-out)}
.financial-missing[open]>summary .uk-icon{transform:rotate(90deg)}
.financial-missing__body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:8px}
.financial-inputs__sections{display:flex;flex-direction:column}
.financial-section.uk-disclosure--row{border-bottom:1px solid var(--border)}
.financial-section.uk-disclosure--row>summary{margin:0;padding:12px 16px;border-radius:0;font:600 14px/20px var(--font-sans);letter-spacing:-.003em}
.financial-section>summary .uk-disclosure__meta{margin-left:auto}
.financial-section>summary .financial-badge:empty{display:none}
.financial-section>summary .financial-badge{margin-left:auto}
.financial-section>summary .financial-badge+.uk-disclosure__meta:empty{display:none}
.financial-section.uk-disclosure--row>.uk-disclosure__body{padding:4px 16px 20px;color:var(--text-1)}
.financial-section__body{display:flex;flex-direction:column;gap:18px;min-width:0}
.financial-inputs__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:auto;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 var(--r-lg) var(--r-lg)}
.financial-inputs__foot .financial-hint{flex:1 1 180px}
.financial-recalc{margin-left:auto}
.financial-label{font:500 13px/18px var(--font-sans);color:var(--text-1)}
.financial-hint{display:flex;gap:6px;align-items:flex-start;font:400 12px/16px var(--font-sans);color:var(--text-3)}
.financial-hint .uk-icon{flex:none;margin-top:2px}
.financial-hint--warning{color:var(--warning-text)}
.financial-hint--danger{color:var(--danger-text)}
.financial-hint[hidden]{display:none}
.financial-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 12px;align-items:start}
.financial-pair .uk-field--w-sm .uk-input-group--stepper{width:100%;max-width:176px}

/* Number fields: "Set 0" sits on the label line while a value is blank; blank already means "not sure". */
.financial-inputs .uk-field[data-uk=number]{position:relative}
.financial-inputs .uk-field__aux{position:absolute;top:0;right:0;gap:8px}
.financial-inputs .uk-field__aux [data-unknown]{display:none}
.financial-inputs .uk-field__aux .uk-link{font:500 12px/18px var(--font-sans)}
.financial-inputs .uk-field:has(input[data-uk-number]:not(:placeholder-shown)) .uk-field__aux{display:none}
.financial-inputs .uk-field__label{padding-right:48px}
/* Below 480px the slider field moves the number up onto the label row (see .uk-field--slider in the kit), so the
   top-right corner the absolute "Set 0" targets is no longer free label space — it is the input. Put the link back in
   flow underneath the row instead of on top of the box. */
@container uk-slider (max-width:480px){
  .financial-inputs .uk-field__aux{position:static;justify-content:flex-end}
  .financial-inputs .uk-field__label{padding-right:0}
}
.financial-inputs .uk-field--slider{grid-template-columns:minmax(0,1fr) 112px}
.financial-inputs .uk-field.uk-field--slider>.uk-input-group{width:112px}

/* Funnel type and charge */
.financial-type{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 10px 10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunken)}
.financial-type__text{display:flex;flex-direction:column;min-width:0}
.financial-type__text .financial-label{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-type__name{font:600 14px/20px var(--font-sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.financial-horizon{display:flex;flex-direction:column;gap:8px}
.financial-currency{display:flex;flex-direction:column;gap:8px}
.financial-currency__row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.financial-currency__row .uk-listbox{width:132px}
.financial-currency__row .uk-listbox-trigger{height:28px;border-radius:var(--r-full);font-size:13px}

/* Stage list */
.financial-stages{display:flex;flex-direction:column;gap:8px}
.financial-stages__head{display:none}
.financial-stage{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) 32px;grid-template-areas:"index name actions" ". value value" ". type type" ". meta meta";column-gap:8px;row-gap:10px;align-items:center;padding:10px 10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunken)}
.financial-stage.is-drop{box-shadow:inset 3px 0 0 var(--warning-solid)}
.financial-stage__index{grid-area:index;display:grid;place-items:center;width:22px;height:22px;border-radius:var(--r-full);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border-strong);font:600 11px/1 var(--font-sans);color:var(--text-2)}
.financial-stage.is-locked .financial-stage__index{background:var(--gray-900);box-shadow:none;color:var(--on-accent)}
.financial-stage__name{grid-area:name}
.financial-stage__name .uk-field__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.financial-stage__name .uk-input-group{height:34px;background:var(--surface)}
.financial-stage__name .uk-input-group>input{font-weight:500}
.financial-stage>.uk-field--number{grid-area:value}
.financial-stage>.uk-field--number .uk-field__label{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-stage>.uk-field--number:not(.uk-field--slider) .uk-input-group{width:100%;max-width:200px}
.financial-stage__actions{grid-area:actions;display:grid;place-items:center}
.financial-stage__lock{display:grid;place-items:center;width:28px;height:28px;color:var(--text-3);border-radius:var(--r-sm)}
.financial-stage__meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;min-width:0}
.financial-stage__derived{font:500 12px/16px var(--font-sans);color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.financial-stage__meta:has(>p:empty){display:none}
.financial-stage__flag{display:inline-flex;gap:4px;align-items:center;color:var(--warning-text)}
.financial-stage__fixed{display:inline-flex;align-items:center;gap:6px;height:24px;font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-stage__type{grid-area:type;display:flex;flex-direction:column;gap:6px;min-width:0}
.financial-stage__type-label{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-stage__type .uk-chips{gap:4px}
.financial-stage__used{margin-top:6px!important;font:400 12px/16px var(--font-sans);color:var(--text-3)}
.financial-inline-warning{display:flex;gap:6px;align-items:flex-start;padding:8px 10px;border-radius:var(--r-sm);background:var(--warning-bg);color:var(--warning-text);font:500 12px/16px var(--font-sans)}
.financial-inline-warning .uk-icon{flex:none;margin-top:1px}
#financial-add-stage{align-self:flex-start}

/* ---------------------------------------------------------------- outputs */
.financial-outputs{display:flex;flex-direction:column;gap:16px;min-width:0}
.financial-outputs>.uk-banner{margin-bottom:-4px}
.financial-outputs__head{display:flex;align-items:center;gap:12px;min-width:0}
.financial-outputs__head .uk-tabs{flex:1}
.financial-stale{flex:none}
.financial-outputs.is-stale .uk-tabpanel{opacity:.6;transition:opacity var(--dur-3) var(--ease-out)}
.financial-outputs .uk-tabpanel:not(:focus-visible){outline:none}
.financial-overview,.financial-sensitivity,.financial-goal-panel,#financial-comparison{display:flex;flex-direction:column;gap:16px;min-width:0}
.financial-card{display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card)}
.financial-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.financial-card__head>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.financial-card__title{font:var(--t-title);letter-spacing:-.006em;color:var(--text-1)}
.financial-card__sub{font:400 13px/18px var(--font-sans);color:var(--text-3)}
.financial-card__tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.financial-card__empty{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--r-md);background:var(--surface-sunken);font:400 14px/20px var(--font-sans);color:var(--text-2)}
.financial-card__empty .uk-icon{flex:none;color:var(--text-3)}
.financial-card__empty--action{flex-wrap:wrap}
.financial-card__empty--action .uk-btn{margin-left:auto}
.financial-answer{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--green-100);border-radius:var(--r-lg);background:var(--green-50);font:500 15px/24px var(--font-sans);letter-spacing:-.006em;color:var(--text-1);text-wrap:pretty}
.financial-answer .uk-pill{flex:none;margin-top:2px!important;--pill-bg:var(--surface)}
.financial-funnel.is-ghost{opacity:.6}
.financial-callout{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--warning-border);border-radius:var(--r-md);background:var(--warning-bg);font:400 13px/18px var(--font-sans);color:var(--text-1)}
.financial-callout .uk-icon{flex:none;margin-top:2px;color:var(--warning-solid)}
.financial-callout strong{font-weight:600}
.financial-ltv{padding-top:4px}
.financial-muted{color:var(--text-3)}
.financial-link{appearance:none;display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--link);font:500 13px/18px var(--font-sans);cursor:pointer;text-align:left}
.financial-link:hover{text-decoration:underline;text-underline-offset:2px}

/* Notes strip */
.financial-notes{display:flex;flex-direction:column;gap:12px;padding:4px 2px 0}
.financial-notes__links{display:flex;flex-wrap:wrap;gap:6px}
.financial-notes__links .financial-link{height:28px;padding:0 10px;border-radius:var(--r-full);box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--surface);color:var(--text-2);font-size:13px}
.financial-notes__links .financial-link:hover{color:var(--text-1);text-decoration:none;box-shadow:inset 0 0 0 1px var(--gray-400)}
.financial-notes__badges{display:flex;flex-wrap:wrap;gap:6px}
.financial-footnote{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font:400 12px/16px var(--font-sans);color:var(--text-3)}
.financial-footnote .uk-btn--link{height:auto;padding:0;font-size:12px}

/* Tables */
.financial-table-wrap{position:relative;max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);outline:none}
.financial-table-wrap:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}
.financial-table{width:100%;border-collapse:separate;border-spacing:0;font:400 13px/18px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--text-1)}
.financial-table th,.financial-table td{padding:9px 12px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}
.financial-table thead th{position:sticky;top:0;z-index:1;background:var(--gray-50);font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-table th[scope=row],.financial-table thead th:first-child{position:sticky;left:0;z-index:1;text-align:left;background:var(--surface);font-weight:500;color:var(--text-2)}
.financial-table thead th:first-child{z-index:2;background:var(--gray-50)}
.financial-table tbody tr:last-child>*{border-bottom:0}
.financial-table td.is-negative{color:var(--danger-text)}
.financial-monthly{min-width:0}

/* Compare */
.financial-compare__bar{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.financial-table--compare th,.financial-table--compare td{vertical-align:top}
.financial-table--compare thead th{white-space:nowrap}
.financial-table--compare thead th .financial-dot{margin-right:6px;vertical-align:1px}
.financial-table--compare thead th .uk-pill{margin-left:6px!important;vertical-align:1px}
.financial-compare__group th{padding-top:14px;background:var(--surface)!important;text-align:left!important;font:600 12px/16px var(--font-sans)!important;color:var(--text-3)!important}
.financial-compare__value{display:block;font-weight:500}
.financial-table--compare td .uk-kpi__delta{justify-content:flex-end;margin-top:2px}
.financial-table--compare td.is-best{background:var(--selected-bg)}
.financial-table--compare td.is-best .financial-compare__value{color:var(--green-900);font-weight:600}
.financial-diff{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card)}
.financial-diff>summary{display:flex;align-items:center;gap:10px;padding:14px 16px;list-style:none;cursor:pointer}
.financial-diff>summary::-webkit-details-marker{display:none}
.financial-diff>summary .financial-muted{margin-left:auto;font-size:13px}
.financial-diff>summary .uk-icon{color:var(--text-3);transition:transform var(--dur-2) var(--ease-out)}
.financial-diff[open]>summary .uk-icon{transform:rotate(180deg)}
.financial-diff>.financial-table-wrap,.financial-diff>p{margin:0 16px 16px}
.financial-table--diff td{text-align:left}
.financial-table--diff thead th .financial-dot{margin-right:6px;vertical-align:1px}
.financial-block{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid var(--warning-border);border-radius:var(--r-lg);background:var(--warning-bg);color:var(--text-1);font:400 14px/20px var(--font-sans)}
.financial-block>.uk-icon{flex:none;margin-top:2px;color:var(--warning-solid)}
.financial-block__title{font-weight:600}
.financial-block__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* Sensitivity */
.financial-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.financial-sensitivity .uk-tornado__row.is-selected{background:var(--selected-bg)}
.financial-untested>summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;font:500 13px/18px var(--font-sans);color:var(--text-2)}
.financial-untested>summary::-webkit-details-marker{display:none}
.financial-untested .financial-notes__links{margin-top:8px}
.financial-whatif{display:flex;flex-direction:column;gap:12px}
.financial-whatif__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.financial-whatif__row>.uk-field{min-width:0}
.financial-whatif__row>.uk-btn{margin-bottom:24px}
.financial-whatif__result{display:flex;flex-direction:column;gap:12px}
.financial-whatif__change{font:400 14px/20px var(--font-sans);color:var(--text-2)}
.financial-whatif__change strong{font-weight:600;color:var(--text-1)}
.financial-whatif__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.financial-whatif__kpi{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunken)}
.financial-whatif__label{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-whatif__values{font:400 14px/20px var(--font-sans);color:var(--text-2)}
.financial-whatif__values strong{font-weight:600;color:var(--text-1)}
.financial-whatif__kpi .uk-kpi__delta{align-self:flex-start}

/* Goal */
.financial-goal{display:flex;flex-direction:column;gap:14px}
.financial-goal__sentence{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.financial-goal__word{font:500 15px/24px var(--font-sans);color:var(--text-2)}
.financial-goal__sentence .uk-field__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.financial-goal__sentence .uk-field{flex:none}
.financial-goal__sentence .uk-field__hint:empty,.financial-goal__sentence .uk-field__error[hidden]{display:none}
.financial-goal__sentence .uk-field__aux{display:none}
.financial-goal__submit{display:flex}
.financial-goal__result{display:flex;flex-direction:column;gap:14px;padding-top:4px}
.financial-goal__headline{font:var(--t-title);letter-spacing:-.01em;color:var(--text-1);text-wrap:pretty}
.financial-goal__headline strong{color:var(--green-700)}
.financial-goal__compare{display:flex;flex-wrap:wrap;gap:6px}
.financial-goal__compare>span{display:inline-flex;gap:6px;align-items:center;height:28px;padding:0 10px;border-radius:var(--r-full);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border);font:400 13px/18px var(--font-sans)}
.financial-goal__reasons{display:flex;flex-wrap:wrap;gap:6px 12px}
.financial-goal__reasons:empty,.financial-goal__actions:empty{display:none}
.financial-goal__actions{display:flex;gap:8px}
.financial-limits{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.financial-limits>div{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunken)}
.financial-limits dt{font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-limits dd{font:600 18px/24px var(--font-sans);letter-spacing:-.01em;color:var(--text-1)}

/* All metrics */
.financial-metrics{display:flex;flex-direction:column;gap:20px}
.financial-metrics>.uk-search{max-width:360px}
.financial-metrics__group{display:flex;flex-direction:column;gap:6px}
.financial-metrics__group[hidden]{display:none}
.financial-metrics__title{font:600 13px/18px var(--font-sans);color:var(--text-3)}
.financial-metrics__list{display:grid;grid-template-columns:minmax(0,1fr);column-gap:24px;border-top:1px solid var(--border)}
@container fin (min-width:1000px){.financial-metrics__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.financial-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--border)}
.financial-metric[hidden]{display:none}
.financial-metric__label{display:flex;align-items:center;gap:4px;min-width:0;font:400 14px/20px var(--font-sans);color:var(--text-2)}
.financial-metric__value{font:600 14px/20px var(--font-sans);color:var(--text-1);text-align:right;white-space:nowrap}
.financial-metric__value.is-unknown{color:var(--text-3);font-weight:400}
.financial-metric__reason{grid-column:1/-1;font:400 12px/16px var(--font-sans);color:var(--text-3)}
.financial-metric .financial-link.financial-metric__reason{font-size:12px;line-height:16px}
.financial-popover__formula{margin-top:8px!important;padding-top:8px;border-top:1px solid var(--border);font:400 12px/18px var(--font-sans);color:var(--text-3)}

/* Sheets */
.financial-import__question{margin-top:12px!important;font:500 14px/20px var(--font-sans);color:var(--text-1)}
.financial-import__question[hidden]{display:none}
.financial-how{display:flex;flex-direction:column;gap:14px;font:var(--t-body);color:var(--text-2)}
.financial-how p{margin:0}

/* ---------------------------------------------------------------- tablet and phone */
@container fin (max-width:900px){
  .financial-kpibar{margin-bottom:-4px}
}
@media (max-width:767px){
  .financial-page{gap:14px;padding-bottom:calc(132px + env(safe-area-inset-bottom))}
  .financial-subtitle{font-size:14px;line-height:20px}
  .financial-head{align-items:flex-start}
  .financial-head__side{margin-left:0}
  body:has(.financial-page){--toast-offset:124px}
  .financial-actions{position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:var(--z-sticky);justify-content:flex-end;padding:8px 16px;background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-filter);backdrop-filter:var(--frost-filter);box-shadow:inset 0 1px 0 var(--frost-border)}
  #financial-save-slot{order:3}
  #financial-import-open{margin-right:auto}
  body.is-focus-mode .financial-actions{bottom:env(safe-area-inset-bottom)}
  .financial-scenarios{margin-inline:-16px;padding-inline:8px}
  #financial-compare{display:none}
  .financial-kpibar__actions .uk-btn__label{display:none}
  .financial-inputs{border-radius:var(--r-lg)}
  .financial-inputs__head{position:static}
  .financial-card{padding:16px}
  .financial-answer{font-size:14px;line-height:22px;flex-direction:column;gap:8px}
  .financial-uk-chart,.financial-card .uk-chart__plot{max-width:100%}
  .financial-goal__word{font-size:14px}
  .financial-templates{padding:12px}
}
@media (max-width:360px){
  .financial-actions .uk-btn--md{padding-inline:10px}
  .financial-actions #financial-export-trigger .uk-btn__label{display:none}
}

@media print{
  .financial-actions,.financial-scenarios,.financial-kpibar__actions,.financial-inputs,.financial-view,.financial-outputs__head{display:none!important}
  .financial-workspace{grid-template-columns:minmax(0,1fr)}
  .financial-highlights{position:static!important}
  .financial-card{break-inside:avoid;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){
  .financial-scenario::after,.financial-outputs.is-stale .uk-tabpanel,.financial-missing>summary .uk-icon{transition:none}
}
@container fin (min-width:1000px){.financial-highlights.uk-kpi-strip{grid-template-columns:repeat(6,minmax(0,1fr))}}
.financial-kpi-sentinel{display:block;height:0;margin:-20px 0 0}
/* Compact key numbers: a zero-height sticky layer that appears once the tiles scroll under the page bar (no layout shift). */
.financial-kpi-sentinel,.financial-compact{margin-top:-20px!important}
.financial-compact{position:sticky;top:calc(var(--sticky-top) + 8px);z-index:var(--z-sticky);height:0;pointer-events:none}
.financial-compact__bar{position:absolute;inset:0 0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));height:56px;border:1px solid var(--frost-border);border-radius:var(--r-lg);background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-filter);backdrop-filter:var(--frost-filter);box-shadow:var(--shadow-raised);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out),visibility 0s linear var(--dur-3)}
.financial-compact.is-shown .financial-compact__bar{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.financial-compact__cell{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:0 14px}
.financial-compact__cell+.financial-compact__cell{box-shadow:inset 1px 0 0 var(--border)}
.financial-compact__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 12px/16px var(--font-sans);color:var(--text-3)}
.financial-compact__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 16px/22px var(--font-sans);letter-spacing:-.01em;color:var(--text-1)}
@media (max-width:767px){.financial-compact{display:none}}
@media (prefers-reduced-motion:reduce){.financial-compact__bar{transform:none;transition:opacity 100ms linear,visibility 0s linear 100ms}}
.financial-view__summary{display:none}
@media (max-width:767px){
  .financial-view{top:var(--sticky-top);display:flex;flex-direction:column;gap:6px}
  .financial-view__summary{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 12px/16px var(--font-sans);color:var(--text-2);text-align:center}
  .financial-inputs{top:auto}
}
.financial-highlights.uk-kpi-strip{position:relative}
/* The series chips double as the legend: hide the chart's own legend and colour the cash dot like its line. */
#financial-monthly-card .uk-chart__legend{display:none}
#fin-series .uk-dot--info{background:var(--gray-800)}
#fin-series .uk-dot--neutral{background:var(--chart-neutral)}
/* Tile popovers: the plain definition reads as a sentence above the formula and the inputs it used. */
.financial-page .uk-popover--info .uk-popover__formula{font:500 12px/18px var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:0}
.financial-page .uk-popover--info .uk-popover__list>li:not(:has(>span)){display:block;margin-bottom:4px;padding-bottom:8px;border-bottom:1px solid var(--border);color:var(--text-2);font:400 13px/18px var(--font-sans)}
.financial-popover__definition{margin-top:4px!important;font:400 13px/18px var(--font-sans);color:var(--text-2)}
@media (max-width:767px){
  .financial-table--compare{table-layout:fixed}
  .financial-table--compare th,.financial-table--compare td{padding:8px 6px;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:16px}
  .financial-table--compare th[scope=row],.financial-table--compare thead th:first-child{width:30%}
  .financial-table--compare thead th{font-size:11px;line-height:14px;white-space:normal}
  .financial-table--compare thead th .uk-pill{display:none}
  .financial-compare__value{font-size:13px}
  .financial-table--compare td .uk-kpi__delta{font-size:11px}
}

/* Single column (phone, or a narrow tablet content area): one view at a time, switched from a sticky bar. */
@container fin (max-width:759px){
  .financial-view{display:flex;flex-direction:column;gap:6px;position:sticky;top:var(--sticky-top);z-index:calc(var(--z-sticky) - 1);margin-inline:-16px;padding:8px 16px;background:var(--frost-bg);-webkit-backdrop-filter:var(--frost-filter);backdrop-filter:var(--frost-filter)}
  .financial-view__summary{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 12px/16px var(--font-sans);color:var(--text-2);text-align:center}
  .financial-shell[data-view=inputs] .financial-outputs{display:none}
  .financial-shell:not([data-view=inputs]) .financial-inputs{display:none}
  .financial-shell:is([data-view=compare],[data-view=goal]) .financial-outputs__head{display:none}
  .financial-inputs__head{position:static}
}
@container fin (min-width:600px) and (max-width:759px){.financial-view{margin-inline:0;border-radius:var(--r-lg)}}
.financial-page .financial-goal__reasons .uk-pill.status-chip,.financial-notes__badges .uk-pill.status-chip{height:auto;min-height:20px;max-width:100%;padding-block:2px;white-space:normal;text-align:left;line-height:16px}
