:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f7;--surface:#fff;--surface-2:#eef0f4;--surface-3:#e3e6ec;--border:#e2e5ea;--border-strong:#c7ccd6;--text:#14171c;--muted:#565d69;--faint:#7b828f;--accent:#2b5fd9;--accent-hover:#2450bb;--accent-ink:#fff;--accent-soft:#e6ecfb;--over:#b3261e;--over-soft:#fceae8;--under:#126e3f;--under-soft:#e4f2ea;--savings:#5a46a8;--savings-soft:#ece8f8;--savings-edge:#7f6cc9;--backdrop:#00000073;--warn:#8a5300;--warn-soft:#fbf0dc;--a-neutral:#5c6670;--a-red:#b3261e;--a-orange:#b8591a;--a-amber:#7d6400;--a-green:#126e3f;--a-teal:#0f7f6c;--a-blue:#2b5fd9;--a-indigo:#41479b;--a-violet:#6b4ea8;--a-pink:#a3365b;--chart-grid:#14171c1a;--chart-ink:#14171c;--radius:16px;--radius-sm:10px;--radius-pill:999px;--shadow-1:0 1px 2px #10141c0d, 0 4px 14px #10141c0d;--shadow-2:0 2px 6px #10141c1a, 0 16px 40px #10141c24;--focus:#2b5fd9;--tabbar-h:56px;--header-h:52px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--sp-05:2px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num:var(--font);--dur-count:.24s;--dur-bar:.2s;--dur-sheet-in:.22s;--dur-sheet-out:.18s;--dur-toast:.16s;--dur-press:80ms;--ease-out-soft:cubic-bezier(.2, .8, .3, 1);--ease-in:ease-in;--gutter:var(--sp-4);--content-max:720px;--rail-w:240px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--surface:#171a20;--surface-2:#1f232b;--surface-3:#282d36;--border:#272c35;--border-strong:#3c424e;--text:#e9ebef;--muted:#a4abb7;--faint:#828a97;--accent:#8aa6ff;--accent-hover:#a2b8ff;--accent-ink:#0f1115;--accent-soft:#1e2744;--over:#ff8d80;--over-soft:#3a1d1a;--under:#5fd194;--under-soft:#12301f;--savings:#b3a0f5;--savings-soft:#241f3d;--savings-edge:#d4c8ff;--backdrop:#0009;--warn:#e7b25e;--warn-soft:#332814;--a-neutral:#9aa3ae;--a-red:#ff8d80;--a-orange:#e8995c;--a-amber:#cdb04a;--a-green:#5fd194;--a-teal:#4fc3ad;--a-blue:#8aa6ff;--a-indigo:#9aa0ef;--a-violet:#b3a0f5;--a-pink:#f08aa7;--chart-grid:#e9ebef1f;--chart-ink:#e9ebef;--focus:#8aa6ff;--shadow-1:0 1px 2px #0006, 0 4px 14px #0000004d;--shadow-2:0 2px 6px #00000080, 0 16px 40px #00000073}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--surface:#171a20;--surface-2:#1f232b;--surface-3:#282d36;--border:#272c35;--border-strong:#3c424e;--text:#e9ebef;--muted:#a4abb7;--faint:#828a97;--accent:#8aa6ff;--accent-hover:#a2b8ff;--accent-ink:#0f1115;--accent-soft:#1e2744;--over:#ff8d80;--over-soft:#3a1d1a;--under:#5fd194;--under-soft:#12301f;--savings:#b3a0f5;--savings-soft:#241f3d;--savings-edge:#d4c8ff;--backdrop:#0009;--warn:#e7b25e;--warn-soft:#332814;--a-neutral:#9aa3ae;--a-red:#ff8d80;--a-orange:#e8995c;--a-amber:#cdb04a;--a-green:#5fd194;--a-teal:#4fc3ad;--a-blue:#8aa6ff;--a-indigo:#9aa0ef;--a-violet:#b3a0f5;--a-pink:#f08aa7;--chart-grid:#e9ebef1f;--chart-ink:#e9ebef;--focus:#8aa6ff;--shadow-1:0 1px 2px #0006, 0 4px 14px #0000004d;--shadow-2:0 2px 6px #00000080, 0 16px 40px #00000073}*,:before,:after{box-sizing:border-box}html{text-size-adjust:100%;height:100%}body{min-height:100%;font-family:var(--font);color:var(--text);background:var(--bg);overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:24px}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit;margin:0}button{cursor:pointer;color:inherit;background:0 0;border:0;padding:0}a{color:var(--accent);text-decoration:none}img,svg{max-width:100%;display:block}svg{flex:none}table{border-collapse:collapse}.t-display{letter-spacing:-.02em;font-size:40px;font-weight:680;line-height:44px}.t-xl{letter-spacing:-.015em;font-size:28px;font-weight:660;line-height:34px}.t-l{letter-spacing:-.01em;font-size:22px;font-weight:640;line-height:28px}.t-m{font-size:17px;font-weight:400;line-height:24px}.t-m-strong{font-size:17px;font-weight:600;line-height:24px}.t-s{font-size:15px;font-weight:400;line-height:20px}.t-xs{font-size:13px;font-weight:400;line-height:18px}.t-xxs{letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:14px}:root[lang=ru] .t-xxs{letter-spacing:.04em}.ink-muted{color:var(--muted)}.ink-faint{color:var(--faint)}.ink-over{color:var(--over)}.ink-under{color:var(--under)}.ink-savings{color:var(--savings)}.ink-warn{color:var(--warn)}.ink-accent{color:var(--accent)}.num,.money{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wrap-anywhere{overflow-wrap:anywhere}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{top:calc(var(--safe-t) + var(--sp-2));left:calc(var(--safe-l) + var(--sp-4));z-index:100;transform:translateY(calc(-200% - var(--safe-t)));padding:var(--sp-2) var(--sp-4);background:var(--surface);min-height:44px;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);align-items:center;font-size:15px;line-height:20px;display:inline-flex;position:fixed}.skip-link:focus-visible,.skip-link:focus{transform:translateY(0)}#app{flex-direction:column;min-height:100dvh;display:flex}.app-shell{flex-direction:column;flex:auto;min-height:100dvh;display:flex}.app-header{z-index:30;padding-top:var(--safe-t);padding-left:calc(var(--gutter) + var(--safe-l));padding-right:calc(var(--gutter) + var(--safe-r));background:var(--bg);transition:border-color var(--dur-press) linear;border-bottom:1px solid #0000;position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.app-header{-webkit-backdrop-filter:saturate(1.6)blur(12px);backdrop-filter:saturate(1.6)blur(12px)}}.app-header[data-scrolled=true]{border-bottom-color:var(--border)}.app-header__row{min-height:var(--header-h);align-items:center;gap:var(--sp-2);grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);display:grid}.app-header__left{justify-self:start;align-items:center;gap:var(--sp-1);display:flex}.app-header__centre{justify-self:center;align-items:center;gap:var(--sp-2);min-width:0;display:flex}.app-header__right{justify-self:end;align-items:center;gap:var(--sp-1);display:flex}.app-header__title{letter-spacing:-.01em;text-align:center;font-size:22px;font-weight:640;line-height:28px}.app-main{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-left:calc(var(--gutter) + var(--safe-l));padding-right:calc(var(--gutter) + var(--safe-r));padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + var(--sp-6));flex:auto;position:relative}.app-main--bare{padding-bottom:calc(var(--safe-b) + var(--sp-10))}.app-main__inner{max-width:var(--content-max);margin:0 auto}.scroll-sentinel{pointer-events:none;height:1px;margin-bottom:-1px}.ptr{pointer-events:none;z-index:5;justify-content:center;display:flex;position:absolute;top:0;left:0;right:0}.ptr__icon{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);width:32px;height:32px;box-shadow:var(--shadow-1);color:var(--muted);place-items:center;display:grid}.ptr--armed .ptr__icon{color:var(--accent);border-color:var(--accent)}.ptr--busy .ptr__icon svg{animation:.8s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}.tabbar{z-index:40;background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-b);padding-left:var(--safe-l);padding-right:var(--safe-r);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar[hidden]{display:none}.tab{min-height:var(--tabbar-h);justify-content:center;align-items:center;gap:var(--sp-05);min-width:44px;padding:var(--sp-1) var(--sp-05);color:var(--faint);flex-direction:column;text-decoration:none;transition:none;display:flex;position:relative}.tab__label{letter-spacing:.06em;text-transform:uppercase;text-align:center;font-size:11px;font-weight:600;line-height:14px}:root[lang=ru] .tab__label{letter-spacing:.04em}.tab[aria-current=page]{color:var(--accent)}.tab:active{background:var(--surface-3)}.tab--add{justify-content:center}.tab--add .tab__disc{border-radius:var(--radius-pill);background:var(--accent);width:36px;height:36px;color:var(--accent-ink);box-shadow:var(--shadow-1);place-items:center;display:grid;transform:translateY(-2px)}.tab--add:active .tab__disc{background:var(--accent-hover)}@media (min-width:840px){.app-shell--chrome{padding-left:var(--rail-w)}.tabbar{width:var(--rail-w);align-content:start;gap:var(--sp-05);padding:calc(var(--safe-t) + var(--sp-4)) var(--sp-2) calc(var(--safe-b) + var(--sp-4));border-top:0;border-right:1px solid var(--border);grid-template-columns:1fr;grid-auto-rows:max-content;top:0;bottom:0;right:auto}.tab{justify-content:flex-start;gap:var(--sp-3);min-height:48px;padding:0 var(--sp-3);border-radius:var(--radius-sm);flex-direction:row}.tab__label{letter-spacing:0;text-transform:none;text-align:left;font-size:15px;font-weight:500;line-height:20px}.tab[aria-current=page]{background:var(--accent-soft);font-weight:600}.tab--add .tab__disc{width:28px;height:28px;transform:none}.app-main{padding-bottom:calc(var(--safe-b) + var(--sp-10))}.app-header{padding-left:calc(var(--gutter) + var(--safe-l))}}.tab--rail-only{display:none}@media (min-width:840px){.tab--rail-only{display:flex}}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:var(--radius);padding:var(--sp-4)}.card--hero{padding:var(--sp-5);background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%)}.card--flush{padding:0;overflow:hidden}.card--tappable:active{background:var(--surface-3)}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.stack--tight{gap:var(--sp-2)}.stack--loose{gap:var(--sp-6)}.row{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.row--between{justify-content:space-between}.section-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 var(--sp-1) var(--sp-2);font-size:11px;font-weight:600;line-height:14px}.list-row{align-items:center;gap:var(--sp-3);width:100%;min-height:44px;padding:var(--sp-3) var(--sp-4);text-align:left;color:inherit;border-bottom:1px solid var(--border);display:flex}.list-row:last-child{border-bottom:0}.list-row:active{background:var(--surface-3)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-width:44px;min-height:44px;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);border:1px solid #0000;font-size:17px;font-weight:600;line-height:24px;display:inline-flex}.btn:active{background:var(--surface-3)}.btn[disabled]{opacity:.45;cursor:default}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:active{background:var(--accent-hover)}.btn--ghost{background:0 0}.btn--ghost:active{background:var(--surface-2)}.btn--outline{border-color:var(--border-strong);background:0 0}.btn--danger{background:var(--over);color:#fff}.btn--block{width:100%}.icon-btn{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text);place-items:center;display:inline-grid}.icon-btn:active{background:var(--surface-2)}.hit-44{position:relative}.hit-44:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.icon{flex:none;display:block}.cat-tile{border-radius:var(--radius-sm);background:var(--surface-2);width:36px;height:36px;color:var(--a-neutral);flex:none;place-items:center;display:grid}.cat-tile--sm{border-radius:var(--sp-2);width:28px;height:28px}.cat-tile--lg{border-radius:var(--radius);width:48px;height:48px}.badge{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);font-size:13px;font-weight:600;line-height:18px;display:inline-flex}.badge--over{background:var(--over-soft);color:var(--over)}.badge--under{background:var(--under-soft);color:var(--under)}.badge--savings{background:var(--savings-soft);color:var(--savings)}.badge--warn{background:var(--warn-soft);color:var(--warn)}.badge--accent{background:var(--accent-soft);color:var(--accent)}.offline-badge{align-items:center;gap:var(--sp-1);height:24px;padding:0 var(--sp-2);border-radius:var(--radius-pill);background:var(--warn-soft);color:var(--warn);white-space:nowrap;font-size:13px;font-weight:600;line-height:18px;display:inline-flex}.field{gap:var(--sp-1);flex-direction:column;display:flex}.field__label{color:var(--muted);font-size:13px;font-weight:600;line-height:18px}.field__hint{color:var(--faint);font-size:13px;line-height:18px}.field__error{align-items:center;gap:var(--sp-1);color:var(--over);font-size:13px;line-height:18px;display:flex}.input{width:100%;min-height:44px;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);appearance:none;font-size:17px;line-height:24px}.input::placeholder{color:var(--faint)}.input[aria-invalid=true]{border-color:var(--over)}.input--amount{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;text-align:right}.input--amount-large{letter-spacing:-.015em;min-height:52px;font-size:32px;font-weight:660;line-height:40px}.input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sheet{background:var(--surface);width:100%;max-width:100%;max-height:92dvh;color:var(--text);box-shadow:var(--shadow-2);border-radius:var(--radius) var(--radius) 0 0;padding:0;padding-bottom:calc(var(--sp-4) + var(--safe-b));border:0;margin:0 auto auto;position:fixed;inset:auto 0 0}dialog::backdrop{background:#00000073;background:var(--backdrop,#00000073)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) dialog::backdrop{background:#0009}}:root[data-theme=dark] dialog::backdrop{background:#0009}.sheet__head{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-4) var(--sp-2);display:flex}.sheet__title{letter-spacing:-.01em;font-size:22px;font-weight:640;line-height:28px}.sheet__body{padding:0 var(--sp-4);overscroll-behavior:contain;overflow-y:auto}.sheet__foot{padding:var(--sp-4) var(--sp-4) 0}.sheet--sticky-fallback{position:sticky;bottom:0}.dialog{padding:var(--sp-5);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow-2);max-width:320px;width:calc(100% - var(--sp-8));border:0}.toast-host{left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-b) + var(--sp-2));z-index:50;align-items:center;gap:var(--sp-2);padding:0 calc(var(--gutter) + var(--safe-l)) 0 calc(var(--gutter) + var(--safe-r));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;align-items:center;gap:var(--sp-3);width:100%;max-width:420px;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);animation:toast-in var(--dur-toast) ease-out;font-size:15px;line-height:20px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:840px){.toast-host{bottom:calc(var(--safe-b) + var(--sp-4));left:var(--rail-w)}}.empty{align-items:center;gap:var(--sp-3);text-align:center;padding:var(--sp-10) var(--sp-4);color:var(--muted);flex-direction:column;display:flex}.errorbox{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);background:var(--over-soft);color:var(--over);font-size:15px;line-height:20px;display:flex}.spinner{border-radius:var(--radius-pill);border:2px solid var(--surface-3);border-top-color:var(--accent);width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.segmented{gap:var(--sp-05);padding:var(--sp-05);border-radius:var(--radius-pill);background:var(--surface-2);grid-auto-columns:1fr;grid-auto-flow:column;width:100%;display:inline-grid}.segmented__option{min-height:40px;padding:0 var(--sp-3);border-radius:var(--radius-pill);color:var(--muted);justify-content:center;align-items:center;gap:var(--sp-1);font-size:15px;font-weight:500;line-height:20px;display:inline-flex}.segmented__option[aria-selected=true],.segmented__option[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);font-weight:600}.toggle{border-radius:var(--radius-pill);background:var(--surface-3);width:51px;height:31px;transition:background var(--dur-press) linear;flex:none;position:relative}.toggle[aria-checked=true]{background:var(--accent)}.toggle__knob{border-radius:var(--radius-pill);width:27px;height:27px;box-shadow:var(--shadow-1);transition:transform var(--dur-press) linear;background:#fff;position:absolute;top:2px;left:2px}.toggle[aria-checked=true] .toggle__knob{transform:translate(20px)}.infotip{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--muted);background:var(--surface-2);place-items:center;display:inline-grid}.infotip__popover{z-index:60;max-width:280px;padding:var(--sp-3);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);color:var(--text);font-size:13px;line-height:18px;position:absolute}.chart{color:var(--chart-ink)}.chart__grid{stroke:var(--chart-grid)}.a-neutral{color:var(--a-neutral)}.a-red{color:var(--a-red)}.a-orange{color:var(--a-orange)}.a-amber{color:var(--a-amber)}.a-green{color:var(--a-green)}.a-teal{color:var(--a-teal)}.a-blue{color:var(--a-blue)}.a-indigo{color:var(--a-indigo)}.a-violet{color:var(--a-violet)}.a-pink{color:var(--a-pink)}@media (prefers-reduced-motion:reduce){:root{--dur-count:0s;--dur-bar:0s;--dur-sheet-in:0s;--dur-sheet-out:0s;--dur-toast:0s;--dur-press:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.toast,.ptr--busy .ptr__icon svg{animation:none}}.budget{gap:var(--sp-4);padding-top:var(--sp-2);flex-direction:column;display:flex}.budget__loading{min-height:240px}.budget__banner{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--text);display:flex}.budget__banner .icon{color:var(--warn);margin-top:2px}.budget__group{flex-direction:column;display:flex}.budget__row{align-items:center;column-gap:var(--sp-3);row-gap:var(--sp-1);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) 120px;display:grid}.budget__row:last-child{border-bottom:0}.budget__row--archived{opacity:.85}.budget__name{align-items:center;gap:var(--sp-1);min-width:0;display:inline-flex}.budget__archive{color:var(--muted);flex:none}.budget__amount{width:120px}.budget__amount .ui-amount{text-align:right}.budget__error{color:var(--over);text-align:right;grid-column:1/-1;margin:0}.budget__zero{padding:0 var(--sp-1);margin:0}.budget__forward{gap:var(--sp-1);flex-direction:column;display:flex}.budget__forward p{margin:0}.budget__foot{bottom:calc(var(--tabbar-h) + var(--safe-b) + var(--sp-2));z-index:20;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2,var(--shadow-1));flex-direction:column;display:flex;position:sticky}.budget__foot--over{background:var(--warn-soft);border-color:var(--warn)}.budget__totals{gap:var(--sp-2) var(--sp-4);grid-template-columns:1fr 1fr;margin:0;display:grid}.budget__total{min-width:0}.budget__total dt,.budget__total dd{margin:0}.budget__total-strong{font-weight:600}.budget__over{align-items:flex-start;gap:var(--sp-1);margin:0;display:flex}.budget__over .icon{color:var(--warn);margin-top:1px}.cat-list{flex-direction:column;display:flex}.cat-row{align-items:center;gap:var(--sp-3);min-height:60px;padding:0 var(--sp-4);border-bottom:1px solid var(--border);display:flex}.cat-row:last-child{border-bottom:0}.cat-row__main{align-items:center;gap:var(--sp-3);min-width:0;min-height:60px;color:inherit;flex:auto;text-decoration:none;display:flex}.cat-row__main:active{background:var(--surface-3)}.cat-row__text{flex-direction:column;flex:auto;min-width:0;display:flex}.cat-row__sub{display:block}.cat-row__amount{text-align:end;flex:none}.cat-row--archived .cat-row__text{opacity:.75}.cat-row__restore{color:var(--accent);flex:none;font-size:15px;line-height:20px}.cat-row--reorder{padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-1);gap:var(--sp-2);background:var(--surface)}.cat-row--reorder.is-picked{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.cat-row__grip,.cat-row__move{border-radius:var(--radius-sm);color:var(--muted);flex:none;place-items:center;display:grid}.cat-row__grip{cursor:grab}.cat-row__move:active:not(:disabled){background:var(--surface-2)}.cat-row__move:disabled{opacity:.3}.cat-row__moves{flex-direction:column;flex:none;display:flex}.cat-row--skeleton{gap:var(--sp-3)}.cat-skel{background:var(--surface-2);border-radius:var(--radius-sm);display:block}.cat-skel--tile{width:36px;height:36px}.cat-skel--line{width:40%;height:14px}.cat-archived__summary{align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-1);cursor:pointer;list-style:none;display:flex}.cat-archived__summary::-webkit-details-marker{display:none}.cat-archived[open]>.cat-archived__summary{padding-bottom:var(--sp-2)}.icon-picker{gap:var(--sp-3);flex-direction:column;display:flex}.icon-picker__group{gap:var(--sp-1);flex-direction:column;display:flex}.icon-picker__grid{gap:var(--sp-1);grid-template-columns:repeat(6,minmax(44px,1fr));display:grid}.icon-picker__cell{border-radius:var(--radius-sm);color:var(--text);background:0 0;border:1px solid #0000;place-items:center;display:grid;position:relative}.icon-picker__cell:active{background:var(--surface-2)}.icon-picker__cell.is-selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.icon-picker__check{top:calc(var(--sp-1) * -1);border-radius:var(--radius-pill);background:var(--accent);width:16px;height:16px;color:var(--accent-ink);place-items:center;display:grid;position:absolute;inset-inline-end:calc(var(--sp-1) * -1)}.accent-picker{gap:var(--sp-1);flex-wrap:wrap;display:flex}.accent-picker__cell{border-radius:var(--radius-pill);background:0 0;place-items:center;display:grid}.accent-picker__swatch{border-radius:var(--radius-pill);width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--border);background:currentColor;place-items:center;display:grid}.accent-picker__swatch>svg{color:var(--bg)}.accent-picker__cell.is-selected .accent-picker__swatch{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--text)}.cat-form{gap:var(--sp-5);padding-top:var(--sp-2);flex-direction:column;display:flex}.cat-form__textarea{resize:vertical}.cat-form__loading{min-height:160px}.cat-form__locked{align-items:center;gap:var(--sp-3);display:inline-flex}.cat-form__chip{padding:0 var(--sp-4);border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);align-items:center;font-size:15px;font-weight:600;display:inline-flex}.cat-form__footer{bottom:calc(var(--tabbar-h) + var(--safe-b) + var(--sp-2));z-index:1;padding:var(--sp-2) 0;background:var(--bg);position:sticky}.cat-form__danger{gap:var(--sp-2);flex-direction:column;display:flex}.cat-form__delete{color:var(--over)}.compare{gap:var(--sp-5);padding-top:var(--sp-2);flex-direction:column;display:flex}.compare__pickers{background:var(--surface-2);border-radius:var(--radius-pill);grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:grid}.compare__picker{min-width:0;min-height:52px;padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-4);border-radius:var(--radius-pill);color:var(--text);text-align:left;background:0 0;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:0;display:flex}.compare__picker:active{background:var(--surface-3)}.compare__picker-value{align-items:center;gap:var(--sp-1);min-width:0;max-width:100%;font-size:15px;line-height:20px;display:inline-flex}.compare__section{flex-direction:column;display:flex}.compare__legend{padding:0 var(--sp-1) var(--sp-2);margin:0}.compare__list{flex-direction:column;display:flex}.compare__row-pick{font:inherit;background:0 0;border-top:0;border-left:0;border-right:0}.compare__row-pick--on{background:var(--accent-soft)}.compare__row-pick[disabled]{opacity:.45}.compare__check{flex:none;width:18px}.compare__head,.compare__nums{column-gap:var(--sp-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 108px;align-items:start;display:grid}.compare__head{padding:var(--sp-2) var(--sp-4) 0;border-bottom:1px solid var(--border);padding-bottom:var(--sp-2)}.compare__diffcol{text-align:right;min-width:64px}.compare__row{gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.compare__row:last-child{border-bottom:0}.compare__name{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.compare__archive{color:var(--muted);flex:none;margin-inline-end:calc(var(--sp-1) * -1)}.compare__nums>*{min-width:0}.compare__diff{flex-direction:column;align-items:flex-end;min-width:64px;display:flex}.compare__delta{align-items:center;gap:2px;display:inline-flex}.compare__pct{font-variant-numeric:tabular-nums}.catcard{gap:var(--sp-2);flex-direction:column;display:flex}.catcard--archived{opacity:.75}.catcard__top{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.catcard__name{align-items:center;gap:var(--sp-1);flex:auto;min-width:0;display:inline-flex}.catcard__archive{color:var(--muted);flex:none}.catcard__amount{flex:none}.catcard__sub{justify-content:space-between;align-items:center;gap:var(--sp-2);min-width:0;padding-inline-start:calc(36px + var(--sp-3));display:flex}.catcard__of{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.catcard__pct{white-space:nowrap;flex:none;margin-inline-end:auto}.catcard__of+.catcard__pct:before{content:"·";margin-inline-end:var(--sp-1)}.catcard__status{flex:none}.catcard .ui-progress{padding-inline-start:calc(36px + var(--sp-3))}@media (max-width:360px){.catcard__sub,.catcard .ui-progress{padding-inline-start:0}}.monthbar{align-items:center;gap:var(--sp-3);width:100%;display:flex}.monthbar__svg{flex:auto;min-width:0;height:10px;display:block}.monthbar__fill{transition:width .2s ease-out}.monthbar__percent{white-space:nowrap;flex:none}@media (prefers-reduced-motion:reduce){.monthbar__fill{transition:none}}.monthsw{align-items:center;gap:var(--sp-1);min-width:0;display:flex}.monthsw__chev{color:var(--text);flex:none;place-items:center;display:inline-grid}.monthsw__gap{flex:none;width:44px;height:44px;display:block}.monthsw__label{align-items:center;gap:var(--sp-1);min-width:0;min-height:44px;padding:0 var(--sp-2);border-radius:var(--radius-sm);color:var(--text);font:inherit;background:0 0;border:0;font-size:17px;font-weight:600;line-height:24px;display:inline-flex}.monthsw__label:active{background:var(--surface-2)}.monthsw__list{gap:var(--sp-1);padding-bottom:var(--sp-2);flex-direction:column;display:flex}.monthsw__row{align-items:center;gap:var(--sp-2);border-radius:var(--radius-sm);min-height:56px;color:inherit;grid-template-columns:24px 1fr auto auto;text-decoration:none;display:grid}.monthsw__row--on{background:var(--accent-soft)}.monthsw__rowcheck{width:24px;color:var(--accent);place-items:center;display:inline-grid}.monthsw__rowname{min-width:0}.monthsw__rowspent,.monthsw__rowcount{white-space:nowrap}.monthsw__actions{margin-top:var(--sp-2);border-top:1px solid var(--border);padding-top:var(--sp-2)}.monthsw__actions .list-row{gap:var(--sp-3);border-radius:var(--radius-sm);color:inherit;text-decoration:none}.dash{display:block}.dash__stack{gap:var(--sp-4);flex-direction:column;display:flex}.dash__stack--preview>:not(.dash__banner){opacity:.85}.dash__hero--preview{outline:1px dashed var(--border-strong);outline-offset:-1px}.dash__hero{gap:var(--sp-2);flex-direction:column;display:flex}.dash__herohead{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:28px;display:flex}.dash__heroValueWrap{display:block}.dash__heroValue{letter-spacing:-.02em;color:var(--text);font-size:40px;font-weight:680;line-height:44px;display:block}.dash__plannedNote{color:var(--warn);margin:0}.dash__noBudget,.dash__spentOf{margin:0}.dash__stats{gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dash__stat{align-items:flex-start;gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.dash__statValue{letter-spacing:-.01em;font-size:22px;font-weight:640;line-height:28px}.dash__section{gap:var(--sp-2);flex-direction:column;display:flex}.dash__sectionhead{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-height:28px;display:flex}.dash__sectionhead .section-heading{margin:0;padding-bottom:0}.dash__sectionright{align-items:center;gap:var(--sp-2);display:inline-flex}.dash__over{align-items:center;gap:var(--sp-1);color:var(--over);font-weight:600;display:inline-flex}.dash__firstTx{align-items:center;gap:var(--sp-2);margin:0;display:flex}.dash__cards{gap:var(--sp-4);flex-direction:column;display:flex}.dash__strip{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-4);min-height:44px;padding:var(--sp-2) var(--sp-4);background:var(--savings-soft);border-radius:var(--radius-sm);flex-wrap:wrap;display:flex}.dash__stripItem{align-items:center;gap:var(--sp-2);min-width:0;display:inline-flex}.dash__banner{gap:var(--sp-2);padding:var(--sp-4);background:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--radius);color:var(--text);flex-direction:column;display:flex}.dash__bannerhead{align-items:center;gap:var(--sp-2);color:var(--warn);display:flex}.dash__bannerbody{margin:0}.dash__banneractions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.dash__banneractions .btn{flex:auto;justify-content:center;text-decoration:none}.dash__goToday{align-items:center;min-height:44px;display:inline-flex}.dash__actions{padding-bottom:var(--sp-2);flex-direction:column;display:flex}.dash__actions .list-row{gap:var(--sp-3);border-radius:var(--radius-sm);color:inherit;font:inherit;background:0 0;border-bottom:0;text-decoration:none}.dash__skel{background:var(--surface-2);border-radius:var(--radius-sm)}.dash__skel--hero{width:160px;height:40px;margin:var(--sp-2) 0}.dash__skel--bar{border-radius:var(--radius-pill);width:100%;height:10px}.dash__skel--cap{width:56px;height:14px}.dash__skel--stat{width:80px;height:28px}.dash__skel--card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:100%;height:76px}@media (min-width:840px){.dash__cards{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dash__cards--single{display:flex}}.auth{max-width:320px;padding-top:max(var(--safe-t), var(--sp-10));gap:var(--sp-6);flex-direction:column;margin:0 auto;display:flex}.auth__brand{gap:var(--sp-1);text-align:center;flex-direction:column;display:flex}.auth__tagline{color:var(--muted)}.auth__banner{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);display:flex}.auth__banner--error{background:var(--over-soft);color:var(--over)}.auth__cta{width:100%;min-height:52px}.auth__divider{align-items:center;gap:var(--sp-3);color:var(--faint);display:flex}.auth__divider:before,.auth__divider:after{content:"";background:var(--border);flex:auto;height:1px}.auth__form{gap:var(--sp-4);flex-direction:column;display:flex}.auth__note{color:var(--muted);text-align:center}.auth__note--error{color:var(--over)}.auth__cmd{padding:var(--sp-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);white-space:pre;-webkit-user-select:text;user-select:text;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:18px;display:block;overflow-x:auto}.auth__lang{justify-content:center;gap:var(--sp-1);margin-top:var(--sp-4);display:flex}.auth__lang .btn{min-width:64px;min-height:44px;color:var(--faint);background:0 0;font-weight:400}.auth__lang .btn[aria-pressed=true]{background:var(--surface-2);color:var(--text);font-weight:600}.fsheet{gap:var(--sp-4);padding-bottom:var(--sp-2);flex-direction:column;display:flex}.fsheet__dates{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.fsheet__group{border:0;min-width:0;margin:0;padding:0}.fsheet__group>legend{padding:0 0 var(--sp-2)}.fsheet__sub{margin-top:var(--sp-3);padding-inline:0}.fsheet__chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.fchip{align-items:center;gap:var(--sp-1);max-width:100%;min-height:44px;padding:0 var(--sp-3);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:15px;line-height:20px;display:inline-flex}.fchip__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fchip--on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.fchip:active{background:var(--surface-3)}.fsheet__foot{gap:var(--sp-2);grid-template-columns:1fr 2fr;display:grid}.txrow{list-style:none;position:relative}.txrow__swipe{touch-action:pan-y;position:relative;overflow:hidden}.txrow__main{align-items:center;gap:var(--sp-3);width:100%;min-height:56px;padding:var(--sp-2) var(--sp-3);background:var(--surface);color:var(--text);text-align:start;transition:transform var(--dur-bar) var(--ease-out-soft);display:flex;position:relative}button.txrow__main:active{background:var(--surface-3)}.txrow+.txrow .txrow__main:before{content:"";top:0;right:0;left:calc(var(--sp-3) + 36px + var(--sp-3));background:var(--border);height:1px;position:absolute}.txrow .cat-tile{background:var(--surface-2);background:color-mix(in srgb, currentColor 12%, var(--surface-2))}.txrow__text{flex-direction:column;flex:auto;min-width:0;display:flex}.txrow__title{align-items:center;gap:var(--sp-1);min-width:0;display:flex}.txrow__notes{color:var(--faint);flex:none}.txrow__sub{min-width:0;color:var(--faint);display:flex}.txrow__sub-cat,.txrow__sub-link{text-overflow:ellipsis;white-space:pre;min-width:0;overflow:hidden}.txrow__sub-cat{flex:0 auto}.txrow__sub-link{flex:0 3 auto}.txrow__sub-type{white-space:pre;flex:none}.txrow__amt{align-items:center;gap:var(--sp-1);white-space:nowrap;flex:none;font-weight:600;display:inline-flex}.txrow__amt--text{color:var(--text)}.txrow__amt--under{color:var(--under)}.txrow__amt--savings{color:var(--savings)}.txrow__pending{color:var(--warn)}.txrow__del{background:var(--over);width:72px;color:var(--surface);place-items:center;display:grid;position:absolute;top:0;bottom:0;right:0}.txrow__main:focus-visible,.txrow__del:focus-visible{outline-offset:-3px}.txrow--skeleton .txrow__main{pointer-events:none}.txrow__skel-dot{border-radius:var(--radius-pill);background:var(--surface-2);flex:none;width:36px;height:36px}.txrow__skel-bar{border-radius:var(--sp-1);background:var(--surface-2);height:12px;display:block}.txrow__skel-bar--long{width:60%}.txrow__skel-bar--short{width:35%;margin-top:var(--sp-2)}@media (min-width:840px){.txrow__main{min-height:48px}}@media (min-width:840px) and (hover:hover){.txrow__swipe{display:flex}.txrow__main{flex:auto;width:auto;transform:none!important}.txrow__del{background:var(--surface);width:48px;color:var(--muted);opacity:0;flex:none;order:2;position:static}.txrow:hover .txrow__del,.txrow__del:focus-visible{opacity:1}}.tx{--tx-strip-h:44px;--tx-stick-top:calc(var(--safe-t) + var(--header-h) + 1px);flex-direction:column;display:flex}.txstrip{top:var(--tx-stick-top);z-index:20;align-items:center;gap:var(--sp-1);height:var(--tx-strip-h);background:var(--bg);display:flex;position:sticky}.txstrip__figs{align-items:center;gap:var(--sp-3);white-space:nowrap;scrollbar-width:none;min-width:0;-webkit-mask-image:linear-gradient(to right, #000 calc(100% - var(--sp-5)), transparent);mask-image:linear-gradient(to right, #000 calc(100% - var(--sp-5)), transparent);flex:auto;display:flex;overflow-x:auto}.txstrip__figs::-webkit-scrollbar{display:none}.txstrip__fig{align-items:baseline;gap:var(--sp-1);flex:none;font-size:15px;line-height:20px;display:inline-flex}.txstrip__lbl{color:var(--muted)}.txstrip__val{color:var(--text);font-weight:600}.txstrip__fig--count{color:var(--faint)}.txstrip__skel{border-radius:var(--sp-1);background:var(--surface-2);width:70%;height:20px;display:block}.txchips{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0 var(--sp-2);flex-wrap:wrap;display:flex}.txsearch{align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);flex:1 0 100%;display:flex}.txsearch:focus-within{outline:2px solid var(--focus);outline-offset:2px}.txsearch__input{min-width:0;min-height:42px;color:var(--text);appearance:none;background:0 0;border:0;outline:none;flex:auto;padding:0;font-size:17px;line-height:24px}.txsearch__input::placeholder{color:var(--faint)}.txchip{align-items:center;gap:var(--sp-1);max-width:100%;min-height:32px;padding:0 var(--sp-3);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:15px;font-weight:600;line-height:20px;display:inline-flex;position:relative}.txchip:after{content:"";position:absolute;inset:-6px 0}.txchip__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.txchips__clear{min-height:44px;padding:0 var(--sp-2);color:var(--accent);font-size:15px;font-weight:600}.txfbtn{position:relative}.txfbtn__dot{border:2px solid var(--bg);border-radius:var(--radius-pill);background:var(--accent);box-sizing:content-box;width:10px;height:10px;position:absolute;top:9px;right:9px}.txday{margin-bottom:var(--sp-2)}.txday__head{top:calc(var(--tx-stick-top) + var(--tx-strip-h));z-index:10;padding:var(--sp-2) var(--sp-1);background:var(--bg);color:var(--faint);position:sticky}.txday__list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.txmore{justify-content:center;align-items:center;min-height:44px;display:flex}.txmore__row{align-items:center;gap:var(--sp-2);display:flex}.txend{text-align:center;place-items:center;height:32px;display:grid}@media (min-width:840px){.txday{column-gap:var(--sp-3);grid-template-columns:96px minmax(0,1fr);align-items:start;display:grid}.txday__head{padding-inline:0}}
/*$vite$:1*/