@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-devanagari-wght-normal-B4j4n2PV.woff2) format("woff2-variations");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-vietnamese-wght-normal-C4ZonJY6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-ext-wght-normal-Dz43yst_.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-wght-normal-B_TVFhwJ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Coiny;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/coiny-latin-BcVZnWM_.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Coiny;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/coiny-latin-ext-cEOh7urf.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}:root{--blue: #00a0e9;--blue-text: #0074be;--blue-deep: #005c96;--sky: #7fd0f4;--sky-pale: #cfe9f7;--red: #e60012;--yellow: #fff100;--ink: #1a1a1a;--paper: #eef7fb;--surface: #fff;--inset: #f4fbfe;--hairline: #e2edf3;--rule: #d7e6ee;--ink-50: rgba(26, 26, 26, .5);--ink-60: rgba(26, 26, 26, .6);--ink-45: rgba(26, 26, 26, .45);--drop: 0 4px 0 rgba(26, 26, 26, .18);--drop-sm: 0 3px 0 rgba(26, 26, 26, .15);--drop-hard: 0 4px 0 var(--ink);--drop-hard-sm: 0 3px 0 var(--ink);--drop-on-blue: 0 3px 0 rgba(0, 0, 0, .25);--r-pill: 999px;--r-surface: 20px;--r-control: 14px;--r-row: 16px;--num: Coiny, cursive;--prose: "Baloo 2 Variable", "Baloo 2", cursive;--tap: 44px;--tab-bar: 76px;--rail: 282px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--prose);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;overflow:hidden}#root{height:100vh;height:100dvh}a{color:var(--blue-text)}a:hover{color:var(--blue-deep)}button,input,select,textarea{font-family:inherit;color:inherit}input,select,textarea{font-size:16px}:focus-visible{outline:2.5px solid var(--blue);outline-offset:2px}.num{font-family:var(--num);font-weight:400}.screen-title{font-family:var(--num);font-size:21px;line-height:1.1}.section-label{font-family:var(--prose);font-weight:700;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-50)}.caption{font-size:11px;color:var(--ink-60)}.secondary{font-size:12.5px;color:var(--ink-60)}.prose{max-width:65ch}.card{background:var(--surface);border:3px solid var(--ink);border-radius:var(--r-surface);box-shadow:var(--drop)}.card.loud{box-shadow:var(--drop-hard)}.card.yellow{background:var(--yellow);box-shadow:var(--drop-hard)}.card.blue{background:var(--blue);color:#fff;box-shadow:var(--drop-hard)}.card-pad{padding:13px 15px}.field{background:var(--inset);border:2.5px solid var(--ink);border-radius:12px;min-height:46px;padding:0 12px;width:100%;font-family:var(--num);font-size:17px}.divide>*+*{border-top:2px dashed var(--hairline)}.row{display:flex;align-items:center;gap:11px}.stack{display:flex;flex-direction:column;gap:11px}.stack.tight{gap:7px}.spread{margin-left:auto}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.scroll-y{overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.btn{font-family:var(--prose);font-weight:700;cursor:pointer;border:2.5px solid var(--ink);border-radius:var(--r-control);background:var(--surface);color:var(--ink);min-height:var(--tap);padding:0 14px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{width:100%;min-height:52px;border-width:3px;border-radius:16px;background:var(--red);color:#fff;font-family:var(--num);font-weight:400;font-size:19px;box-shadow:var(--drop-hard)}.btn.destructive{background:var(--red);color:#fff}.btn.pill{border-radius:var(--r-pill);min-height:36px;padding:0 13px;font-size:12px}.btn.pill.on-blue{color:var(--blue-text);box-shadow:var(--drop-on-blue)}.btn.ghost{border:0;background:none;color:var(--blue-text);font-size:13px;min-height:auto;padding:0;box-shadow:none}.btn.ledger-chip{border-radius:var(--r-pill);font-family:var(--num);font-weight:400;font-size:13.5px;min-height:36px;padding:0 11px;color:var(--blue-text);box-shadow:var(--drop-on-blue)}.btn.icon{width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;color:var(--blue-text);box-shadow:var(--drop-on-blue)}.btn.back{border:0;background:none;box-shadow:none;font-size:19px;color:var(--ink-50);min-height:auto;padding:0;width:28px}.chip{border:2.5px solid var(--ink);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font-family:var(--prose);font-weight:700;font-size:12.5px;min-height:var(--tap);padding:0 13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.chip[aria-pressed=true]{background:var(--blue);color:#fff}.chip.dashed{border-style:dashed;opacity:.75}.chip.small{min-height:36px;font-size:12px}.tag{border:2px solid var(--ink);border-radius:var(--r-pill);font-size:10.5px;font-weight:700;padding:1px 9px;background:var(--surface);color:var(--ink);display:inline-block}.tag.yellow{background:var(--yellow)}.tag.sky{background:var(--sky)}.chips{display:flex;gap:7px;flex-wrap:wrap}.list-row{display:flex;align-items:center;gap:11px;background:var(--surface);border:2.5px solid var(--ink);border-radius:var(--r-row);padding:10px 12px;box-shadow:var(--drop-sm);width:100%;text-align:left;font-family:var(--prose);color:var(--ink);cursor:pointer}.list-row.upcoming{border-style:dashed;box-shadow:none}.dot{width:30px;height:30px;border-radius:50%;border:2.5px solid var(--ink);display:grid;place-items:center;font-family:var(--num);font-size:13px;flex:none}.dot.sm{width:20px;height:20px;border-width:2.5px}.grow{flex:1;min-width:0}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amount{text-align:right;flex:none}.amount .value{font-family:var(--num);font-size:15px}.amount .converted{font-size:10.5px;color:var(--ink-50)}.swipe{position:relative;overflow:hidden;border-radius:var(--r-row)}.swipe-actions{position:absolute;inset:0;display:flex;justify-content:flex-end}.swipe-actions button{width:64px;border:2.5px solid var(--ink);font-family:var(--num);font-size:13px;cursor:pointer;color:var(--ink)}.swipe-actions .edit{background:var(--yellow);border-right:0}.swipe-actions .delete{background:var(--red);color:#fff;border-top-right-radius:var(--r-row);border-bottom-right-radius:var(--r-row)}.swipe-face{position:relative;transition:transform .16s ease-out;touch-action:pan-y}.swipe[data-open=true] .swipe-face{transform:translate(-128px)}@media(prefers-reduced-motion:reduce){.swipe-face{transition:none}}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--paper);overflow:hidden}.hood{flex:none;background:var(--blue);color:#fff;padding:calc(18px + var(--safe-top)) 20px 18px;border-bottom-left-radius:50% 28px;border-bottom-right-radius:50% 28px;box-shadow:0 4px 0 var(--red);position:relative;z-index:2}.back-bar{flex:none;display:flex;align-items:center;gap:10px;padding:calc(14px + var(--safe-top)) 16px 8px}.pane{flex:1;min-height:0;overflow-y:auto;padding:12px 16px 16px;display:flex;flex-direction:column;gap:11px}.pane-footer{flex:none;background:var(--surface);border-top:2.5px solid var(--ink);padding:10px 16px calc(14px + var(--safe-bottom))}.tabs{flex:none;position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 24px calc(14px + var(--safe-bottom));background:var(--surface);border-top:2.5px solid var(--ink)}.tabs button{border:0;background:none;cursor:pointer;padding:6px 2px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:#8a8a8a;min-width:44px}.tabs button[aria-current=page]{color:var(--blue)}.tabs .add{width:56px;height:56px;border-radius:50%;background:var(--red);border:3px solid var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--num);font-size:30px;letter-spacing:0;margin-top:-26px;box-shadow:var(--drop-hard)}.scrim{position:fixed;inset:0;background:#1a1a1a73;border:0;cursor:pointer;z-index:12}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:13;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-bottom:0;border-top-left-radius:30px;border-top-right-radius:30px;padding:12px 16px calc(26px + var(--safe-bottom));box-shadow:0 -6px #0000002e;animation:sheet-in .22s ease-out;max-height:85dvh;overflow-y:auto}.sheet.white{background:var(--surface);border-top-left-radius:26px;border-top-right-radius:26px}.grabber{width:52px;height:5px;border-radius:3px;background:var(--ink);opacity:.25;margin:0 auto 12px}.toast{position:fixed;left:16px;right:16px;bottom:calc(var(--tab-bar) + 28px + var(--safe-bottom));z-index:20;display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:var(--r-row);padding:12px 14px;animation:pop-in .2s ease-out;box-shadow:0 4px #00000040;font-size:12.5px}.toast button{border:0;background:var(--yellow);color:var(--ink);border-radius:var(--r-pill);font-family:var(--num);font-size:12.5px;padding:6px 13px;cursor:pointer;flex:none}@keyframes pop-in{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes rail-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.sheet,.toast,.rail{animation:none}}.meter{flex:1;height:14px;border:2.5px solid var(--ink);border-radius:var(--r-pill);background:var(--inset);overflow:hidden}.meter>span{display:block;height:100%}.toggle{width:54px;height:30px;border-radius:var(--r-pill);border:2.5px solid var(--ink);display:flex;align-items:center;padding:0 3px;flex:none;cursor:pointer;background:var(--surface);transition:background .15s;justify-content:flex-start}.toggle[aria-checked=true]{background:var(--blue);justify-content:flex-end}.toggle>span{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--ink)}.select{appearance:none;-webkit-appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231a1a1a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center / 10px 6px;border:2.5px solid var(--ink);border-radius:var(--r-pill);min-height:34px;padding:0 30px 0 13px;font-family:var(--num);font-size:13px;line-height:1.25;cursor:pointer;flex:none}.day-rule{display:flex;align-items:center;gap:8px;padding:10px 0 7px}.day-rule .line{flex:1;height:2px;background:var(--rule)}.day-rule.today{position:sticky;top:0;background:var(--paper);padding:11px 0 8px;z-index:1}.day-rule.today .line{height:2.5px;background:var(--ink);opacity:.15}.today-pill{background:var(--red);color:#fff;border:2.5px solid var(--ink);border-radius:var(--r-pill);font-family:var(--num);font-size:13px;padding:2px 12px;box-shadow:var(--drop-hard-sm)}.desktop-only{display:none}@media(min-width:40rem){.pane{padding:14px 22px 20px}.hood,.back-bar{padding-left:22px;padding-right:22px}}@media(hover:hover)and (pointer:fine){.chip,.btn{min-height:34px}.btn.primary{min-height:46px}.list-row:hover{box-shadow:var(--drop-hard-sm)}.btn:hover:not(:disabled){background:var(--inset)}.btn.primary:hover,.btn.destructive:hover{background:#cc0010}.btn.ghost:hover{background:none;color:var(--blue-deep)}}@media(min-width:64rem){.mobile-only{display:none!important}.desktop-only{display:revert}.app.desk{flex-direction:row;height:100dvh}.sidebar{flex:none;width:232px;background:var(--blue);color:#fff;border-right:3px solid var(--ink);padding:18px 14px calc(18px + var(--safe-bottom));display:flex;flex-direction:column;gap:14px;overflow-y:auto}.sidebar .nav{display:flex;flex-direction:column;gap:4px}.sidebar .nav a{border:2.5px solid transparent;border-radius:12px;padding:8px 11px;font-size:13.5px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:8px;min-height:34px}.sidebar .nav a[aria-current=page]{background:var(--surface);color:var(--blue-text);border-color:var(--ink);font-weight:700}.sidebar .nav a:hover:not([aria-current=page]){background:#ffffff24}.workspace{flex:1;min-width:0;padding:18px;display:flex;flex-direction:column;gap:11px;overflow:hidden}.work-head{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.work-body{flex:1;min-height:0;display:flex;gap:14px}.work-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.work-main.narrow{max-width:780px}.rail{flex:none;width:var(--rail);display:flex;flex-direction:column;gap:9px;min-height:0;animation:rail-in .18s ease-out}.report-rail{flex:none;width:var(--rail)}.rail-card{display:flex;flex-direction:column;overflow:hidden;border-radius:18px;min-height:0}.rail-head{flex:none;padding:11px 14px;border-bottom:2.5px solid var(--ink)}.rail-body{padding:13px 14px;gap:9px}.rail-foot{flex:none;padding:11px 14px 14px;border-top:2.5px solid var(--ink);gap:7px}.rail-x{border:0;background:none;font-size:16px;opacity:.5;cursor:pointer;line-height:1}.rail-x:hover{opacity:.9}.table{flex:1;min-height:0;background:var(--surface);border:3px solid var(--ink);border-radius:18px;box-shadow:var(--drop);overflow:hidden;display:flex;flex-direction:column}.table .thead{display:flex;gap:8px;padding:9px 14px;background:var(--ink);color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;flex:none}.table .tbody{flex:1;min-height:0;overflow-y:auto}.table .group-head{display:flex;align-items:center;gap:9px;padding:7px 14px;background:#f3fafd;border-bottom:2px dashed #dce9f0}.table .tr{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:2px dashed #e6f0f5;cursor:pointer;background:var(--surface);width:100%;text-align:left;border-left:0;border-right:0;border-top:0;font-family:var(--prose);color:var(--ink)}.table .tr:hover,.table .tr[data-selected=true]{background:var(--inset)}.table .tfoot{flex:none;display:flex;align-items:center;gap:10px;padding:9px 14px;background:#f3fafd;border-top:3px solid var(--ink);font-size:11.5px}.col-what{flex:1;min-width:96px}.col-cat{width:100px;flex:none}.col-card{width:84px;flex:none}.col-who{width:26px;flex:none}.col-amount{width:92px;flex:none;text-align:right}.toast{left:250px;right:auto;bottom:20px;max-width:460px}.sheet.as-panel{position:static;border-radius:18px;border-bottom:3px solid var(--ink);box-shadow:var(--drop);animation:rail-in .18s ease-out;max-height:none}}@media(min-width:82rem){:root{--rail: 322px}.col-what{min-width:120px}.col-cat{width:118px}.col-card{width:96px}.col-who{width:30px}.col-amount{width:104px}}@media(min-width:100rem){.workspace{padding:22px 28px}.col-cat{width:150px}.col-card,.col-amount{width:130px}}.signin{height:100vh;height:100dvh;overflow-y:auto;background:var(--blue);display:flex;flex-direction:column;justify-content:center;gap:22px;padding:34px 22px calc(34px + var(--safe-bottom))}.signin-brand{display:flex;flex-direction:column;align-items:center;gap:14px;color:#fff;text-align:center}.signin-coin{width:104px;height:104px;border-radius:50%;background:var(--yellow);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);display:grid;place-items:center}.signin-title{font-size:34px;margin:0;text-shadow:0 3px 0 rgba(0,0,0,.2)}.signin-blurb{font-size:13px;opacity:.9;max-width:250px;margin:0}.signin-card{border-radius:22px;padding:15px 16px;box-shadow:0 5px 0 var(--ink);display:flex;flex-direction:column;gap:11px;width:100%;max-width:420px;align-self:center}.signin-note{font-size:11.5px;color:var(--ink-60);text-align:center;margin:0}.signin-error{font-size:12.5px;font-weight:700;color:var(--red);margin:0}.signin-or{display:flex;align-items:center;gap:10px}.signin-or>span:first-child,.signin-or>span:last-child{flex:1;height:2px;background:var(--hairline)}.signin-passkey{width:100%;min-height:52px;border-width:3px;border-radius:16px;box-shadow:var(--drop-hard);font-size:14px}@media(min-width:64rem){.signin{flex-direction:row;align-items:center;justify-content:center;gap:64px;padding:0 70px}.signin-brand{align-items:flex-start;text-align:left;max-width:380px}.signin-coin{width:88px;height:88px}.signin-title{font-size:44px;line-height:1.05}.signin-blurb{font-size:15px;max-width:none}.signin-card{width:390px;flex:none;border-radius:24px;padding:22px;box-shadow:0 6px 0 var(--ink)}}.signin-slot{width:12px;height:34px;border-radius:6px;background:var(--blue);border:3px solid var(--ink);margin-top:22px}@media(min-width:64rem){.signin-slot{width:11px;height:30px;margin-top:20px}}
