.app-shell-header{z-index:10;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0}.app-shell-header__desktop{max-width:1400px;margin:0 auto;padding:0 24px;display:none}.app-shell-header>.app-shell-header__mobile{margin:0;padding:10px 16px}@media (width>=768px){.app-shell-header__desktop{display:block}.app-shell-header__desktop>.nav-top{border-bottom:none;margin-bottom:0;padding:12px 0}.app-shell-header>.app-shell-header__mobile{display:none}}.app-shell__actions{align-items:center;gap:6px;display:flex}.app-toolbar__button{border:1px solid var(--ink);border-radius:var(--r-s);background:var(--paper);color:var(--ink);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--t-fast) ease, color var(--t-fast) ease;justify-content:center;align-items:center;padding:5px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.app-toolbar__button:hover:not(:disabled){background:var(--ink);color:var(--paper)}.app-toolbar__button--secondary{border-color:var(--rule);color:var(--ink-mute);background:0 0}.app-toolbar__button--secondary:hover:not(:disabled){background:var(--paper-hover);border-color:var(--ink);color:var(--ink)}.app-toolbar__file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-drawer{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.app-drawer[hidden]{display:none}.app-drawer__scrim{cursor:pointer;background:#1a1a1a6b;position:absolute;inset:0}.app-drawer__panel{background:var(--paper);border-left:1px solid var(--ink);flex-direction:column;width:min(320px,88vw);height:100%;display:flex;position:relative;overflow:hidden;box-shadow:-16px 0 40px #0000002e}.app-drawer__head{padding:var(--s-3) var(--s-4);background:var(--paper-deep);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;display:flex}.app-drawer__title{font-family:var(--font-serif);color:var(--ink);font-size:1.05rem;font-style:italic;font-weight:500}.app-drawer__close{border:1px solid var(--rule);background:var(--paper);border-radius:var(--r-s);width:28px;height:28px;color:var(--ink-mute);cursor:pointer;place-items:center;font-size:.9rem;display:grid}.app-drawer__close:hover{background:var(--paper-hover);color:var(--ink)}.app-drawer__nav{padding:var(--s-3) 0;gap:var(--s-4);flex:auto;display:grid;overflow-y:auto}.app-drawer__group{gap:2px;display:grid}.app-drawer__group-label{padding:0 var(--s-4);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px;font-size:.65rem}.app-drawer__link{padding:10px var(--s-4);font-family:var(--font-sans);color:var(--ink);transition:background-color var(--t-fast) ease, border-color var(--t-fast) ease;border-left:3px solid #0000;font-size:.95rem;text-decoration:none;display:block}.app-drawer__link:hover{background:var(--paper-hover)}.app-drawer__link.is-active{background:var(--paper-hover);border-left-color:var(--signal);font-weight:600}.app-drawer__actions{padding:var(--s-3) var(--s-4);border-top:1px solid var(--rule);background:var(--paper-deep);gap:6px;display:grid}.app-drawer__action{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-s);width:100%;font-family:var(--font-sans);color:var(--ink);cursor:pointer;text-align:center;padding:10px;font-size:.9rem;font-weight:600}.app-drawer__action:hover{background:var(--paper-hover);border-color:var(--ink)}.app-drawer__action--primary{background:var(--accent);border-color:var(--accent);color:var(--ink-on-accent)}.app-drawer__action--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--ink-on-accent)}body.is-drawer-open{overflow:hidden}#app{min-height:100vh}.app-content{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 3rem}.view-editor{gap:1.5rem;display:grid}@media (width<=640px){.app-content{padding-left:1rem;padding-right:1rem}}.view-income{gap:1.5rem;max-width:900px;margin:0 auto;display:grid}.income-layout{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.income-layout{grid-template-columns:1fr}}.view-allocate{gap:var(--s-3);display:grid}.alloc-page-header-slot{display:contents}.alloc-toolbar{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.alloc-toolbar__month{align-items:center;min-width:0;display:flex}.alloc-toolbar__actions{flex-wrap:wrap;gap:6px;display:flex}@media (width<=767px){.alloc-toolbar{flex-direction:column;align-items:stretch}.alloc-toolbar__actions>*{flex:1 1 0}}.alloc-hero-row{gap:var(--s-4);grid-template-columns:minmax(220px,320px) 1fr;align-items:end;display:grid}@media (width<=767px){.alloc-hero-row{grid-template-columns:1fr}}.alloc-layout{gap:var(--s-3);grid-template-columns:minmax(0,1fr) 280px;align-items:start;display:grid}@media (width<=767px){.alloc-layout{grid-template-columns:1fr}.alloc-layout>.alloc-inspector{display:none}}.alloc-name{align-items:center;gap:8px;min-width:0;display:inline-flex}.alloc-muted{color:var(--ink-mute)}.alloc-cell{align-items:center;min-width:0;display:inline-flex}.alloc-cell--num{justify-content:flex-end}.alloc-input{text-align:right;width:100%;font-family:var(--font-serif);font-variant-numeric:tabular-nums;min-width:0}.alloc-cc-divider{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);border-top:1px solid var(--rule);margin-top:var(--s-2);padding-top:var(--s-2);font-size:.65rem}.alloc-table--mobile{display:none}@media (width<=767px){.alloc-table--desktop{display:none}.alloc-table--mobile{display:block}}.alloc-mbody{gap:2px;min-width:0;display:grid}.alloc-mtitle{align-items:center;font-size:.95rem;font-weight:600;display:inline-flex}.alloc-mmeta{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-mute);font-size:.68rem}.alloc-inspector{gap:var(--s-3);padding:var(--s-3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-s);align-content:start;min-width:0;display:grid}.alloc-inspector__head{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.alloc-inspector__dot{border-radius:50%;width:12px;height:12px;display:inline-block}.alloc-inspector__title{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.15rem;font-style:italic;font-weight:500}.alloc-inspector__sub{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);margin-left:auto;font-size:.7rem}.alloc-inspector__section{gap:4px;display:grid}.alloc-inspector__h4{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 var(--s-1);font-size:.68rem;font-weight:600}.alloc-inspector__item,.alloc-inspector__tx{justify-content:space-between;gap:var(--s-2);border-bottom:1px dashed var(--rule);padding:4px 0;font-size:.88rem;display:flex}.alloc-inspector__item:last-child,.alloc-inspector__tx:last-child{border-bottom:none}.alloc-inspector__tx-amount{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink)}.alloc-note{padding:var(--s-3);border:1px solid var(--signal);background:var(--signal-soft);border-radius:var(--r-s);border-left-width:3px;gap:6px;display:grid}.alloc-note__lede{font-family:var(--font-serif);color:var(--ink);margin:0;font-style:italic;font-weight:500}.alloc-note__body{color:var(--ink-2);margin:0;font-size:.85rem}.alloc-modal-body{gap:var(--s-3);display:grid}.alloc-modal-prose{font-family:var(--font-serif);color:var(--ink-2);margin:0;font-size:.92rem;font-style:italic}.alloc-modal-error{color:var(--bad);margin:0;font-size:.85rem}.alloc-modal-footer{flex:1;justify-content:flex-end;gap:6px;display:flex}.alloc-modal-footer--split{justify-content:flex-start}.alloc-modal-footer__spacer{flex:1}.view-accounts{gap:var(--s-3);display:grid}.accounts-title{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.6rem;font-style:italic;font-weight:500}.accounts-layout{gap:var(--s-4);grid-template-columns:260px minmax(0,1fr);align-items:start;display:grid}@media (width<=767px){.accounts-layout{gap:var(--s-2);grid-template-columns:minmax(0,1fr)}.view-accounts[data-mobile-mode=list] .accounts-detail,.view-accounts[data-mobile-mode=detail] .accounts-sidebar{display:none}.accounts-sidebar .row.is-selected{background:0 0}.accounts-sidebar .row.is-selected:before{opacity:0}.accounts-sidebar .row.is-selected:hover{background:var(--paper-hover)}.accounts-sidebar .row.is-selected:hover:before{opacity:1;background:var(--signal)}}.accounts-sidebar{align-content:start;gap:var(--s-3);padding:var(--s-3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-s);min-width:0;display:grid}.accounts-net{padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);gap:2px;display:grid}.accounts-net__label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-size:.65rem;font-weight:600}.accounts-net__value{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.4rem}.accounts-group{display:grid}.accounts-group__head{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);padding:var(--s-2) 0 4px;font-size:.62rem;font-weight:700}.accounts-sidebar .row.is-closed .row__name,.accounts-sidebar .row.is-closed .row__num{color:var(--ink-faint);text-decoration:line-through}.accounts-add{justify-content:center;width:100%}.accounts-detail{gap:var(--s-3);min-width:0;display:grid}.accounts-back{margin:var(--s-1) 0 0;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.72rem;text-decoration:none;display:none}.accounts-back:hover{color:var(--ink)}@media (width<=767px){.accounts-back{display:inline-block}}.accounts-hero{gap:var(--s-3);padding:var(--s-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-s);display:grid}.accounts-hero__top{align-items:center;gap:var(--s-3);display:flex}.accounts-hero__avatar{place-items:center;width:40px;height:40px;font-size:.9rem;display:grid}.accounts-hero__info{gap:4px;min-width:0;display:grid}.accounts-hero__title{font-family:var(--font-serif);color:var(--ink);border-radius:var(--r-s);cursor:text;outline:none;margin:0 0 0 -2px;padding:1px 2px;font-size:1.4rem;font-style:italic;font-weight:500}.accounts-hero__title:focus{background:var(--paper-hover);box-shadow:0 0 0 2px var(--accent-soft)}.accounts-hero__sub{flex-wrap:wrap;gap:4px;display:flex}.accounts-hero__actions{flex-wrap:wrap;gap:6px;display:flex}@media (width<=767px){.accounts-hero{padding:var(--s-3)}.accounts-hero__top{flex-wrap:wrap}.accounts-hero__title{font-size:1.15rem}}.accounts-detail .row__check input.check{margin:0}.accounts-tx__meta{font-family:var(--font-mono);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.accounts-tx__compact{display:none}@media (width<=767px){.accounts-tx__full{display:none}.accounts-tx__compact{display:block}.accounts-tx__compact .row,.accounts-tx__compact .table-h{padding:8px var(--s-3) 8px calc(var(--s-3) + 3px);row-gap:2px}}.accounts-tx__payee{font-weight:600}.accounts-tx__meta-line{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:.68rem}.accounts-tx__check-line{color:var(--ink-faint);font-family:var(--font-mono);justify-self:end;font-size:.78rem}.accounts-empty{padding:var(--s-4);text-align:center;font-family:var(--font-serif);color:var(--ink-mute);font-style:italic}.accounts-empty-detail{padding:var(--s-7) var(--s-4);text-align:center;background:var(--paper);border:1px dashed var(--rule-2);border-radius:var(--r-s)}.accounts-empty-detail h2{font-family:var(--font-serif);margin:0 0 var(--s-2);color:var(--ink);font-size:1.2rem;font-style:italic;font-weight:500}.accounts-empty-detail p{color:var(--ink-mute);margin:0;font-size:.9rem}.accounts-recon-info{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:.7rem}.legacy-modal-backdrop{z-index:100;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.legacy-modal{background:var(--surface);border-radius:12px;gap:1rem;width:90%;max-width:420px;padding:1.5rem;display:grid;box-shadow:0 8px 30px #0000001f}.legacy-modal__title{margin:0;font-size:1.25rem}.legacy-modal__field{gap:.25rem;display:grid}.legacy-modal__field label{color:var(--muted);font-size:.8rem;font-weight:600}.legacy-modal__select,.legacy-modal__input{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.legacy-modal__select:focus,.legacy-modal__input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.legacy-modal__actions{justify-content:flex-end;gap:.5rem;padding-top:.5rem;display:flex}.legacy-modal__hint{color:var(--muted);margin:0;font-size:.875rem}.view-transactions{gap:var(--s-3);min-width:0;display:grid}.txn-page-header{display:contents}.txn-toolbar{gap:var(--s-2);grid-template-columns:minmax(220px,1fr) 180px auto auto;align-items:center;display:grid}.txn-toolbar__search{min-width:0}@media (width<=767px){.txn-toolbar{gap:var(--s-2);grid-template-columns:1fr auto;grid-auto-rows:auto}.txn-toolbar__search{grid-area:1/1}.txn-toolbar__add{grid-area:1/2}.txn-toolbar__account{grid-column:1/-1;width:100%}.txn-toolbar .segmented{grid-column:1/-1;width:100%;display:flex}.txn-toolbar .segmented>button{flex:1 1 0}.txn-toolbar__add-word{display:none}}.txn-table--mobile{display:none}@media (width<=767px){.txn-table--desktop{display:none}.txn-table--mobile{display:block}}.txn-meta{font-family:var(--font-mono);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.txn-empty{padding:var(--s-4);text-align:center;font-family:var(--font-serif);color:var(--ink-mute);font-style:italic}.txn-totals{padding:6px var(--s-3);border-top:2px solid var(--ink);background:var(--paper-deep);align-items:center;display:grid}.txn-totals__label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:.7rem;font-weight:700}.txn-totals__num{font-weight:700}.txn-table--mobile .row,.txn-table--mobile .table-h{padding:8px var(--s-3) 8px calc(var(--s-3) + 3px);row-gap:2px}.txn-payee{font-weight:600}.txn-meta-line{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:.68rem}.txn-check-line{color:var(--ink-faint);font-family:var(--font-mono);justify-self:end;font-size:.78rem}.txn-modal-body,.txn-modal-grid{gap:var(--s-3);display:grid}.txn-modal-grid--date-acct{grid-template-columns:140px 1fr}.txn-modal-grid--amounts{grid-template-columns:1fr 1fr}@media (width<=540px){.txn-modal-grid--date-acct,.txn-modal-grid--amounts{grid-template-columns:1fr}}.txn-modal-footer{flex:1;justify-content:space-between;align-items:center;gap:6px;display:flex}.txn-modal-footer__right{gap:6px;display:flex}.txn-modal-error{padding:var(--s-2) var(--s-3);border:1px solid var(--bad);background:color-mix(in srgb, var(--bad) 8%, var(--paper));color:var(--bad);border-radius:var(--r-s);font-size:.85rem}.view-reflect{gap:var(--s-4);display:grid}.rfl-page-header{display:contents}.rfl-toolbar{gap:var(--s-4);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;display:flex}.rfl-toolgroup{gap:4px;min-width:0;display:grid}.rfl-toollabel{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-size:.65rem;font-weight:600}.rfl-pills{flex-wrap:wrap;gap:4px;display:inline-flex}.rfl-pill{border:1px solid var(--rule);border-radius:var(--r-s);background:var(--paper);color:var(--ink-mute);font:600 .78rem var(--font-sans);cursor:pointer;transition:background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}button.rfl-pill:hover{background:var(--paper-hover);color:var(--ink)}button.rfl-pill.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}button.rfl-pill.is-active:hover{background:var(--ink);color:var(--paper)}.rfl-pill__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.rfl-hero-row{gap:var(--s-4);grid-template-columns:1.2fr 2fr;align-items:start;display:grid}.rfl-hero-slot,.rfl-kpi-slot{min-width:0}.rfl-card{gap:var(--s-3);padding:var(--s-3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-s);min-width:0;display:grid}.rfl-card__head{justify-content:space-between;align-items:baseline;gap:var(--s-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);display:flex}.rfl-card__title{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.05rem;font-style:italic;font-weight:500}.rfl-card__sub{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);text-align:right;font-size:.68rem}.rfl-card__body{min-width:0;overflow:auto}.rfl-sankey-slot{width:100%;position:relative}.rfl-members{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.rfl-member{border:1px solid var(--rule);background:var(--paper);padding:var(--s-3);gap:var(--s-2);border-radius:var(--r-s);display:grid}.rfl-member__head{align-items:center;gap:8px;display:flex}.rfl-member__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.rfl-member__name{font-family:var(--font-serif);color:var(--ink);font-size:1.05rem;font-style:italic;font-weight:500}.rfl-member__overshot{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--signal);border-top:1px dashed var(--rule);padding-top:var(--s-2);font-size:.7rem}@media (width<=767px){.rfl-toolbar{align-items:stretch;gap:var(--s-3);flex-direction:column}.rfl-toolgroup .segmented{width:100%;display:flex}.rfl-toolgroup .segmented>button{flex:1 1 0}.rfl-hero-row{grid-template-columns:1fr}.rfl-card{padding:var(--s-2) var(--s-3)}.rfl-card__head{flex-direction:column;align-items:flex-start;gap:2px}.rfl-card__sub{text-align:left}.rfl-members{grid-template-columns:1fr}}.view-setup{gap:var(--s-4);max-width:540px;margin:0 auto;display:grid}.setup-intro{font-family:var(--font-serif);color:var(--ink-2);margin:0;font-size:.95rem;font-style:italic}.setup-section{gap:var(--s-2);display:grid}.setup-section__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);font-size:.7rem;font-weight:600}.setup-member-list{gap:var(--s-3);display:grid}.setup-member-empty{padding:var(--s-4);text-align:center;border:1px dashed var(--rule-2);border-radius:var(--r-s);background:var(--paper);color:var(--ink-mute);font-family:var(--font-serif);font-size:.9rem;font-style:italic}.setup-member-empty[hidden]{display:none}.setup-member-card{gap:var(--s-3);padding:var(--s-3) 40px var(--s-3) var(--s-3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-s);grid-template-columns:28px 1fr;align-items:start;display:grid;position:relative}.setup-member-card__badge{border-radius:var(--r-s);width:28px;height:28px;color:var(--ink-on-accent);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.setup-member-card__content{gap:var(--s-3);min-width:0;display:grid}.setup-member-card__grid{gap:var(--s-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.setup-member-card__remove{top:var(--s-2);right:var(--s-2);border-radius:var(--r-s);border:1px solid var(--rule-2);width:24px;min-width:24px;height:24px;color:var(--ink-mute);cursor:pointer;transition:background-color var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease;background:0 0;padding:0;font-size:.85rem;line-height:1;position:absolute}.setup-member-card__remove:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.setup-member-card__remove:disabled{opacity:.4;cursor:not-allowed}.setup-color-row{flex-wrap:wrap;gap:6px;display:flex}.setup-color-swatch{border:1px solid var(--rule-2);border-radius:var(--r-s);cursor:pointer;width:22px;height:22px;transition:transform var(--t-fast) ease, box-shadow var(--t-fast) ease, opacity var(--t-fast) ease;padding:0}.setup-color-swatch:hover:not(:disabled){transform:translateY(-1px)}.setup-color-swatch.is-selected{box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--ink);border-color:#0000}.setup-color-swatch.is-disabled{opacity:.35;cursor:not-allowed}.setup-add-member{border:1px dashed var(--rule-2);width:100%;color:var(--ink-mute);padding:var(--s-3);border-radius:var(--r-s);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:background-color var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease;background:0 0;font-size:.78rem}.setup-add-member:hover{border-color:var(--ink);background:var(--paper-hover);color:var(--ink)}.setup-calc-toggle{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);cursor:pointer;background:0 0;border:none;justify-self:start;margin-top:2px;padding:2px 0;font-size:.7rem}.setup-calc-toggle:hover{color:var(--ink)}.setup-calc{margin-top:var(--s-2)}.setup-income-banner{border-top:2px solid var(--ink);padding:var(--s-3) 0 var(--s-2);text-align:right;gap:2px;display:grid;position:relative}.setup-income-banner:after{content:"";background:var(--signal);width:64px;height:4px;position:absolute;top:-2px;left:0}.setup-income-banner__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-mute);font-size:.68rem;font-weight:600}.setup-income-banner__value{font-family:var(--font-serif);letter-spacing:-.015em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:clamp(1.6rem,3vw,2.2rem);line-height:1}.setup-income-banner__hint{font-family:var(--font-mono);color:var(--ink-mute);font-size:.72rem}@media (width<=767px){.setup-member-card__grid{grid-template-columns:1fr}}.view-editor{gap:var(--s-3);padding:var(--s-3) var(--s-4) var(--s-6);width:100%;max-width:1280px;margin:0 auto;display:grid}.editor-layout{gap:var(--s-4);grid-template-columns:240px minmax(0,1fr);align-items:start;display:grid}@media (width<=900px){.editor-layout{grid-template-columns:1fr}}.editor-rail{align-content:start;gap:var(--s-2);padding:var(--s-3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-s);min-width:0;display:grid}.editor-rail__head{justify-content:space-between;align-items:baseline;display:flex}.editor-rail__title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-size:.7rem}.editor-rail__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.editor-rail__row{gap:var(--s-2);border-radius:var(--r-s);cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--ink);min-width:0;transition:background var(--t-fast) ease, border-color var(--t-fast) ease;background:0 0;border:1px solid #0000;border-left-width:2px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;padding:8px 28px 8px 8px;display:grid;position:relative}button.editor-rail__row:hover{background:var(--paper-hover);color:var(--ink)}button.editor-rail__row.is-active{background:var(--paper-deep);border-color:var(--rule-2);border-left-color:var(--ink);color:var(--ink)}button.editor-rail__row.is-active:hover{background:var(--paper-deep);color:var(--ink)}.editor-rail__dot{border-radius:50%;width:10px;height:10px;display:inline-block}.editor-rail__name{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.editor-rail__name.is-placeholder{color:var(--ink-mute);font-style:italic;font-weight:500}.editor-rail__total{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:.85rem}.editor-rail__delete{border-radius:var(--r-s);width:20px;height:20px;color:var(--ink-faint);cursor:pointer;opacity:0;transition:opacity var(--t-fast), background var(--t-fast), color var(--t-fast);background:0 0;border:1px solid #0000;padding:0;font-size:.75rem;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.editor-rail__row:hover .editor-rail__delete,.editor-rail__row:focus-within .editor-rail__delete{opacity:1}button.editor-rail__delete:hover{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}button.editor-add-item,button.editor-rail__add,button.editor-empty-state__action{border:1px dashed var(--rule-2);width:100%;color:var(--ink-mute);padding:var(--s-2) var(--s-3);border-radius:var(--r-s);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);background:0 0;font-size:.72rem}button.editor-add-item:hover,button.editor-rail__add:hover,button.editor-empty-state__action:hover{border-color:var(--ink);background:var(--paper-hover);color:var(--ink)}.editor-detail{gap:var(--s-3);padding:var(--s-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-s);align-content:start;min-width:0;display:grid}.editor-detail--empty{text-align:center;padding:var(--s-7) var(--s-4)}.editor-detail__head{gap:var(--s-3);grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;display:grid}.editor-color-wrapper{position:relative}.editor-category-color-square{border-radius:var(--r-s);border:1px solid var(--ink);cursor:pointer;width:28px;height:28px;padding:0}.editor-color-popover{z-index:5;background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-s);gap:10px;min-width:220px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 16px #00000014}.editor-color-popover[hidden]{display:none}.editor-color-popover__label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-size:.62rem;font-weight:700}.editor-color-popover__custom{align-items:center;gap:10px;display:flex}.editor-color-popover__input{border:1px solid var(--rule-2);border-radius:var(--r-s);cursor:pointer;background:0 0;width:30px;height:30px;padding:0}.editor-color-popover__input::-webkit-color-swatch-wrapper{padding:2px}.editor-color-popover__input::-webkit-color-swatch{border:none;border-radius:4px}.editor-color-popover__input::-moz-color-swatch{border:none;border-radius:4px}.editor-color-popover__hex{font-family:var(--font-mono);color:var(--ink-mute);font-size:.75rem}.editor-category-name{font-family:var(--font-serif);color:var(--ink);letter-spacing:-.01em;background:0 0;border:1px solid #0000;width:100%;min-width:0;margin:0;padding:4px 6px;font-size:1.35rem;font-style:italic;font-weight:500}.editor-category-name::placeholder{color:var(--ink-faint);font-style:italic}.editor-category-name:hover,.editor-category-name:focus{border-color:var(--rule-2);background:var(--paper-deep);outline:none}.editor-detail__delete{border-radius:var(--r-s);border:1px solid var(--rule-2);width:28px;height:28px;color:var(--ink-mute);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);background:0 0;padding:0;font-size:.85rem}button.editor-detail__delete:hover{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.editor-item-table{border-top:1px solid var(--rule);display:grid}.editor-item-table__header,.editor-item-row{align-items:center;gap:var(--s-2);padding:8px var(--s-2);border-bottom:1px solid var(--rule);min-width:0;display:grid}.editor-item-table__header>span{padding:0 6px}.editor-item-table__header{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);background:var(--paper-deep);font-size:.68rem}.editor-item-table__header[hidden],.editor-empty-state[hidden]{display:none}.editor-member-header{white-space:nowrap;text-align:right;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.editor-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.editor-item-row{transition:background var(--t-fast) ease;position:relative}.editor-item-row:hover{background:var(--paper-hover)}.editor-item-row.is-overassigned{background:var(--bad-soft)}.editor-item-row.is-unassigned{background:var(--signal-soft)}.editor-item-row>input[type=text]{border-radius:var(--r-s);width:100%;font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;min-width:0;padding:4px 6px}.editor-item-row>input[type=text]:nth-of-type(2){text-align:right;font-family:var(--font-serif);font-variant-numeric:tabular-nums}.editor-item-row>input[type=text]:hover{border-color:var(--rule);background:var(--paper)}.editor-item-row>input[type=text]:focus{border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.editor-item-row>input[type=text]::placeholder{color:var(--ink-faint)}.editor-assignment-cell{min-width:0;padding-left:6px;position:relative}.editor-assignment-cell:before{content:"";background:var(--member-color,var(--rule-2));border-radius:1px;width:2px;position:absolute;top:4px;bottom:4px;left:0}.editor-assignment-cell__label{display:none}.editor-assignment-cell input{border-radius:var(--r-s);width:100%;font:inherit;text-align:right;font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink);background:0 0;border:1px solid #0000;min-width:0;padding:4px 6px}.editor-assignment-cell input:hover{border-color:var(--rule);background:var(--paper)}.editor-assignment-cell input:focus{border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.editor-item-footer{justify-content:space-between;align-items:center;gap:var(--s-2);grid-column:1/-1;padding:4px 6px 0;display:flex}.editor-item-unassigned{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint);font-variant-numeric:tabular-nums;text-transform:uppercase;font-size:.7rem}.editor-item-unassigned.is-positive{color:var(--signal)}.editor-item-unassigned.is-negative{color:var(--bad)}.editor-item-unassigned.is-balanced{color:var(--ok)}.editor-item-actions{opacity:0;pointer-events:none;transition:opacity var(--t-fast) ease;gap:4px;display:inline-flex}.editor-item-row:hover .editor-item-actions,.editor-item-row:focus-within .editor-item-actions{opacity:1;pointer-events:auto}button.editor-helper-button{background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-s);width:26px;height:26px;color:var(--ink-mute);font-family:var(--font-mono);letter-spacing:0;cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);justify-content:center;align-items:center;padding:0;font-size:.85rem;display:inline-flex}button.editor-helper-button:hover{border-color:var(--ink);color:var(--ink);background:var(--paper-deep)}.editor-rail__add-short{display:none}button.editor-delete-button{border-radius:var(--r-s);width:24px;height:24px;color:var(--ink-faint);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;padding:0;font-size:.85rem;line-height:1}.editor-item-row:hover button.editor-delete-button{border-color:var(--rule-2);color:var(--ink-mute)}button.editor-delete-button:hover{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.editor-empty-state{padding:var(--s-5) var(--s-3);text-align:center;gap:6px;display:grid}.editor-empty-state__title{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.1rem;font-style:italic;font-weight:500}.editor-empty-state__text{color:var(--ink-mute);margin:0;font-size:.9rem}.editor-empty-state--items{border-top:1px solid var(--rule)}.editor-previews{gap:var(--s-2);display:grid}.editor-section-heading{gap:2px;display:grid}.editor-section-heading__title{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.05rem;font-style:italic;font-weight:500}.editor-preview-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.editor-preview-card{gap:var(--s-2);padding:var(--s-3);background:var(--paper);border:1px solid var(--rule);border-top:2px solid var(--ink);border-radius:var(--r-s);display:grid}.editor-preview-card.is-deficit{border-color:var(--bad);background:var(--bad-soft)}.editor-preview-card__header{justify-content:space-between;align-items:baseline;gap:var(--s-2);flex-wrap:wrap;display:flex}.editor-preview-card__title{align-items:center;gap:8px;display:inline-flex}.editor-preview-card__name{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.05rem;font-style:italic;font-weight:500}.editor-preview-card__stats{align-items:baseline;gap:var(--s-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);flex-wrap:wrap;font-size:.7rem;display:inline-flex}.editor-preview-card__stat{align-items:baseline;gap:4px;display:inline-flex}.editor-preview-card__stat-label{color:var(--ink-mute)}.editor-preview-card__stat-value{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink);text-transform:none;letter-spacing:0;font-size:.95rem;font-style:normal}.editor-preview-card__stat-value.is-assigned{color:var(--signal)}.editor-preview-card__stat-value.is-remaining{color:var(--ok)}.editor-preview-card__stat-value.is-negative{color:var(--bad)}.editor-preview-card__warning{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--bad);margin:0;font-size:.7rem}.editor-preview-card__chart{min-height:0}.editor-preview-card .sankey{margin:0}.editor-color-popover .setup-color-row{flex-wrap:wrap;gap:6px;display:flex}.editor-row__assigns{display:contents}@media (width<=767px){.view-editor{padding:var(--s-2) var(--s-3) var(--s-5);gap:var(--s-2)}.editor-rail{padding:var(--s-2) 0;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.editor-rail__head{display:none}.editor-rail__list,.editor-rail__list>li{display:contents}.editor-rail__row{background:var(--paper);border:1px solid var(--rule-2);width:auto;min-height:28px;color:var(--ink);border-radius:999px;grid-template-columns:none;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;display:inline-flex}button.editor-rail__row:hover{background:var(--paper-hover)}button.editor-rail__row.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper);border-left-width:1px}button.editor-rail__row.is-active:hover{background:var(--ink);color:var(--paper)}.editor-rail__total{display:none}.editor-rail__delete{opacity:1;width:16px;height:16px;color:inherit;border-color:#0000;margin-left:2px;font-size:.7rem;position:static;transform:none}button.editor-rail__row.is-active .editor-rail__delete{color:var(--paper)}button.editor-rail__add{border-radius:999px;align-items:center;width:auto;min-height:28px;padding:4px 10px;font-size:.68rem;display:inline-flex}.editor-rail__add-full{display:none}.editor-rail__add-short{margin-left:4px;display:inline}.editor-detail{padding:var(--s-3);gap:var(--s-2)}.editor-detail__head{grid-template-columns:24px 1fr 24px}.editor-category-name{font-size:1.15rem}.editor-detail .qg-kpi-strip{grid-template-columns:repeat(2,1fr)!important}.editor-item-table__header{display:none!important}.editor-item-row{column-gap:var(--s-2);padding:var(--s-2);grid-template-areas:"name remove""cost footer""assigns assigns";row-gap:4px;grid-template-columns:minmax(0,1fr) auto!important}.editor-item-row>input[type=text]:first-of-type{grid-area:name;font-weight:600}.editor-item-row>input[type=text]:nth-of-type(2){text-align:left;background:0 0;border-color:#0000;grid-area:cost;justify-self:start;width:auto;min-width:110px;max-width:160px;padding-left:0;font-size:.95rem}.editor-item-row>.editor-delete-button{border-color:var(--rule-2);color:var(--ink-mute);opacity:1;grid-area:remove;justify-self:end}.editor-row__assigns{gap:var(--s-3);border-top:1px solid var(--rule);grid-area:assigns;align-items:center;min-width:0;padding-top:4px;display:flex}.editor-row__assigns .editor-assignment-cell{flex:1 1 0;align-items:center;gap:4px;min-width:0;padding-left:6px;display:inline-flex}.editor-row__assigns .editor-assignment-cell__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;font-size:.58rem;display:inline}.editor-row__assigns .editor-assignment-cell input{width:100%;min-width:0;padding:2px 4px;font-size:.85rem}.editor-item-row>.editor-item-footer{justify-content:flex-end;gap:var(--s-2);grid-area:footer/auto;padding:0}.editor-item-actions{opacity:1;pointer-events:auto;gap:4px}button.editor-helper-button{width:24px;height:24px;padding:0;font-size:.74rem}.editor-item-unassigned{font-size:.65rem}}.view-dashboard{gap:var(--s-4);display:grid}.dashboard-intro{gap:.5rem;display:grid}.dashboard-intro__lead{font-family:var(--font-serif);color:var(--ink-mute);max-width:720px;margin:0;font-size:1.05rem;font-style:italic}.dashboard-toolbar{gap:var(--s-4);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;display:flex}.dashboard-toolgroup{gap:4px;min-width:0;display:grid}.dashboard-toollabel{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-size:.65rem;font-weight:600}.dashboard-pills{flex-wrap:wrap;gap:4px;display:inline-flex}.dashboard-tab{border:1px solid var(--rule);border-radius:var(--r-s);background:var(--paper);color:var(--ink-mute);font:600 .78rem var(--font-sans);cursor:pointer;transition:background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}button.dashboard-tab:hover{background:var(--paper-hover);color:var(--ink)}button.dashboard-tab.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}button.dashboard-tab.is-active:hover{background:var(--ink);color:var(--paper)}.dashboard-tab__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dashboard-card{gap:var(--s-3);padding:var(--s-3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-s);min-width:0;display:grid}.dashboard-card__head{justify-content:space-between;align-items:baseline;gap:var(--s-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);display:flex}.dashboard-card__title{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.05rem;font-style:italic;font-weight:500}.dashboard-card__sub{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);text-align:right;font-size:.68rem}.dashboard-card__body{min-width:0;overflow:auto}.dashboard-sankey-slot{width:100%;position:relative}.dashboard-empty{padding:var(--s-4) 0;text-align:center;font-family:var(--font-serif);color:var(--ink-mute);margin:0;font-style:italic}.dashboard-breakdown__compact{display:none}.dashboard-breakdown__full{min-width:0;display:block}.dashboard-bd{gap:2px;display:grid}.dashboard-bd__row{column-gap:var(--s-2);padding:6px var(--s-2);border-bottom:1px solid var(--rule);grid-template-columns:1fr auto auto;align-items:baseline;row-gap:4px;display:grid}.dashboard-bd__row:last-child{border-bottom:none}.dashboard-bd__row--category{background:var(--paper-deep);font-weight:700}.dashboard-bd__row--item{padding-left:calc(var(--s-2) + 16px);color:var(--ink-2)}.dashboard-bd__name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:.88rem;display:inline-flex;overflow:hidden}.dashboard-bd__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.dashboard-bd__amount{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-size:.9rem}.dashboard-bd__share{font-family:var(--font-mono);color:var(--ink-mute);white-space:nowrap;text-align:right;min-width:44px;font-size:.72rem}.dashboard-bd__bar{border-radius:var(--r-s);background:var(--paper);border:1px solid var(--rule-2);grid-column:1/-1;height:6px;overflow:hidden}.dashboard-bd__row--category .dashboard-bd__bar{background:var(--paper-hover)}.dashboard-bd__bar-fill{background:var(--ink-mute);height:100%}@media (width<=767px){.dashboard-toolbar{align-items:stretch;gap:var(--s-3);flex-direction:column}.dashboard-card{padding:var(--s-2) var(--s-3)}.dashboard-card__head{flex-direction:column;align-items:flex-start;gap:2px}.dashboard-card__sub{text-align:left}.dashboard-breakdown__compact{display:block}.dashboard-breakdown__full{display:none}.dashboard-toolgroup .segmented{width:100%;display:flex}.dashboard-toolgroup .segmented>button{flex:1 1 0}}
