:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;color:var(--color-text);background:var(--color-bg);font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:0;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}h1,h2,p{margin-top:0}#root{min-height:100vh}.goal-rings{overflow:hidden}.rings-crumbs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rings-crumbs button{min-height:44px;color:var(--color-text);background:0 0;border:0;text-decoration:underline}.rings-layout{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.rings-stage{aspect-ratio:1;touch-action:pan-y;-webkit-user-select:none;user-select:none;align-self:start;width:100%;max-width:300px;position:relative}.rings-stage>svg{width:100%;height:100%;position:absolute;inset:0}.rings-bands{transform-origin:200px 200px;transition:transform .42s var(--motion-ease),opacity .42s var(--motion-ease)}.is-goal .rings-bands{opacity:0;pointer-events:none;transform:scale(1.22)}.rings-band{transition:opacity .18s var(--motion-ease)}.has-selection .rings-band:not(.is-selected):not(.is-hover){opacity:.45}.rings-band-track,.rings-band-sweep{fill:none;stroke:var(--color-ring-band);stroke-width:24px;stroke-linecap:round;transition:stroke-width .18s var(--motion-ease)}.rings-band-sweep{stroke:var(--ring-tone,var(--color-progress));transition:stroke-width .18s var(--motion-ease),stroke-dashoffset .26s var(--motion-ease)}.rings-band.is-selected .rings-band-sweep,.rings-band.is-selected .rings-band-track{stroke-width:26px}.rings-band.is-undefined .rings-band-track{stroke-dasharray:3 6}.rings-hit:active{stroke:var(--color-ring-hover);stroke-opacity:.4}.rings-band.is-hover .rings-band-track{stroke:var(--color-ring-hover)}.rings-hit{fill:none;stroke:#0000;stroke-width:28px;pointer-events:stroke;cursor:pointer}.rings-label-hit{fill:#0000;pointer-events:all;cursor:pointer}.is-goal .rings-hit,.is-goal .rings-label-hit{pointer-events:none}.rings-label text{text-anchor:middle;dominant-baseline:central;fill:var(--color-text);pointer-events:none;font-size:16px;font-weight:600}.rings-core{border:1px solid var(--color-border);background:var(--color-accent-soft);color:var(--color-text);text-align:center;overflow-wrap:anywhere;pointer-events:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:4px;display:flex;position:absolute;inset:29.5%}.rings-core.is-selected{background:var(--color-accent-soft);border-color:var(--color-progress)}.rings-core span{font-size:clamp(12px,1.4vw,16px);font-weight:600}.rings-core small{max-width:90px;font-size:10px}.rings-goal-center{text-align:center;overflow-wrap:anywhere;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:22%}.rings-goal-center strong{font-size:clamp(18px,2.5vw,28px)}.rings-progress-track,.rings-progress-value,.rings-progress-new{fill:none;stroke-width:20px}.rings-progress-track{stroke:var(--color-track)}.rings-progress-value{stroke:var(--color-progress);transition:stroke-dashoffset .7s var(--motion-ease)}.rings-progress-value.draw-on-open{animation:rings-draw .7s var(--motion-ease)}.rings-progress-new{stroke:var(--color-progress-new)}@keyframes rings-draw{0%{stroke-dashoffset:100px}to{stroke-dashoffset:var(--progress-offset)}}.rings-panel{min-width:0;animation:rings-panel-in .42s var(--motion-ease);gap:12px;display:grid}@keyframes rings-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.rings-area-list{gap:8px;display:grid}.rings-panel>[aria-label="Select an area"]{grid-template-columns:repeat(2,minmax(0,1fr))}.rings-panel>[aria-label="Select an area"] .rings-area{border-radius:18px;gap:6px;min-height:52px;padding:8px 10px;font-size:13px}.rings-panel>[aria-label="Select an area"] .rings-area small{font-size:11px}.rings-area{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-height:60px;color:var(--color-text);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.rings-area span{overflow-wrap:anywhere;min-width:0}.rings-area small{color:var(--color-text-muted);margin-top:4px;font-size:12px;display:block}.rings-area b{flex-shrink:0}.rings-area.is-selected,.rings-area:focus-visible{background:var(--color-accent-soft);border-color:var(--color-selected-border)}.rings-main-value{font-size:24px;font-weight:600}.rings-split{background:var(--color-track);border-radius:6px;height:12px;overflow:hidden}.rings-split i{background:var(--color-progress);height:100%;display:block}.rings-mini{fill:none;width:40px;height:40px;stroke:var(--color-track);stroke-width:4px;flex-shrink:0}.rings-mini .rings-mini-value{stroke:var(--color-progress)}.rings-timeline{border-block:1px solid var(--color-border);padding:12px 0}.rings-added{color:var(--color-text);font-weight:600}@media (width<=700px){.rings-layout{grid-template-columns:minmax(0,1fr)}.rings-stage{justify-self:center;max-width:288px}}@media (prefers-reduced-motion:reduce){.goal-rings *,.goal-rings :before,.goal-rings :after{transition:none!important;animation:none!important}}.goal-rings.is-reduced-motion *,.goal-rings.is-reduced-motion :before,.goal-rings.is-reduced-motion :after{transition:none!important;animation:none!important}.rings-area:active{transform:scale(.99)}.rings-area:focus-visible{outline:2px solid var(--color-progress);outline-offset:3px}.rings-context{overflow-wrap:anywhere;gap:8px;display:grid}.home-rings-fold:not(.is-open) .goal-rings *{transition:none!important;animation:none!important}@media (hover:hover){.rings-area:hover{background:var(--color-accent-soft)}}.rings-band.is-pressed .rings-band-track,.rings-band.is-pressed .rings-band-sweep{stroke-width:28px}@media (width<=374px){.rings-stage{max-width:240px}.rings-core{gap:4px;font-size:12px}}.rings-core-content{max-width:100%;animation:rings-focus-in .18s var(--motion-ease);justify-items:center;gap:4px;display:grid}.rings-core-content small{max-width:100%;font-size:11px}@keyframes rings-focus-in{0%{opacity:.65;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.goal-rings .button-small{min-height:44px}.rings-core{box-shadow:inset 0 0 0 3px var(--color-surface),0 3px 8px #0002}.rings-core-content>b{color:var(--color-text-muted);font-size:12px}.rings-core-content>span{font-size:clamp(14px,1.6vw,19px);font-weight:800;line-height:1.15}.rings-core-content small span{font-size:inherit;font-weight:inherit}.rings-band-income{--ring-tone:var(--color-ring-income)}.rings-band-bills{--ring-tone:var(--color-ring-bills)}.rings-band-debts{--ring-tone:var(--color-ring-debts)}.rings-band-goals{--ring-tone:var(--color-ring-goals)}.rings-label.is-selected text{font-weight:800;transform:scale(1.08)}.rings-context p{margin:0}.rings-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rings-actions .button-small{min-height:52px;padding:8px;scroll-margin-block-end:calc(var(--nav-height) + var(--safe-bottom) + 16px);font-size:13px}@media (width<=374px){.rings-label text{font-size:18px}.rings-core-content>span{font-size:13px}.rings-core-content small{font-size:10px}}.rings-label text{transform-box:fill-box;transform-origin:50%;transition:transform .18s var(--motion-ease)}.rings-panel>[aria-label="Select an area"] .rings-area>span[aria-hidden=true]{text-align:center;flex:0 0 14px;inline-size:14px}.goal-rings.has-four-sections .rings-layout{grid-template-columns:minmax(0,1fr);gap:10px}.goal-rings .rings-stage.four-stage{aspect-ratio:1;touch-action:pan-y;-webkit-tap-highlight-color:transparent;justify-self:center;width:100%;max-width:340px;container-type:inline-size}.four-stage>svg{overflow:visible}.four-vector .four-section{transform-origin:200px 200px;transform-box:view-box}.four-vector .four-track,.four-vector .four-fill{fill:var(--ring-tone);stroke:none}.four-vector .four-track{opacity:var(--color-ring-track-opacity);transition:opacity .22s var(--motion-ease)}.four-vector .four-fill{opacity:1;transition:opacity .22s var(--motion-ease)}.four-vector .four-section:not(.is-selected) .four-fill{opacity:.3}.four-vector .four-section:not(.is-selected) .four-track{opacity:calc(var(--color-ring-track-opacity) * .55)}.four-vector .four-section:not(.is-selected) .four-label{opacity:.62}.four-vector .four-section.is-hidden .four-track{opacity:calc(var(--color-ring-track-opacity) * .9)}.four-offset{transition:transform .26s cubic-bezier(.33,1,.68,1)}.four-pop{transform-origin:200px 200px;transform-box:view-box}.four-section.is-pressed .four-pop{transform:scale(.97)}.four-label{pointer-events:none;transition:opacity .22s var(--motion-ease)}.four-label rect{fill:var(--color-ring-label-bg)}.four-label text{text-anchor:middle}.four-label-name{fill:var(--color-ring-label-text);font-size:17px;font-weight:680}.four-label-value{fill:var(--color-ring-label-sub);font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:600}.four-focus{fill:none;stroke:var(--color-focus);stroke-width:3px;opacity:0}.four-controls{z-index:2;pointer-events:none;position:absolute;inset:0}.four-radio{pointer-events:auto;cursor:pointer;transform-origin:50%;touch-action:pan-y;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.four-radio:focus-visible{outline:none}:is(.four-stage:has(.four-radio-income:focus-visible) .rings-band-income .four-focus,.four-stage:has(.four-radio-bills:focus-visible) .rings-band-bills .four-focus,.four-stage:has(.four-radio-debts:focus-visible) .rings-band-debts .four-focus,.four-stage:has(.four-radio-goals:focus-visible) .rings-band-goals .four-focus){opacity:1}.goal-rings .four-core{z-index:3;width:auto;height:auto;box-shadow:none;pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:4%;position:absolute;inset:22.1698%;container-type:inline-size}.four-core:focus-visible{outline:3px solid var(--color-focus);outline-offset:0}.four-core .four-core-content{place-items:center;gap:2px;max-width:100%;animation:none;display:grid}.four-core .four-name{color:var(--color-text-muted);letter-spacing:.01em;font-size:clamp(10px,8.5cqw,13px);font-weight:650}.four-core .four-value{letter-spacing:-.5px;color:var(--color-text-strong);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(18px,22cqw,38px);font-weight:760;line-height:1.05}.four-core .four-context{color:var(--color-text-muted);max-width:92%;font-size:clamp(10px,8.5cqw,13px);font-weight:400;line-height:1.2}.four-core .four-pill{background:var(--color-accent-soft);color:var(--color-accent);border-radius:99px;margin-top:3px;padding:2px 8px;font-size:clamp(10px,7.6cqw,12px);font-weight:650;line-height:1.25}.four-core.is-positive .four-pill{background:var(--color-positive-soft);color:var(--color-positive)}.four-core.is-warning .four-pill{background:var(--color-warning-soft);color:var(--color-warning-text)}.four-core .four-eyebrow{color:var(--color-positive);font-size:clamp(10px,8.5cqw,13px);font-weight:750}.four-glyph{fill:none;stroke:currentColor;stroke-width:1.7px;width:30px;height:30px;color:var(--color-text-muted);display:block}.is-positive .four-glyph{color:var(--color-positive)}.four-target-dot{fill:currentColor;stroke:none}.four-fx{pointer-events:none;z-index:4;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.four-stage *,.four-stage :before,.four-stage :after{transition:none!important;animation:none!important}.four-section.is-pressed .four-pop{transform:none}}.four-stage.is-reduced-motion *,.four-stage.is-reduced-motion :before,.four-stage.is-reduced-motion :after{transition:none!important;animation:none!important}.four-stage.is-reduced-motion .four-section.is-pressed .four-pop{transform:none}.goal-rings.has-four-sections,.home-rings-fold.is-open>.block-body>.block-body-inner{overflow:visible}.home-ring-first{min-width:0;display:grid}.goal-rings.is-ring-first{background:0 0;border:0;gap:10px;padding:0}.goal-rings.is-ring-first .rings-layout{gap:12px}.ring-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);gap:10px;min-width:0;padding:15px;display:grid}.ring-card>p{overflow-wrap:anywhere;margin:0}.ring-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 10px;display:flex}.ring-card-title{margin:0;font-size:17px;line-height:1.3}.ring-chip{background:var(--color-accent-soft);color:var(--color-selected-text);white-space:nowrap;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;line-height:1.6}.ring-chip.is-positive{background:var(--color-positive-soft);color:var(--color-positive)}.ring-chip.is-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.ring-next{border-radius:var(--radius-control);background:var(--color-accent-soft);gap:4px;padding:12px;display:grid}.ring-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-selected-text);font-size:11px;font-weight:800}.ring-next-title{color:var(--color-text-strong);overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:700;line-height:1.3}.ring-next-detail{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0;font-size:14px}.ring-card .ring-cta{justify-content:center;width:100%;min-height:48px;margin-top:6px;font-size:15px}.ring-state-title{margin:0;font-size:18px;font-weight:700;line-height:1.3}.ring-state-title.is-positive{color:var(--color-positive);align-items:center;gap:8px;display:flex}.ring-done,.ring-empty{gap:4px;display:grid}.ring-done p,.ring-empty p{margin:0}.ring-card .text-button{min-height:44px}.ring-card-links{flex-wrap:wrap;align-items:center;gap:0 20px;display:flex}.ring-card-links .text-button{align-items:center;gap:4px;display:inline-flex}.ring-bill-list{gap:8px}.ring-bill>.button-small{flex:none;min-height:44px}.ring-card .mark-paid{scroll-margin-block-end:calc(var(--nav-height) + var(--safe-bottom) + 16px)}.review-facts{grid-template-columns:auto minmax(0,1fr);gap:2px 12px;margin:0;font-size:14px;display:grid}.review-facts>div{display:contents}.review-facts dt{color:var(--color-text-muted)}.review-facts dd{overflow-wrap:anywhere;margin:0;font-weight:600}.mark-paid.is-review .inline-actions .button-small{min-height:48px}@media (width>=1024px){.goal-rings.is-ring-first .rings-layout{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:24px}.goal-rings.is-ring-first .rings-stage.four-stage{top:calc(var(--sticky-top,64px) + var(--sticky-bar,0px) + 12px);position:sticky}}@media (width<=700px){.goal-rings.is-ring-first .rings-stage.four-stage{max-width:300px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4f5f9;--color-nav-surface:#fffffff5;--color-nav-text:#5a5b6b;--shadow-nav:0 10px 30px -8px #2423323d, 0 2px 6px #2423321a;--color-surface:#fff;--color-surface-muted:#f4f4f8;--color-surface-hover:#f5f3ff;--color-border:#e6e6ed;--color-border-strong:#dddfe8;--color-text:#242332;--color-text-strong:#1a1926;--color-text-muted:#6a6b7b;--color-progress:#7952b5;--color-ring-track-opacity:.17;--color-ring-label-bg:#fffffff0;--color-ring-label-text:#1a1926;--color-ring-label-sub:#5d5c6e;--color-ring-income:#9175d3;--color-ring-bills:#7f5cc6;--color-ring-debts:#6a45ae;--color-ring-goals:#4f2f8c;--color-progress-new:#b79cf0;--color-ring-band:#e4dfed;--color-ring-hover:#d2c8e3;--color-ring-selected:#bba8d5;--color-primary:#7952b5;--color-primary-hover:#6942a5;--color-on-primary:#fff;--color-accent:#7a55b9;--color-accent-soft:#eeeaf9;--color-selected:#e9e4fb;--color-selected-border:#8874ce;--color-selected-text:#462795;--color-focus:#8b5cf6;--color-track:#ebebf0;--color-track-strong:#c9cad6;--color-positive:#128062;--color-positive-soft:#eaf7f1;--color-warning-text:#7a4700;--color-warning-soft:#fff5e8;--color-negative:#b42318;--color-member-1:#3b82f6;--color-member-2:#10b981;--color-shared:#8b5cf6;--radius-card:14px;--radius-control:11px;--radius-small:9px;--shadow-card:none;--space-gutter:14px;--column-narrow:560px;--column-wide:720px;--nav-height:64px;--safe-bottom:env(safe-area-inset-bottom,0px);--motion-screen:.22s;--motion-quick:.15s;--motion-ease:cubic-bezier(.2, .7, .2, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#16151f;--color-nav-surface:#201e2bf5;--color-nav-text:#c3bfd3;--shadow-nav:0 12px 34px -6px #0009, 0 2px 6px #0000004d;--color-surface:#201e2b;--color-surface-muted:#2c2939;--color-surface-hover:#332f44;--color-border:#403c50;--color-border-strong:#49455c;--color-text:#eeeef2;--color-text-strong:#fff;--color-text-muted:#ada9bf;--color-progress:#b79cf0;--color-ring-track-opacity:.2;--color-ring-label-bg:#1d1b26eb;--color-ring-label-text:#f6f4fb;--color-ring-label-sub:#b7b3c8;--color-ring-income:#e2d6fb;--color-ring-bills:#c9b2f2;--color-ring-debts:#ae90e8;--color-ring-goals:#977ade;--color-progress-new:#dac9fa;--color-ring-band:#41394e;--color-ring-hover:#655578;--color-ring-selected:#8d76a8;--color-primary:#8f6ad0;--color-primary-hover:#a07ddc;--color-accent:#b79cf0;--color-accent-soft:#3a3150;--color-selected:#4a3a65;--color-selected-border:#8f6ad0;--color-selected-text:#f1eaff;--color-track:#464252;--color-track-strong:#6a6580;--color-positive:#4fd1a5;--color-positive-soft:#173a30;--color-warning-text:#f3c77c;--color-warning-soft:#3d2f17;--color-negative:#ff8a80}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#16151f;--color-nav-surface:#201e2bf5;--color-nav-text:#c3bfd3;--shadow-nav:0 12px 34px -6px #0009, 0 2px 6px #0000004d;--color-surface:#201e2b;--color-surface-muted:#2c2939;--color-surface-hover:#332f44;--color-border:#403c50;--color-border-strong:#49455c;--color-text:#eeeef2;--color-text-strong:#fff;--color-text-muted:#ada9bf;--color-progress:#b79cf0;--color-ring-track-opacity:.2;--color-ring-label-bg:#1d1b26eb;--color-ring-label-text:#f6f4fb;--color-ring-label-sub:#b7b3c8;--color-ring-income:#e2d6fb;--color-ring-bills:#c9b2f2;--color-ring-debts:#ae90e8;--color-ring-goals:#977ade;--color-progress-new:#dac9fa;--color-ring-band:#41394e;--color-ring-hover:#655578;--color-ring-selected:#8d76a8;--color-primary:#8f6ad0;--color-primary-hover:#a07ddc;--color-accent:#b79cf0;--color-accent-soft:#3a3150;--color-selected:#4a3a65;--color-selected-border:#8f6ad0;--color-selected-text:#f1eaff;--color-track:#464252;--color-track-strong:#6a6580;--color-positive:#4fd1a5;--color-positive-soft:#173a30;--color-warning-text:#f3c77c;--color-warning-soft:#3d2f17;--color-negative:#ff8a80}}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{background:var(--color-bg);min-height:100dvh;color:var(--color-text);flex-direction:column;display:flex}.shell-header{z-index:10;min-height:60px;padding:10px max(var(--space-gutter), calc((100vw - 1080px) / 2 + var(--space-gutter)));padding-top:max(10px, env(safe-area-inset-top));background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);align-items:center;display:flex;position:sticky;top:0}.shell-brand{align-items:center;gap:10px;display:flex}button.shell-brand{border-radius:var(--radius-control);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:4px 6px 4px 0}button.shell-brand:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.shell-brand-mark{background:var(--color-accent);width:36px;height:36px;color:var(--color-on-primary);border-radius:10px;place-items:center;display:grid}.shell-brand-name{letter-spacing:-.2px;flex-direction:column;font-size:16px;font-weight:700;line-height:1.2;display:flex}.shell-brand-name small{color:var(--color-text-muted);letter-spacing:0;font-size:11px;font-weight:500}.shell-main{width:100%;max-width:1080px;padding:24px var(--space-gutter) 32px;flex:1;margin:0 auto}.shell-footer{text-align:center;color:var(--color-text-muted);padding:16px var(--space-gutter) max(20px, env(safe-area-inset-bottom));font-size:12px}.screen{animation:screen-in-forward var(--motion-screen) var(--motion-ease) both}.shell[data-direction=back] .screen{animation-name:screen-in-back}@keyframes screen-in-forward{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@keyframes screen-in-back{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen{animation:none}.choice-card,.button-primary,.button-secondary{transition:none}}.screen-column{max-width:var(--column-narrow);flex-direction:column;margin:0 auto;display:flex}.screen-title{letter-spacing:-.6px;color:var(--color-text-strong);margin:0 0 8px;font-size:clamp(26px,6vw,32px);line-height:1.15}.screen-title:focus,.screen-section :is(h1,h2):focus{outline:none}.screen-lead{color:var(--color-text-muted);margin:0 0 24px;font-size:15px;line-height:1.55}.screen-note{color:var(--color-text-muted);margin:16px 0 0;font-size:13px;line-height:1.55}.screen-actions{flex-direction:column;gap:8px;margin-top:24px;display:flex}.button-primary,.button-secondary,.button-quiet{border-radius:var(--radius-control);cursor:pointer;min-height:48px;transition:background-color var(--motion-quick) ease, border-color var(--motion-quick) ease;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:650;display:inline-flex}.button-primary{background:var(--color-primary);width:100%;color:var(--color-on-primary);border:0}.button-primary:hover{background:var(--color-primary-hover)}.button-secondary{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.button-secondary:hover{background:var(--color-surface-muted)}.button-quiet{color:var(--color-text-muted);background:0 0;border:0;font-weight:600}.button-quiet:hover{color:var(--color-text)}.back-link{min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;margin:-8px 0 8px;padding:8px 12px 8px 4px;font-size:14px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--color-text)}:is(.button-primary,.button-secondary,.button-quiet,.back-link):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.choice-card:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.badge{background:var(--color-surface-muted);color:var(--color-text-muted);letter-spacing:.2px;vertical-align:2px;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:650;display:inline-block}.welcome-hero{text-align:center;padding:32px 0 8px}.welcome-mark{background:var(--color-accent-soft);width:64px;height:64px;color:var(--color-accent);border-radius:20px;place-items:center;margin-bottom:20px;display:inline-grid}.welcome-points{gap:16px;margin:8px 0 0;padding:0;list-style:none;display:grid}.welcome-points li{align-items:flex-start;gap:14px;display:flex}.welcome-points .icon{color:var(--color-text-muted);flex-shrink:0;margin-top:2px}.welcome-points strong{margin-bottom:2px;font-size:15px;display:block}.welcome-points span{color:var(--color-text-muted);font-size:14px;line-height:1.5}.choice-list{border:0;gap:12px;margin:0;padding:0;display:grid}.choice-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;transition:border-color var(--motion-quick) ease, box-shadow var(--motion-quick) ease;align-items:center;gap:14px;padding:18px;display:flex}.choice-card input{opacity:0;width:1px;height:1px;position:absolute}.choice-card:has(input:checked){border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.choice-card.is-unavailable{cursor:default}.choice-card.is-unavailable>.icon,.choice-card.is-unavailable .choice-name{color:var(--color-text-muted)}.choice-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.choice-name{font-size:16px;font-weight:650}.choice-text{color:var(--color-text-muted);font-size:13.5px;line-height:1.5}.choice-check{border:1.5px solid var(--color-border-strong);width:24px;height:24px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.choice-card:has(input:checked) .choice-check{background:var(--color-accent);border-color:var(--color-accent)}.screen-section{flex-direction:column;display:flex}@media (width>=640px){.shell-main{padding-top:40px}.screen-actions .button-primary{min-height:52px}}.shell-add{margin-left:auto}.shell-add>.menu-root>.button-small{min-height:44px;padding-inline:14px}.shell-add .popover{min-width:14.5rem;max-width:calc(100vw - 2 * var(--space-gutter));left:auto;right:0}.shell-add .menu-item{min-height:44px}.menu-separator{background:var(--color-border);height:1px;margin:4px 0;list-style:none}.shell-add>.menu-root>.button-small{white-space:nowrap}@media (width<=359px){.shell-add>.menu-root>.button-small{justify-content:center;min-width:44px;padding-inline:12px}.shell-add .menu-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=399px){.shell .shell-header{gap:6px}.shell-header .shell-brand{flex:1;gap:7px;min-width:0;padding-right:0}.shell-header .shell-brand-mark{flex:none;width:32px;height:36px}.shell-header .shell-brand-name{white-space:nowrap;font-size:14px}.shell-header .shell-brand-name small{font-size:9px}.shell-header>.icon-button{flex:0 0 44px}.shell-add{flex:none}.shell-add>.menu-root>.button-small{gap:4px;padding-inline:9px;font-size:13px}.shell-add .menu-text{clip-path:none;width:auto;height:auto;position:static;overflow:visible}}.shell-header{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:space-between;gap:12px;min-height:64px}.shell-brand-mark{background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-control);width:40px;height:40px}.icon-button{border-radius:var(--radius-control);border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-text);cursor:pointer;place-items:center;display:grid}@media (hover:hover){.icon-button:hover{background:var(--color-surface-hover)}}:is(.icon-button,.eye-toggle,.bottom-nav button,.month-switch button,.stat,.day-head,.paid-toggle,.text-button,.button-small,.button-danger,.tiles button,.annual-owners button,.monthly-row,.goal-row):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.demo-banner,.save-warning{padding:8px max(var(--space-gutter), calc((100vw - var(--column-wide)) / 2 + var(--space-gutter)));background:var(--color-accent-soft);color:var(--color-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.save-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.save-warning p{margin:0}.unsaved-forms,.discard-question,.demo-question{flex-basis:100%;gap:6px;display:grid}.unsaved-forms textarea{box-sizing:border-box;width:100%;font:inherit;font-size:13px}.leave-backdrop{z-index:60;background:color-mix(in srgb, var(--color-text) 35%, transparent);place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.leave-dialog{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,460px);color:var(--color-text);box-shadow:var(--shadow-card);gap:10px;max-height:calc(100dvh - 32px);padding:18px;display:grid;overflow:auto}.leave-dialog h2{margin:0;font-size:18px}.leave-dialog p{margin:0}.leave-forms{margin:0;padding-left:20px}.leave-dialog textarea{box-sizing:border-box;width:100%;font:inherit;font-size:13px}@media (width>=640px){.leave-backdrop{place-items:center}}.update-notice{padding:6px max(var(--space-gutter), calc((100vw - var(--column-wide)) / 2 + var(--space-gutter)));background:var(--color-accent-soft);color:var(--color-text);margin:0;font-size:13px}.bottom-nav{z-index:20;left:50%;right:auto;bottom:calc(10px + var(--safe-bottom));box-sizing:border-box;width:min(560px, calc(100% - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));border:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:var(--shadow-nav);border-radius:22px;padding:6px;position:fixed;transform:translate(-50%)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bottom-nav{background:var(--color-nav-surface);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2)}}@media (prefers-reduced-transparency:reduce){.bottom-nav{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.nav-destinations{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:100%;display:grid;position:relative}.bottom-nav .nav-tab{z-index:1;min-width:44px;min-height:56px;color:var(--color-nav-text);perspective:400px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:7px 2px;font-size:13px;font-weight:600;line-height:1.25;display:flex;position:relative}.nav-label{overflow-wrap:anywhere;max-width:100%}@media (width<=374px){.bottom-nav .nav-tab{padding-inline:0}}@media (width<=359px){.nav-destinations{gap:0}.bottom-nav .nav-tab{font-size:12px}}.nav-icon{transform-origin:50% 75%;transition:transform .15s var(--motion-ease);display:inline-flex}@media (hover:hover) and (pointer:fine){.bottom-nav .nav-tab:hover .nav-icon{transform:translateY(-1px)rotateX(-8deg)}.bottom-nav .nav-tab:active .nav-icon{transform:translateY(1px)rotateX(8deg)}}.bottom-nav .nav-tab.is-selected{color:var(--color-selected-text);background:0 0;font-weight:750}.nav-tab.is-selected .nav-icon{animation:nav-tilt .26s var(--motion-ease)}.nav-indicator{z-index:0;pointer-events:none;width:var(--indicator-width,0px);height:var(--indicator-height,0px);transform:translate(var(--indicator-x,0px), var(--indicator-y,0px));background:var(--color-selected);border-radius:16px;position:absolute;top:0;left:0;box-shadow:inset 0 1px #ffffff2e}.bottom-nav[data-keyboard=true]{visibility:hidden;pointer-events:none}.nav-destinations[data-ready=true] .nav-indicator{transition:transform .22s var(--motion-ease), width .22s var(--motion-ease), height .22s var(--motion-ease)}@keyframes nav-tilt{0%{transform:none}45%{transform:rotateX(-14deg)translateY(-2px)}to{transform:none}}.bottom-nav .nav-tab:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.shell.has-nav{padding-bottom:calc(var(--floating-nav-height,70px) + var(--safe-bottom) + 24px)}.shell.has-nav .shell-footer{padding-bottom:20px}.skip-link{z-index:100;background:var(--color-surface);color:var(--color-text);border-radius:10px;padding:12px 16px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{outline:3px solid var(--color-focus);transform:none}@media (prefers-reduced-motion:reduce){.nav-destinations[data-ready=true] .nav-indicator,.nav-icon{transition:none}.nav-tab.is-selected .nav-icon{animation:none}.bottom-nav .nav-tab:hover .nav-icon,.bottom-nav .nav-tab:active .nav-icon{transform:none}}@media (forced-colors:active){.bottom-nav{border:1px solid buttontext}.bottom-nav .nav-tab.is-selected{outline-offset:-4px;outline:2px solid highlight}}@media (width>=740px){.bottom-nav .nav-tab{flex-direction:row;gap:8px;font-size:14px}}.tab-screen{max-width:var(--column-wide);gap:14px;margin:0 auto;display:grid}.tab-title{color:var(--color-text-strong);margin:0;font-size:1.25rem}.tab-title:focus,.section-title:focus{outline:none}.section-title{color:var(--color-text-strong);margin:6px 0 0;font-size:1rem}.muted-note{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.5}.tab-screen .back-link{margin-bottom:0}.month-switch{gap:8px;display:flex}.month-switch button{cursor:pointer;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);min-height:44px;color:var(--color-text);flex:1;padding:10px 8px;font-size:13px}.month-switch button.is-active{background:var(--color-selected);border-color:var(--color-selected-border);color:var(--color-selected-text);font-weight:650}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.stat{text-align:left;background:var(--color-surface-muted);color:var(--color-text);border:0;border-radius:12px;align-content:start;gap:7px;padding:15px;display:grid}button.stat{cursor:pointer}button.stat:hover{background:var(--color-surface-hover)}.stat small{color:var(--color-text-muted);font-size:12px}.stat b{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:1.07rem}.bill-days{display:grid}.bill-day{border-bottom:1px solid var(--color-border)}.day-head{width:100%;min-height:64px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;display:flex}.day-tile{background:var(--color-surface-muted);border-radius:10px;flex-shrink:0;justify-items:center;width:62px;padding:7px;display:grid}.day-tile b{font-size:1.4rem;line-height:1.1}.day-tile small,.day-text small,.day-amount small{color:var(--color-text-muted);font-size:12px}.day-text{flex:1;gap:7px;min-width:0;display:grid}.day-amount{text-align:right;font-variant-numeric:tabular-nums;gap:4px;display:grid}.day-head>.icon{color:var(--color-text-muted);flex-shrink:0}.day-bills{gap:8px;padding:0 0 12px 12px;display:grid}.bill-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:11px;gap:9px;padding:13px;display:grid}.bill-line{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.bill-line b{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.bill-line small{color:var(--color-text-muted);font-size:12px}.bill-name{overflow-wrap:anywhere;flex:1;min-width:0}.owner-dot{vertical-align:1px;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.paid-toggle{cursor:pointer;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);min-height:36px;color:var(--color-text-muted);flex-shrink:0;padding:6px 12px;font-size:13px}.paid-toggle.is-paid{background:var(--color-positive-soft);border-color:var(--color-positive);color:var(--color-positive);font-weight:650}.text-button{min-height:36px;color:var(--color-accent);cursor:pointer;background:0 0;border:0;justify-self:start;padding:6px 0;font-size:13px;font-weight:600}.amount-editor{gap:8px;padding-top:4px;display:grid}.form-stack{gap:12px;display:grid}.form-field{color:var(--color-text);gap:6px;font-size:13px;font-weight:600;display:grid}.form-field input,.form-field select{border:1px solid var(--color-border-strong);border-radius:var(--radius-small);background:var(--color-surface);width:100%;min-width:0;min-height:44px;color:var(--color-text);padding:10px;font-size:16px;font-weight:400}.form-field input[type=date]{appearance:none;text-align:left;min-height:44px;display:block}.form-field input[type=date]::-webkit-date-and-time-value{text-align:left}.form-field input:disabled{background:var(--color-surface-muted);cursor:not-allowed}.form-field input:focus-visible,.form-field select:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.form-field-spaced{margin-top:16px}.field-help{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.5}.field-error{color:#b42318;margin:6px 0 0;font-size:13px}:root[data-theme=dark] .field-error{color:#ff8a80}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .field-error{color:#ff8a80}}.step-count{color:var(--color-text-muted);margin:0 0 6px;font-size:13px}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.button-small{cursor:pointer;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);min-height:40px;color:var(--color-text);padding:8px 12px;font-size:13px;font-weight:600}@media (hover:hover){.button-small:hover{background:var(--color-surface-hover)}}.button-small-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}@media (hover:hover){.button-small-primary:hover{background:var(--color-primary-hover)}}.button-small-danger,.button-danger{color:#fff;background:#b42318;border-color:#b42318}.button-danger{border-radius:var(--radius-control);cursor:pointer;border:1px solid #b42318;justify-self:start;min-height:44px;padding:10px 16px;font-weight:650}.callout{background:var(--color-surface-muted);border-radius:11px;gap:8px;margin-top:16px;padding:13px 14px;font-size:14px;line-height:1.5;display:grid}.callout p,.callout ul{margin:0}.callout ul{padding-left:18px}.callout-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.empty-block{text-align:center;background:var(--color-surface-muted);color:var(--color-text-muted);border-radius:12px;padding:25px;font-size:14px;line-height:1.5}.empty-block p{margin:0 0 6px}.empty-block p:last-child{margin:0}.block{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);gap:10px;padding:15px;display:grid}.block .section-title{margin:0}.block>.button-secondary{justify-self:start}.fact-list{gap:8px;margin:0;padding-left:20px;font-size:14px;line-height:1.5;display:grid}.fact-rows{gap:8px;margin:0;display:grid}.fact-rows>div{justify-content:space-between;gap:12px;font-size:14px;display:flex}.fact-rows dt{color:var(--color-text-muted)}.fact-rows dd{text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:0;display:flex}.member-chip{align-items:center;display:inline-flex}.home-section{gap:12px}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head .button-small{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.section-sub{color:var(--color-text-muted);font-size:12px}.line-list,.goal-rows,.month-bars{margin:0;padding:0;list-style:none;display:grid}.line-list{gap:10px}.line{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.line span:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.line b{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.donut{border-radius:50%;place-items:center;width:206px;height:206px;margin:4px auto;display:grid}.donut-core{background:var(--color-surface);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:143px;height:143px;padding:7px;display:flex}.donut-core small{color:var(--color-text-muted);font-size:12px}.donut-core strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.07rem}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tiles button,.annual-owners button{text-align:left;cursor:pointer;min-height:44px;color:var(--color-text);background:var(--color-surface-muted);border-radius:var(--radius-control);border:1px solid #0000;align-content:start;justify-items:start;gap:6px;padding:10px;font-size:13px;display:grid}.tiles button b,.annual-owners button b{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:13px}.tiles button.is-active,.annual-owners button.is-active{background:var(--color-selected);border-color:var(--color-selected-border);color:var(--color-selected-text)}.goals-total{gap:4px;display:grid}.goals-total b,.year-total{letter-spacing:-.4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.45rem}.goals-total small,.year-head small{color:var(--color-text-muted);font-size:12px}.goal-row{grid-template-columns:1fr auto;gap:7px;padding:8px 0;font-size:14px;display:grid}.goal-row>span:first-child{overflow-wrap:anywhere;min-width:0}.goal-row .bar{grid-column:1/-1}button.goal-row{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0}.planned-goal small{color:var(--color-text-muted);margin-bottom:2px;font-size:12px;display:block}.bar{background:var(--color-track);border-radius:10px;width:100%;height:11px;display:block;overflow:hidden}.bar.thin{height:7px}.bar>:is(div,span){border-radius:10px;height:100%;display:block}.tool-row{cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;color:var(--color-text);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px;margin-top:2px;padding:12px;display:grid}.tool-row:hover{background:var(--color-surface-hover)}.tool-row .assistant-text{grid-column:2}.tool-row>.icon:last-child{color:var(--color-text-muted);grid-area:1/3/span 2}.assistant-row{border-radius:var(--radius-control);background:var(--color-surface-muted);grid-template-columns:auto 1fr;gap:4px 10px;margin-top:2px;padding:12px;display:grid}.assistant-title{font-size:14px;font-weight:650}.assistant-text{color:var(--color-text-muted);grid-column:2;font-size:13px;line-height:1.45}.year-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.year-head>div:first-child{gap:4px;min-width:0;display:grid}.year-side{text-align:right;gap:6px;min-width:39%;display:grid}.twelve{gap:2px;height:15px;display:flex}.twelve>div{background:var(--color-track);border-radius:2px;flex:1}.twelve>div.is-recorded{background:var(--color-shared)}.year-details{gap:10px;display:grid}.annual-owners{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.monthly-row{width:100%;min-height:36px;color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:34px 1fr 98px;align-items:center;gap:9px;padding:6px 1px;font-size:13px;display:grid}button.monthly-row{cursor:pointer}button.monthly-row:hover{background:var(--color-surface-hover)}.monthly-row small{text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.stack{height:100%;display:flex}.stack>span{height:100%;display:block}.month-split{color:var(--color-text-muted);justify-content:space-between;gap:12px;margin:0 0 6px;padding-left:43px;font-size:12px;display:flex}.button-primary,.button-secondary,.button-quiet{border-radius:var(--radius-control)}.button-primary:disabled,.button-secondary:disabled,[aria-disabled=true]:is(button,input,select){opacity:.5;cursor:not-allowed}.alt-row.changed dd,.changed-tag,.status-supported,.status-funded{color:var(--color-positive)}.screen-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.screen-top .button-small,.inline-actions .button-small{align-items:center;gap:6px;display:inline-flex}.goal-cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.goal-card{text-align:left;cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:100%;color:var(--color-text);gap:9px;padding:15px;display:grid}.goal-card:hover{border-color:var(--color-border-strong)}.goal-card .line small,.goal-card>small{color:var(--color-text-muted);font-size:12px}.goal-card-amount{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.15rem;font-weight:700}.goal-card-amount small{color:var(--color-text-muted);font-size:13px;font-weight:500}.goal-hero{background:var(--color-surface-muted);border-radius:12px;gap:8px;padding:15px;display:grid}.goal-hero-saved{letter-spacing:-.6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.9rem}.goal-hero>span{color:var(--color-text-muted);font-size:14px}.pace-line{margin:0;font-size:15px}.pace-line b{font-variant-numeric:tabular-nums}.pace-line small{color:var(--color-text-muted);font-size:13px}.amount-in{color:var(--color-positive)}.muted-note:empty{display:none}:is(.goal-card,.tool-row):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=420px){.stat-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid.three>:last-child{grid-column:1/-1}}.left-to-pay{gap:6px;display:grid}.left-to-pay .year-total small{color:var(--color-text-muted);font-size:13px;font-weight:500}.left-message{color:var(--color-text);align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.left-message.is-done{color:var(--color-positive);font-weight:600}.segmented{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);flex-shrink:0;display:inline-flex;overflow:hidden}.segmented button{background:var(--color-surface);min-height:36px;color:var(--color-text);cursor:pointer;border:0;padding:6px 12px;font-size:13px}.segmented button+button{border-left:1px solid var(--color-border-strong)}.segmented button.is-active{background:var(--color-selected);color:var(--color-selected-text);font-weight:650}.category-bars{gap:6px;display:grid}.category-bars button{text-align:left;cursor:pointer;min-height:44px;color:var(--color-text);background:var(--color-surface-muted);border-radius:var(--radius-control);border:1px solid #0000;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:8px 10px;font-size:13px;display:grid}.category-bars button .bar{grid-column:1/-1}.category-bars button b{font-variant-numeric:tabular-nums}.category-bars button.is-active{background:var(--color-selected);border-color:var(--color-selected-border);color:var(--color-selected-text)}.total-line{border-top:1px solid var(--color-border);margin:0;padding-top:8px;font-weight:650}.category-bills{padding-top:4px}.quick-bill{border-bottom:1px solid var(--color-border);gap:2px;padding-bottom:8px;display:grid}.quick-bill:last-child{border-bottom:0}.line small,.line-button small{color:var(--color-text-muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.line-button{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.line-button>b{font-variant-numeric:tabular-nums;text-align:right}.line-button>span:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.paid-tag{color:var(--color-positive)!important}.quick-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-small);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);padding:10px;font-size:16px}.inline-link{min-height:0;font-size:inherit;text-align:left;text-underline-offset:2px;padding:0;text-decoration:underline}.line-button{width:100%;min-height:44px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 2px}.line-button:hover{background:var(--color-surface-hover)}.line-button>.icon{color:var(--color-text-muted);flex-shrink:0}.debt-total{gap:4px;display:grid}.debt-total small{color:var(--color-text-muted);font-size:12px}.savings-split{border-top:1px solid var(--color-border);gap:8px;padding-top:10px;display:grid}.savings-split h3{margin:0}.bar.stacked{height:12px;display:flex}.bar.stacked>span{border-radius:0}.goal-kind,.goal-row-amounts{color:var(--color-text-muted);font-size:12px;display:block}.goal-row-amounts{grid-column:1/-1}.effect-list{border:0;gap:8px;margin:0;padding:0;display:grid}.effect-list legend,.choice-inline legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.effect-option{cursor:pointer;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.effect-option:has(input:checked){border-color:var(--color-selected-border);background:var(--color-selected)}.effect-option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.effect-option input{flex-shrink:0;width:18px;height:18px;margin-top:3px}.effect-option span{gap:2px;font-size:14px;display:grid}.effect-option small{color:var(--color-text-muted);font-size:12.5px;line-height:1.45}.effect-option.is-disabled{opacity:.55;cursor:not-allowed}.check-line{align-items:center;gap:10px;min-height:44px;font-size:14px;display:flex}.check-line input{width:20px;height:20px}.choice-inline{border:0;gap:6px;margin:0;padding:0;display:grid}.choice-inline label{align-items:center;gap:8px;min-height:36px;font-size:14px;display:flex}.edit-box{background:var(--color-surface-muted);border-radius:11px;padding:12px}.record{border-top:1px solid var(--color-border);gap:6px;padding:10px 0;display:grid}.record:first-of-type{border-top:0}:is(.segmented button,.category-bars button,.line-button,.block-toggle,.inline-link):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.month-picker{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.month-picker select{text-align:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);min-width:0;min-height:44px;color:var(--color-text);padding:8px 10px;font-size:16px;font-weight:650}.month-picker .icon-button:disabled{opacity:.4;cursor:not-allowed}.month-picker select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.eye-toggle{cursor:pointer;border-radius:var(--radius-control);width:40px;height:40px;color:var(--color-text-muted);background:0 0;border:1px solid #0000;flex-shrink:0;place-items:center;padding:0;display:grid}@media (hover:hover){.eye-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}}.eye-toggle.is-hidden{background:var(--color-accent-soft);color:var(--color-accent)}.section-head{flex-wrap:wrap}.section-head .section-title{white-space:nowrap;flex:1 0 auto}.section-head>.inline-actions{margin-left:auto}.stat-warning{background:var(--color-warning-soft)}.stat-warning b,.year-stats .stat-warning dd{color:var(--color-warning-text)}.overdue-tag,.pending-tag{margin-top:2px;font-size:12px;font-weight:400;display:block}.overdue-tag{color:var(--color-negative);font-weight:600}.pending-tag{color:var(--color-text-muted)}.amount-out{color:var(--color-negative)}.segment-row{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.suggestion-card{background:var(--color-accent-soft);border-radius:12px;gap:8px;padding:13px 14px;display:grid}.suggestion-card p{margin:0;font-size:14px;line-height:1.5}.suggestion-card .section-title{margin:0}.year-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.year-stats>div{background:var(--color-surface-muted);border-radius:12px;align-content:start;gap:6px;padding:12px;display:grid}.year-stats dt{color:var(--color-text-muted);font-size:12px}.year-stats dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:700}@media (width<=420px){.year-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.year-stats>:last-child{grid-column:1/-1}}.result-row{grid-template-columns:34px 1fr 98px}.result-row:disabled{cursor:default;color:var(--color-text-muted)}.monthly-row.is-active{background:var(--color-selected);color:var(--color-selected-text);border-radius:8px}.result-bar{background:var(--color-track);height:9px;position:relative}.result-bar:after{content:"";background:var(--color-track-strong);width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.result-bar>span{border-radius:0;position:absolute;top:0;bottom:0}.result-bar>.is-positive{background:var(--color-positive);border-radius:0 10px 10px 0;left:50%}.result-bar>.is-negative{background:var(--color-negative);border-radius:10px 0 0 10px;right:50%}.year-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.year-table th,.year-table td{border-bottom:1px solid var(--color-border);text-align:right;padding:6px 4px}.year-table :is(thead th,tbody th){text-align:left}.year-table thead th{color:var(--color-text-muted);font-size:12px;font-weight:600}.year-table thead th+th{text-align:right}.explain{font-size:14px;line-height:1.5}.explain>summary{cursor:pointer;min-height:36px;color:var(--color-accent);align-items:center;font-size:13px;font-weight:600;display:flex}.explain>summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.explain p{margin:6px 0}p.explain{background:var(--color-surface-muted);border-radius:11px;margin:0;padding:10px 12px}.essential-group{border:0;gap:8px;margin:0;padding:0;display:grid}.essential-group legend{color:var(--color-text-muted);margin-bottom:6px;padding:0;font-size:13px;font-weight:650}.essential-line{grid-template-columns:1fr 120px;align-items:center;gap:10px;display:grid}.check-row{cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;font-size:14px;display:flex}.check-row input{flex-shrink:0;width:20px;height:20px;margin-top:2px}.check-row small{color:var(--color-text-muted);margin-top:2px;font-size:12px;display:block}@media (width<=420px){.essential-line{grid-template-columns:1fr;gap:4px}.essential-line .quick-input{width:calc(100% - 30px);margin-left:30px}}.choice-row{border:0;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;display:flex}.choice-row legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.choice-row label{align-items:center;gap:8px;min-height:40px;font-size:14px;display:flex}.choice-row input{width:18px;height:18px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.record-form{background:var(--color-surface-muted);border-radius:11px;gap:10px;padding:12px;display:grid}.record-form .form-field select,.record-form .form-field input{background:var(--color-surface)}.history-list>li{border-bottom:1px solid var(--color-border);padding-bottom:8px}.history-list>li:last-child{border-bottom:0}.type-tag{vertical-align:1px;background:var(--color-surface-muted);border-radius:999px;padding:1px 7px;font-weight:650;color:var(--color-text-muted)!important;margin:0 6px 2px 0!important;font-size:11px!important;display:inline-block!important}.type-income{background:var(--color-positive-soft);color:var(--color-positive)!important}.type-transfer{background:var(--color-accent-soft);color:var(--color-selected-text)!important}.chart-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:14px;margin:0;font-size:12px;display:flex}.legend-income{background:var(--color-positive)}.legend-spending{background:var(--color-shared)}.pair-bars{gap:3px;display:grid}.pair-bars .bar.thin{height:6px}.history-bars .monthly-row{grid-template-columns:34px 1fr 104px}@media (width<=380px){.filter-grid{grid-template-columns:1fr}}:is(.month-picker button,.result-row,.check-row input,.choice-row input):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.block>.segmented,.form-stack>.segmented{justify-self:start}html{scroll-padding-top:calc(var(--sticky-top,64px) + var(--sticky-bar,0px) + 12px);scroll-padding-bottom:calc(var(--floating-nav-height,70px) + var(--safe-bottom) + 24px)}@media (width>=1024px){html{scroll-padding-bottom:24px}}.home-month-bar{top:var(--sticky-top,64px);z-index:5;margin:-6px calc(-1 * var(--space-gutter)) 0;padding:6px var(--space-gutter);background:var(--color-bg);border-bottom:1px solid #0000;position:sticky}.home-month-bar .month-picker select{min-height:44px}.home-bar-row{max-width:var(--column-wide);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin:0 auto;display:flex}.home-bar-row .month-picker{flex:15.25rem;gap:6px;min-width:15.25rem}.home-bar-row .month-picker select{padding-left:6px;padding-right:6px}.home-tools{flex:none;align-items:center;gap:4px;display:flex}.home-customize{border-radius:var(--radius-card);background:var(--color-accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.home-customize .muted-note{color:var(--color-text);flex:16rem;margin:0}.home-customize:focus{outline:none}.home-customize:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.tool-button{color:var(--color-text-muted);flex-shrink:0;position:relative}@media (hover:hover){.tool-button:hover{color:var(--color-text)}}.tool-button[aria-expanded=true]{background:var(--color-surface-hover);color:var(--color-text)}.tool-button.is-hidden{background:var(--color-accent-soft);color:var(--color-accent);border-color:#0000}.has-tip{position:relative}.icon-tip,.amounts-notice{z-index:30;white-space:nowrap;pointer-events:none;background:var(--color-text-strong);color:var(--color-bg);opacity:0;visibility:hidden;transition:opacity var(--motion-quick) var(--motion-ease), visibility 0s var(--motion-quick);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;line-height:1.4;position:absolute;top:calc(100% + 6px)}.icon-tip-end,.amounts-notice{right:0}.icon-tip-start{left:0}.has-tip:focus-visible .icon-tip{opacity:1;visibility:visible;transition-delay:0s}@media (hover:hover){.has-tip:hover .icon-tip{opacity:1;visibility:visible;transition-delay:0s}}.amounts-eye{display:inline-flex;position:relative}.amounts-notice:empty{padding:0}.amounts-notice.is-shown{opacity:1;visibility:visible;transition-delay:0s}.menu-root{display:inline-flex;position:relative}.popover{z-index:30;min-width:12rem;max-width:min(20rem, calc(100vw - 2 * var(--space-gutter)));border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);margin:0;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #14102829}.menu-list{gap:2px;list-style:none;display:grid}.menu-item{border-radius:var(--radius-small);width:100%;min-height:44px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 12px;font-size:15px;font-weight:600;display:block}.menu-item:hover,.menu-item:focus{background:var(--color-surface-hover)}.menu-item:focus{outline:none}.menu-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.icon-tip,.amounts-notice{transition:none}}.home-blocks{gap:14px;display:grid}.block-head{align-items:flex-start}.section-head .block-title{white-space:normal;flex:14rem;min-width:0;margin:0;font-size:1rem}.block-toggle{border-radius:var(--radius-small);width:100%;min-height:44px;color:var(--color-text-strong);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:8px;margin:0;padding:4px 4px 4px 0;display:flex}button.block-toggle:hover .block-name{text-underline-offset:3px;text-decoration:underline}.block-chevron{width:24px;height:24px;color:var(--color-text-muted);transition:transform var(--motion-quick) var(--motion-ease);flex-shrink:0;place-items:center;display:grid}.fold-block.is-open>.block-head .block-chevron{transform:rotate(180deg)}.block-toggle-text{gap:2px;min-width:0;padding-top:1px;display:grid}.block-name{font-weight:700}.block-period{color:var(--color-text-muted);font-size:12px;font-weight:500}.block-summary{color:var(--color-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:14px;font-weight:600}.block-actions{padding-top:2px}.block-body{transition:grid-template-rows var(--motion-quick) var(--motion-ease);grid-template-rows:1fr;display:grid}.block-body-inner{gap:12px;min-height:0;margin:-3px;padding:3px;display:grid;overflow:hidden}.fold-block:not(.is-open)>.block-body{visibility:hidden;transition:grid-template-rows var(--motion-quick) var(--motion-ease), visibility 0s var(--motion-quick);grid-template-rows:0fr}.fold-block:not(.is-open){gap:0}.home-area{gap:12px}.home-area.is-balances{background:var(--color-surface-muted)}.area-head{align-items:flex-start}.area-head .block-actions{margin-left:auto}.area-head .icon-tip{white-space:normal;width:max-content;max-width:9rem}.area-title{flex:14rem;gap:2px;min-width:0;margin:0;font-size:1.05rem;display:grid}.area-title:focus{outline:none}.area-title:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.area-body{gap:12px;min-width:0;display:grid}.home-parts{gap:10px;display:grid}.home-part{padding:10px 12px}.home-area.is-balances .home-part{background:var(--color-surface)}.home-blocks.is-customizing .area-body{display:none}.home-blocks.is-customizing .home-area{gap:6px}@media (width>=1024px){.tab-screen.home-screen,.home-screen .home-bar-row{max-width:880px}.home-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.pay-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}.home-parts{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:start}.home-parts>.home-part.is-open{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.block-body,.fold-block:not(.is-open)>.block-body,.block-chevron{transition:none}}.block-arrange{border-bottom:1px dashed var(--color-border-strong);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:8px;display:flex}.drag-handle{border-radius:var(--radius-control);border:1px solid var(--color-border-strong);width:44px;height:44px;color:var(--color-text-muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid}.home-blocks.is-dragging,.home-blocks.is-dragging *{cursor:grabbing;-webkit-user-select:none;user-select:none}.block-position{color:var(--color-text-muted);flex:1;font-size:12px}.block-arrange .button-small:disabled{opacity:.45;cursor:not-allowed}.home-area.is-dragging{opacity:.6;outline:2px dashed var(--color-selected-border)}.home-area.drop-before{box-shadow:0 -4px 0 0 var(--color-focus)}.home-area.drop-after{box-shadow:0 4px 0 0 var(--color-focus)}.data-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.data-head .inline-actions{gap:6px}.data-blocks{gap:14px;display:grid}.align-start{justify-self:start}.empty-state{gap:8px;display:grid}.compact-list{gap:4px}.compact-list>li+li{border-top:1px solid var(--color-border);padding-top:4px}.item-name{flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:600;display:flex}.item-chevron{color:var(--color-text-muted);transition:transform var(--motion-quick) var(--motion-ease);flex-shrink:0;place-items:center;display:grid}.compact-item.is-open>.line-button .item-chevron{transform:rotate(180deg)}.item-detail{background:var(--color-surface-muted);border-radius:11px;gap:10px;margin:4px 0 8px;padding:12px;display:grid}.item-detail .edit-box,.item-detail .form-field select{background:var(--color-surface)}.payment-list>li{border-bottom:1px solid var(--color-border);gap:2px;padding-bottom:6px;display:grid}.payment-list>li:last-child{border-bottom:0}.payment-state{color:var(--color-text-muted);font-size:12px;font-weight:650}.payment-state.is-received{color:var(--color-positive)}.usual-amount{justify-items:end;display:grid}.usual-amount small{margin:0;font-weight:400}.validity-filter{gap:4px;display:grid}.validity-filter .segmented{justify-self:start;max-width:100%}.validity-filter .segmented button{min-height:40px;padding:6px 10px}.filter-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:2px;font-size:12px}.segmented button.is-active .filter-count{color:inherit}.validity-tag{background:var(--color-surface-muted);color:var(--color-text-muted);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:650;line-height:1.5;display:inline-block}.validity-tag.is-active{background:var(--color-positive-soft);color:var(--color-positive)}.validity-tag.is-upcoming{background:var(--color-accent-soft);color:var(--color-selected-text)}.item-detail .validity-tag.is-ended{background:var(--color-surface)}.sub-block{gap:10px;display:grid}.sub-block+.sub-block{border-top:1px solid var(--color-border);padding-top:12px}.sub-block>.button-secondary{justify-self:start}.sub-block .section-title{font-size:.95rem}.demo-zone{border-style:dashed;margin-top:10px}@media (prefers-reduced-motion:reduce){.item-chevron{transition:none}}.reset-confirm{gap:8px;display:grid}.reset-confirm p{margin:0;font-size:14px;line-height:1.5}.demo-banner .reset-confirm{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.demo-banner.is-asking>.inline-actions{flex:1}.demo-banner{padding-top:4px;padding-bottom:4px}.demo-label{white-space:nowrap}.demo-actions{flex-wrap:nowrap;align-items:center;gap:6px;margin-left:auto}.demo-banner.is-asking>.demo-actions{flex-wrap:wrap}.demo-banner .button-small{min-height:40px}.banner-tool{width:40px;height:40px;color:var(--color-text);background:0 0;border-color:#0000}.banner-tool:hover{background:var(--color-surface)}.demo-popover{gap:8px;min-width:15rem;padding:12px;font-size:14px;line-height:1.5;display:grid}.demo-popover p{margin:0}.demo-popover .button-small{justify-self:start}@media print{.shell{min-height:0}.shell-header,.home-month-bar{position:static}.bottom-nav{display:none}.shell-main{padding-top:8px;padding-bottom:8px}.shell.has-nav .shell-footer,.shell-footer{padding:8px var(--space-gutter)}.screen{animation:none}.fold-block:not(.is-open)>.block-body{display:none}.fold-block.is-open>.block-body{display:block}.fold-block>.block-body>.block-body-inner{overflow:visible}.fold-block.is-open>.block-head{break-after:avoid;page-break-after:avoid}.block-toggle,.line,.line-button,.stat,.item-detail{break-inside:avoid}}.data-block>.block-head{flex-wrap:nowrap}.data-block .section-head .block-title{flex:1 1 0}.item-name>span.validity-tag{white-space:nowrap;overflow-wrap:normal;flex:none}.print-only{display:none}.bills-summary{gap:8px;display:grid}.bills-summary .section-head .button-small{font-size:13px}.bills-toolbar{flex-wrap:wrap;justify-content:space-between;gap:8px 12px;display:flex}.bills-calendar-view{gap:12px;display:grid}.bills-calendar-wrap{gap:8px;display:grid}.bills-calendar{table-layout:fixed;border-collapse:separate;border-spacing:3px;width:calc(100% + 6px);margin:0 -3px}.bills-calendar th{color:var(--color-text-muted);text-align:center;padding:2px 0 4px;font-size:12px;font-weight:650}.bills-calendar td{vertical-align:top;padding:0}.cal-cell{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);height:52px;position:relative}.cal-empty{height:52px}.cal-day{border-radius:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:5px 2px;font-size:14px;display:flex;position:absolute;inset:0}.cal-day:hover{background:var(--color-surface-hover)}.cal-day:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;z-index:2}.cal-day{scroll-margin-top:52px}.cal-num{font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 2px;font-weight:600;display:grid}.cal-cell.has-bills .cal-num{font-weight:750}.cal-cell.is-reference .cal-num{box-shadow:inset 0 0 0 2px var(--color-text)}.cal-cell.is-selected{border:2px solid var(--color-selected-border);background:var(--color-selected)}.cal-cell.is-selected .cal-day{color:var(--color-selected-text)}.cal-marks{align-items:center;gap:2px;height:10px;display:flex}.cal-marks i,.cal-key-mark{box-sizing:border-box;border-radius:999px;width:7px;height:7px;display:inline-block}.cal-marks i.is-pending,.cal-key-mark.is-pending{border:1.5px solid var(--color-text-muted)}.cal-marks i.is-paid,.cal-key-mark.is-paid{background:var(--color-positive)}.cal-marks small{color:var(--color-text-muted);font-size:10px;line-height:1}.cal-chips{display:none}.cal-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:6px 14px;margin:0;font-size:12px;display:flex}.cal-legend span{align-items:center;gap:6px;display:inline-flex}.cal-key{box-sizing:border-box;border-radius:4px;width:14px;height:14px;display:inline-block}.cal-key.is-selected{border:2px solid var(--color-selected-border);background:var(--color-selected)}.cal-key.is-reference{box-shadow:inset 0 0 0 2px var(--color-text);border-radius:999px}.cal-day-list{gap:8px}.cal-scope{gap:6px;display:grid}.cal-daybar{top:var(--sticky-top,64px);z-index:3;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;margin:0 -4px;padding:2px 4px;display:flex;position:sticky}.cal-daybar-text{min-width:0;color:var(--color-text);margin:0;font-size:14px}.cal-daybar-text b{font-weight:700}.cal-daybar-go{min-height:40px;color:var(--color-selected-text);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:14px;font-weight:650}.cal-day-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.cal-day-head .section-title{margin:0}.cal-day-actions{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.cal-back{font-size:14px}.cal-added{border-radius:var(--radius-small);background:var(--color-surface-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px;display:flex}.cal-added p{margin:0;font-size:14px}.cal-daybar-go:focus-visible,.cal-day-head .section-title:focus-visible,.cal-added p:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.cal-bill-row{border:0;border-bottom:1px solid var(--color-border);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;padding:10px 4px}.cal-day-list li:last-child .cal-bill-row{border-bottom:0}.cal-bill-row:hover{background:var(--color-surface-hover)}.cal-day-list .line-list{gap:0}.cal-bill-end{justify-items:end;gap:4px;display:grid}.cal-bill-end b{font-variant-numeric:tabular-nums}.cal-bill-row>.icon{color:var(--color-text-muted);flex-shrink:0}.status-tag{color:var(--color-text-muted);white-space:nowrap;font-size:12px;font-weight:600}.status-tag.is-paid{color:var(--color-positive)}.bill-list{gap:14px;display:grid}.bill-list-day{gap:8px;display:grid}.bill-list-date{color:var(--color-text-strong);margin:0;font-size:14px;font-weight:700}.bill-list .bill-item{gap:6px;padding:10px 12px}.cal-bill-row:focus-visible,.cal-chip:focus-visible,.cal-more:focus-visible,.more-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (width>=740px){.cal-cell,.cal-empty{height:104px}.bills-calendar td.cal-cell{padding:34px 4px 4px}.cal-day{align-items:flex-start;padding:6px}.cal-marks{display:none}.cal-chips{z-index:1;gap:3px;margin:0;padding:0;list-style:none;display:grid;position:relative}.cal-chip,.cal-more{border:1px solid var(--color-border);background:var(--color-surface-muted);width:100%;min-width:0;color:var(--color-text);text-align:left;cursor:pointer;border-radius:6px;padding:2px 5px;font-size:11px;line-height:1.25;display:grid}.cal-chip:hover,.cal-more:hover{border-color:var(--color-selected-border)}.cal-chip.is-paid{background:var(--color-positive-soft)}.cal-chip-name,.cal-chip-amount{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-chip-name{font-weight:650}.cal-chip-amount{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cal-more{color:var(--color-selected-text);background:0 0;font-weight:650}}.bill-form{gap:14px;display:grid}.month-year-field{border:0;min-width:0;margin:0;padding:0}.month-year-field legend{margin-bottom:6px;padding:0}.month-year-inputs{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:8px;display:grid}.month-year-inputs select:only-child{grid-column:1/-1}.bill-amount-group{gap:4px;display:grid}.more-toggle{color:var(--color-selected-text);cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;justify-self:start;align-items:baseline;gap:4px 10px;padding:8px 0;font-size:14px;font-weight:650;display:flex}.more-toggle:before{content:"▸";display:inline-block}.more-toggle[aria-expanded=true]:before{content:"▾"}.more-toggle .muted-note{font-weight:400}.more-options{border-left:2px solid var(--color-border);padding-left:12px}.bill-schedule{border-radius:var(--radius-small);background:var(--color-surface-muted);margin:0;padding:10px 12px;font-size:14px}@media print{.no-print{display:none!important}.print-only{display:block}table.print-only{display:table}.bills-print{border-collapse:collapse;width:100%;font-size:12px}.bills-print caption{text-align:left;padding-bottom:6px;font-weight:700}.bills-print th,.bills-print td{text-align:left;border-bottom:1px solid #ccc;padding:4px 6px}.bills-print td:last-child,.bills-print th:last-child{text-align:right}.bills-print tr{break-inside:avoid}}.check-help{margin:-10px 0 0 30px;font-weight:400}.bills-summary .stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bills-summary .stat-grid.three>:last-child{grid-column:auto}.bills-summary .stat{padding:10px}.bills-summary .stat b{font-size:1rem}@media (width<=420px){.bills-summary .stat{padding:8px}.bills-summary .stat b{font-size:.92rem}.bills-summary .stat small{font-size:11px}}@media print{.bills-screen .screen-top .button-small,.bills-screen .month-picker .icon-button{display:none}.bills-screen .month-picker{grid-template-columns:1fr}}.history-screen>.inline-actions{gap:6px}.history-tools{gap:10px;display:grid}.history-tools input[type=search]{width:100%}.history-filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.more-filters-toggle{align-items:center;gap:6px;display:inline-flex}.more-filters-toggle[aria-expanded=true] .item-chevron{transform:rotate(180deg)}.more-filters-toggle .filter-count{background:var(--color-accent-soft);color:var(--color-selected-text);border-radius:999px;margin-left:4px;padding:0 7px;font-weight:650}.more-filters{background:var(--color-surface-muted);border-radius:11px;align-items:start;padding:12px}.more-filters[hidden]{display:none}@media (width<=520px){.more-filters{grid-template-columns:1fr}}.more-filters .form-field select{background:var(--color-surface)}.filter-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.filter-chip{border:1px solid var(--color-selected-border);background:var(--color-accent-soft);min-height:36px;color:var(--color-selected-text);font:inherit;cursor:pointer;overflow-wrap:anywhere;text-align:left;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:4px 6px 4px 12px;font-size:13px;font-weight:600;display:inline-flex}.filter-chip-x{background:var(--color-surface);border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:16px;line-height:1;display:grid}.filter-chip:hover .filter-chip-x{background:var(--color-surface-hover)}.filter-conflict{border-radius:var(--radius-small);background:var(--color-surface-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;font-size:14px;display:flex}.filter-conflict p{flex:14rem;margin:0;line-height:1.5}.history-results{gap:10px;display:grid}.history-count-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.history-count-row .inline-actions{gap:6px}.history-count{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;font-size:1rem;font-weight:700;display:flex}.history-count small{color:var(--color-text-muted);font-size:13px;font-weight:500}.history-months{gap:8px;display:grid}.history-month{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:4px 12px}.history-month.is-open{padding-bottom:12px}.history-month-title{margin:0;font-size:1rem}.history-month-title .block-toggle{align-items:center}.history-month.is-open .block-chevron{transform:rotate(180deg)}.history-month-count{color:var(--color-text-muted);white-space:nowrap;margin-left:auto;font-size:13px;font-weight:500}.history-day+.history-day{margin-top:10px}.history-day-title{color:var(--color-text-muted);margin:6px 0 4px;font-size:13px;font-weight:650}.history-list{gap:0}.history-list>li{padding:2px 0}.history-row{align-items:center;gap:4px;display:flex}.history-row>.history-line{flex:1;min-width:0}.history-line[aria-expanded=true]{background:var(--color-surface-hover)}.history-note{font-style:italic}.history-note-label{font-style:normal;font-weight:650}.history-extras-toggle[aria-expanded=true] .item-chevron{transform:rotate(180deg)}.history-extras{border-radius:var(--radius-small);background:var(--color-surface-muted);color:var(--color-text-muted);margin:0 0 6px;padding:8px 10px;font-size:13px}.history-extras[hidden]{display:none}.history-extras p{margin:0;line-height:1.5}.history-edit{gap:8px;margin:4px 0 8px;display:grid}.history-more{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.history-more small{color:var(--color-text-muted);font-size:13px}.type-savings,.type-balance{background:var(--color-surface-muted)}@media (prefers-reduced-motion:reduce){.history-month .block-chevron,.more-filters-toggle .item-chevron,.history-extras-toggle .item-chevron{transition:none}}@media print{.history-screen .screen-top{display:block}.history-print-filters{margin:0 0 8px;font-size:13px;font-weight:600}.history-print td small{color:#444;font-size:11px}.history-print td:first-child,.history-print td:nth-child(3){white-space:nowrap}.history-print-month th{break-after:avoid;page-break-after:avoid;border-bottom:2px solid #999;padding-top:10px;font-size:13px}.history-print tbody{break-inside:auto}}.filter-chip:focus-visible,#history-search:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chart-hidden{text-align:center;border:1px dashed var(--color-track-strong);border-radius:var(--radius-control);background:var(--color-surface-muted);color:var(--color-text-muted);align-content:center;place-items:center;gap:10px;padding:16px;font-size:14px;display:grid}.chart-hidden p{margin:0}.chart-hidden.is-donut{min-height:206px;margin:4px 0}.chart-hidden.is-bars{min-height:120px}.chart-hidden .button-small{align-items:center;gap:6px;display:inline-flex}.month-chips{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.month-chip{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;padding:0 10px;font-weight:600}.month-chip.is-active{border-color:var(--color-primary);color:var(--color-primary)}.month-chip:disabled{color:var(--color-text-muted);cursor:default}.income-context{margin:0 0 12px}.income-context:focus{outline:2px solid var(--color-focus,currentColor);outline-offset:2px}.income-context .inline-actions{flex-wrap:wrap}.payment-list li.is-target{box-shadow:inset 3px 0 0 var(--color-primary,currentColor);padding-left:10px}.income-context .button-small{min-height:44px}.paid-state{color:var(--color-text-muted);flex-shrink:0;font-size:13px;font-weight:650}.paid-state.is-paid{color:var(--color-positive)}.mark-paid{margin-top:8px}.mark-paid-title{gap:2px;margin:0;display:grid}.mark-paid-title small{color:var(--color-text-muted);font-size:12px}.mark-paid select,.mark-paid .button-small,.callout .button-small{min-height:44px}.pay-row-actions{padding:0 0 4px}.pay-row-actions .text-button{min-height:44px}.pay-reference{margin-top:2px}.pay-groups{gap:10px;display:grid}.pay-group{gap:4px;display:grid}.pay-group-title{color:var(--color-text-muted);margin:6px 0 0;font-size:13px;font-weight:650}.coming-up{border-top:1px dashed var(--color-border-strong);margin-top:6px;padding-top:10px}:root{--sidebar-width:216px}.nav-settings{display:none}@media (width>=1024px){.shell.has-sidebar{padding-left:var(--sidebar-width);padding-bottom:0}.shell.has-sidebar .bottom-nav{left:max(16px, env(safe-area-inset-left));width:calc(var(--sidebar-width) - 32px);height:auto;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - var(--safe-bottom));flex-direction:column;align-items:stretch;gap:12px;padding:12px;display:flex;top:50%;bottom:auto;right:auto;overflow-y:auto;transform:translateY(-50%)}.shell.has-sidebar .nav-destinations{flex:none;grid-template-columns:minmax(0,1fr);gap:4px}.shell.has-sidebar .bottom-nav .nav-tab{flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:10px 12px;font-size:14px}.shell.has-sidebar .bottom-nav .shell-brand{min-height:44px;color:var(--color-text);text-align:left;flex:none;margin:0;padding:4px 0}.shell.has-sidebar .shell-brand-name{overflow-wrap:anywhere;min-width:0;font-size:14px}.shell.has-sidebar .shell-brand-name small{font-size:10px}.shell.has-sidebar .shell-brand-mark{flex:none;width:30px;height:30px}.shell.has-sidebar .nav-settings{border-radius:var(--radius-control);min-height:44px;color:var(--color-nav-text);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.shell.has-sidebar .nav-settings:hover{background:var(--color-surface-hover)}.shell.has-sidebar .nav-settings:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.shell.has-sidebar .shell-header{padding-inline:var(--space-gutter);justify-content:flex-end}.shell.has-sidebar .shell-header .shell-add{margin-left:0}}@media (width>=1200px){.shell.has-sidebar .tab-screen.home-screen,.shell.has-sidebar .home-screen .home-bar-row{max-width:1040px}.shell.has-sidebar .home-blocks:not(.is-customizing){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.shell.has-sidebar .home-blocks:not(.is-customizing)>.home-block-slot:last-child:nth-child(odd){grid-column:1/-1}.shell.has-sidebar .home-blocks:not(.is-customizing)>.home-block-slot:not(:last-child:nth-child(odd)) .home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.shell.has-sidebar .home-blocks:not(.is-customizing)>.home-block-slot:not(:last-child:nth-child(odd)) .pay-list{grid-template-columns:minmax(0,1fr)}}.legend-expected{box-shadow:inset 0 0 0 1.5px var(--color-positive);background:0 0!important}.chart-legend .legend-expected{box-shadow:inset 0 0 0 2px var(--color-positive)}.bar.stacked>.legend-expected{border-radius:0 10px 10px 0}.chart-not-entered{color:var(--color-text-muted);font-size:12px;font-style:italic}.chosen-month-figures{font-variant-numeric:tabular-nums;margin:0;font-size:14px}.table-scroll{max-width:100%;overflow-x:auto}.chart-table caption{text-align:left;color:var(--color-text-muted);padding-bottom:4px;font-size:12px}.chart-section{gap:8px;min-width:0;display:grid}.chart-section>.text-button,.time-chart>.text-button{justify-self:start;min-height:44px}.time-chart{gap:6px;min-width:0;display:grid}.legend-line{vertical-align:middle;border-top:2px solid var(--color-accent);width:18px;height:0;margin-right:6px;display:inline-block}.legend-line.is-estimate{border-top-style:dashed}.legend-line.is-level{border-top:1px dashed var(--color-text-muted)}.time-chart-plot{touch-action:pan-y;height:168px;margin-top:18px;position:relative}.time-chart-plot svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.time-chart-base{stroke:var(--color-border-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.time-chart-level{stroke:var(--color-text-muted);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.time-chart-line{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.time-chart-line.is-estimate{stroke-dasharray:6 5;stroke-linecap:butt}.time-chart-scale{color:var(--color-text-muted);font-variant-numeric:tabular-nums;pointer-events:none;font-size:11px;position:absolute;top:-18px;left:0}.time-chart-gap{text-align:center;color:var(--color-text-muted);white-space:nowrap;text-overflow:clip;pointer-events:none;font-size:11px;font-style:italic;position:absolute;bottom:4px;overflow:hidden}.time-chart-note{color:var(--color-text-muted);pointer-events:none;white-space:nowrap;font-size:11px;position:absolute}.time-chart-note.is-level{right:0;transform:translateY(-120%)}.time-chart-note.is-mark{padding-right:4px;bottom:100%;transform:translate(-100%)}.time-chart-hit{cursor:pointer;position:absolute;inset:0}.time-chart-point{border:2px solid var(--color-surface);background:var(--color-accent);pointer-events:none;border-radius:50%;width:12px;min-width:0;height:12px;min-height:0;margin:-6px 0 0 -6px;padding:0;position:absolute}.time-chart-point.is-selected{width:16px;height:16px;box-shadow:0 0 0 2px var(--color-accent);margin:-8px 0 0 -8px}.time-chart-point:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.time-chart-axis{height:16px;color:var(--color-text-muted);font-size:11px;position:relative}.time-chart-axis span{white-space:nowrap;position:absolute;transform:translate(-50%)}.time-chart-axis span:first-child{transform:none}.time-chart-axis span:last-child:not(:first-child){transform:translate(-100%)}.time-chart-detail p{font-variant-numeric:tabular-nums;margin:0}.goal-record-row.is-target,.line-list>li.line.is-target{box-shadow:inset 3px 0 0 var(--color-primary);padding-left:10px}.time-chart-scale.is-zero{transform:translateY(-110%)}.help-tip{display:inline}.help-tip-button{min-width:24px;min-height:24px;color:var(--color-accent);font:inherit;cursor:pointer;vertical-align:middle;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex;position:relative}.help-tip-button:after{content:"";position:absolute;inset:-12px}.help-tip-button.has-label{min-height:44px}.help-tip-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:6px}.help-tip-mark{border:1.5px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;line-height:1;display:inline-grid}.help-tip-panel:not([hidden]){border-radius:var(--radius-small);background:var(--color-surface-muted);color:var(--color-text);text-align:left;white-space:normal;gap:4px;margin:6px 0;padding:10px 12px;font-size:13px;font-weight:400;display:grid}.help-tip-line{display:block}.help-tip-example{color:var(--color-text-muted)}.help-tip-panel .text-button{justify-self:start}.help-tips{flex-wrap:wrap;align-items:center;column-gap:16px;display:flex}.help-tips .help-tip{display:contents}.help-tips .help-tip-panel:not([hidden]){flex-basis:100%}.gs-card{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-selected-border);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 12px;min-width:0;padding:12px 14px;display:grid}.gs-card-icon{background:var(--color-selected);width:36px;height:36px;color:var(--color-selected-text);border-radius:50%;place-items:center;display:grid}.gs-card-text{gap:4px;min-width:0;display:grid}.gs-card-text .section-title{margin:0}.gs-card-step{color:var(--color-text-muted);margin:0;font-size:13px}.gs-card-bar{grid-template-columns:repeat(6,1fr);gap:4px;max-width:220px;margin-top:2px;display:grid}.gs-card-bar>span{background:var(--color-track);border-radius:3px;height:5px}.gs-card-bar>.is-complete{background:var(--color-primary)}.gs-card-bar>.is-skipped{box-shadow:inset 0 0 0 1px var(--color-track-strong);background:0 0}.gs-card-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:4px 16px;margin-top:6px;display:flex}.gs-card-actions .button-small,.gs-card-actions .text-button{min-height:44px}@media (width>=560px){.gs-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.gs-card-actions{grid-column:auto;justify-content:flex-end;margin-top:0}}.gs-screen{gap:12px}.gs-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.gs-eyebrow{color:var(--color-selected-text);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:650;display:inline-flex}.gs-close{margin:0;padding:8px 4px 8px 12px}.gs-stepper{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.gs-stepper li{justify-content:center;min-width:0;display:flex;position:relative}.gs-stepper li+li:before{content:"";background:var(--color-track);z-index:0;width:calc(100% - 32px);height:2px;position:absolute;top:21px;right:calc(50% + 18px)}.gs-stepper li.is-complete+li:before{background:var(--color-primary)}.gs-stepper button{z-index:1;border-radius:var(--radius-small);min-width:44px;min-height:44px;color:var(--color-text-muted);background:0 0;border:0;justify-items:center;gap:4px;padding:0 2px;font-size:12px;font-weight:600;display:grid;position:relative}.gs-stepper button:disabled{cursor:default;opacity:.55}.gs-dot{background:var(--color-surface);width:36px;height:36px;box-shadow:inset 0 0 0 2px var(--color-track-strong);color:var(--color-text-muted);border-radius:50%;place-items:center;margin-top:3px;font-size:14px;font-weight:700;display:grid}.gs-stepper .is-complete .gs-dot{background:var(--color-primary);box-shadow:none;color:var(--color-on-primary)}.gs-stepper .is-skipped .gs-dot{box-shadow:none;outline:2px dashed var(--color-track-strong);outline-offset:-2px}.gs-stepper .is-current .gs-dot{box-shadow:0 0 0 3px var(--color-bg), 0 0 0 5px var(--color-primary)}.gs-stepper .is-current:not(.is-complete) .gs-dot{background:var(--color-selected);color:var(--color-selected-text);outline:0}.gs-stepper .is-current button{color:var(--color-text-strong)}.gs-step-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}@media (width<=419px){.gs-step-name{display:none}}.gs-stage{gap:8px}.gs-count{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font-size:13px;display:flex}.gs-state{background:var(--color-surface-muted);color:var(--color-text-muted);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:650}.gs-state.is-complete{background:var(--color-positive-soft);color:var(--color-positive)}.gs-state.is-skipped{box-shadow:inset 0 0 0 1px var(--color-border-strong);background:0 0}.gs-question{color:var(--color-text-strong);margin:0;font-size:1.05rem;font-weight:600}.gs-records{gap:10px;min-width:0;margin-top:4px;display:grid}.gs-records>.button-small,.gs-records .inline-actions .button-small{align-items:center;gap:6px;min-height:44px;display:inline-flex}.gs-records .muted-note:empty{display:none}.gs-list{border:1px solid var(--color-border);border-radius:var(--radius-small);margin:0;padding:0;list-style:none;display:grid}.gs-list li{justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 12px;font-size:14px;display:flex}.gs-list li+li{border-top:1px solid var(--color-border)}.gs-list li>span{min-width:0;display:grid}.gs-list .item-name{overflow-wrap:anywhere}.gs-list small{color:var(--color-text-muted);font-size:12px}.gs-list b{text-align:right;flex-shrink:0}.gs-form .section-title{margin:0}.gs-form .block{background:0 0;border:0;border-radius:0;padding:0}.gs-form .form-field select{background:var(--color-surface)}.gs-summary li.is-complete b{color:var(--color-positive)}.gs-summary li{padding:0}.gs-summary-open{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-small);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.gs-summary-open:hover{background:var(--color-surface-muted)}.gs-summary-open:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.gs-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.gs-footer .button-small{justify-content:center;align-items:center;gap:6px;min-height:44px;display:inline-flex}.gs-forward{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto;display:flex}@media (prefers-reduced-motion:no-preference){.gs-dot{transition:background-color var(--motion-quick) ease, box-shadow var(--motion-quick) ease}}.help-chapters{gap:0;padding-top:4px;padding-bottom:4px;display:grid}.help-chapter+.help-chapter{border-top:1px solid var(--color-border)}.help-chapter-title{margin:0;font-size:1rem}.help-chapter>div{gap:8px;padding:0 4px 12px 30px;display:grid}.help-chapter p,.help-chapter ul{margin:0}.help-chapter ul{gap:4px;padding-left:18px;display:grid}.goal-reached-badge{background:var(--color-positive-soft);color:var(--color-positive);border-radius:999px;justify-self:center;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.paid-note{align-items:center;gap:6px;display:flex}.paid-check{background:var(--color-positive-soft);width:20px;height:20px;color:var(--color-positive);border-radius:50%;flex:none;place-items:center;display:inline-grid}@media (prefers-reduced-motion:no-preference){.goal-hero .bar>div{transition:width .3s var(--motion-ease)}.goal-reached-badge,.paid-note{animation:saved-in .2s var(--motion-ease) both}}@keyframes saved-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.skeleton{gap:12px;margin-top:12px;display:grid}.skeleton-bar,.skeleton-card{border-radius:var(--radius-card);background:var(--color-surface-muted);display:block}.skeleton-bar{height:44px}.skeleton-bar.is-short{width:60%}.skeleton-card{height:120px}.skeleton-card.is-low{height:72px}.money-screen .help-tip-button{min-width:44px;min-height:44px}@media print{.bottom-nav,.skip-link{display:none!important}.shell.has-nav,.shell.has-sidebar{padding:0!important}html{scroll-padding:0}}.shell.has-sidebar .nav-settings[aria-current=page]{background:var(--color-selected);color:var(--color-selected-text);font-weight:750}@media (forced-colors:active){.shell.has-sidebar .nav-settings[aria-current=page]{outline-offset:-4px;outline:2px solid highlight}}.bills-scope-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bills-search{align-items:end;gap:8px;margin-block:12px;display:flex}.bills-search .form-field{flex:1;min-width:0}.bills-search input{width:100%;min-height:44px}.bills-search>button,.bills-scope-toolbar .segmented button{min-height:44px}.all-bill-entry{align-items:center;gap:8px;display:flex}.all-bill-entry>.line-button{flex:1;min-width:0}.all-bill-entry>.button-small,.bill-details-header>button{min-height:44px}.bill-details-header{flex-wrap:wrap}.bill-details-header>div{overflow-wrap:anywhere;min-width:0}.bill-details-link{text-align:left;min-height:44px}.month-picker.month-carousel{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;width:100%;min-width:0;max-width:22rem;height:60px;margin:0 auto;display:block;position:relative}.home-bar-row{justify-content:center}.home-bar-row .month-carousel{flex:0 22rem;min-width:0}.month-drum{perspective:520px;border-radius:16px;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}.month-lens{inset-block:5px;width:var(--wheel-lens,132px);border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 3px 8px #00000018}.month-faces{transform-style:preserve-3d;position:absolute;inset:0}.month-face{text-align:center;backface-visibility:hidden;will-change:transform,opacity;pointer-events:none;place-content:center;width:132px;height:44px;margin:-22px 0 0 -66px;display:grid;position:absolute;top:50%;left:50%}.month-face strong{color:var(--color-text);white-space:nowrap;letter-spacing:-.01em;font-size:19px;font-weight:750;line-height:23px;display:block}.month-face small{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600;line-height:16px;display:block}.month-face.is-side strong{font-weight:650}.month-face.is-side small{visibility:hidden}.month-face.is-side.new-year small{visibility:visible;color:var(--color-accent)}.month-zone{min-width:44px;min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:0}.month-zone.month-previous{width:calc(50% - var(--wheel-lens,132px) / 2);justify-content:flex-start;left:0}.month-zone.month-next{width:calc(50% - var(--wheel-lens,132px) / 2);justify-content:flex-end;right:0}.month-zone.month-wheel-front{left:calc(50% - var(--wheel-lens,132px) / 2);width:var(--wheel-lens,132px)}.month-zone svg{margin-inline:2px}.month-zone:hover{color:var(--color-accent);background:linear-gradient(90deg,var(--color-accent-soft),transparent)}.month-zone.month-next:hover{background:linear-gradient(270deg,var(--color-accent-soft),transparent)}.month-zone.month-wheel-front:hover{background:0 0}.month-zone:active{background:var(--color-accent-soft)}.month-zone:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.month-zone.month-wheel-front:focus-visible{outline-offset:2px}.month-zone:disabled{opacity:.35;cursor:default}.month-carousel .sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.month-carousel.is-flat .month-drum{perspective:none}.contextual-privacy{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 11px;font-size:13px;display:inline-flex}@media (prefers-reduced-motion:reduce){.month-drum{perspective:none}}@media (forced-colors:active){.month-lens,.month-zone,.month-grid-panel{border:1px solid buttontext}}@media print{.month-grid-panel{display:none}}.month-grid-panel{box-sizing:border-box;overscroll-behavior:contain;border:1px solid var(--color-border-strong);width:min(22rem,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--color-text);background:var(--color-surface);border-radius:16px;margin:auto;padding:16px;position:fixed;inset:0;overflow-y:auto}.month-grid-panel::backdrop{background:#0007}.month-year-row{grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:12px;display:grid}.month-year-row label{flex-direction:column;gap:4px;display:flex}.month-year-row input{box-sizing:border-box;width:100%;min-width:0;min-height:44px}.month-grid-panel button{min-width:44px;min-height:44px}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.month-grid button[aria-pressed=true]{outline:2px solid var(--color-focus);font-weight:750}.month-close{width:100%}.period-month-bar{top:var(--sticky-top,64px);z-index:5;background:var(--color-bg);padding:6px 0;position:sticky}.bills-screen .cal-daybar{top:calc(var(--sticky-top,64px) + var(--sticky-bar,0px))}@media print{.period-month-bar{position:static}}.contextual-options{white-space:nowrap;min-height:44px;padding-inline:11px;font-size:13px}.shell-utilities{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.shell-utilities .icon-button{flex:none}.shell-utilities .amounts-eye{display:flex}.shell-action-row{justify-content:flex-end;width:100%;min-height:44px;margin-bottom:8px;display:flex}.shell-action-row .shell-add{margin-left:0}.shell-action-row .menu-text{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.shell-action-row .popover,.shell-utilities .popover{max-width:calc(100vw - 2 * var(--space-gutter))}.shell-action-row .popover{z-index:12}.home-rings-fold>.block-body>.block-body-inner>.goal-rings{box-shadow:none;border:0;margin:0;padding:0}.shell.has-sidebar .shell-header{justify-content:space-between}@media (width<=374px){.shell .shell-header{padding-block:max(6px, env(safe-area-inset-top)) 6px;flex-wrap:nowrap;gap:6px}.shell .shell-header .shell-brand{flex:0 0 44px;justify-content:center;min-height:44px;padding:0}.shell-header .shell-brand-name{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.shell-utilities{gap:6px}}@media print{.shell-utilities,.shell-action-row{display:none}}@media (width>=375px) and (width<=479px){.shell .shell-header{flex-wrap:nowrap;gap:6px}.shell-header .shell-brand{flex:0 auto;gap:7px}.shell-header .shell-brand-mark{flex:none;width:32px}.shell-header .shell-brand-name{white-space:nowrap;font-size:14px}.shell-header .shell-brand-name small{font-size:9px}.shell-utilities{gap:4px}}.shell-main:has(>.shell-action-row){padding-top:8px}.shell-action-row .popover{max-height:max(88px, calc(100dvh - var(--sticky-top,64px) - var(--floating-nav-height,70px) - 140px));overscroll-behavior:contain;overflow-y:auto}.shell-utilities .popover{max-height:max(88px, calc(100dvh - var(--sticky-top,64px) - var(--floating-nav-height,70px) - 24px));overflow-y:auto}.shell-header .shell-brand{min-width:44px;min-height:44px}.shell-header .shell-brand-name{min-width:0;overflow:hidden}.shell-brand-title,.shell-header .shell-brand-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.control-feedback{flex-wrap:wrap;flex:1;align-items:center;gap:2px 8px;min-width:0;padding-right:8px;display:flex}.control-notice{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.theme-toggle{display:inline-flex}.theme-toggle.is-confirming .icon-tip{visibility:hidden;opacity:0;transition:none}.amounts-eye:has(.amounts-notice.is-shown) .icon-tip{visibility:hidden;opacity:0;transition:none}.icon-button:active{background:var(--color-accent-soft)}.bills-add{min-height:44px}.bills-add:active{background:var(--color-accent-soft)}.bills-add:disabled{opacity:.5;cursor:default}.shell-header .shell-brand{box-sizing:border-box;height:44px;padding-block:0}.shell-utilities .amounts-notice{visibility:visible;opacity:1;transition:none}.shell .shell-header[data-welcome=true] .shell-brand{flex:auto;justify-content:flex-start;gap:7px;min-width:0}.shell-header[data-welcome=true] .shell-brand-name{clip-path:none;width:auto;height:auto;margin:0;display:flex;position:static}.welcome-language-control{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-control);min-width:88px;min-height:44px;color:var(--color-text);background:var(--color-surface);flex:none;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.welcome-language-control select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.welcome-language-control:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}
