@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./plus-jakarta-sans-latin-wght-normal.eXO_dkmS.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{--teal:#12554f;--teal-deep:#0d4540;--paper:#f4f5ed;--sheet:#fffef8;--ink:#182f2c;--muted:#405d55;--line:#c9dcd3;--field-line:#6f8e82;--rose:#f8bfcb;--rose-ink:#482735;--mint:#c6ecdc;--mint-ink:#193c32;--soft:#e1f0e9;--warning:#803713;--danger:#a12738;--focus:#23675b;--bottom-nav-height:63px;color:var(--ink);background:var(--paper);font-variant-numeric:tabular-nums;font:15px/1.55 Plus Jakarta Sans Variable,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{margin:0}::selection{background:var(--rose);color:var(--rose-ink)}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.58}a{color:var(--teal);text-underline-offset:3px}:where(button,a,input):focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2,h3,p,dl,dd{margin:0}h1{letter-spacing:-.035em;font-size:clamp(1.45rem,4.5vw,2.15rem);font-weight:800;line-height:1.14}h2{letter-spacing:-.017em;font-size:1.07rem;font-weight:780;line-height:1.3}h3{font-size:.9rem;font-weight:750;line-height:1.35}.muted{color:var(--muted)}.warning{color:var(--warning)}.danger-text{color:var(--danger)!important}.positive{color:var(--teal)}.line{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.line>*{overflow-wrap:anywhere;min-width:0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions>*,.settings-actions>*{flex-shrink:0}.primary,.secondary,.text-button,.icon-button{text-align:center;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:8px 14px;font-weight:700;text-decoration:none;display:inline-flex}.primary{background:var(--teal);color:#fff;border-radius:11px 11px 11px 4px}.primary:hover{background:var(--teal-deep)}.primary.destructive{background:var(--danger)}.secondary{background:var(--sheet);color:var(--teal);border-color:var(--field-line)}.secondary:hover{background:var(--soft)}.text-button,.icon-button{color:var(--teal);background:0 0;padding:6px 8px}.text-button:hover,.icon-button:hover{background:var(--soft)}.icon-button{min-width:44px;padding:5px}.loading{align-items:center;gap:8px;display:flex}.brand{letter-spacing:-.035em;align-items:center;gap:9px;font-size:1.5rem;font-weight:780;line-height:1;display:inline-flex}.brand-mark{isolation:isolate;flex:none;width:37px;height:34px;position:relative}.brand-mark:before,.brand-mark>span{border:1px solid #23483c;border-radius:6px 6px 6px 2px;width:25px;height:29px;position:absolute}.brand-mark:before{content:"";z-index:-1;background:var(--mint);inset:1px 2px auto auto;transform:rotate(12deg)}.brand-mark>span{background:var(--rose);color:var(--rose-ink);place-items:center;font-size:19px;display:grid;inset:3px auto auto 2px;transform:rotate(-10deg)}.brand.large{flex-direction:column;gap:25px;font-size:2.75rem}.brand.large .brand-mark{margin:15px;transform:scale(1.8)}.brand-link{color:inherit;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.splash{z-index:60;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) 20px calc(30px + env(safe-area-inset-bottom));background:var(--teal);color:#fff;grid-template-rows:minmax(32px,1fr) auto minmax(100px,1fr);justify-items:center;gap:20px;display:grid;position:fixed;inset:0}.splash-identity{text-align:center;grid-row:2;justify-items:center;gap:12px;display:grid}.splash-identity>p{color:var(--mint)}.splash-status{text-align:center;grid-row:3;align-self:end;justify-items:center;gap:10px;font-size:.85rem;display:grid}.splash-track{background:#417d73;border-radius:5px;width:62px;height:4px;overflow:hidden}.splash-indicator{border-radius:inherit;background:var(--rose);width:24px;height:100%;display:block}.splash .secondary:focus-visible{outline-color:var(--mint)}.simple-page{place-content:center;justify-items:start;gap:16px;min-height:85dvh;padding:20px;display:grid}.entry-shell{min-height:100dvh}.entry-art{display:none}.entry-main{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.entry-mobile-brand{display:none}.entry-card{gap:12px;width:min(100%,420px);padding:clamp(16px,4vw,28px);display:grid}.entry-card>.primary,.entry-card>.secondary{width:100%}.entry-link{text-align:center;font-size:.91rem}.entry-link a,.forgot{font-weight:750}.forgot{justify-self:end;padding:6px 0}.local-hint{overflow-wrap:anywhere;font-size:.83rem}.tour-shell{background:var(--sheet);min-height:100dvh}.tour-card{grid-template-rows:auto 1fr auto;width:min(100%,490px);min-height:100dvh;margin-inline:auto;display:grid}.tour-header{padding:calc(10px + env(safe-area-inset-top)) 17px 9px;justify-content:space-between;align-items:center;gap:10px;display:flex}.tour-body{align-content:center;gap:23px;padding:10px 16px 21px;display:grid}.tour-stage{background:var(--teal);color:#fff;touch-action:pan-y;border-radius:12px 12px 12px 4px;align-content:center;justify-items:center;gap:8px;min-height:clamp(234px,39svh,305px);padding:14px;display:grid}.tour-stage[data-step="1"]{background:var(--mint);color:var(--mint-ink)}.tour-stage[data-step="2"]{background:var(--rose);color:var(--rose-ink)}.tour-sample{border:1px dashed;border-radius:4px;justify-self:end;padding:2px 6px;font-size:.72rem}.tour-demo{gap:7px;width:min(100%,300px);display:grid}.tour-ticket,.tour-wallets{border-radius:12px 12px 12px 4px;gap:4px;padding:10px 12px;display:grid}.tour-ticket-label,.tour-demo-line>span{align-items:center;gap:6px;display:flex}.tour-ticket-label{font-size:.86rem;font-weight:670}.tour-ticket strong{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(1.42rem,6vw,1.9rem);line-height:1.13}.tour-demo-line{flex-wrap:wrap;justify-content:space-between;gap:3px 8px;font-size:.78rem;display:flex}.tour-meter{background:#fae2e8;border-radius:3px;height:6px;margin:5px 0 3px}.tour-meter span{background:var(--rose-ink);border-radius:3px;width:85.7143%;height:100%;display:block}.tour-wallets,.tour-receipt{background:var(--sheet);color:var(--ink)}.tour-wallets .tour-demo-line+.tour-demo-line{border-top:1px solid var(--line);padding-top:5px}.tour-receipt .tour-demo-line{border-top:1px dashed var(--field-line);padding-top:5px}.tour-impact{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.tour-impact>div{overflow-wrap:anywhere;border:1px solid;border-radius:7px;gap:2px;padding:6px;font-size:.76rem;display:grid}.tour-copy{gap:7px;padding:0 3px;display:grid}.tour-copy h1{font-size:clamp(1.65rem,6vw,2.2rem)}.tour-copy .muted{max-width:37ch}.tour-count{color:var(--muted);font-size:.8rem;font-weight:650}.tour-progress{gap:5px;margin-bottom:3px;display:flex}.tour-progress span{background:var(--line);border-radius:4px;width:14px;height:4px}.tour-progress span.complete{background:var(--field-line)}.tour-progress span.current{background:var(--teal);width:28px}.tour-actions{padding:10px 17px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--sheet);gap:8px;display:flex;position:sticky;bottom:0}.tour-actions .primary{flex:1;justify-content:space-between;min-height:50px}.tour-actions .secondary{min-height:50px}@media (width>=800px){.tour-shell{background:var(--paper);place-items:center;padding:20px;display:grid}.tour-card{border:1px solid var(--line);background:var(--sheet);border-radius:18px;width:min(100%,820px);min-height:0}.tour-header{padding:14px 21px}.tour-body{grid-template-rows:auto;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:26px;padding:0 21px 20px}.tour-stage{min-height:320px}.tour-actions{border-radius:0 0 18px 18px;justify-content:flex-end;padding:12px 21px;position:static}.tour-actions .primary{flex:0 190px}}@media (prefers-reduced-motion:no-preference){.splash-identity .brand-mark>span{animation:.29s ease-out both splash-ticket}.splash-indicator{animation:.48s ease-in-out infinite alternate splash-progress}.tour-demo{animation:.21s ease-out both tour-page}@keyframes splash-ticket{0%{transform:translateY(4px)rotate(0)}to{transform:rotate(-10deg)}}@keyframes splash-progress{to{transform:translate(38px)}}@keyframes tour-page{0%{opacity:.75;transform:translate(7px)}to{opacity:1;transform:translate(0)}}}@media (prefers-reduced-motion:reduce){.splash-indicator{width:100%;animation:.48s ease-in-out infinite alternate splash-tint}@keyframes splash-tint{0%{opacity:.36}to{opacity:1}}}.app-main{min-width:0;padding-bottom:calc(var(--bottom-nav-height) + 13px + env(safe-area-inset-bottom))}.sidebar{display:none}.app-header{background:var(--teal);color:#fff;padding:9px 14px 10px}.app-header :focus-visible{outline-color:var(--mint)}.mobile-brand{border-bottom:1px dashed #83b5a7;justify-content:space-between;align-items:center;gap:8px;padding-bottom:6px;display:flex}.mobile-brand .icon-button,.app-header .icon-button,.app-header .month-trigger{color:inherit}.app-header .icon-button:hover,.app-header .month-trigger:hover{background:var(--teal-deep)}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding-top:7px;display:flex}.page-title{align-items:center;gap:5px;min-width:0;display:flex}.month-picker{align-items:center;gap:0;display:flex}.month-picker .icon-button{min-width:44px}.month-trigger{background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;min-height:44px;padding:5px;font-size:.9rem;font-weight:650;display:flex}.content{gap:14px;width:min(100%,1200px);margin:0 auto;padding:14px;display:grid}.bottom-nav{z-index:10;padding:5px 5px calc(5px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--sheet);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;inset:auto 0 0}.bottom-nav a{min-height:52px;color:var(--ink);align-content:center;justify-items:center;gap:2px;padding:4px 0;font-size:.72rem;text-decoration:none;display:grid;position:relative}.bottom-nav a[aria-current]{color:var(--teal);font-weight:800}.bottom-nav a[aria-current]:before{content:"";background:var(--teal);width:15px;height:2px;position:absolute;inset:0 auto auto 50%;transform:translate(-50%)}.bottom-nav a>span:first-child{place-items:center;height:25px;display:grid}.bottom-nav .catat-icon{background:var(--mint);width:30px;color:var(--mint-ink);border:1px solid var(--field-line);border-radius:8px 8px 8px 3px;transform:rotate(-6deg)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.metrics.wallet-metrics{grid-template-columns:minmax(0,1fr)}.ticket{--ticket-inset:12px;padding:var(--ticket-inset);border:1px solid color-mix(in srgb, currentColor 28%, transparent);border-radius:11px 11px 5px 5px;align-content:start;gap:6px;display:grid}.budget-ticket{background:var(--rose);color:var(--rose-ink)}.wallet-ticket{background:var(--mint);color:var(--mint-ink)}.ticket-stamp{border:1px solid;border-radius:10px 10px 10px 3px;place-items:center;width:32px;height:32px;display:grid;transform:rotate(-8deg)}.wallet-ticket .ticket-stamp{transform:rotate(8deg)}.metrics .ticket>span:not(.ticket-stamp){min-height:2.65em;font-size:.85rem;line-height:1.3}.ticket strong{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(1rem,4.3vw,1.8rem);font-weight:800;line-height:1.17}.ticket small{border-top:1px dashed;margin-top:2px;padding-top:7px;font-size:.75rem;position:relative}.ticket small:before,.ticket small:after{content:"";border:1px solid color-mix(in srgb, currentColor 28%, transparent);background:var(--paper);width:6px;height:9px;position:absolute;top:-5px}.ticket small:before{left:calc(-1px - var(--ticket-inset));border-left:0;border-radius:0 6px 6px 0}.ticket small:after{right:calc(-1px - var(--ticket-inset));border-right:0;border-radius:6px 0 0 6px}.dashboard-columns{align-items:start;gap:14px;display:grid}.panel{border:1px solid var(--line);background:var(--sheet);border-radius:13px;min-width:0;padding:14px}.panel>*+*{margin-top:10px}.ledger-sheet{border-block:1px solid var(--line);background:var(--sheet);min-width:0;padding:13px 14px}.ledger-sheet>*+*{margin-top:12px}.ledger-sheet.receipt{border-top:1px dashed var(--field-line)}.ledger-sheet h3{margin-top:19px}.ledger-sheet .section-heading{align-items:center}.ledger-sheet .section-heading a{align-items:center;min-height:44px;display:inline-flex}.section-heading a{padding-block:5px;font-size:.82rem;font-weight:750}.first-step{border-block:1px solid var(--line);padding:14px 1px}.first-step>*+*{margin-top:10px}.first-step p{max-width:55ch}.wallet-head{gap:12px;display:grid}.empty{padding-block:16px}.empty>*+*{margin-top:9px}.usage-row{padding-block:8px}.usage-row+.usage-row{border-top:1px solid var(--line)}.usage-row>.line>:last-child{font-size:.84rem}.usage-caption{margin-top:4px;font-size:.83rem}.progress{background:var(--soft);border-radius:5px;height:7px;margin-top:5px;overflow:hidden}.progress span{border-radius:inherit;background:var(--teal);height:100%;display:block}.progress.warning span{background:var(--warning)}.cashflow{border-block:1px dashed var(--field-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-block:9px;display:grid}.cashflow span{flex-wrap:wrap;align-items:center;gap:4px;font-size:.78rem;display:flex}.cashflow span+span{border-inline-start:1px solid var(--line);padding-inline-start:10px}.cashflow strong{overflow-wrap:anywhere;flex:1 0 100%;font-size:.91rem}.entries,.manage-list{margin:0;padding:0;list-style:none}.history-table{display:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.entries li+li,.manage-list li+li{border-top:1px solid var(--line)}.entry-date{color:var(--muted);padding:8px 0;font-size:.85rem}.entry-row,.wallet-row{text-align:left;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:7px;width:100%;padding:9px 0;display:grid}.entry-row{background:0 0;border:0}.entry-row:hover{background:var(--paper)}.row-icon{background:var(--mint);width:30px;height:30px;color:var(--mint-ink);border-radius:8px 8px 8px 3px;place-items:center;display:grid}.row-icon.rose{background:var(--rose);color:var(--rose-ink)}.row-label{overflow-wrap:anywhere;display:grid}.row-label small{color:var(--muted);font-size:.78rem}.row-amount{overflow-wrap:anywhere;font-size:.9rem}.wallet-row{grid-template-columns:auto minmax(0,1fr) auto}.wallet-row .actions{grid-column:2/-1}.manage-list .line{align-items:center}.page-actions{margin-bottom:1px}.settings-profile{align-items:center;gap:10px;padding-block:8px;display:flex}.settings-profile .row-icon{flex:none;width:42px;height:42px}.settings-profile .row-label{min-width:0}.settings-actions{display:grid}.settings-row{border:0;border-top:1px solid var(--line);min-height:52px;color:var(--teal);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 9px;font-weight:700;text-decoration:none;display:grid}.settings-row:is(:hover,:active){background:var(--soft)}.filters{display:none}.pagination{align-items:center}.form-panel{width:min(100%,700px)}.form-stack{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.field{gap:4px;min-width:0;display:grid}.field>label,.field>span:first-child,.segments legend{overflow-wrap:anywhere;font-size:.9rem;font-weight:680}.field-hint{color:var(--muted);font-size:.83rem}.field-hint.error{color:var(--danger)}.input-wrap,.select-trigger{border:1px solid var(--field-line);background:var(--sheet);border-radius:8px;align-items:center;width:100%;min-width:0;min-height:44px;display:flex}.input-wrap:focus-within,.select-trigger:focus-visible{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:1px}.input-wrap.invalid,.select-trigger.invalid{border-color:var(--danger)}.input-wrap input{width:100%;min-width:0;min-height:42px;caret-color:var(--teal);background:0 0;border:0;outline:none;padding:8px 10px;font-size:16px}.input-wrap input::placeholder{color:var(--muted);opacity:1}.input-prefix{color:var(--muted);padding-left:10px}.input-wrap .icon-button{min-height:42px}.select-trigger{text-align:left;justify-content:space-between;gap:6px;padding:8px 9px}.select-trigger>span{overflow-wrap:anywhere;min-width:0}.select-trigger>svg{flex:none}.select-menu,.calendar-popup{z-index:50;background:var(--sheet);border:1px solid var(--field-line);border-radius:10px;min-width:170px;max-width:calc(100vw - 20px);padding:5px;box-shadow:0 8px 22px #10382a2b}.select-menu{width:var(--bits-select-anchor-width,230px)}.combobox-menu{width:var(--bits-combobox-anchor-width,230px)}.select-option{cursor:pointer;overflow-wrap:anywhere;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;min-height:44px;padding:7px 9px;display:flex}.select-option>svg{flex:none}.select-option[data-highlighted],.select-option[data-selected]{background:var(--soft)}.calendar-popup{width:292px;padding:8px}.month-all{width:100%}.month-all[aria-pressed=true]{background:var(--soft)}.calendar-header{justify-content:space-between;align-items:center;display:flex}.calendar-grid,.month-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-grid span{color:var(--muted);padding:4px;font-size:.75rem}.calendar-grid button,.month-grid button{background:0 0;border:0;border-radius:6px;min-height:42px;padding:4px}.calendar-grid button:hover,.month-grid button:hover{background:var(--soft)}.calendar-grid button.chosen,.month-grid button.chosen{background:var(--teal);color:#fff}.segments{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0;margin:0;padding:0;display:grid}.segments legend{padding:0 0 4px}.segments label{border:1px solid var(--field-line);cursor:pointer;border-radius:7px;place-items:center;min-height:44px;padding:4px;font-size:.82rem;display:grid;position:relative}.segments input{opacity:0;position:absolute}.segments label:has(:checked){background:var(--mint);border-color:var(--teal);font-weight:750}.segments label:has(:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.plan-totals{background:var(--rose);color:var(--rose-ink);border-block:1px dashed var(--rose-ink);gap:5px;padding:10px 11px;display:grid}.plan-totals>div:last-child{border-top:1px solid color-mix(in srgb, currentColor 30%, transparent);padding-top:5px}.plan-totals>div,.detail-list>div{flex-wrap:wrap;justify-content:space-between;gap:5px 12px;display:flex}.plan-totals dd,.detail-list dd{overflow-wrap:anywhere;font-weight:750}.budget-form-grid{grid-template-columns:minmax(0,1fr);gap:9px;display:grid}.budget-summary,.budget-allocation{align-content:start;gap:9px;min-width:0;display:grid}.budget-copy{justify-items:start;gap:8px;display:grid}.feature-sheet{width:100%;max-width:720px}.feature-sheet .form-stack{max-width:540px}.feature-list>li{gap:8px;display:grid}.feature-row,.feature-link{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.feature-link{color:var(--ink);border:1px solid var(--line);border-radius:14px;max-width:420px;padding:12px 16px}.feature-link:hover{border-color:currentColor}.feature-row .row-label{overflow-wrap:anywhere}.offline-screen{width:min(100% - 32px,720px);padding:24px 0 max(24px, env(safe-area-inset-bottom));align-content:start;gap:16px;margin:0 auto;display:grid}.offline-header{gap:12px;display:grid}.offline-header .secondary{justify-self:start}.offline-screen .task-save-bar,.feature-sheet .task-save-bar{position:static}.task-save-bar{grid-template-columns:auto minmax(0,1fr);gap:8px;display:grid}.context-footer{width:min(100%,1200px);margin-inline:auto;padding:0 14px 14px}.screen-loading{gap:14px;display:grid}.skeleton{background:var(--soft);border-radius:7px;display:block}.skeleton-ticket{border-radius:15px 15px 7px 7px;height:142px}.skeleton-panel{gap:13px;display:grid}.skeleton-panel .skeleton{height:16px;margin:0}.skeleton-panel .skeleton:first-child{width:42%}.skeleton-panel .skeleton:last-child{width:71%}.notice{background:var(--soft);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:9px 12px;display:flex}.notice.danger{color:var(--danger);background:#fae3e8}.notice.warning{color:var(--warning);background:#fae8d7}.dialog-overlay{z-index:30;background:#122d28a3;position:fixed;inset:0}.dialog-panel{z-index:31;border:1px solid var(--field-line);background:var(--sheet);border-radius:15px;width:min(100% - 20px,450px);max-height:92dvh;padding:15px;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 12px 28px #10382a33}.dialog-panel>*+*{margin-top:9px}.dialog-heading{flex-wrap:nowrap;align-items:center}.dialog-title{font-size:1.25rem;font-weight:760}.detail-list{gap:6px;display:grid}.detail-amount{border-block:1px dashed;gap:2px;padding:11px 12px;display:grid}.detail-amount>span{font-size:.82rem}.detail-amount>strong{overflow-wrap:anywhere;font-size:1.35rem;line-height:1.2}.filter-sheet>.primary{width:100%}.record-context{display:none}@media (width<=767px){.entry-shell{background:var(--sheet)}.entry-main{grid-template-rows:auto 1fr;place-items:start stretch;padding:0;display:grid}.entry-mobile-brand{min-height:72px;padding:calc(15px + env(safe-area-inset-top)) 19px 15px;color:#fff;background:var(--teal);align-items:center;display:flex}.entry-card{width:min(100%,480px);padding:23px 19px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:0;margin-inline:auto}.entry-card h1{font-size:1.75rem}.entry-card .form-stack{margin-top:4px}.entry-card .entry-link{padding-top:6px}.entry-link a,.forgot{align-items:center;min-height:44px;display:inline-flex}.task-header{z-index:8;padding:5px 14px;position:sticky;top:0}.task-header .mobile-brand{display:none}.task-header .page-heading{padding-top:0}.context-screen{min-height:100dvh;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));flex-direction:column;display:flex}.context-footer{bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));z-index:6;border-top:1px solid var(--line);background:var(--sheet);margin-top:auto;padding:9px 14px;position:sticky}.context-footer .secondary{width:100%}.task-save-bar{bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));z-index:6;border-top:1px solid var(--line);background:var(--sheet);margin-inline:-14px;padding:9px 14px;position:sticky}.task-save-bar>*,.context-footer .secondary{min-height:48px}.dialog-panel{width:100%;max-height:90dvh;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-radius:17px 17px 0 0;inset:auto 0 0;transform:none}.dialog-panel .dialog-heading{z-index:1;background:var(--sheet);margin-top:-12px;padding-top:12px;position:sticky;top:-12px}.dialog-panel .actions>.primary{flex:1}@media (prefers-reduced-motion:no-preference){.dialog-panel[data-state=open]{animation:.17s ease-out both sheet-enter}@keyframes sheet-enter{0%{opacity:.8;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}}@media (width<=365px){.section-heading{align-items:center}.row-chevron{display:none}.entry-row{grid-template-columns:auto minmax(0,1fr) minmax(0,auto)}}@media (width>=768px){.entry-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.entry-art{background:var(--teal);color:#fff;grid-template-rows:auto 1fr;align-items:start;gap:22px;padding:25px clamp(24px,5vw,72px);display:grid}.entry-example{background:var(--sheet);width:100%;max-width:435px;color:var(--ink);border-radius:12px 12px 12px 4px;align-self:center;gap:12px;margin-inline:auto;padding:15px;display:grid;transform:rotate(-2deg)}.entry-example-date,.entry-example>p{color:var(--muted);font-size:.79rem;font-weight:700}.entry-receipt{border-block:1px dashed var(--field-line);justify-content:space-between;align-items:center;gap:7px;padding-block:11px;display:flex}.entry-receipt small{color:var(--muted);display:block}.entry-tickets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.entry-tickets .ticket{gap:4px;padding:8px}.entry-tickets span{font-size:.75rem}.entry-tickets strong{font-size:clamp(.87rem,1.8vw,1.35rem)}.app-shell{grid-template-columns:208px minmax(0,1fr);display:grid}.sidebar{border-inline-end:1px solid var(--line);background:var(--sheet);height:100dvh;color:var(--ink);flex-direction:column;gap:20px;padding:18px 13px;display:flex;position:sticky;top:0}.sidebar .brand-link{color:var(--teal);padding-inline:7px}.sidebar nav{gap:2px;display:grid}.sidebar nav a,.account-link{min-height:44px;color:var(--ink);align-items:center;gap:9px;padding:7px 9px;text-decoration:none;display:flex}.sidebar nav a:is(:hover,[aria-current]),.account-link:is(:hover,[aria-current]){background:var(--soft)}.sidebar nav a[aria-current],.account-link[aria-current]{box-shadow:inset 3px 0 var(--teal);color:var(--teal);font-weight:750}.sidebar nav .record-link{background:var(--teal);color:#fff;border-radius:8px 8px 8px 3px;margin:4px 0;font-weight:750}.sidebar nav .record-link:hover{background:var(--teal-deep)}.sidebar nav .record-link[aria-current]{background:var(--rose);color:var(--rose-ink)}.account-link{border-top:1px dashed var(--field-line);margin-top:auto;padding-block:12px}.account-link span{overflow-wrap:anywhere;min-width:0}.account-link small{color:var(--muted);display:block}.app-main{padding-bottom:0}.app-header{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding:14px 23px}.app-header :focus-visible{outline-color:var(--focus)}.app-header .icon-button:hover,.app-header .month-trigger:hover{background:var(--soft)}.page-heading{padding-top:0}.mobile-brand,.bottom-nav,.mobile-filter{display:none}.content{gap:18px;padding:20px 23px}.context-footer{padding:0 23px 20px}.task-save-bar{grid-template-columns:auto minmax(150px,auto);justify-content:end}.metrics{gap:13px}.ticket{--ticket-inset:15px}.ticket strong{font-size:clamp(1.35rem,2.5vw,1.8rem)}.metrics .ticket>span:not(.ticket-stamp){min-height:0}.panel{padding:17px}.ledger-sheet{padding:14px 17px}.wallet-head{grid-template-columns:minmax(0,395px) auto;align-items:end}.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.budget-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-layout{grid-template-columns:minmax(0,1fr) minmax(0,510px);align-items:start;gap:18px;display:grid}.record-context{gap:10px;display:grid}.record-panel{width:100%}}@media (width>=1024px){.dashboard-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.home-ledger{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.budget-ledger{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.filters{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-form{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.budget-form .task-save-bar,.budget-form .notice{grid-column:1/-1}.budget-copy{grid-area:1/1/auto/-1}.budget-allocation{grid-area:2/1}.budget-summary{grid-area:2/2}.entries.detailed{display:none}.history-table{border-collapse:collapse;table-layout:fixed;text-align:left;width:100%;display:table}.history-table :is(th,td){border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:7px}.history-table th:nth-child(4),.history-table td:nth-child(4){text-align:right}.history-table th:last-child{width:84px}.history-table td small{color:var(--muted);display:block}.wallet-row{grid-template-columns:auto minmax(0,1fr) minmax(0,auto) auto}.wallet-row .actions{grid-column:auto}}@media (prefers-reduced-motion:no-preference){.bottom-nav .catat-icon{transition:transform .15s ease-out}.bottom-nav a:active .catat-icon{transform:rotate(0)scale(.94)}.loading svg{animation:1s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}}
