@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-text:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Bricolage Grotesque Variable", var(--font-text);--font-figures:var(--font-text);--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:clamp(2rem, 1.55rem + 1.6vw, 2.75rem);--text-display:clamp(2.5rem, 1.6rem + 3.4vw, 4.25rem);--leading-display:1.02;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.55;--tracking-display:-.035em;--tracking-title:-.022em;--tracking-text:-.006em;--weight-regular:400;--weight-medium:520;--weight-semibold:600;--weight-bold:680;--color-bg:var(--lightningcss-light,#f5f1ea)var(--lightningcss-dark,#101113);--color-surface:var(--lightningcss-light,#fffdf9)var(--lightningcss-dark,#1a1b1e);--color-surface-sunken:var(--lightningcss-light,#ece6dc)var(--lightningcss-dark,#24262a);--color-surface-strong:var(--lightningcss-light,#e2dacd)var(--lightningcss-dark,#2e3035);--color-surface-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,#34363c);--color-ink:var(--lightningcss-light,#17171a)var(--lightningcss-dark,#f2eee6);--color-ink-muted:var(--lightningcss-light,#5e5a54)var(--lightningcss-dark,#b4aea4);--color-ink-subtle:var(--lightningcss-light,#6e6963)var(--lightningcss-dark,#9a948a);--color-line:var(--lightningcss-light,#ddd5c8)var(--lightningcss-dark,#2e3034);--color-line-strong:var(--lightningcss-light,#8a8378)var(--lightningcss-dark,#6e6a64);--color-accent:#ffb21e;--color-accent-hover:#f5a400;--color-accent-pressed:#e69a00;--color-accent-ink:#1a1405;--color-accent-soft:var(--lightningcss-light,#fff0cc)var(--lightningcss-dark,#3a2e12);--color-accent-soft-ink:var(--lightningcss-light,#6b4500)var(--lightningcss-dark,#ffd27a);--color-accent-text:var(--lightningcss-light,#8a5a00)var(--lightningcss-dark,#ffc24d);--color-accent-text-hover:var(--lightningcss-light,#6b4500)var(--lightningcss-dark,#ffd27a);--color-danger:var(--lightningcss-light,#b42318)var(--lightningcss-dark,#ff8f80);--color-danger-soft:var(--lightningcss-light,#fdeceb)var(--lightningcss-dark,#301513);--color-danger-soft-ink:var(--lightningcss-light,#7d1810)var(--lightningcss-dark,#ffc2b8);--color-focus:var(--lightningcss-light,#2f5bd3)var(--lightningcss-dark,#ffc24d);--color-selection:var(--lightningcss-light,#ffe3a3)var(--lightningcss-dark,#5a4515);--color-field:var(--lightningcss-light,#17171a)var(--lightningcss-dark,#050506);--color-field-raised:var(--lightningcss-light,#26262b)var(--lightningcss-dark,#1a1b1e);--color-field-end:var(--color-field);--field-gradient:var(--color-field);--color-field-ink:#f4f0e8;--color-field-muted:#b9b3a8;--color-field-accent:#ffb21e;--brand-card-1:#ffea8a;--brand-card-2:#ffb21e;--brand-card-3:#ff8c1a;--brand-wallet:var(--color-ink);--brand-tab:var(--lightningcss-light,#3a3a40)var(--lightningcss-dark,#b4aea4);--brand-snap:var(--color-bg);--brand-sky:#cfe6f2;--color-real:var(--color-ink);--color-projected:var(--lightningcss-light,#2f5bd3)var(--lightningcss-dark,#8da8f5);--color-projected-soft:var(--lightningcss-light,#e2e9fb)var(--lightningcss-dark,#1d2742);--color-income:var(--lightningcss-light,#18794e)var(--lightningcss-dark,#4cc48a);--color-expense:var(--lightningcss-light,#bf3a22)var(--lightningcss-dark,#ff7a5c);--cat-housing:var(--lightningcss-light,#9a6b45)var(--lightningcss-dark,#c9976e);--cat-utilities:var(--lightningcss-light,#6a7f2a)var(--lightningcss-dark,#a4bc5a);--cat-groceries:var(--lightningcss-light,#2e8b57)var(--lightningcss-dark,#4cc48a);--cat-restaurants_delivery:var(--lightningcss-light,#e0582f)var(--lightningcss-dark,#ff8a62);--cat-transport:var(--lightningcss-light,#3b5bdb)var(--lightningcss-dark,#8da8f5);--cat-health:var(--lightningcss-light,#13a3a8)var(--lightningcss-dark,#4fd1d6);--cat-education:var(--lightningcss-light,#b7791f)var(--lightningcss-dark,#e6a94f);--cat-leisure:var(--lightningcss-light,#d9468f)var(--lightningcss-dark,#f27bb5);--cat-subscriptions:var(--lightningcss-light,#7a8699)var(--lightningcss-dark,#a9b3c2);--cat-shopping:var(--lightningcss-light,#0f766e)var(--lightningcss-dark,#2dd4bf);--cat-personal_care:var(--lightningcss-light,#e07a9a)var(--lightningcss-dark,#f4a6bd);--cat-travel:var(--lightningcss-light,#0284c7)var(--lightningcss-dark,#38bdf8);--cat-pets:var(--lightningcss-light,#65a30d)var(--lightningcss-dark,#a3e635);--cat-gifts_donations:var(--lightningcss-light,#be185d)var(--lightningcss-dark,#f9a8d4);--cat-taxes_fees:var(--lightningcss-light,#57534e)var(--lightningcss-dark,#a8a29e);--cat-bank_fees_interest:var(--lightningcss-light,#991b1b)var(--lightningcss-dark,#f87171);--cat-transfers_people:var(--lightningcss-light,#1e40af)var(--lightningcss-dark,#93c5fd);--cat-other_expenses:var(--lightningcss-light,#78716c)var(--lightningcss-dark,#a8a29e);--cat-extra-1:var(--lightningcss-light,#e11d48)var(--lightningcss-dark,#fb7185);--cat-extra-2:var(--lightningcss-light,#059669)var(--lightningcss-dark,#34d399);--cat-extra-3:var(--lightningcss-light,#d97706)var(--lightningcss-dark,#fbbf24);--cat-extra-4:var(--lightningcss-light,#2563eb)var(--lightningcss-dark,#93c5fd);--cat-extra-5:var(--lightningcss-light,#0891b2)var(--lightningcss-dark,#67e8f9);--cat-extra-6:var(--lightningcss-light,#ca8a04)var(--lightningcss-dark,#facc15);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--gutter:clamp(1rem, .6rem + 1.8vw, 2rem);--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:28px;--radius-xl:32px;--radius-pill:999px;--shadow-float:0 1px 2px var(--lightningcss-light,#11141214)var(--lightningcss-dark,#00000080), 0 12px 32px var(--lightningcss-light,#11141224)var(--lightningcss-dark,#0000008c);--color-scrim:var(--lightningcss-light,#17171a73)var(--lightningcss-dark,#0009);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--t-press:.14s;--t-hover:.18s;--t-ui:.24s;--t-page:.42s;--t-reveal:.7s;--stagger:60ms;--content-narrow:25rem;--content-reading:42rem;--content-wide:84rem;--control-height:3.25rem;--control-height-sm:2.75rem;--topbar-height:4rem;--focus-ring:2px solid var(--color-focus);--focus-offset:3px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--weight-bold:640;--weight-semibold:580}}:root[data-theme=dark]{--weight-bold:640;--weight-semibold:580}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--color-bg);scrollbar-gutter:stable}body{background:var(--color-bg);min-height:100dvh;color:var(--color-ink);font-family:var(--font-text);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-normal);letter-spacing:var(--tracking-text);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color var(--t-ui) var(--ease-out), color var(--t-ui) var(--ease-out);margin:0}h1,h2,h3,p,ol,ul{margin:0}h1,h2,h3{font-family:var(--font-display);line-height:var(--leading-tight);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);text-wrap:balance}p{text-wrap:pretty}strong{font-weight:var(--weight-semibold)}a{color:var(--color-accent-text);font-weight:var(--weight-medium);text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:.22em;transition:color var(--t-hover) ease, text-decoration-color var(--t-hover) ease;border-radius:2px}a:hover{color:var(--color-accent-text-hover);text-decoration-color:currentColor}svg{flex:none}::selection{background:var(--color-selection);color:var(--color-ink)}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.num{font-family:var(--font-figures);font-variant-numeric:tabular-nums}.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}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.page-enter>*{animation:rise var(--t-page) var(--ease-out) both}.page-enter>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.page-enter>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.page-enter>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.page-enter>:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.page-enter>:nth-child(n+6){animation-delay:calc(var(--stagger) * 5)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.brand{min-height:var(--control-height-sm);border-radius:var(--radius-sm);color:var(--color-ink);font-family:var(--font-display);font-size:1.25rem;font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);white-space:nowrap;align-items:center;gap:.625rem;text-decoration:none;display:inline-flex}a.brand:hover{color:var(--color-ink)}.brand-mark{transition:transform var(--t-press) var(--ease-out);flex:none}a.brand:active .brand-mark{transform:scale(.95)}.theme-switch{border-radius:var(--radius-pill);background:var(--color-surface-sunken);border:0;gap:2px;min-width:0;margin:0;padding:3px;display:inline-flex}.theme-switch__option{border-radius:var(--radius-pill);width:2.25rem;height:2.25rem;color:var(--color-ink-muted);cursor:pointer;transition:color var(--t-hover) ease, background-color var(--t-ui) var(--ease-out);place-items:center;display:grid;position:relative}.theme-switch__option svg{transition:transform var(--t-ui) var(--ease-out)}.theme-switch__option:hover{color:var(--color-ink)}.theme-switch__option:has(:checked){background:var(--color-surface-raised);color:var(--color-ink)}.theme-switch__option:has(:checked) svg{transform:rotate(-12deg)}.theme-switch__option:has(:focus-visible){outline:var(--focus-ring);outline-offset:1px}.theme-switch__input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}@media (pointer:coarse){.theme-switch__option{width:var(--control-height-sm);height:var(--control-height-sm)}}.button,.icon-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-4);border-radius:var(--radius-sm);color:var(--color-ink);font:inherit;font-weight:var(--weight-semibold);letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-hover) ease, border-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out);background:0 0;border:1px solid #0000;text-decoration:none;display:inline-flex;position:relative}.button:focus-visible,.icon-button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.button:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.97)}@media (prefers-reduced-motion:reduce){.button:active:not(:disabled),.icon-button:active:not(:disabled){transform:none}}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.5}.button[aria-busy=true]{cursor:progress}.button--sm,.icon-button.button--sm{min-height:2.25rem;padding:0 var(--space-3);font-size:var(--text-sm)}.button--sm:after,.icon-button.button--sm:after{content:"";position:absolute;inset:-4px -2px}.button--primary,.button--secondary{border-radius:var(--radius-md);font-family:var(--font-display);letter-spacing:-.02em;font-size:1.0625rem}.button--primary.button--sm,.button--secondary.button--sm{font-size:var(--text-md)}.button--primary,a.button--primary,a.button--primary:hover{background:var(--color-accent);color:var(--color-accent-ink)}.button--primary:hover:not(:disabled){background:var(--color-accent-hover)}.button--primary:active:not(:disabled){background:var(--color-accent-pressed)}.button--secondary,a.button--secondary,a.button--secondary:hover{background:var(--color-ink);color:var(--color-bg)}.button--secondary:hover:not(:disabled),.button--secondary:active:not(:disabled){background:var(--color-ink-muted)}.button--quiet,a.button--quiet{color:var(--color-accent-text);font-weight:var(--weight-medium)}.button--quiet:hover:not(:disabled),a.button--quiet:hover{background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}.button--danger,a.button--danger{border-color:var(--color-danger);color:var(--color-danger)}.button--danger:hover:not(:disabled),a.button--danger:hover{background:var(--color-danger-soft);color:var(--color-danger-soft-ink)}.icon-button{border-color:var(--color-line-strong);width:2.75rem;padding:0}.icon-button.button--sm{width:2.25rem;padding:0}.icon-button:hover:not(:disabled){background:var(--color-surface-sunken)}.icon-button:active:not(:disabled){background:var(--color-surface-strong)}.icon-button[aria-pressed=true]{background:var(--color-surface-sunken)}.button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:var(--space-2);display:grid}.field__label{font-size:var(--text-md);font-weight:var(--weight-semibold)}.field__input{width:100%;min-height:var(--control-height);padding:0 var(--space-4);border:1.5px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit;letter-spacing:var(--tracking-text);transition:border-color var(--t-hover) ease, outline-offset var(--t-press) var(--ease-out)}.field__input:hover{border-color:var(--color-ink-subtle)}.field__input:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-color:var(--color-focus)}.field__input:-webkit-autofill{-webkit-text-fill-color:var(--color-ink);-webkit-box-shadow:0 0 0 100px var(--color-surface) inset;caret-color:var(--color-ink)}.field[data-invalid] .field__input{border-color:var(--color-danger)}.field[data-invalid] .field__input:focus-visible{outline-color:var(--color-danger)}.field__password{position:relative}.field__password .field__input{padding-right:7.5rem}.field__reveal{height:100%;min-width:var(--control-height-sm);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-ink-muted);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0 .375rem;display:grid;position:absolute;top:0;right:0}.field__reveal-face{border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out);align-items:center;gap:.375rem;padding:.375rem .75rem;display:inline-flex}.field__reveal:hover .field__reveal-face{background:var(--color-surface-sunken);color:var(--color-ink)}.field__reveal:active .field__reveal-face{transform:scale(.95)}.field__reveal:focus-visible{outline-offset:-5px}.field__hint{color:var(--color-ink-muted);font-size:var(--text-sm)}.field__error{color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-medium);animation:rise var(--t-ui) var(--ease-out) both}.check{gap:var(--space-2);display:grid}.check__row{align-items:flex-start;gap:var(--space-3);display:flex}.check__input{appearance:none;border:1.5px solid var(--color-line-strong);border-radius:var(--radius-xs);background:var(--color-surface);cursor:pointer;width:1.375rem;height:1.375rem;transition:background-color var(--t-hover) ease, border-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);flex:none;place-content:center;margin:.0625rem 0 0;display:grid}.check__input:after{content:"";background:var(--color-accent-ink);opacity:0;width:.875rem;height:.875rem;transition:opacity var(--t-hover) ease, transform var(--t-ui) var(--ease-out);transform:scale(.5);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") 50%/contain no-repeat}.check__input:hover{border-color:var(--color-ink-subtle)}.check__input:active{transform:scale(.9)}.check__input:checked{border-color:var(--color-accent);background:var(--color-accent)}.check__input:checked:after{opacity:1;transform:none}.check[data-invalid] .check__input{border-color:var(--color-danger)}.check__label{cursor:pointer}.form-alert,.notice{align-items:flex-start;gap:var(--space-3);padding:.875rem var(--space-4);border-radius:var(--radius-md);animation:rise var(--t-ui) var(--ease-out) both;display:flex}.form-alert{background:var(--color-danger-soft);color:var(--color-danger-soft-ink);font-weight:var(--weight-medium)}.form-alert a{color:inherit}.form-alert__icon{color:var(--color-danger);margin-top:.125rem}.notice{background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}.notice__icon{margin-top:.125rem}.skeleton{border-radius:var(--radius-sm);background:var(--color-surface-sunken);max-width:100%;animation:1.4s ease-in-out infinite skeleton-pulse;display:block}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-stack{gap:var(--space-4);display:grid}.skeleton-stack>:nth-child(3){margin-bottom:var(--space-5)}.shell--loading .app-main{animation:fade var(--t-ui) var(--ease-out) .15s both}.splash{place-content:center;justify-items:center;gap:var(--space-4);min-height:100dvh;animation:fade var(--t-ui) var(--ease-out) .2s both;display:grid}.splash__mark{animation:1.4s ease-in-out infinite skeleton-pulse;display:grid}.splash__text{color:var(--color-ink-muted);font-size:var(--text-sm)}.auth{background:var(--color-bg);gap:16px;min-height:100dvh;padding:16px;display:grid}.auth__column{flex-direction:column;gap:40px;padding:24px clamp(8px,4vw,40px);display:flex}.auth__top{align-items:center;gap:var(--space-4);display:flex}.auth__main{width:100%;max-width:400px;margin:auto 0}.auth__title{font-family:var(--font-display);font-size:clamp(2.5rem,1.6rem + 3vw,4rem);font-weight:var(--weight-bold);letter-spacing:-.03em;line-height:1}.auth__lede{margin-top:var(--space-3);color:var(--color-ink-muted);font-size:18px;line-height:var(--leading-snug)}.auth__form{margin-top:var(--space-6);gap:1.25rem;display:grid}.auth__remember .check__row{align-items:center}.auth__remember .check__input{margin:0}.auth__remember .check__label{flex:1;align-items:center;min-height:2.75rem;display:flex}.auth__submit{gap:var(--space-3);margin-top:var(--space-1);display:grid}.auth__submit .button{width:100%}.auth__trust{align-items:flex-start;gap:var(--space-2);color:var(--color-ink-muted);font-size:var(--text-sm);display:flex}.auth__trust svg{flex:none;margin-top:2px}.auth__switch{color:var(--color-ink-muted)}.auth__switch a{color:var(--color-accent-text);font-weight:var(--weight-semibold)}.auth__footer{gap:var(--space-2) var(--space-5);flex-wrap:wrap;font-size:13px;display:flex}.auth__footer a,.auth__footer a:hover{color:var(--color-ink-subtle);font-weight:var(--weight-regular)}.stage{background:var(--color-surface-sunken);border-radius:32px;flex-direction:column;gap:28px;padding:28px;display:flex;overflow:hidden}.stage__title{font-family:var(--font-display);font-size:2rem;font-weight:var(--weight-bold);letter-spacing:-.03em;text-wrap:balance;line-height:1.05}.stage__body{flex-direction:column;gap:28px;display:flex}.stage__pair{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.stage__card{background:var(--color-surface);border-radius:24px;padding:24px}.stage__card--dark{background:var(--color-field);color:var(--color-field-ink)}.stage__eyebrow{font-size:var(--text-sm);color:var(--color-ink-muted)}.stage__card--dark .stage__eyebrow{color:var(--color-field-muted)}.stage__big{margin-top:var(--space-3);font-family:var(--font-display);font-size:34px;font-weight:var(--weight-bold);letter-spacing:-.02em;line-height:1.1}.stage__mark{background:var(--color-accent);color:var(--color-accent-ink);border-radius:.18em;padding:0 .14em}.stage__tape{height:18px;margin-top:var(--space-5);border-radius:9px;gap:2px;display:flex;overflow:hidden}.stage__tape span{min-width:0}.stage__striped{background:repeating-linear-gradient(135deg, var(--color-projected) 0 3px, var(--color-projected-soft) 3px 8px)}.stage__bars{height:120px;margin-top:var(--space-4);align-items:stretch;gap:8px;display:flex}.stage__bars--small{height:56px}.stage__bar-col{flex:1;position:relative}.stage__bar-col:before{content:"";background:var(--color-field-raised);height:1px;position:absolute;bottom:25%;left:-4px;right:-4px}.stage__bar{height:calc(var(--h) * .75);background:var(--color-field-muted);border-radius:6px;position:absolute;bottom:25%;left:0;right:0}.stage__bar-col[data-kind=now] .stage__bar{background:var(--color-accent)}.stage__bar-col[data-kind=neg] .stage__bar{background:var(--color-expense);border-radius:0 0 6px 6px;height:18%;top:75%;bottom:auto}.stage__labels{margin-top:var(--space-2);color:var(--color-field-muted);font-size:var(--text-sm);gap:8px;display:flex}.stage__labels span{text-align:center;flex:1}.stage__lower{gap:16px;display:grid}.stage__bills{gap:var(--space-3);margin-top:var(--space-3);padding:0;list-style:none;display:grid}.stage__bills li{align-items:center;gap:var(--space-3);grid-template-columns:44px 1fr auto;display:grid}.stage__day{background:var(--color-surface-sunken);height:44px;font-weight:var(--weight-semibold);border-radius:12px;place-items:center;display:grid}.stage__amount{font-weight:var(--weight-semibold)}.stage__tags{align-content:flex-start;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.stage__tag{align-items:center;gap:var(--space-2);background:var(--color-surface);font-size:var(--text-sm);border-radius:999px;padding:6px 14px;display:inline-flex}.stage__dot{border-radius:50%;width:10px;height:10px}.stage__note{color:var(--color-ink-subtle);font-size:13px}.step{background:var(--color-surface);border-radius:24px;grid-template-columns:56px 1fr;gap:20px;padding:24px;display:grid}.step--dark{background:var(--color-field);color:var(--color-field-ink)}.step__num{width:56px;height:56px;font-family:var(--font-display);font-size:24px;font-weight:var(--weight-bold);border-radius:14px;place-items:center;display:grid}.step__num--accent{background:var(--color-accent);color:var(--color-ink)}.step__num--ink{background:var(--color-ink);color:var(--color-bg)}.step__num--field{background:var(--color-field-ink);color:var(--color-field)}.step__title{font-family:var(--font-display);font-size:22px;font-weight:var(--weight-bold);line-height:1.15}.step__text{margin-top:var(--space-3);color:var(--color-ink-muted);font-size:var(--text-sm)}.step .stage__tag{background:var(--color-surface-sunken)}@media (width>=60rem){.auth{grid-template-columns:minmax(0,5fr) minmax(0,7fr);height:100dvh;min-height:0;overflow:hidden}.auth__column{gap:clamp(12px,3vh,40px);min-height:0;padding-block:clamp(8px,2.5vh,24px)}.auth__main{margin:auto}.auth__title{font-size:clamp(2rem,6vh,4rem)}.auth__lede{font-size:clamp(15px,2.1vh,18px)}.auth__form{margin-top:clamp(var(--space-4), 3.5vh, var(--space-6));gap:clamp(.625rem,1.5vh,1.25rem)}.stage{justify-content:center;gap:clamp(16px,3.5vh,36px);min-height:0;padding:clamp(28px,5vh,56px)}.stage__title{font-size:clamp(2rem,5.5vh,52px)}.stage__body{gap:clamp(14px,3vh,28px)}.stage__pair{grid-template-columns:repeat(2,minmax(0,1fr))}.stage__lower{grid-template-columns:1fr 1fr;align-items:start}.stage__card--left{transform:rotate(-1.5deg)}.stage__card--right{transform:rotate(1.5deg)translateY(28px)}.stage__card--bills{transform:rotate(-.8deg)}.step--one{transform:rotate(-1deg)}.step--two{transform:rotate(.8deg)translate(24px)}.step--three{transform:rotate(-.6deg)}}@media (width>=60rem) and (height<=820px){.auth{--control-height:2.875rem}.auth[data-stage=signup] .auth__trust{display:none}.auth[data-stage=signup]{--control-height:var(--control-height-sm)}}.handle-field__box{position:relative}.handle-field__at{inset:0 auto 0 var(--space-4);color:var(--color-ink-muted);pointer-events:none;align-items:center;display:flex;position:absolute}.handle-field__box .field__input{padding-left:calc(var(--space-4) + 1.25rem)}.profile-form{gap:var(--space-4);max-width:26rem;display:grid}.profile-form__actions{align-items:center;gap:var(--space-4);display:flex}.profile-form__saved{color:var(--color-ink-muted);font-size:var(--text-sm)}@media (width>=60rem) and (height<=960px){.auth[data-stage=signup] .auth__lede,.auth[data-stage=signup] .auth__trust{display:none}.auth[data-stage=signup] .auth__form{gap:.5rem}.auth[data-stage=signup] .field{gap:.25rem}}@media (width>=75rem){.auth[data-stage=signup] .auth__title{white-space:nowrap;font-size:1.75rem}}.auth__top .brand,.topbar--plain .brand{font-family:var(--font-display);letter-spacing:var(--tracking-title);text-transform:lowercase;gap:.5rem;font-size:1.1875rem}.auth__top .brand-mark,.topbar--plain .brand-mark{border-radius:50%;width:30px;height:30px}.auth__top .brand{font-size:20px;font-weight:var(--weight-bold);gap:10px}.auth__top .brand-mark{width:34px;height:34px}.shell{min-height:100dvh}.topbar{z-index:10;background:var(--color-bg);position:sticky;top:0}.topbar[data-scrolled=true]{background:var(--color-surface)}.topbar__inner{align-items:center;gap:var(--space-4);max-width:var(--content-wide);min-height:var(--topbar-height);padding:var(--space-2) var(--gutter);margin-inline:auto;display:flex}.topbar__inner>:last-child{margin-left:auto}@media (width>=48rem){.topbar__inner{min-height:4.75rem}}.topbar__tools{align-items:center;gap:var(--space-2);flex:none;display:flex}.topbar__import{min-width:2.75rem;padding:0}.topbar__import-text{display:none}@media (width>=64rem){.topbar__import{padding-inline:var(--space-4)}.topbar__import-text{display:inline}}.brand__name{white-space:nowrap}.account-menu{flex:none;position:relative}.account-menu__trigger{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid}.account-menu__avatar{background:var(--color-projected);width:2.5rem;height:2.5rem;color:var(--color-bg);font-weight:var(--weight-bold);transition:transform var(--t-press) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.account-menu__trigger:active .account-menu__avatar{transform:scale(.97)}.account-menu__panel{top:calc(100% + var(--space-2));z-index:30;gap:var(--space-3);width:min(19rem, calc(100vw - 2 * var(--gutter)));padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float);transition:opacity var(--t-hover) ease, visibility var(--t-hover);display:grid;position:absolute;right:0}.account-menu__panel[data-open=false]{visibility:hidden;opacity:0}.account-menu__email,.account-menu__handle{color:var(--color-ink-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu__row{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--color-ink-muted);font-size:var(--text-sm);display:flex}.account-menu__link{min-height:2.75rem;padding-inline:var(--space-3);border-radius:var(--radius-md);color:var(--color-ink);align-items:center;text-decoration:none;display:flex}.account-menu__link:hover{background:var(--color-surface-sunken)}.button.account-menu__logout{justify-content:flex-start;width:100%}.app-main{width:100%;max-width:var(--content-wide);padding:var(--space-6) var(--gutter) var(--space-9);margin-inline:auto}.app-main>*{min-width:0}@media (width>=48rem){.app-main{padding-top:var(--space-8)}}.home{gap:var(--space-6);display:grid}.home__title{max-width:12ch;font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}.home__next{max-width:30ch;margin-top:var(--space-5);font-size:var(--text-xl);line-height:var(--leading-snug)}.home__action{margin-top:var(--space-5)}.progress{gap:var(--space-2);max-width:20rem;margin-top:var(--space-6);display:grid}.progress__track{grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem;display:grid}.progress__segment{border-radius:var(--radius-pill);background:var(--color-surface-strong);height:.375rem}.progress__segment[data-state=done]{background:var(--color-accent);transform-origin:0;animation:segment-fill var(--t-reveal) var(--ease-out) .32s both}@keyframes segment-fill{0%{transform:scaleX(0)}}.progress__label{color:var(--color-ink-muted);font-size:var(--text-sm)}.steps{gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-lg);background:var(--color-surface);list-style:none;display:grid}.steps__item{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);grid-template-columns:1.75rem minmax(0,1fr);display:grid}.steps__item[data-state=current]{background:var(--color-accent-soft)}.steps__marker{border:2px solid var(--color-line-strong);border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;display:grid;position:relative}.steps__item[data-state=done] .steps__marker{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.steps__item[data-state=current] .steps__marker{border-color:var(--color-accent)}.steps__item[data-state=current] .steps__marker:after{content:"";background:var(--color-accent);width:.625rem;height:.625rem;animation:beat 2.4s var(--ease-in-out) infinite;border-radius:50%}@keyframes beat{0%,to{transform:scale(1)}50%{transform:scale(.6)}}.steps__title{font-weight:var(--weight-semibold)}.steps__item[data-state=current] .steps__title{color:var(--color-accent-soft-ink)}.steps__item[data-state=later] .steps__title{color:var(--color-ink-muted)}.steps__detail{margin-top:var(--space-1);color:var(--color-ink-muted);font-size:var(--text-sm)}.home__trust{align-items:flex-start;gap:var(--space-3);max-width:40ch;color:var(--color-ink-muted);font-size:var(--text-sm);display:flex}.home__trust svg{color:var(--color-accent-text)}@media (width>=60rem){.home{align-items:start;gap:var(--space-7) var(--space-8);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"intro steps""trust steps"}.home__intro{grid-area:intro}.steps{margin-top:var(--space-3);grid-area:steps}.home__trust{grid-area:trust}}.status-screen{place-content:center;justify-items:center;gap:var(--space-4);min-height:100dvh;padding:var(--space-5) var(--gutter);text-align:center;display:grid}.status-screen__title{font-size:var(--text-3xl);letter-spacing:var(--tracking-display)}.status-screen__text{max-width:36ch;color:var(--color-ink-muted)}.status-screen__icon{background:var(--color-danger-soft);width:3.5rem;height:3.5rem;color:var(--color-danger);border-radius:50%;place-items:center;display:grid}.legal{max-width:var(--content-reading);padding:var(--space-5) var(--gutter) var(--space-9);margin:0 auto}.back-link{align-items:center;gap:var(--space-2);min-height:var(--control-height-sm);margin-left:calc(var(--space-3) * -1);padding:0 var(--space-4) 0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-ink-muted);transition:background-color var(--t-hover) ease, color var(--t-hover) ease;text-decoration:none;display:inline-flex}.back-link svg{transition:transform var(--t-ui) var(--ease-out)}.back-link:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.back-link:hover svg{transform:translate(-3px)}.legal__head{margin-top:var(--space-6)}.legal h1,.legal__body h2{font-family:var(--font-display)}.legal h1{font-size:var(--text-3xl);letter-spacing:var(--tracking-display)}.legal__meta{margin-top:var(--space-2);color:var(--color-ink-muted)}.legal__draft{margin-top:var(--space-5)}.legal__body{max-width:65ch}.legal__body h2{margin-top:var(--space-7);font-size:var(--text-xl)}.legal__body p,.legal__body ul{margin-top:var(--space-3)}.legal__body ul{padding-left:1.25rem}.legal__body li::marker{color:var(--color-accent-text)}.legal__body li+li{margin-top:var(--space-2)}@media (width>=48rem) and (width<=59.99rem){.auth__main{margin-block:var(--space-8)}}.appnav{z-index:20;gap:var(--space-1);padding:var(--space-1) var(--space-2) calc(var(--space-1) + env(safe-area-inset-bottom));background:var(--color-surface);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.appnav--bar{border-top:1px solid var(--color-line);grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;gap:0}.appnav--bar .appnav__link span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;overflow:hidden}.appnav--inline{display:none}.appnav__more{min-width:0;display:grid;position:relative}button.appnav__link{cursor:pointer;background:0 0;border:0;font-family:inherit}.appnav__sheet{right:0;bottom:calc(100% + var(--space-2));gap:var(--space-1);width:min(14rem, calc(100vw - 2 * var(--gutter)));padding:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float);display:grid;position:absolute}.appnav__sheet[hidden]{display:none}.appnav__sheet-link{min-height:var(--control-height-sm);padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--color-ink);align-items:center;text-decoration:none;display:flex}.appnav__sheet-link:hover{background:var(--color-surface-sunken)}.appnav__sheet-link[data-active]{background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}.appnav__link{text-align:center;border-radius:var(--radius-md);min-width:0;min-height:3.5rem;color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);-webkit-tap-highlight-color:transparent;transition:color var(--t-hover) ease, background-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);align-content:center;justify-items:center;gap:2px;text-decoration:none;display:grid;position:relative}.appnav__link:hover{color:var(--color-ink)}.appnav__link:active{transform:scale(.96)}.appnav__link svg{transition:transform var(--t-ui) var(--ease-out)}.appnav__link[data-active]{color:var(--color-ink)}.appnav__link[data-active] svg{transform:translateY(-1px)}.appnav__link[data-active]:before{content:"";border-radius:0 0 var(--radius-pill) var(--radius-pill);background:var(--color-accent);width:2rem;height:3px;animation:nav-mark var(--t-ui) var(--ease-out) both;margin-left:-1rem;position:absolute;top:0;left:50%}@keyframes nav-mark{0%{transform:scaleX(0)}}.shell:has(.appnav--bar) .app-main{padding-bottom:calc(var(--space-9) + env(safe-area-inset-bottom))}@media (width>=48rem){.appnav--bar{display:none}.shell:has(.appnav--bar) .app-main{padding-bottom:var(--space-9)}.appnav--inline{z-index:auto;align-items:center;gap:var(--space-1);background:0 0;flex:1;min-width:0;padding:0;display:flex;position:static}.appnav__scroll{gap:var(--space-1);scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.appnav--inline .appnav__link{border-radius:var(--radius-pill);min-height:2.75rem;font-size:var(--text-md);white-space:nowrap;flex:none;align-items:center;padding:9px 14px;display:inline-flex}.appnav--inline .appnav__link[data-active]{background:var(--color-ink);color:var(--color-bg)}.appnav--inline .appnav__link[data-active]:before{content:none}.appnav__more--inline{flex:none}.appnav__menu{top:calc(100% + var(--space-2));z-index:30;gap:var(--space-1);width:14rem;padding:var(--space-2);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float);transform-origin:0 0;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out), visibility .16s;display:grid;position:absolute;left:0}.appnav__menu[data-open=false]{visibility:hidden;opacity:0;transform:scale(.97)}@media (prefers-reduced-motion:reduce){.appnav__menu{transition:none}}@media (hover:hover) and (pointer:fine){.appnav--inline .appnav__link:hover:not([data-active]){background:var(--color-surface-sunken);color:var(--color-ink)}}}@media (width>=48rem) and (width<=63.99rem){.topbar__inner{gap:var(--space-2)}.topbar__tools{gap:var(--space-1)}.appnav--inline,.appnav__scroll{gap:0}.appnav--inline .appnav__link{font-size:var(--text-sm);padding-inline:8px}.brand__name{clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}.hide-values{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-sunken);min-height:2.625rem;color:var(--color-ink-muted);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out);border:0;padding:0 .875rem 0 .75rem;display:inline-flex}.hide-values:hover{background:var(--color-surface-strong);color:var(--color-ink)}.hide-values:active{transform:scale(.96)}.hide-values[aria-pressed=true]{background:var(--color-ink);color:var(--color-bg)}.hide-values__icon{animation:eye-blink var(--t-ui) var(--ease-out) both;display:grid}@keyframes eye-blink{0%{opacity:0;transform:scaleY(.2)}}@media (pointer:coarse){.hide-values{min-height:var(--control-height-sm)}}.money--hidden{letter-spacing:.04em;color:inherit;opacity:.8}.month-nav{gap:var(--space-2);display:grid}.month-nav__row{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.month-nav__title{min-width:0;font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);overflow:hidden}.month-nav__text{display:inline-block}.month-nav__text:first-letter{text-transform:uppercase}.month-nav__text[data-direction=forward]{animation:title-forward var(--t-ui) var(--ease-out) both}.month-nav__text[data-direction=back]{animation:title-back var(--t-ui) var(--ease-out) both}.month-nav__steps{gap:var(--space-2);display:flex}.month-nav__step{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--color-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out);background:0 0;place-items:center;display:grid}.month-nav__step:hover:not([aria-disabled]){background:var(--color-surface-sunken)}.month-nav__step:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.month-nav__step:active:not([aria-disabled]){transform:scale(.97)}.month-nav__step:first-child:hover:not([aria-disabled]) svg{transform:translate(-2px)}.month-nav__step:last-child:hover:not([aria-disabled]) svg{transform:translate(2px)}.month-nav__step svg{transition:transform var(--t-ui) var(--ease-out)}.month-nav__step[aria-disabled]{color:var(--color-ink-subtle);cursor:not-allowed;opacity:.55;background:0 0}.month-nav__note{max-width:46ch;color:var(--color-ink-muted)}@keyframes title-forward{0%{opacity:0;transform:translate(18px)}}@keyframes title-back{0%{opacity:0;transform:translate(-18px)}}.month-strip{min-width:0;margin-inline:calc(var(--gutter) * -1)}.month-strip__list{gap:var(--space-1);padding:var(--space-1) var(--gutter);scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;list-style:none;display:flex;overflow-x:auto}.month-strip__list::-webkit-scrollbar{display:none}.month-strip__link{min-width:4.25rem;min-height:3.5rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-ink);font-weight:var(--weight-semibold);scroll-snap-align:center;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out);align-content:center;justify-items:center;text-decoration:none;display:grid}.month-strip__link:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.month-strip__link:active{transform:scale(.95)}.month-strip__link:focus-visible{outline-offset:-2px}.month-strip__link[data-empty]{color:var(--color-ink-subtle);font-weight:var(--weight-regular)}.month-strip__link[aria-current=true],.month-strip__link[aria-current=true]:hover{background:var(--color-ink);color:var(--color-bg)}.month-strip__month:first-letter{text-transform:uppercase}.month-strip__year{font-size:var(--text-xs);font-weight:var(--weight-regular);opacity:.75}@media (width>=48rem){.month-strip{margin-inline:0}.month-strip__list{padding-inline:0}}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-6);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-head__title{font-size:var(--text-3xl);letter-spacing:-.03em;line-height:1.02}.page-head__lede{max-width:46ch;margin-top:var(--space-2);color:var(--color-ink-muted);font-size:var(--text-lg)}.page-head__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.layout-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;display:grid}.layout-grid>*{grid-column:span 12;min-width:0}@media (width>=60rem){.layout-grid>.span-8{grid-column:span 8}.layout-grid>.span-7{grid-column:span 7}.layout-grid>.span-6{grid-column:span 6}.layout-grid>.span-5{grid-column:span 5}.layout-grid>.span-4{grid-column:span 4}}.panel{border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;padding:28px}.panel--night{background:var(--color-field);color:var(--color-field-ink)}.panel__head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.panel__title{font-size:var(--text-xl)}.panel__link{color:var(--color-ink-muted);font-size:var(--text-sm);white-space:nowrap;text-decoration:none}.panel__link:hover{color:var(--color-ink)}.panel--night .panel__link{color:var(--color-field-muted)}.figure{font-family:var(--font-display);font-size:clamp(2rem,1.6rem + 1.6vw,3rem);font-weight:var(--weight-bold);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.cat-dot{background:var(--cat-color,var(--color-ink-subtle));border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}@media (width<=35rem){.panel{border-radius:22px;padding:20px}.layout-grid{gap:14px}}.dialog{border-radius:var(--radius-lg);background:var(--color-surface);width:min(32rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--color-ink);box-shadow:var(--shadow-float);overscroll-behavior:contain;opacity:0;transition:opacity .15s var(--ease-out), transform .15s var(--ease-out), overlay .15s allow-discrete, display .15s allow-discrete;border:0;padding:0;overflow:auto;transform:scale(.96)}.dialog[open]{opacity:1;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out), overlay .22s allow-discrete, display .22s allow-discrete;transform:none}@starting-style{.dialog[open]{opacity:0;transform:scale(.96)}}.dialog::backdrop{background:var(--color-scrim);opacity:0;transition:opacity .15s ease, overlay .15s allow-discrete, display .15s allow-discrete}.dialog[open]::backdrop{opacity:1}@starting-style{.dialog[open]::backdrop{opacity:0}}.dialog__body{gap:var(--space-5);padding:28px;display:grid}.dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.dialog__title{font-size:var(--text-2xl)}.dialog__close{flex:none;margin:-.5rem -.5rem 0 0}@media (width<=35rem){.dialog{width:100%;max-width:100%;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:28px 28px 0 0;margin:auto 0 0;transform:translateY(100%)}.dialog[open]{transition:opacity .3s cubic-bezier(.32, .72, 0, 1), transform .3s cubic-bezier(.32, .72, 0, 1), overlay .3s allow-discrete, display .3s allow-discrete;transform:none}@starting-style{.dialog[open]{transform:translateY(100%)}}.dialog__body{padding:24px 20px}}@media (prefers-reduced-motion:reduce){.dialog,.dialog[open]{transform:none}@starting-style{.dialog[open]{transform:none}}}.item-action{align-items:center;gap:var(--space-2);min-height:2.25rem;padding:0 var(--space-3);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);color:var(--color-ink);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-hover) ease, border-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);background:0 0;display:inline-flex;position:relative}.item-action:after{content:"";position:absolute;inset:-4px -2px}.item-action:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.item-action:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.item-action:active{transform:none}}.item-action[data-tone=danger]{border-color:var(--color-danger);color:var(--color-danger)}@media (hover:hover) and (pointer:fine){.item-action:hover{background:var(--color-surface-sunken)}.item-action[data-tone=danger]:hover{background:var(--color-danger-soft);color:var(--color-danger-soft-ink)}}.datefield{position:relative}.datefield__trigger{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;font:inherit;text-align:left;cursor:pointer;display:flex}.datefield__trigger svg{color:var(--color-ink-muted);flex:none}.datefield__value:first-letter{text-transform:uppercase}.datefield__placeholder{color:var(--color-ink-subtle)}.datefield__pop{height:auto;color:inherit;z-index:1000;gap:var(--space-3);width:min(20rem,100vw - 1rem);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float);transform-origin:0 0;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out);border:0;margin:0;display:grid;position:fixed;inset:auto;overflow:visible}@starting-style{.datefield__pop{opacity:0;transform:scale(.97)}}.datefield__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.datefield__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold)}.datefield__title:first-letter{text-transform:uppercase}.datefield__nav{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--color-ink);cursor:pointer;background:0 0;place-items:center;display:grid}.datefield__nav:hover{background:var(--color-surface-sunken)}.datefield__nav:focus-visible{outline:var(--focus-ring);outline-offset:1px}.datefield__nav--prev svg{transform:rotate(90deg)}.datefield__nav--next svg{transform:rotate(-90deg)}.datefield__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.datefield__months{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.datefield__weekday{padding-block:var(--space-1);color:var(--color-ink-subtle);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center}.datefield__cell{border-radius:var(--radius-sm);min-height:2.5rem;color:var(--color-ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);background:0 0;border:0;place-items:center;display:grid}.datefield__months .datefield__cell{background:var(--color-surface-sunken);min-height:2.75rem;font-weight:var(--weight-medium)}.datefield__cell[data-today=true]{box-shadow:inset 0 0 0 2px var(--color-accent)}.datefield__cell[aria-pressed=true]{background:var(--color-ink);color:var(--color-bg);font-weight:var(--weight-semibold)}.datefield__cell:disabled{color:var(--color-ink-subtle);opacity:.4;cursor:not-allowed}.datefield__cell:active:not(:disabled),.datefield__nav:active{transform:scale(.95)}.datefield__foot{justify-content:space-between;display:flex}.datefield__link{min-height:2.25rem;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-accent-text);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0}@media (hover:hover) and (pointer:fine){.datefield__cell:hover:not(:disabled):not([aria-pressed=true]),.datefield__nav:hover{background:var(--color-surface-strong)}}@media (prefers-reduced-motion:reduce){.datefield__pop{transition:none}}.info-tip{block-size:24px;inline-size:24px;border-radius:var(--radius-pill);color:var(--color-ink-subtle);vertical-align:middle;cursor:help;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .12s var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;margin-inline-start:var(--space-1);padding:0;display:inline-flex;position:relative}@media (pointer:coarse){.info-tip:after{content:"";position:absolute;inset:-10px}}@media (hover:hover) and (pointer:fine){.info-tip:hover{color:var(--color-ink)}}.info-tip[aria-expanded=true]{color:var(--color-ink)}.info-tip:focus-visible{outline:var(--focus-ring);outline-offset:1px}.info-tip__bubble{z-index:60;box-sizing:border-box;inline-size:max-content;max-inline-size:min(260px,100vw - 24px);padding:var(--space-2) var(--space-3,.75rem);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-ink);font-size:var(--text-sm);text-align:start;text-transform:none;letter-spacing:normal;pointer-events:none;animation:info-tip-in .14s var(--ease-out);font-weight:400;line-height:1.4;position:fixed}.info-tip__bubble[data-instant=true]{animation:none}@keyframes info-tip-in{0%{opacity:0;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.info-tip__bubble{animation-name:info-tip-fade}@keyframes info-tip-fade{0%{opacity:0}}}.month__label-row{align-items:center;display:flex}.income{display:block}.income__section{margin-bottom:var(--space-3);font-size:var(--text-xl);letter-spacing:var(--tracking-title)}.income-empty{gap:var(--space-4);justify-items:start;display:grid}.income-empty__text{font-size:var(--text-lg);color:var(--color-ink-muted)}.income__body{margin-top:var(--space-5);align-items:start}.income__body:empty{display:none}.income__lists{gap:20px;display:grid}.income__form{top:var(--space-4);position:sticky}.income-totals{gap:var(--space-5);margin:0;display:grid}.income-totals dt{color:var(--color-field-muted);font-size:var(--text-sm);margin-bottom:var(--space-2)}.income-totals dd{margin:0}.income-totals .income-totals__benefits{margin-top:var(--space-2);color:var(--color-field-muted);font-size:var(--text-sm);font-weight:var(--weight-regular);display:block}.income-next{margin-top:var(--space-4)}.income-next a{color:var(--color-accent-text);font-weight:var(--weight-semibold)}.income-form,.income-confirm{gap:var(--space-4);display:grid}.income-item .income-confirm{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface)}.income-form .income-form__actions{justify-content:flex-end}@media (width<=39.99rem){.income-form .income-form__actions{flex-direction:column}.income-form .income-form__actions>*{width:100%}}.income-form__pair{gap:var(--space-4);display:grid}.income-form__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.income-item__actions{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-line);flex-wrap:wrap;display:flex;grid-column:1/-1!important}.income-month{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-md);color:var(--color-ink-muted)}.income-month:first-letter{text-transform:uppercase}.income-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.income-item{column-gap:var(--space-4);row-gap:var(--space-1);background:var(--color-surface-sunken);border-radius:20px;grid-template-columns:52px minmax(0,1fr);padding:20px;display:grid}.income-item>:not(.income-item__day){grid-column:2}.income--limit,.limit-card{gap:var(--space-5);display:grid}.limit-card .income-totals{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.limit-meter{gap:var(--space-3);margin-top:var(--space-3);margin-bottom:var(--space-5);display:grid}.limit-card .limit-meter{margin-bottom:0}.limit-history__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.limit-history__row .income-item__name{flex:12rem;min-width:0}.limit-history__row .income-item__amount{margin-left:auto}.limit-meter__bar{border-radius:var(--radius-pill);background:var(--color-field-raised);height:.75rem;overflow:hidden}.limit-meter__fill{border-radius:var(--radius-pill);background:var(--color-field-accent);height:100%;display:block}.limit-meter[data-status=over] .limit-meter__fill{background:var(--color-expense)}.limit-meter__status{align-items:center;gap:var(--space-2) var(--space-4);color:var(--color-field-ink);font-size:var(--text-sm);flex-wrap:wrap;margin:0;display:flex}.income-item--flat{grid-template-columns:minmax(0,1fr)}.income-item--flat>:not(.income-item__day){grid-column:1}.income-item__day{background:var(--color-surface);width:52px;height:52px;font-family:var(--font-display);font-size:20px;font-weight:var(--weight-semibold);border-radius:14px;grid-area:1/1/span 2;place-items:center;display:grid}.income-item__main{justify-content:space-between;gap:var(--space-4);align-items:baseline;display:flex}.income-item__name{min-width:0;font-size:1.0625rem;font-weight:var(--weight-semibold);overflow-wrap:break-word}.income-item__amount{font-family:var(--font-display);font-size:1.375rem;font-weight:var(--weight-semibold);white-space:nowrap}@media (width<=39.99rem){.income-item{padding:16px}.income-item__main{gap:var(--space-1);flex-direction:column}.income-item__actions{grid-template-columns:1fr 1fr;display:grid}.income-item__actions .item-action{justify-content:center;min-height:2.75rem}}.income-item__meta{color:var(--color-ink-muted);font-size:var(--text-sm)}@media (width>=40rem){.income-form__pair,.income-totals{grid-template-columns:1fr 1fr}}@media (width<=59.99rem){.income__form{position:static}}.income-item__tag{padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent-soft-ink);font-size:var(--text-sm);font-weight:var(--weight-regular);margin-inline-start:var(--space-2)}.combobox__control{position:relative}.combobox__input{padding-right:var(--space-7);text-overflow:ellipsis}.combobox__control:after{content:"";top:calc(var(--control-height) / 2 - .4rem);right:var(--space-4);border-right:2px solid var(--color-ink-muted);border-bottom:2px solid var(--color-ink-muted);pointer-events:none;width:.5rem;height:.5rem;position:absolute;transform:rotate(45deg)}.combobox__list{z-index:1000;box-sizing:border-box;overscroll-behavior:contain;padding:var(--space-1);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-float);margin:0;list-style:none;position:fixed;overflow-y:auto}.combobox__list[hidden]{display:none}.combobox__option,.combobox__empty{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-height:2.25rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink);display:flex}.combobox__option{cursor:pointer}.combobox__option[data-active=true]{background:var(--color-surface-strong)}.combobox__option[aria-selected=true]{background:var(--color-accent-soft);color:var(--color-accent-soft-ink);font-weight:var(--weight-semibold)}.combobox__hint,.combobox__empty{color:var(--color-ink-muted);font-size:var(--text-sm)}@media (width<=47.99rem){.combobox__option,.combobox__empty{align-items:center;min-height:2.75rem}}.activities__back{margin-bottom:var(--space-1);font-size:var(--text-sm)}.income-item__name a{color:inherit;text-decoration:none}.income-item__name a:hover{text-decoration:underline}.invite-status{align-items:center;gap:var(--space-1);color:var(--color-ink-muted);font-size:var(--text-sm);white-space:nowrap;display:inline-flex}.invite-status[data-status=going]{color:var(--color-income)}.invite-status[data-status=not_going]{color:var(--color-danger)}.activity-link{gap:var(--space-3);align-content:start;display:grid}.activity-link .income__section{margin-bottom:0}.activity-link__url{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);font-size:var(--text-sm);overflow-wrap:anywhere}.activity-muted{color:var(--color-ink-muted);font-size:var(--text-sm)}.seg{border-radius:var(--radius-pill);background:var(--color-surface-sunken);gap:2px;max-width:100%;padding:3px;display:flex;overflow-x:auto}.activities__tabs{width:fit-content;margin-bottom:var(--space-4)}.seg__item{min-height:2.5rem;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--color-ink-muted);font:inherit;font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--t-hover) ease, background-color var(--t-ui) var(--ease-out);background:0 0;border:0;flex:none}.seg__item:hover{color:var(--color-ink)}.seg__item[aria-selected=true],.seg__item[aria-pressed=true]{background:var(--color-surface-raised);color:var(--color-ink)}.seg__item:focus-visible{outline:var(--focus-ring);outline-offset:1px}@media (width<=30rem){.activities__tabs{width:100%}.activities__tabs .seg__item{padding:0 var(--space-2);flex:1 1 0}}.invite-facts,.activity-invite{gap:var(--space-3);margin-bottom:var(--space-4);display:grid}.activity-fit[data-fits=true]{color:var(--color-income)}.activity-fit[data-fits=false]{color:var(--color-danger)}.activity-invite__list{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.account{max-width:var(--content-wide);display:grid}.account__section{gap:var(--space-3);scroll-margin-top:var(--space-6);align-content:start;justify-items:start;display:grid}.account__section--danger .account__heading{color:var(--color-danger)}.account__section a{color:var(--color-accent-text);text-decoration:underline}.account__heading{font-size:var(--text-xl);letter-spacing:var(--tracking-title)}.account__list{padding-left:var(--space-5);margin:0}.account__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.account__section a{align-items:center;min-height:2.75rem;display:inline-flex}.account__form{gap:var(--space-4);width:100%;margin-top:var(--space-2);display:grid}@media (width<=30rem){.account__actions>.button,.account__form .button{width:100%}}.bud,.bud-totals{gap:var(--space-5);display:grid}.bud-totals__list{gap:var(--space-5) var(--space-7,3rem);flex-wrap:wrap;margin:0;display:flex}.bud-totals dt{margin-bottom:var(--space-2);color:var(--color-field-muted);font-size:var(--text-sm)}.bud-totals dd{overflow-wrap:anywhere;margin:0}.bud-totals__track{border-radius:var(--radius-pill);background:var(--color-field-raised);height:20px;overflow:hidden}.bud-totals__track span{border-radius:var(--radius-pill);background:var(--color-accent);height:100%;display:block}.bud-totals__limit{color:var(--color-field-muted);font-size:var(--text-sm);margin:0}.bud-totals__warn{color:var(--color-field-accent);font-weight:var(--weight-semibold)}.bud-list{margin:0;padding:0;list-style:none}.bud-item{align-content:start;gap:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);padding:24px;display:grid}.bud-item[data-status=attention]{background:var(--color-projected-soft)}.bud-item__head{justify-content:space-between;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.bud-item__name{align-items:center;gap:var(--space-2);font-size:var(--text-lg);display:flex}.bud-item__figures,.bud-item__hint{color:var(--color-ink-muted);margin:0}.bud-item__status{align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;margin:0;display:flex}.bud-item[data-status=over] .bud-item__status>span:last-child{color:var(--color-expense);font-weight:var(--weight-semibold)}.bud-bar{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:.75rem;overflow:hidden}.bud-item[data-status=attention] .bud-bar{background:var(--color-surface)}.bud-bar__fill{border-radius:var(--radius-pill);background:var(--cat-color,var(--color-ink-subtle));height:100%;display:block}.bud-item[data-status=over] .bud-bar__fill{background:var(--color-expense)}.bud-tag{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-soft-ink);font-weight:var(--weight-semibold)}.bud-tag[data-status=attention]{background:var(--color-projected);color:var(--color-surface)}.bud-tag[data-status=over]{background:var(--color-danger-soft);color:var(--color-danger-soft-ink)}.bud-form,.bud-confirm{gap:var(--space-4);display:grid}.bud-confirm{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.bud-form__pair{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.bud-form__title{font-size:var(--text-xl)}.bud-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.bud-actions--end{justify-content:flex-end}.bud-remove{justify-items:start;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-line);display:grid}@media (width<=39.99rem){.bud-actions--end{flex-direction:column}.bud-actions--end>*{width:100%}}.bud-add{border:2px dashed var(--color-ink-subtle);border-radius:var(--radius-lg);place-items:center;min-height:8rem;padding:24px;display:grid}.bud-empty{align-items:center;gap:var(--space-2);color:var(--color-ink-muted);display:flex}.bud-home{gap:var(--space-3);display:grid}.bud-home__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.fixed-dot{margin-inline-end:var(--space-2)}.fixed-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.fixed-calendar__day{aspect-ratio:1;background:var(--color-surface-sunken);color:var(--color-ink-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;border-radius:12px;place-items:center;display:grid}.fixed-calendar__day[data-marked=true]{background:var(--cat-color);color:var(--color-ink);font-weight:var(--weight-semibold)}.fixed-links{gap:var(--space-2);justify-items:start;display:grid}.fixed-links__title{font-size:var(--text-sm);font-weight:var(--weight-medium);margin:0}.fixed-links__list,.fixed-candidates{gap:var(--space-2);width:100%;margin:0;padding:0;list-style:none;display:grid}.fixed-candidates__item{gap:var(--space-1) var(--space-3);width:100%;min-height:2.75rem;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;border:0;grid-template-columns:1fr auto;display:grid}.fixed-pick{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.fixed-pick legend{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:0}label.fixed-candidates__item:has(:checked){outline:2px solid var(--color-ink);outline-offset:-2px}label.fixed-candidates__item:has(:focus-visible){outline:2px solid var(--color-focus,currentColor);outline-offset:2px}.fixed-candidates__item:active{transform:scale(.97)}.fixed-candidates__item:focus-visible{outline:2px solid var(--color-focus,currentColor);outline-offset:2px}.fixed-candidates__name{overflow-wrap:anywhere}.fixed-candidates__meta{color:var(--color-ink-muted);font-size:var(--text-sm);grid-column:1}.onb{background:var(--color-surface);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--color-ink);opacity:0;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out), overlay .18s allow-discrete, display .18s allow-discrete;border:0;margin:0;padding:0;overflow:hidden;transform:translateY(16px)}.onb[open]{opacity:1;transition:opacity .26s var(--ease-out), transform .32s var(--ease-drawer,var(--ease-out)), overlay .26s allow-discrete, display .26s allow-discrete;display:block;transform:none}@starting-style{.onb[open]{opacity:0;transform:translateY(16px)}}.onb::backdrop{background:var(--color-scrim);opacity:0;transition:opacity .18s ease, overlay .18s allow-discrete, display .18s allow-discrete}.onb[open]::backdrop{opacity:1}@starting-style{.onb[open]::backdrop{opacity:0}}@media (width>=40rem){.onb{border-radius:var(--radius-lg);width:min(40rem,100vw - 2rem);height:min(41rem,100dvh - 2rem);margin:auto}}.onb__panel{height:100%;padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--gutter) calc(var(--space-4) + env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto;display:grid}@media (width>=40rem){.onb__panel{padding:var(--space-5) var(--space-6)}}.onb__top{gap:var(--space-2);display:grid}.onb__progress{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.onb__progress li{border-radius:var(--radius-pill);background:var(--color-line);flex:1;height:4px;overflow:hidden}.onb__progress li:after{content:"";background:var(--color-accent);transform-origin:0;height:100%;transition:transform .32s var(--ease-drawer);display:block;transform:scaleX(0)}.onb__progress li:not([data-state=todo]):after{transform:scaleX(1)}.onb__meta{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:2.75rem;display:flex}.onb__count{color:var(--color-ink-muted);margin:0;font-size:.875rem}.onb__body{overscroll-behavior:contain;min-height:0;padding-block:var(--space-4);overflow-y:auto}.onb__step{gap:var(--space-4);--dx:28px;animation:onb-step .3s var(--ease-drawer) backwards;display:grid}.onb__step[data-dir=prev]{--dx:-28px}@keyframes onb-step{0%{opacity:0;transform:translateX(var(--dx))}}.onb__title{font-family:var(--font-display);font-size:clamp(1.75rem,1.2rem + 2.4vw,2.25rem);font-weight:var(--weight-bold);letter-spacing:-.02em;text-wrap:balance;outline:none;margin:0;line-height:1.1}.onb__mark{animation:onb-rise .42s var(--ease-out) 80ms backwards;order:-1;display:block}.onb__lede{color:var(--color-ink-muted);margin:0;font-size:1.0625rem;line-height:1.5}.onb__rows{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.onb__rows:has(>:nth-child(8)){grid-template-columns:1fr 1fr}}.onb__row{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);animation:onb-rise .32s var(--ease-out) calc(60ms + var(--i,0) * 45ms) backwards;grid-template-columns:auto minmax(0,1fr);display:grid}@keyframes onb-rise{0%{opacity:0;transform:translateY(8px)}}.onb__badge{border-radius:var(--radius-pill);background:var(--color-accent-soft);width:2.5rem;height:2.5rem;color:var(--color-accent-soft-ink);place-content:center;display:grid}.onb__row-title{font-weight:var(--weight-semibold);display:block}.onb__row-text{color:var(--color-ink-muted);font-size:.9375rem;line-height:1.4;display:block}.onb__choices{gap:var(--space-3);display:grid}.onb__choice{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:3.5rem;padding:var(--space-4);border:1.5px solid var(--color-line);border-radius:var(--radius-md);color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:border-color var(--t-hover) ease, background-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);background:0 0;display:flex}.onb__choice:active:not(:disabled){transform:scale(.985)}.onb__choice[aria-checked=true]{border-color:var(--color-ink);background:var(--color-accent-soft)}.onb__choice:focus-visible{outline:var(--focus-ring);outline-offset:2px}.onb__choice:disabled{cursor:default}@media (hover:hover) and (pointer:fine){.onb__choice:hover:not([aria-checked=true]):not(:disabled){background:var(--color-surface-sunken)}}.onb__tick{border:1.5px solid var(--color-line-strong);border-radius:var(--radius-pill);width:1.5rem;height:1.5rem;color:var(--color-accent-ink);transition:background-color var(--t-hover) ease, border-color var(--t-hover) ease;flex:none;place-content:center;display:grid}.onb__tick svg{opacity:0;transition:opacity var(--t-hover) ease, transform var(--t-ui) var(--ease-out);transform:scale(.6)}.onb__choice[aria-checked=true] .onb__tick{border-color:var(--color-accent);background:var(--color-accent)}.onb__choice[aria-checked=true] .onb__tick svg{opacity:1;transform:none}.onb__footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);flex-wrap:wrap;display:flex}.onb__final{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}@media (width<=39.99rem){.onb__footer:has(.onb__final){flex-direction:column-reverse;align-items:stretch}.onb__final{flex-direction:column-reverse;margin-left:0}}.tour-invite{right:var(--gutter);bottom:calc(5rem + env(safe-area-inset-bottom));left:var(--gutter);z-index:40;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);animation:tour-invite-in .36s var(--ease-drawer) .6s backwards;display:grid;position:fixed}.tour-invite[data-closing]{opacity:0;transform:translateY(12px)}@keyframes tour-invite-in{0%{opacity:0;transform:translateY(24px)}}@media (width>=48rem){.tour-invite{left:auto;bottom:var(--space-5);width:22rem}}.tour-invite__title{font-family:var(--font-display);font-size:1.125rem;font-weight:var(--weight-bold);margin:0}.tour-invite__text{color:var(--color-ink-muted);margin:0;font-size:.9375rem}.tour-invite__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.page-tip{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-soft-ink);transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);animation:tip-in .32s var(--ease-out) backwards;flex-wrap:wrap;display:flex}.page-tip[data-closing]{opacity:0;transform:translateY(-6px)}.page-tip__text{flex:16rem;margin:0}.page-tip__ok{min-height:2.75rem;padding:0 var(--space-3);color:var(--color-accent-soft-ink);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;touch-action:manipulation;background:0 0;border:0;text-decoration:underline}.page-tip__ok:focus-visible{outline:var(--focus-ring);outline-offset:2px}@keyframes tip-in{0%{opacity:0;transform:translateY(-8px)}}.tour{z-index:100;position:fixed;inset:0}.tour__shield{position:absolute;inset:0}.tour__spot{border-radius:var(--radius-sm);outline:2px solid var(--color-accent);box-shadow:0 0 0 100vmax var(--color-scrim);pointer-events:none;will-change:transform;animation:tour-fade .24s var(--ease-out) backwards;position:absolute;top:0;left:0}.tour__spot[hidden]{display:none}.tour__spot[data-ready]{transition:transform .3s var(--ease-drawer), width .3s var(--ease-drawer), height .3s var(--ease-drawer)}.tour__balloon{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);will-change:transform;animation:tour-fade .24s var(--ease-out) backwards;outline:none;display:grid;position:absolute;top:0;left:0}.tour__balloon[data-ready]{transition:transform .3s var(--ease-drawer)}.tour[data-instant] .tour__spot,.tour[data-instant] .tour__balloon{transition:none}@keyframes tour-fade{0%{opacity:0}}.tour__track{border-radius:var(--radius-pill);background:var(--color-line);height:3px;overflow:hidden}.tour__bar{background:var(--color-accent);transform-origin:0;height:100%;transition:transform .3s var(--ease-drawer)}.tour__swap{--dx:10px;animation:onb-step .26s var(--ease-out) backwards}.tour__swap[data-dir=prev]{--dx:-10px}.tour__count{color:var(--color-ink-muted);margin:0;font-size:.875rem}.tour__title{margin:var(--space-1) 0;font-family:var(--font-display);font-size:1.25rem;line-height:1.2}.tour__text{margin:0}.tour__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.tour__actions>:first-child{margin-right:auto}.nowrap{white-space:nowrap}.import__form{gap:var(--space-5);align-content:start;display:grid}.import__submit{gap:var(--space-4);display:grid}.import__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.import__actions .button--primary{flex:14rem}.import__trust{align-items:flex-start;gap:var(--space-3);color:var(--color-ink-muted);font-size:var(--text-md);display:flex}.import__trust svg{color:var(--color-accent-text);margin-top:.0625rem}.import__cancelled{font-weight:var(--weight-medium)}.import__help{scroll-margin-top:calc(var(--topbar-height) + var(--space-4));align-self:start}.import__help .import__trust{margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}.import__accepted-title{margin-top:var(--space-5);font-size:var(--text-lg)}.import__accepted{gap:var(--space-2);margin-top:var(--space-3);padding:0;list-style:none;display:grid}.import__accepted li{padding:var(--space-3) var(--space-4);background:var(--color-surface-sunken);border-radius:16px;display:grid}.import__accepted span{color:var(--color-ink-muted);font-size:var(--text-sm)}.import__help:focus-visible{outline-offset:2px}.import__help-title{font-size:var(--text-xl)}.import__how{gap:var(--space-4);margin-top:var(--space-5);padding-left:1.5rem;display:grid}.import__how li{padding-left:var(--space-2)}.import__how li::marker{color:var(--color-accent-text);font-weight:var(--weight-bold)}.import__scope{margin-top:var(--space-5);color:var(--color-ink-muted);font-size:var(--text-md)}.drop-field{gap:var(--space-2);display:grid}.drop{border:2px dashed var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface-sunken);transition:border-color var(--t-hover) ease, background-color var(--t-ui) var(--ease-out);position:relative}.drop:has(.drop__input:focus-visible){outline:var(--focus-ring);outline-offset:3px}@media (hover:hover) and (pointer:fine){.drop[data-state=empty]:hover{border-color:var(--color-ink)}}.drop[data-state=dragging]{border-style:solid;border-color:var(--color-accent);background:var(--color-accent-soft)}.drop[data-state=filled]{border-style:solid;border-color:#0000}.drop[data-invalid]{border-color:var(--color-danger)}.drop__input{clip:rect(0 0 0 0);white-space:nowrap;opacity:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.drop__face{align-content:center;place-items:center;gap:var(--space-2);min-height:20rem;padding:var(--space-7) var(--space-5);text-align:center;cursor:pointer;display:grid}.drop__icon{width:4.5rem;height:4.5rem;margin-bottom:var(--space-2);background:var(--color-accent);color:var(--color-accent-ink);transition:transform var(--t-ui) var(--ease-out);border-radius:20px;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.drop:hover .drop__icon{transform:translateY(-4px)}}.drop[data-state=dragging] .drop__icon{transform:translateY(-6px)scale(1.08)}.drop__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.drop__title--touch{display:none}.drop__or{color:var(--color-ink-muted);font-size:var(--text-sm)}.drop__pick{margin-top:var(--space-1)}@media (pointer:coarse){.drop__title--pointer,.drop__or{display:none}.drop__title--touch{display:block}.drop__face{min-height:12rem}}.drop__file{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon text""change change";display:grid}.drop__file-icon{border-radius:var(--radius-md);background:var(--color-accent-soft);width:3.25rem;height:3.25rem;color:var(--color-accent-soft-ink);animation:file-in var(--t-page) var(--ease-out) both;grid-area:icon;place-items:center;display:grid}@keyframes file-in{0%{opacity:0;transform:translateY(10px)scale(.85)}}.drop__file-text{min-width:0;animation:rise var(--t-ui) var(--ease-out) 60ms both;grid-area:text}.drop__file-name{font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drop__file-meta{color:var(--color-ink-muted);font-size:var(--text-sm)}.button.drop__change{grid-area:change}@media (width>=30rem){.drop__file{padding:var(--space-5);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon text change"}}.upload{padding:0 var(--space-4) var(--space-4);animation:fade var(--t-ui) var(--ease-out) both}.upload__track{border-radius:var(--radius-pill);background:var(--color-surface-strong);height:.5rem;overflow:hidden}.upload__bar{border-radius:inherit;background:var(--color-accent);transform-origin:0;width:100%;height:100%;transition:transform .22s var(--ease-out);display:block}.upload[data-phase=processing] .upload__bar{width:35%;animation:reading 1.1s var(--ease-in-out) infinite;transform:none}@keyframes reading{0%{transform:translate(-100%)}to{transform:translate(290%)}}.upload__status{margin-top:var(--space-2);color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}@media (width>=30rem){.upload{padding:0 var(--space-5) var(--space-5)}}.month__control{min-height:var(--control-height);border:1.5px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:3px;display:grid}.month__control:focus-visible{outline:var(--focus-ring);outline-offset:2px}.month[data-invalid] .month__control{border-color:var(--color-danger)}.month__value{font-size:var(--text-lg);font-weight:var(--weight-semibold);text-align:center;white-space:nowrap;overflow:hidden}.month__text{display:inline-block}.month__text:first-letter{text-transform:uppercase}.month__text[data-direction=forward]{animation:month-forward var(--t-ui) var(--ease-out) both}.month__text[data-direction=back]{animation:month-back var(--t-ui) var(--ease-out) both}@keyframes month-forward{0%{opacity:0;transform:translate(14px)}}@keyframes month-back{0%{opacity:0;transform:translate(-14px)}}.import-problem{gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);border-radius:var(--radius-lg);background:var(--color-danger-soft);color:var(--color-danger-soft-ink);animation:rise var(--t-ui) var(--ease-out) both;grid-template-columns:auto minmax(0,1fr);display:grid}.import-problem:focus-visible{outline-color:var(--color-danger)}.import-problem__icon{color:var(--color-danger);margin-top:.0625rem}.import-problem__body{gap:var(--space-1);justify-items:start;display:grid}.import-problem__title{font-weight:var(--weight-bold)}.import-problem__message{color:var(--color-ink)}.import-problem__note{font-size:var(--text-sm);font-weight:var(--weight-medium)}.summary{gap:20px;display:grid}.summary__hero{align-content:start;justify-items:start;gap:var(--space-3);display:grid;overflow:hidden}.summary__badge{width:3.25rem;height:3.25rem;margin-bottom:var(--space-2);background:var(--color-field-accent);color:var(--color-field);animation:badge-pop .56s var(--ease-out) .12s both;border-radius:50%;place-items:center;display:grid}.summary__hero[data-state=repeat] .summary__badge{background:var(--color-field-raised);color:var(--color-field-ink)}@keyframes badge-pop{0%{opacity:0;transform:scale(.4)rotate(-20deg)}60%{opacity:1;transform:scale(1.12)rotate(4deg)}to{transform:none}}.summary__title{max-width:18ch;font-size:var(--text-3xl);letter-spacing:var(--tracking-display)}.summary__lede{max-width:40ch;color:var(--color-field-muted);font-size:var(--text-lg);line-height:var(--leading-snug)}.summary__figure{gap:var(--space-1);margin-top:var(--space-6);display:grid}.summary__amount{animation:rise var(--t-reveal) var(--ease-out) .2s both;font-size:clamp(2.75rem,1.4rem + 5.4vw,5.25rem)}.summary__figure-label{color:var(--color-field-muted);font-size:var(--text-lg)}.summary__check{align-content:start;gap:var(--space-2);background:var(--color-accent-soft);color:var(--color-accent-soft-ink);grid-template-rows:auto 1fr auto;display:grid}.summary__check-title{font-size:var(--text-xl)}.summary__check-total{margin-top:var(--space-3);color:var(--color-ink);align-self:end}.summary__check-note{color:var(--color-ink);font-size:var(--text-md)}.facts{padding:var(--space-3) var(--space-2);margin:0;display:grid}.facts__row{gap:var(--space-1);padding:var(--space-4);display:grid}.facts__label{color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.facts__data{gap:var(--space-2);margin:0;display:grid}.facts__value{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title)}.facts__aside{color:var(--color-ink-muted);font-size:var(--text-md);font-weight:var(--weight-regular);letter-spacing:var(--tracking-text)}.facts__note{color:var(--color-ink-muted);font-size:var(--text-md)}.ratio{gap:3px;max-width:28rem;height:.5rem;display:flex}.ratio>span{border-radius:var(--radius-pill);transform-origin:0;min-width:0;animation:segment-fill var(--t-reveal) var(--ease-out) .38s both;flex-basis:0}.ratio__new{background:var(--color-accent)}.ratio__old{background:var(--color-surface-strong)}.summary__next{gap:var(--space-3);display:grid}.next-card{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);color:var(--color-ink);font-weight:var(--weight-medium);transition:transform var(--t-press) var(--ease-out);border-radius:20px;text-decoration:none;display:flex}.next-card:active{transform:scale(.97)}.next-card:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.next-card:hover{background:var(--color-surface-sunken)}}.next-card__icon{background:var(--color-accent);width:2.75rem;height:2.75rem;color:var(--color-accent-ink);border-radius:14px;flex:none;place-items:center;display:grid}.next-card__icon--quiet{background:var(--color-surface-sunken);color:var(--color-ink)}@media (width>=48rem){.summary__next{grid-template-columns:1fr 1fr}.facts__row{gap:var(--space-5);padding:var(--space-4) var(--space-5);grid-template-columns:13rem minmax(0,1fr)}.facts__label{font-size:var(--text-md);padding-top:.3rem}}.empty-state{justify-items:start;gap:var(--space-4);max-width:36rem;padding-top:var(--space-6);display:grid}.empty-state__icon{background:var(--color-accent-soft);width:3.5rem;height:3.5rem;color:var(--color-accent-soft-ink);border-radius:50%;place-items:center;display:grid}.empty-state__icon[data-tone=danger]{background:var(--color-danger-soft);color:var(--color-danger)}.empty-state__title{font-size:var(--text-3xl);letter-spacing:var(--tracking-display)}.empty-state__text{max-width:40ch;color:var(--color-ink-muted);font-size:var(--text-lg)}.layout-grid>.span-12{grid-column:1/-1}.import-ai-invite{padding:var(--space-5);border-radius:var(--radius-lg,1rem);background:var(--color-accent);color:var(--color-accent-ink)}.import-ai-invite__title{margin:0 0 var(--space-3);font-family:var(--font-display,inherit);font-size:var(--text-lg)}.import-ai-invite__facts{margin:0 0 var(--space-4);padding-left:var(--space-5);font-size:var(--text-sm)}.import-ai-invite__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.import-ai-status{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg,1rem);background:var(--color-surface-sunken);flex-wrap:wrap;margin:0;display:flex}.import-ai-invite a{color:var(--color-accent-ink);text-decoration:underline}.import__undone{margin-bottom:var(--space-5);background:var(--color-accent-soft);color:var(--color-accent-soft-ink);font-weight:var(--weight-medium)}.import-history__list{margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.import-history__row{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.import-history__row+.import-history__row{border-top:1px solid var(--color-surface-sunken)}.import-history__name{font-weight:var(--weight-semibold);overflow-wrap:break-word}.import-history__name:first-letter{text-transform:uppercase}.import-history__meta{color:var(--color-ink-muted);font-size:var(--text-sm)}.import-history__pager{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-surface-sunken);display:flex}.import-history__page{color:var(--color-ink-muted);font-size:var(--text-sm);text-align:center}@media (width<=39.99rem){.import-history__row .item-action,.import-history__pager .button{min-height:2.75rem}}.summary__undo{grid-column:1/-1}.undo-import{gap:var(--space-4);display:grid}.undo-import__note{color:var(--color-ink-muted);font-size:var(--text-sm)}.undo-import__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.button.button--danger{background:var(--color-danger);color:var(--color-bg)}@media (hover:hover) and (pointer:fine){.button.button--danger:hover:not(:disabled){background:var(--color-danger-soft-ink)}}@media (width<=39.99rem){.undo-import__actions>*{flex:100%}}.sum{gap:var(--space-5);display:grid}.sum__view{gap:20px;display:grid}.sum__fallback-title{font-size:var(--text-3xl);letter-spacing:var(--tracking-display)}.sum-h2{font-size:var(--text-xl)}.sum-total{align-content:start;gap:var(--space-2);display:grid}.sum-total__label{color:var(--color-ink-muted);font-size:var(--text-lg);font-weight:var(--weight-regular)}.sum-total__figure{overflow-wrap:anywhere}.sum-total__partial{font-size:var(--text-sm);color:var(--color-accent-text)}.sum-base{color:var(--color-ink-muted);font-size:var(--text-sm)}.sum-compare{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);display:inline-flex}.sum-compare[data-kind=above]{color:var(--color-expense)}.sum-compare[data-kind=below]{color:var(--color-income)}.sum-ribbon{height:2.5rem;margin-block:var(--space-3) var(--space-4);border-radius:var(--radius-pill);gap:2px;display:flex;overflow:hidden}.sum-ribbon__seg{background:var(--cat-color,var(--color-ink-subtle));flex-basis:0;min-width:3px}.sum-top{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.sum-top__item{align-items:center;gap:var(--space-2);display:flex}.sum-top__item .sum-top__share{color:var(--color-ink-muted);margin-left:auto}.sum-list{gap:0;padding:0;list-style:none;display:grid}.sum-row{gap:var(--space-2);padding:16px 0;display:grid}.sum-row+.sum-row{border-top:1px solid var(--color-surface-sunken)}.sum-row[data-pending=true]{border-radius:var(--radius-md);outline:1px dashed var(--color-line-strong);outline-offset:-1px;background:var(--color-surface-sunken);padding:16px}.sum-row__link{gap:var(--space-2) var(--space-3);color:inherit;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;text-decoration:none;display:grid}.sum-row__link>.cat-dot{grid-column:1}.sum-row__name{min-width:0;font-weight:var(--weight-semibold);overflow-wrap:break-word;grid-column:2}.sum-row__amount{font-weight:var(--weight-semibold);text-align:right;white-space:nowrap;grid-column:3}.sum-row__budget{color:var(--color-ink-muted);font-size:var(--text-sm);grid-column:2/-1}.sum-row__share{text-align:right;min-width:4ch;color:var(--color-ink-muted);grid-column:4}.sum-row__tag{color:var(--color-ink-muted);font-weight:var(--weight-regular)}.sum-row .sum-compare,.sum-bar{grid-column:2/-1}.sum-bar{border-radius:var(--radius-pill);background:var(--color-surface-strong);height:.5rem;display:block;overflow:hidden}.sum-bar__fill{border-radius:var(--radius-pill);background:var(--cat-color,var(--color-accent));height:100%;display:block}.sum-state{justify-items:start;gap:var(--space-3);padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.sum-state__title{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.sum-back{align-items:center;gap:var(--space-2);color:var(--color-ink-muted);justify-self:start;display:inline-flex}.sum-history{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));padding:0;list-style:none;display:grid}.sum-history__item{align-items:center;gap:var(--space-2);text-align:center;min-width:0;font-size:var(--text-sm);flex-direction:column;display:flex}.sum-history__track{border-bottom:1px solid var(--color-line);justify-content:center;align-items:flex-end;width:100%;height:7rem;display:flex}.sum-history__bar{background:var(--cat-color,var(--color-ink-subtle));opacity:.45;border-radius:8px 8px 0 0;width:min(100%,2.25rem)}.sum-history__item[data-current=true] .sum-history__bar{opacity:1}.sum-history__value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sum-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.sum-months{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));padding:0;list-style:none;display:grid}.sum-month{gap:var(--space-2);height:100%;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:inherit;align-content:start;text-decoration:none;display:grid}.sum-month[data-current=true]{background:var(--color-accent);color:var(--color-accent-ink)}.sum-month[data-current=true] .sum-bar{background:var(--color-accent-pressed)}.sum-month[data-current=true] .sum-bar__fill{background:var(--color-accent-ink)}.sum-month__name{font-weight:var(--weight-semibold)}.sum-month__name:first-letter{text-transform:uppercase}.sum-month__empty{color:var(--color-ink-muted);font-size:var(--text-sm)}.sum-month .sum-row__amount,.sum-month .sum-bar{grid-column:1}.sum-month .sum-row__amount{text-align:left}.sum-month[data-current=true] .sum-row__share{color:inherit}.sum-month .sum-row__share{text-align:left;min-width:0;font-size:var(--text-sm);grid-column:1}.panel__title+.sum-list,.panel__title+.sum-months,.panel__title+.sum-history{margin-top:var(--space-4)}.sum-month .sum-bar{background:var(--color-surface-strong)}.sum-month .sum-bar__fill{background:var(--color-ink)}@media (hover:hover) and (pointer:fine){a.sum-row__link:hover .sum-row__name{text-decoration:underline}a.sum-month:hover{background:var(--color-surface-strong)}a.sum-month[data-current=true]:hover{background:var(--color-accent-hover)}}a.sum-month{transition:background-color .16s var(--ease-out), transform .16s var(--ease-out)}a.sum-month:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){a.sum-month{transition:none}a.sum-month:active{transform:none}}@media (width<=35rem){.sum-history{gap:var(--space-1)}.sum-history__value{font-size:var(--text-xs)}}.proj-kind{color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.proj-kind[data-kind=forecast] span:first-child{padding:0 var(--space-2);border:1px dashed var(--color-line-strong);border-radius:var(--radius-pill)}.proj-strip{align-items:center;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;min-width:0;max-width:100%;display:grid}.proj-strip__list{gap:var(--space-2);min-width:0;padding:0 0 var(--space-2);scroll-snap-type:x proximity;scrollbar-width:none;list-style:none;display:flex;overflow-x:auto}.proj-strip__list::-webkit-scrollbar{display:none}.proj-strip__list>li{scroll-snap-align:start;flex:none}.proj-strip .proj-strip__arrow{border-color:var(--color-field-raised);border-radius:var(--radius-pill);background:var(--color-field-raised);color:inherit}.proj-strip__arrow:focus-visible,.proj-strip__link:focus-visible{outline:2px solid var(--color-field-accent);outline-offset:2px}.proj-strip__arrow--prev svg{transform:rotate(90deg)}.proj-strip__arrow--next svg{transform:rotate(-90deg)}.proj-strip__arrow:disabled{opacity:.35;cursor:default}.proj-strip__link{gap:var(--space-1);min-width:6.5rem;padding:var(--space-3);border-radius:var(--radius-md);color:inherit;transition:background-color .16s var(--ease-out), transform .16s var(--ease-out);border-bottom:3px solid #0000;text-decoration:none;display:grid}.proj-strip__link:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.proj-strip__link:hover{background:var(--color-field-raised)}}.proj-strip__link[aria-current=true]{background:var(--color-field-raised);border-bottom-color:var(--color-field-accent)}.proj-strip__plot{border-bottom:1px solid var(--color-field-raised);align-items:flex-end;height:5rem;display:flex}.proj-strip__bar{width:100%;height:var(--bar-all);background:var(--color-field-ink);border-radius:6px 6px 0 0;min-height:2px}.proj-strip__link[data-kind=current] .proj-strip__bar{background:var(--color-field-accent)}.proj-strip__link[data-kind=forecast] .proj-strip__bar{background:repeating-linear-gradient(135deg, var(--color-projected) 0 3px, var(--color-projected-soft) 3px 8px)}.proj-strip__link[data-negative=true] .proj-strip__bar{background:var(--color-expense)}.proj-strip__link[data-negative=true] .proj-strip__value{color:var(--color-expense)}.proj-strip__empty{color:var(--color-field-muted)}@media (prefers-reduced-motion:reduce){.proj-strip__link{transition:none}.proj-strip__link:active{transform:none}}.proj-strip__month{font-weight:var(--weight-semibold)}.proj-strip__value{font-size:var(--text-sm)}.proj-strip__kind{color:var(--color-field-muted);font-size:var(--text-sm)}.proj-figures{align-content:start;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.proj-figures dt{color:var(--color-ink-muted);font-size:var(--text-sm)}.proj-figures dd{font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:0}.proj-figures a,.proj-figures .button{color:inherit;text-align:left}.proj-figures__main{grid-column:1/-1}.proj-figures__big{display:block}.proj-figures dd>.sum-base{margin-top:var(--space-1);font-weight:var(--weight-regular);display:block}.proj-tag{font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-accent-text)}.proj-chart{padding:20px}.proj-segments{border-radius:var(--radius-pill);gap:2px;height:.5rem;display:flex;overflow:hidden}.proj-segments__seg{flex-basis:0;min-width:2px}.proj-segments__seg[data-part=Realizado],.proj-parts__key[data-part=Realizado]{background:var(--cat-color,var(--color-ink))}.proj-segments__seg[data-part=Parcelas\ previstas],.proj-parts__key[data-part=Parcelas\ previstas]{background:var(--color-ink-muted)}.proj-segments__seg[data-part=Estimativa],.proj-parts__key[data-part=Estimativa]{background:repeating-linear-gradient(135deg, var(--color-projected) 0 3px, var(--color-projected-soft) 3px 8px)}.proj-segments__seg[data-part=Fixo\ cadastrado],.proj-parts__key[data-part=Fixo\ cadastrado]{background:var(--color-ink)}.proj-segments__seg[data-part=Simulado],.proj-parts__key[data-part=Simulado]{background:var(--color-accent)}.proj-parts__key{width:.625rem;height:.625rem;margin-right:var(--space-1);border-radius:3px;display:inline-block}.proj-timeline{gap:var(--space-2);padding:0;list-style:none;display:grid}.proj-timeline__item{gap:var(--space-1) var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto;display:grid}.proj-timeline__bar{border-radius:var(--radius-pill);background:var(--color-surface-strong);grid-column:1/-1;height:.5rem;overflow:hidden}.proj-timeline__bar>span{border-radius:var(--radius-pill);background:var(--cat-color,var(--color-ink));height:100%;display:block}.proj-timeline__item[data-kind=forecast] .proj-timeline__bar>span{background:repeating-linear-gradient(135deg, var(--color-projected) 0 3px, var(--color-projected-soft) 3px 8px)}.proj-neg{align-items:center;gap:var(--space-1);margin-left:var(--space-3);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-danger-soft);color:var(--color-danger-soft-ink);font-size:var(--text-sm);display:inline-flex}.proj-notes{gap:var(--space-3);display:grid}.proj-notes__balance{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-line);flex-wrap:wrap;display:flex}.proj-parts{gap:var(--space-1) 12px;color:var(--color-ink-muted);flex-wrap:wrap;margin:0;font-size:13px;display:flex}.proj-parts div{gap:var(--space-2);display:flex}.proj-parts dd{margin:0}.proj-home{gap:var(--space-2);padding:var(--space-4) var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius-xl);display:grid}.proj-home__figure{font-size:var(--text-3xl);font-weight:var(--weight-bold)}.balance-form{gap:var(--space-4);max-width:32rem;display:grid}.dialog-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=40rem){.dialog-actions>*{flex:100%}}@media (width<=30rem){.proj-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.proj-figures dt{font-size:var(--text-xs)}.proj-figures dd{font-family:var(--font-display);font-size:20px}.proj-figures__big{font-size:28px}.proj-figures__main{border-top:1px solid var(--color-line);grid-column:1/-1;padding-top:16px}.proj-chart{padding:var(--space-3)}.proj-strip{gap:var(--space-1)}.proj-strip__arrow{display:none}.proj-strip__list{scroll-snap-type:x mandatory;gap:8px}.proj-strip__list>li{scroll-snap-align:start;width:calc(25% - 6px)}.proj-strip__link{min-width:0;padding:var(--space-2) 0;text-align:center;justify-items:center}.proj-strip__plot{justify-content:center;height:7.5rem}.proj-strip__bar{width:28px;height:var(--bar-near);min-height:6px}.proj-strip__value{letter-spacing:-.02em;white-space:nowrap;font-size:11px}.proj-strip__kind{display:none}}.proj-sim-on{color:var(--color-accent-soft-ink);font-weight:var(--weight-semibold)}.proj-base{color:var(--color-ink-muted);font-size:var(--text-sm);font-weight:var(--weight-regular);display:block}.sim{gap:var(--space-3);display:grid}.sim__notice a{color:var(--color-accent-text);font-weight:var(--weight-semibold)}.sim-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.sim-item,.sim-form{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);display:grid}.sim-item[data-active=false] .sim-item__name,.sim-item[data-active=false] .sim-item__amount{color:var(--color-ink-muted)}.sim-form{padding:var(--space-5);border-radius:var(--radius-lg)}.sim-form--dialog{background:0 0;padding:0}.sim-form__pair{gap:var(--space-4);display:grid}@media (width>=40rem){.sim-form__pair{grid-template-columns:2fr 1fr}}.sim-item__main{justify-content:space-between;gap:var(--space-4);align-items:baseline;display:flex}.sim-item__name{font-weight:var(--weight-semibold);overflow-wrap:anywhere}.sim-item__amount{font-weight:var(--weight-semibold);white-space:nowrap}.sim-item__meta{color:var(--color-ink-muted);font-size:var(--text-sm)}.sim-switch{align-items:center;gap:var(--space-2);min-height:2.75rem;display:flex}.sim-switch input{width:1.25rem;height:1.25rem;accent-color:var(--color-accent)}.sim-switch input:focus-visible{outline:var(--focus-ring);outline-offset:2px}.sim-item__actions,.sim-form__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width>=40.0625rem){.layout-grid>.proj-half{grid-column:span 6}}.informed__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.social-block{margin-bottom:var(--space-7)}.social-block__title{margin-bottom:var(--space-3);font-size:var(--text-xl)}.social-list{gap:var(--space-2);margin:0 0 var(--space-4);padding:0;list-style:none;display:grid}.social-row{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;display:flex}.social-row[data-unread=true]{border-color:var(--color-accent);background:var(--color-accent-soft)}.social-row__main{flex:14rem;min-width:0}.social-row__name{font-weight:var(--weight-semibold);overflow-wrap:anywhere}.social-row__meta{color:var(--color-ink-muted);font-size:var(--text-sm)}.social-row__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.social-empty{max-width:46ch;color:var(--color-ink-muted)}.add-friend{gap:var(--space-4);display:grid}.add-friend__form{gap:var(--space-3);display:grid}.add-friend__footer{justify-content:flex-end;display:flex}.account-menu__badge{min-width:1.25rem;height:1.25rem;margin-left:var(--space-2);padding-inline:var(--space-1);background:var(--color-accent);color:var(--color-accent-ink);font-size:var(--text-xs,.75rem);font-weight:var(--weight-bold);border-radius:999px;place-items:center;display:inline-grid}.account-menu__avatar-wrap{display:inline-flex;position:relative}.account-menu__avatar-wrap .account-menu__badge{border:2px solid var(--color-bg);margin:0;position:absolute;top:-.25rem;right:-.375rem}.account-menu__notes{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.account-menu__note{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-ink);font-size:var(--text-sm);text-decoration:none;display:block}a.account-menu__note:hover{background:var(--color-surface-sunken)}[data-unread=true]>.account-menu__note{background:var(--color-accent-soft)}.social-row__link{color:inherit;text-decoration:none;display:block}.account-menu__sub{position:relative}.account-menu__sub-item{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.account-menu__chevron{color:var(--color-ink-muted);margin-left:auto}.account-menu__sub-panel{top:calc(-1 * var(--space-4));z-index:31;gap:var(--space-2);width:18rem;padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-float);transition:opacity var(--t-hover) var(--ease-out), transform var(--t-hover) var(--ease-out), visibility var(--t-hover);display:grid;position:absolute}.account-menu__sub-panel:focus{outline:none}.account-menu__sub-panel[data-side=left]{right:calc(100% + var(--space-4) + var(--space-1))}.account-menu__sub-panel[data-side=right]{left:calc(100% + var(--space-4) + var(--space-1))}.account-menu__sub-panel[data-open=false]{visibility:hidden;opacity:0;transform:translate(4px)}.account-menu__sub-panel[data-side=right][data-open=false]{transform:translate(-4px)}@media (prefers-reduced-motion:reduce){.account-menu__sub-panel{transition:none;transform:none!important}}.sec-page{gap:20px;display:grid}@media (width<=35rem){.sec-page{gap:14px}}.sec-list{margin:0 0 var(--space-4);padding:0;list-style:none;display:grid}.sec-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4) 0;flex-wrap:wrap;display:flex}.sec-row+.sec-row{border-top:1px solid var(--color-surface-sunken)}.sec-row__main{min-width:0}.sec-row__name{font-weight:var(--weight-semibold);overflow-wrap:break-word;margin:0}.sec-row__meta{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.sec-row[data-result=failure] .sec-row__name,.sec-row[data-result=blocked] .sec-row__name{color:var(--color-danger)}.sec-row__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.sec-tag{margin-left:var(--space-2);padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-soft-ink);font-size:var(--text-sm)}@media (width<=40rem){.sec-row__actions>*{flex:100%;min-height:44px}}.owner-periods{width:fit-content;margin-bottom:var(--space-4)}.page-head .owner-periods{margin-bottom:0}.owner-totals{gap:var(--space-5) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:0;display:grid}.owner-totals dt{color:var(--color-ink-muted);font-size:var(--text-sm)}.owner-totals dd{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin:0}.owner-chart{border-bottom:1px solid var(--color-line-strong);align-items:flex-end;gap:2px;height:10rem;display:flex}.owner-chart__bar{background:var(--color-accent);border-radius:3px 3px 0 0;flex:1 1 0;min-width:1px}.owner-chart__axis{color:var(--color-ink-muted);font-size:var(--text-sm);justify-content:space-between;display:flex}.pig{gap:var(--space-5);display:grid}.pig .page-head{margin-bottom:0}.pig-total{margin:0}.pig-total dt{margin-bottom:var(--space-2);color:var(--color-field-muted);font-size:var(--text-sm)}.pig-total dd{overflow-wrap:anywhere;margin:0}.pig-list{margin:0;padding:0;list-style:none}.pig-moves__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.pig-item{align-content:start;gap:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);padding:24px;display:grid}.pig-item__head{align-items:center;gap:var(--space-4);display:flex}.pig-item__title{min-width:0}.pig-item__name{font-size:var(--text-lg)}.pig-item__saved{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.pig-item__hint{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.pig-ring{flex:none;width:64px;height:64px;position:relative}.pig-ring svg{display:block;transform:rotate(-90deg)}.pig-ring__percent{font-size:13px;font-weight:var(--weight-semibold);place-items:center;display:grid;position:absolute;inset:0}.pig-form,.pig-confirm,.pig-moves{gap:var(--space-4);display:grid}.pig-confirm{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.pig-form__pair{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.pig-moves__item{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.pig-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.pig-actions--dialog{justify-content:flex-end}@media (width<=40rem){.pig-actions--dialog>*{flex:100%}}.pig-empty{color:var(--color-ink-muted)}.advice{gap:var(--space-5);max-width:var(--content-reading);display:grid}.advice .page-head{margin-bottom:0}.advice__notice,.advice__empty{gap:var(--space-4);justify-items:start;display:grid}.advice__notice p,.advice__empty p{margin:0}.advice__result{gap:var(--space-3);display:grid}.advice__period{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.advice__period legend{margin-bottom:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold)}.advice__option{border-radius:var(--radius-pill);background:var(--color-field-raised);min-height:2.75rem;color:var(--color-field-ink);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out);align-items:center;padding:0 1.125rem;display:inline-flex;position:relative}.advice__option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.advice__option:has(input:checked){background:var(--color-accent);color:var(--color-accent-ink);font-weight:var(--weight-semibold)}.advice__option:has(input:focus-visible){outline:2px solid var(--color-field-accent);outline-offset:3px}.advice__option:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.advice__option:hover:not(:has(input:checked)){background:color-mix(in srgb, var(--color-field-raised) 80%, var(--color-field-ink))}}.advice__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.advice__status{min-height:1.5em;color:var(--color-ink-muted);margin:0}.advice__label{font-weight:var(--weight-medium)}.advice__text{width:100%;padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-ink);font-family:var(--font-text);font-size:var(--text-sm);resize:vertical}.ai-facts{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.ai-examples{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.ai-examples caption{text-align:left;color:var(--color-ink-muted);padding-bottom:var(--space-2)}.ai-examples th,.ai-examples td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-line);overflow-wrap:anywhere}.settings-legal{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.settings-dialog-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=40rem){.settings-dialog-actions>*{flex:100%}}.cat-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.cat-list{margin:0;padding:0;list-style:none;display:grid}.cat-row{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4) 0;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.cat-row+.cat-row{border-top:1px solid var(--color-surface-sunken)}.cat-row__name{font-weight:var(--weight-semibold);overflow-wrap:break-word}.cat-row__meta{color:var(--color-ink-muted);font-size:var(--text-sm)}.cat-row__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.cat-row__confirm{grid-column:1/-1}.cat-defaults{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-surface-sunken)}.cat-defaults summary{padding-block:var(--space-2);font-weight:var(--weight-medium);cursor:pointer}.cat-chips{gap:var(--space-2);margin:var(--space-3) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.cat-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-sunken);font-size:var(--text-sm);display:inline-flex}.mode-choice{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.mode-choice__option{align-items:flex-start;gap:var(--space-3);min-height:2.75rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--t-hover) ease;background:0 0;display:flex}.mode-choice__option:hover{background:var(--color-surface-sunken)}.mode-choice__option:has(input:checked){background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}.mode-choice__option:has(input:checked) .cat-row__meta{color:inherit}.mode-choice__option:has(input:focus-visible){outline:2px solid var(--color-ink);outline-offset:2px}.mode-choice__option input{accent-color:var(--color-accent-text);margin-top:.2rem}.mode-choice__option>span{display:grid}.mode-choice__label{font-weight:var(--weight-medium)}.card-days-block{margin-top:var(--space-6)}.card-days-block__title{margin-bottom:var(--space-3);font-weight:var(--weight-semibold)}.card-days-list{margin:0;padding:0;list-style:none;display:grid}.card-days{padding:var(--space-4) 0}.card-days+.card-days{border-top:1px solid var(--color-surface-sunken)}.card-days__warning{margin:var(--space-1) 0 var(--space-3);color:var(--color-ink-muted);font-size:var(--text-sm)}.card-days__fields{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.card-days__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=39.99rem){.card-days__actions>button{flex:100%;min-height:2.75rem}.cat-row__actions{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.cat-row__actions .item-action{justify-content:center;min-height:2.75rem}}.ledger{gap:var(--space-5);display:grid}.ledger__fallback-title{font-size:var(--text-3xl);letter-spacing:var(--tracking-display)}.ledger__head{margin-bottom:0}.ledger__view{animation:rise var(--t-page) var(--ease-out) both;touch-action:pan-y;align-items:start;gap:20px;display:grid}.ledger__view[data-direction=forward]{animation:view-forward var(--t-page) var(--ease-out) both}.ledger__view[data-direction=back]{animation:view-back var(--t-page) var(--ease-out) both}@keyframes view-forward{0%{opacity:0;transform:translate(32px)}}@keyframes view-back{0%{opacity:0;transform:translate(-32px)}}.ledger__totals{gap:var(--space-5);align-items:center;display:grid}.spending{gap:var(--space-2);display:grid}.spending__label{color:var(--color-ink-muted)}.spending__figure{overflow-wrap:anywhere}.spending__credit{font-size:var(--text-xl);color:var(--color-income);display:block}.spending__note{max-width:34ch;color:var(--color-ink-muted)}.spending__note .money{color:var(--color-ink);font-weight:var(--weight-medium)}.month-facts{gap:var(--space-1);margin:0;display:grid}.month-facts__count{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.month-facts__bill{margin:0}.month-facts__row{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-surface-sunken);flex-wrap:wrap;display:flex}.month-facts__row:last-child{border-bottom:0}.month-facts dt{color:var(--color-ink-muted)}.month-facts dd{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:0}.ledger__list{min-width:0}.ledger-list{gap:0;display:grid}.day{gap:var(--space-1);padding-top:20px;display:grid}.day__title{align-items:baseline;gap:0 var(--space-3);padding:0 16px var(--space-1);color:var(--color-ink-muted);font-family:var(--font-text);font-size:13px;font-weight:var(--weight-medium);flex-wrap:wrap;display:flex}.day__weekday{font-weight:var(--weight-regular)}.day__list{padding:0;list-style:none;display:grid}.tx{align-items:center;gap:.25rem var(--space-3);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto 2.25rem;grid-template-areas:"dot desc amount del""dot meta amount del"".transfer transfer transfer"".actions actions actions";padding:14px 16px;display:grid}.tx+.tx{border-top:1px solid var(--color-surface-sunken)}@media (hover:hover) and (pointer:fine){.tx{transition:background-color var(--t-hover) ease}.tx:hover{background:var(--color-surface-sunken)}}.tx__dot{grid-area:dot;align-self:start;margin-top:.45rem}.tx__desc{overflow-wrap:anywhere;grid-area:desc;min-width:0;font-weight:560}.tx__meta{min-width:0;color:var(--color-ink-muted);flex-wrap:wrap;grid-area:meta;align-items:center;gap:6px;font-size:13px;display:flex}.tx__meta>*+:before{content:"·";color:var(--color-ink-subtle);margin-right:6px}.tx__cat{min-width:0;font-size:13px}.tx__cat:has(.tx__picker){flex-basis:100%}.tx__category-button{min-height:1.75rem;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-ink-muted);font:inherit;cursor:pointer;transition:transform var(--t-press) var(--ease-out);border:0}.tx__category-button[data-empty=true]{background:var(--color-accent-soft);color:var(--color-accent-soft-ink);font-weight:var(--weight-medium)}.tx__category-button:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.tx__category-button:hover{background:var(--color-surface-strong)}}.tx__category-button:focus-visible,.tx__option:focus-visible{outline:var(--focus-ring);outline-offset:2px}.tx__origin{color:var(--color-ink-muted)}.tx__picker{gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);display:grid}.tx__options{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tx__option{min-height:2.25rem;padding:0 var(--space-3);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);color:var(--color-ink);font:inherit;cursor:pointer;background:0 0}@media (hover:hover) and (pointer:fine){.tx__option:hover:not(:disabled){background:var(--color-surface-strong)}}.tx__option:active:not(:disabled){transform:scale(.97)}.tx__option[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent-soft-ink);border-color:var(--color-accent)}.ledger-notice{color:var(--color-accent-soft-ink);font-weight:var(--weight-medium)}.ledger-notice:empty{display:none}.ledger-account{max-width:24rem;padding:var(--space-4) var(--space-5)}.search-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.search-head__title{min-width:0;font-size:var(--text-lg);overflow-wrap:anywhere}@media (width<=39.99rem){.ledger__head .page-head__actions{grid-template-columns:1fr;width:100%;display:grid}.ledger__head .page-head__actions>*,.ledger__head .manual-add>.button{justify-content:center;width:100%}.ledger__head .manual-add{grid-template-columns:minmax(0,1fr)}}@media (width>=30rem) and (width<=39.99rem){.ledger__head .page-head__actions{grid-template-columns:1fr 1fr}}.ledger>*{min-width:0}.ledger-toolbar{align-items:stretch;gap:var(--space-4);flex-wrap:wrap;display:flex}.ledger-toolbar>.ledger-account{flex:100%;min-width:0;max-width:none}@media (width>=40rem){.ledger-toolbar>.ledger-account{flex:2 1 0}.ledger-toolbar>.ledger-account:first-child{flex-grow:3}}.search-month__title{margin-block:var(--space-4) var(--space-2);font-family:var(--font-display)}.search-month__title:first-letter{text-transform:uppercase}.ledger-filter{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.tx__amount{font-family:var(--font-display);font-weight:var(--weight-semibold);white-space:nowrap;grid-area:amount;justify-self:end}.tx__transfer{grid-area:transfer}.icon-button.tx__delete{color:var(--color-danger);opacity:.45;border-color:#0000;grid-area:del}.tx:hover .tx__delete,.tx:focus-within .tx__delete,.tx__delete:focus-visible{opacity:1}.tx[data-nature=refund] .tx__amount,.tx[data-nature=income] .tx__amount,.tx[data-nature=refund] .tx__nature{color:var(--color-income)}.tx[data-nature=bill_payment] .tx__amount,.tx[data-nature=own_transfer] .tx__amount{color:var(--color-ink-muted);font-weight:var(--weight-medium)}.tx__actions{grid-area:actions;min-width:0}.tx__confirm,.tx__confirm-buttons{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.manual-add{justify-items:start;display:grid}.manual-form{gap:var(--space-4);width:100%;display:grid}.manual-form__pair{gap:var(--space-4);display:grid}.manual-form__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=39.99rem){.manual-form__actions>*{flex:100%}}@media (width>=40rem){.manual-form__pair{grid-template-columns:1fr 1fr}}.tx--skeleton{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"desc amount""meta amount"}.tx--skeleton>:first-child{grid-area:desc}.tx--skeleton>:nth-child(2){grid-area:meta}@media (width<=29.99rem){.tx{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"dot desc amount"".meta del"".transfer transfer"".actions actions";align-items:start}.tx__desc{overflow-wrap:anywhere}.tx--skeleton{grid-template-areas:"desc amount""meta meta"}}.ledger-empty,.ledger-problem{justify-items:start;gap:var(--space-3);padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.ledger-empty__title,.ledger-problem__title{max-width:24ch;font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);line-height:var(--leading-tight)}.ledger-empty__text,.ledger-problem__text{max-width:44ch;color:var(--color-ink-muted)}.ledger-empty .button{margin-top:var(--space-2)}@media (width>=48rem){.ledger__totals{gap:var(--space-7);grid-template-columns:minmax(0,1fr) auto}.ledger__totals .month-facts{text-align:right;align-self:end;justify-items:end}}@media (width>=60rem){.ledger{gap:var(--space-6)}.ledger-empty{padding:var(--space-7) var(--space-6);grid-column:1/-1}}.money-pick{gap:var(--space-3);display:grid}.money-pick__option{gap:var(--space-1);min-height:2.75rem;padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--t-hover) ease;background:0 0;display:grid}.money-pick__option:hover:not(:disabled){background:var(--color-accent-soft)}.money-pick__option:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.money-pick__option:disabled{opacity:.6;cursor:default}.money-pick__label{font-weight:var(--weight-semibold)}.money-pick__hint{color:var(--color-ink-muted);font-size:var(--text-sm)}.home-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;display:grid}.home-span-12{grid-column:span 12}.home-span-7{grid-column:span 7}.home-span-5{grid-column:span 5}.home-span-6{grid-column:span 6}.home-card{background:var(--color-surface);border-radius:var(--radius-lg);min-width:0;padding:28px}.home-card__head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.home-card__head h2{font-size:var(--text-xl);margin:0}.home-card__link{color:var(--color-ink-muted);white-space:nowrap;font-size:14px;text-decoration:none}.home-card__empty{color:var(--color-ink-muted);margin:0}.home-dot{background:var(--home-dot,var(--color-ink));border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.home-dot--striped{background:repeating-linear-gradient(135deg, var(--color-projected) 0 2px, var(--color-projected-soft) 2px 4px)}.home-hero__body{grid-template-columns:1fr 1fr;align-items:center;gap:32px;display:grid}.home-hero__eyebrow{color:var(--color-ink-muted);margin:0 0 12px;font-size:14px}.home-hero__eyebrow:first-letter{text-transform:uppercase}.home-hero__title{margin:0;font-size:clamp(40px,4.6vw,68px);line-height:1}.home-hero__title em{background:var(--color-accent);color:var(--color-accent-ink);border-radius:.18em;padding:0 .14em;font-style:normal}.home-hero__title em[data-negative=true]{background:var(--color-danger-soft);color:var(--color-danger-soft-ink)}.home-hero__cta{margin:16px 0 0}.home-facts{margin:0;padding:0;list-style:none}.home-facts__row{border-bottom:1px solid var(--color-surface-sunken);align-items:center;gap:10px;padding:14px 0;display:flex}.home-facts__row:last-child{border-bottom:0}.home-facts__label{flex:1}.home-facts__value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}.home-facts__note{color:var(--color-ink-muted);margin:0 0 0 20px;font-size:13px}.home-ribbon{border-radius:16px;gap:3px;height:56px;margin-top:28px;display:flex;overflow:hidden}.home-ribbon__seg{background:var(--home-dot,var(--color-ink));flex-basis:0;min-width:2px;transition:opacity .16s}.home-ribbon__seg--pending{background:repeating-linear-gradient(135deg, var(--color-projected) 0 3px, var(--color-projected-soft) 3px 8px)}.home-ribbon__seg--left{background:var(--color-surface-sunken)}.home-legend{color:var(--color-ink-muted);flex-wrap:wrap;gap:8px 20px;margin:16px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.home-legend li{align-items:center;gap:8px;display:inline-flex}.home-legend .money{color:var(--color-ink);font-weight:700}.home-pace__svg{width:100%;height:auto;display:block}.home-pace__legend{color:var(--color-ink-muted);flex-wrap:wrap;gap:8px 20px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.home-pace__legend li{align-items:center;gap:8px;display:inline-flex}.home-pace__today{color:var(--color-ink-muted);font-size:14px}.home-pace__today .money{color:var(--color-ink);font-weight:600}.home-bills{gap:4px;margin:0;padding:0;list-style:none;display:grid}.home-bill{border-radius:18px;align-items:center;gap:14px;margin:0 -8px;padding:8px;display:flex}.home-bill__day{background:var(--color-surface-sunken);border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:52px;height:52px;line-height:1.1;display:flex}.home-bill__day strong{font-family:var(--font-display);font-size:18px}.home-bill__weekday{color:var(--color-ink-muted);text-transform:uppercase;font-size:11px}.home-bill__text{flex:1;min-width:0}.home-bill__name{text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:560;overflow:hidden}.home-bill__meta{color:var(--color-ink-muted);margin:0;font-size:13px}.home-dark{background:var(--color-field);color:var(--color-field-ink)}.home-dark .home-card__link,.home-dark__label{color:var(--color-field-muted)}.home-dark__label{margin:0;font-size:14px}.home-dark__figure{font-family:var(--font-display);margin:4px 0 16px;font-size:40px;font-weight:600;line-height:1.1}.home-dark a:not(.home-card__link){color:var(--color-field-accent)}.home-alert{border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger-soft-ink);align-items:center;gap:8px;margin:0 0 16px;padding:10px 14px;font-size:14px;display:flex}.home-bars{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.home-bars__col{flex-direction:column;align-items:center;min-width:0;display:flex}.home-bars__value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-bottom:6px;font-size:14px;overflow:hidden}.home-bars__plot{display:contents}.home-bars__up,.home-bars__down{justify-content:center;width:100%;display:flex}.home-bars__up{border-bottom:1px solid var(--color-field-raised);align-items:flex-end;height:150px}.home-bars__down{align-items:flex-start;height:56px}.home-bars__bar{width:min(100%,36px);height:calc(var(--ratio,0) * 150px);background:var(--color-projected);border-radius:8px}.home-bars__bar--current{background:var(--color-accent)}.home-bars__bar--negative{height:calc(var(--ratio,0) * 56px);background:var(--color-expense)}.home-bars__month{color:var(--color-field-muted);text-transform:capitalize;margin-top:6px;font-size:13px}.home-budgets{gap:18px;margin:0;padding:0;list-style:none;display:grid}.home-budget__top{align-items:center;gap:8px;margin-bottom:8px;display:flex}.home-budget__name{flex:1;min-width:0;font-weight:560}.home-budget__of{color:var(--color-ink-muted);font-size:13px}.home-budget__track{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:10px;overflow:hidden}.home-budget__fill{border-radius:var(--radius-pill);background:var(--home-dot,var(--color-ink));height:100%}.home-budget__status{color:var(--color-ink-muted);margin:6px 0 0;font-size:13px}.home-budget__status--over{color:var(--color-expense);font-weight:600}.home-shelf{scroll-snap-type:x mandatory;gap:16px;padding-bottom:4px;display:flex;overflow-x:auto}.home-month{scroll-snap-align:start;background:var(--color-surface-sunken);color:var(--color-ink);border-radius:22px;flex:0 0 220px;padding:18px;text-decoration:none;display:block}.home-month__name{font-family:var(--font-display);text-transform:capitalize;margin:0 0 12px;font-size:24px}.home-month__ribbon{border-radius:var(--radius-pill);background:var(--color-surface);gap:2px;height:10px;margin-bottom:14px;display:flex;overflow:hidden}.home-month__ribbon span{background:var(--home-dot,var(--color-ink));flex-basis:0}.home-month__line{color:var(--color-ink-muted);margin:0;font-size:14px}.home-month__line .money{color:var(--color-ink);font-weight:600}.home-month__line--good .money{color:var(--color-income)}.home-month__line--bad .money{color:var(--color-expense)}.home-piggies{gap:16px;margin:0;padding:0;list-style:none;display:grid}.home-piggy{align-items:center;gap:16px;display:flex}.home-piggy__ring{flex:none;width:64px;height:64px;position:relative}.home-piggy__ring svg{display:block;transform:rotate(-90deg)}.home-piggy__percent{place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.home-piggy__name{margin:0;font-weight:560}.home-piggy__meta{color:var(--color-ink-muted);margin:0;font-size:13px}.home-todo{gap:10px;margin:0;padding:0;list-style:none;display:grid}.home-task{background:var(--color-surface-sunken);color:var(--color-ink);border-radius:20px;align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.home-task__icon{background:var(--color-accent);width:44px;height:44px;color:var(--color-accent-ink);border-radius:14px;flex:none;place-items:center;display:grid}.home-task__icon--projected{background:var(--color-projected-soft);color:var(--color-projected)}.home-task__title{margin:0;font-weight:560}.home-task__sub{color:var(--color-ink-muted);margin:0;font-size:13px}.home-card :where(a):focus-visible,.home-task:focus-visible,.home-month:focus-visible{outline:2px solid var(--color-focus,currentColor);outline-offset:2px}@media (hover:hover) and (pointer:fine){.home-card__link:hover{color:var(--color-ink)}.home-dark .home-card__link:hover{color:var(--color-field-ink)}.home-ribbon:hover .home-ribbon__seg{opacity:.55}.home-ribbon:hover .home-ribbon__seg:hover{opacity:1}.home-bill:hover{background:var(--color-surface-sunken)}.home-month{transition:transform .2s ease-out}.home-month:hover{transform:translateY(-3px)}}@media (width<=960px){.home-span-7,.home-span-5,.home-span-6{grid-column:span 12}.home-hero__body{grid-template-columns:1fr;gap:24px}}@media (width<=560px){.home-grid{gap:14px}.home-card{padding:20px}.home-ribbon{height:40px}.home-dark__figure{font-size:32px}.home-bars{grid-template-columns:minmax(0,1fr);gap:12px}.home-bars__col{grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.home-bars__month{grid-area:1/1;margin:0}.home-bars__plot{grid-area:1/2;display:block}.home-bars__value{grid-area:1/3;max-width:none;margin:0;overflow:visible}.home-bars__up,.home-bars__down{border:0;height:auto;display:block}.home-bars__bar,.home-bars__bar--negative{width:calc(var(--ratio,0) * 100%);border-radius:7px;min-width:6px;height:14px}.home-shelf{margin-inline:-20px;padding-inline:20px;scroll-padding-inline:20px}.home-month{flex-basis:calc(100% - 56px)}}@media (prefers-reduced-motion:reduce){.home-ribbon__seg,.home-month{transition:none}.home-month:hover{transform:none}}
