@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/material-symbols-rounded-Dcocrg9b.woff2) format("woff2")}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}:root,:root[data-theme=dark]{color-scheme:dark;--bg:#11141a;--card:#151920;--line:#2c323d;--sub:#9aa0a6;--tx:#e8eaed;--pos:#2fd08a;--neg:#f2495c;--acc:#8ab4f8;--nav:#232833;--inp:#0f1217;--sheet:#1a1e26;--track:#2a303b;--seg:#3a3f48;--segon:#2c3442;--sel:#232a36;--pill:#3a4352;--toggleon:#11141a;--fab:#174a73;--fabtx:#dbe7ff;--dim:#c4c7cc;--dim2:#d6d9de;--btntx:#0b1a33;--msgbg:#1d2a22;--msgbd:#2fd08a55;--duebg:#1f1c16;--shadow:#0008;--overlay:#000a;--hover:#ffffff10;--warn:#ffa726}:root[data-theme=light]{color-scheme:light;--bg:#f3f5f9;--card:#ffffff;--line:#dfe4ec;--sub:#5d6877;--tx:#1a2130;--pos:#0e9b60;--neg:#d6364b;--acc:#2f6fe0;--nav:#ffffff;--inp:#eef1f6;--sheet:#ffffff;--track:#e1e6ee;--seg:#e3e8ef;--segon:#ffffff;--sel:#e7effd;--pill:#dce8ff;--toggleon:#ffffff;--fab:#2f6fe0;--fabtx:#ffffff;--dim:#3c4757;--dim2:#2a3342;--btntx:#ffffff;--msgbg:#e6f6ee;--msgbd:#0e9b6055;--duebg:#fff6e5;--shadow:#1a213028;--overlay:#1a213066;--hover:#00000010;--warn:#e08a00}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--tx);font-family:Manrope,system-ui,sans-serif}button,input,select{font:inherit;color:inherit}.ms{font-family:Material Symbols Rounded;font-feature-settings:"liga";font-weight:400;font-size:24px;line-height:1;font-variation-settings:"FILL" 0,"wght" 400;display:inline-block;vertical-align:middle;-webkit-user-select:none;user-select:none}.ms.fill{font-variation-settings:"FILL" 1,"wght" 500}.app{max-width:560px;margin:0 auto;min-height:100vh;padding-bottom:110px}main{padding:0 16px}.top{text-align:center;padding:calc(env(safe-area-inset-top) + 18px) 16px 6px}.tl{color:var(--dim2);font-size:17px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.tv{font-size:34px;font-weight:600;letter-spacing:-.5px;margin-top:4px}.pos{color:var(--pos)}.neg{color:var(--neg)}.sub{color:var(--sub);font-size:13px}.nav{position:fixed;bottom:0;left:0;right:0;background:var(--nav);display:flex;justify-content:center;padding:10px 4px calc(env(safe-area-inset-bottom) + 10px);z-index:5}.nav{padding-left:2px;padding-right:2px;gap:0}.nav button{flex:1 1 0;min-width:0;max-width:112px;background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--dim);cursor:pointer;padding:0 1px}.nav .pill{padding:4px 0;width:min(56px,88%);display:flex;justify-content:center;border-radius:16px}.nav .lb{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:420px){.nav button{font-size:12px}}.nav .on{color:var(--acc);font-weight:700}.nav .on .pill{background:var(--pill)}.mnav{display:flex;align-items:center;justify-content:space-between;margin:6px 0 12px}.mnav button{background:none;border:0;padding:8px;cursor:pointer}.mnav label{position:relative;white-space:nowrap;font-size:20px;font-weight:500;display:flex;align-items:center;cursor:pointer}.mnav input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:12px}.card.col{display:flex;flex-direction:column;gap:8px}.ibox{border-radius:12px;display:grid;place-items:center;flex:none}.grow{flex:1;min-width:0}.nm{font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amt{font-size:16px;font-weight:500;margin-top:2px}.acc{display:flex;gap:14px;align-items:center;cursor:pointer}.goal{position:relative;height:6px;background:var(--track);border-radius:3px;margin-top:8px}.goal div{height:100%;border-radius:3px}.goal span{position:absolute;right:0;top:8px;font-size:11px;color:var(--sub)}.tabs{display:flex;border-bottom:1px solid var(--line);margin:4px -16px 12px}.tabs button{flex:1;background:none;border:0;padding:12px;font-size:15px;font-weight:600;border-bottom:3px solid transparent;cursor:pointer;color:var(--dim)}.tabs .on{border-color:var(--acc);color:var(--tx)}.sec{display:flex;justify-content:space-between;align-items:center;font-size:15px;margin:6px 2px 12px}.sec b{font-size:17px;font-weight:600}.kv{display:flex;justify-content:space-between;font-size:15px}.kv.big{font-size:16px;border-top:1px solid var(--line);padding-top:10px}.toggle{display:flex;background:var(--seg);border-radius:18px;padding:6px;margin-bottom:14px}.toggle button{flex:1;border:0;background:none;border-radius:13px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;opacity:.55}.toggle button span{font-size:14px}.toggle b{font-size:18px;font-weight:600}.toggle .on{background:var(--toggleon);opacity:1}.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cat{padding-right:26px!important;display:flex;gap:10px;align-items:center;margin:0;cursor:pointer;position:relative;padding:10px}.cat .nm,.cat .amt{font-size:15px}.cat .tiny{position:absolute;top:4px;right:4px;opacity:.35}.cat.add{justify-content:center;color:var(--sub);border-style:dashed;min-height:70px}.bal{display:flex;text-align:center}.bal div{flex:1;display:flex;flex-direction:column;gap:4px}.bal span{font-size:13px}.bal b{font-size:18px;font-weight:600}.row{display:flex;gap:8px;align-items:center}.filt{margin-bottom:8px}.filt>*{flex:1}.dayh{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:6px}.dn{font-size:34px;font-weight:500}.dl{font-size:13px;color:var(--dim2);flex:1;line-height:1.3}.dayh b{font-size:17px}.tx{display:flex;gap:12px;padding:10px 0;cursor:pointer;align-items:flex-start}.tx .nm{font-size:16px}.tx .sub{display:flex;align-items:center;gap:4px;color:var(--dim);margin-top:2px}.cm{color:var(--sub);font-size:13px;margin-top:3px}.tx .r{text-align:right;font-size:16px;font-weight:500;white-space:nowrap}.fab{position:fixed;right:max(16px,calc(50% - 264px));bottom:96px;background:var(--fab);color:var(--fabtx);border:0;border-radius:18px;padding:16px 22px;font-size:17px;font-weight:600;display:flex;gap:8px;align-items:center;box-shadow:0 6px 20px var(--shadow);cursor:pointer;z-index:4}.center{display:flex;justify-content:center;align-items:center;min-height:120px}.app>.center,body>#root>.center{min-height:100vh}.center-t{align-items:center;text-align:center}.xl{font-size:22px;font-weight:600}.spin{width:30px;height:30px;border:3px solid var(--track);border-top-color:var(--acc);border-radius:50%;animation:s 1s linear infinite}@keyframes s{to{transform:rotate(1turn)}}.empty{color:var(--sub);text-align:center;padding:30px 10px}.err{color:var(--neg);text-align:center}.chart{padding:12px 6px 4px}.chart .lbl{padding-left:8px}.pie-wrap{position:relative}.pie-c{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:600;pointer-events:none}.legend{display:flex;align-items:center;gap:8px;padding:6px 2px;font-size:14px}.legend i{width:10px;height:10px;border-radius:50%}.legend span{flex:1}.legend em{color:var(--sub);font-style:normal}.ov{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:10;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--sheet);width:100%;max-width:560px;max-height:92vh;border-radius:22px 22px 0 0;display:flex;flex-direction:column;animation:up .2s ease-out}@keyframes up{0%{transform:translateY(40px);opacity:0}}.sh-h{display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border-bottom:1px solid var(--line);font-size:17px}.sh-b{overflow:auto;padding:14px 16px calc(env(safe-area-inset-bottom) + 20px)}.ib{background:none;border:0;width:40px;height:40px;border-radius:20px;cursor:pointer;display:grid;place-items:center}.ib.red{color:var(--neg)}input,select{width:100%;background:var(--inp);border:1px solid var(--line);border-radius:12px;padding:12px;outline:none}input:focus,select:focus{border-color:var(--acc)}.lbl{color:var(--sub);font-size:13px;margin:14px 0 6px}.btn{background:var(--acc);color:var(--btntx);border:0;border-radius:14px;padding:14px 18px;font-weight:700;cursor:pointer}.btn.wide{width:100%;margin-top:20px;font-size:16px}.btn.sm{padding:11px 14px}.seg{display:flex;background:var(--inp);border-radius:14px;padding:4px;gap:4px;margin-bottom:8px}.seg button{flex:1;border:0;background:none;padding:10px 4px;border-radius:10px;cursor:pointer;font-size:14px;color:var(--sub)}.seg .on{background:var(--segon);color:var(--tx);font-weight:600}.seg .on.expense{color:var(--neg)}.seg .on.income{color:var(--pos)}.seg .on.transfer{color:#29b6f6}.amount-in{display:flex;align-items:baseline;gap:8px;border-bottom:2px solid var(--line);margin:10px 0}.amount-in input{font-size:38px;font-weight:600;border:0;background:none;padding:6px 0}.amount-in span{color:var(--sub);font-size:18px}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chips button{flex:none;border:1px solid var(--line);background:var(--inp);border-radius:12px;padding:8px 12px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px}.chips .on{background:var(--sel)}.cpick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cpick button{border:1px solid transparent;background:none;border-radius:12px;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;cursor:pointer}.cpick button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpick .on{background:var(--sel)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview{display:flex;gap:12px;align-items:center;margin-bottom:12px}.preview input.big{font-size:18px}.colors{display:flex;flex-wrap:wrap;gap:8px}.colors button{width:30px;height:30px;border-radius:50%;border:3px solid transparent;cursor:pointer}.colors .sel{border-color:var(--tx)}.icons{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin-bottom:8px}.icons button{aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:var(--inp);cursor:pointer;display:grid;place-items:center;color:var(--dim)}.chk{display:flex;gap:10px;align-items:center;margin:12px 2px;color:var(--dim);font-size:14px}.chk input{width:auto}.more{padding-top:calc(env(safe-area-inset-top) + 16px)}.brand{font-size:28px;font-weight:700;display:flex;gap:10px;align-items:center;margin-bottom:6px}.pad{margin-bottom:12px}.mi{display:flex;gap:12px;align-items:center;background:none;border:0;padding:10px 2px;font-size:16px;cursor:pointer;text-decoration:none;color:var(--tx);text-align:left;width:100%}.mi.file{font-size:14px;padding:8px 2px}.mi:disabled{opacity:.5}details summary{cursor:pointer;margin:6px 0}.msg{background:var(--msgbg);border:1px solid var(--msgbd);border-radius:12px;padding:12px;margin:10px 0}@media (max-width:380px){.cgrid{grid-template-columns:1fr}.icons{grid-template-columns:repeat(6,1fr)}}.phead{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 10px) 0 6px;font-size:19px}.sch{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.sch.off{opacity:.5}.sch .r,.due-row{text-align:right;white-space:nowrap}.paybtns{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-top:6px}.lnk{background:none;border:0;color:var(--acc);cursor:pointer;font-size:13px;padding:4px 0}.due{border-color:#ffa72666;background:var(--duebg)}.due-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);text-align:left;cursor:pointer}.due-row .paybtns{margin:0}.planned{display:flex;flex-direction:column;gap:0;padding:0}.planned div{display:flex;flex-direction:column;align-items:center;padding:12px;gap:4px}.planned div+div{border-top:1px solid var(--line)}.planned span{font-size:14px}.planned b{font-size:16px;font-weight:600}.bud{display:flex;gap:12px;align-items:center;cursor:pointer}.bbar{position:relative;height:8px;background:var(--track);border-radius:4px;margin:8px 0 6px;overflow:visible}.bbar div{height:100%;border-radius:4px;transition:width .3s}.bbar i{position:absolute;top:-3px;width:2px;height:14px;background:color-mix(in srgb,var(--tx) 60%,transparent)}.theme-seg{margin:6px 0 0}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.login img{width:96px;height:96px;border-radius:24px;box-shadow:0 8px 28px var(--shadow)}.login h1{margin:6px 0 0;font-size:30px;letter-spacing:-.5px}.login p{margin:0;color:var(--sub);max-width:320px;line-height:1.45}.login .gbtn{min-height:44px;display:flex;justify-content:center}.login form{display:flex;flex-direction:column;gap:8px;width:100%;max-width:300px}.login .err{max-width:320px}.userbox{display:flex;gap:12px;align-items:center}.ava{width:48px;height:48px;border-radius:50%;background:var(--pill);color:var(--acc);display:grid;place-items:center;font-weight:700;font-size:18px;flex:none;overflow:hidden}.ava img{width:100%;height:100%;object-fit:cover}.badge{display:inline-block;font-size:11px;font-weight:700;border-radius:8px;padding:2px 7px;background:var(--pill);color:var(--acc);vertical-align:middle;margin-left:6px}.badge.off{background:#f2495c33;color:var(--neg)}.nhead{display:flex;gap:8px;align-items:center;padding:calc(env(safe-area-inset-top) + 12px) 0 8px}.nhead input{flex:1}.nhead .ib{background:var(--card);border:1px solid var(--line)}.nhead .ib.on{color:var(--acc);border-color:var(--acc)}.notice{display:flex;gap:10px;align-items:center;background:var(--sel);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:8px 0;font-size:14px}.notice .grow{line-height:1.35}.nsec{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sub);margin:14px 4px 8px}.ngrid{columns:2;column-gap:10px}.note{--nc:transparent;break-inside:avoid;margin:0 0 10px;padding:12px;border-radius:16px;border:1px solid var(--line);cursor:pointer;background:color-mix(in srgb,var(--nc) 20%,var(--card));border-color:color-mix(in srgb,var(--nc) 45%,var(--line));position:relative;overflow:hidden}.note .nt{font-weight:700;font-size:16px;margin-bottom:6px;word-break:break-word}.note .nb{font-size:14px;color:var(--dim);white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}.note .pin{position:absolute;top:8px;right:8px;opacity:.55}.nit{display:flex;gap:8px;align-items:flex-start;font-size:14px;padding:3px 0;color:var(--dim)}.nit .ms{font-size:20px;color:var(--sub);flex:none;cursor:pointer}.nit.done span{text-decoration:line-through;color:var(--sub)}.nmore{font-size:12px;color:var(--sub);margin-top:4px}.chip{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;border-radius:10px;padding:3px 8px;background:color-mix(in srgb,var(--tx) 10%,transparent);color:var(--dim)}.chip.late{background:#f2495c26;color:var(--neg)}.chip.fired{background:#ffa72633;color:var(--warn)}.sheet.full{height:92vh;background:color-mix(in srgb,var(--nc,transparent) 16%,var(--sheet))}.ed-top{display:flex;align-items:center;gap:2px;padding:8px 6px}.ed-top .sp{flex:1}.ed-top .ib.on{color:var(--acc)}.ed-body{overflow:auto;padding:4px 16px calc(env(safe-area-inset-bottom) + 20px);flex:1}.ed-title{border:0!important;background:none!important;font-size:24px;font-weight:700;padding:8px 0!important}.ed-text{width:100%;min-height:240px;border:0;background:none;resize:none;outline:none;font-size:16px;line-height:1.5;padding:6px 0;color:var(--tx)}.ed-row{display:flex;align-items:center;gap:8px;padding:2px 0}.ed-row .ms{cursor:pointer;color:var(--sub)}.ed-row input{border:0;background:none;padding:10px 4px;font-size:16px;flex:1}.ed-row input:focus{border:0}.ed-row.done input{text-decoration:line-through;color:var(--sub)}.ed-row .x{opacity:0}.ed-row:focus-within .x,.ed-row:hover .x{opacity:1}.ed-add{display:flex;gap:10px;align-items:center;color:var(--sub);padding:10px 4px;cursor:pointer}.ed-foot{display:flex;align-items:center;gap:10px;padding:8px 16px calc(env(safe-area-inset-bottom) + 10px);border-top:1px solid var(--line)}.ed-foot .sub{flex:1}.ncolors{display:flex;gap:8px;overflow-x:auto;padding:6px 0;scrollbar-width:none}.ncolors button{flex:none;width:30px;height:30px;border-radius:50%;border:2px solid var(--line);cursor:pointer}.ncolors .sel{border-color:var(--tx)}.rem{background:var(--sheet);width:100%;max-width:560px;border-radius:22px 22px 0 0;padding:6px 0 calc(env(safe-area-inset-bottom) + 14px);animation:up .2s ease-out}.rem h4{margin:0;padding:16px 20px 4px;font-size:18px;display:flex;gap:12px;align-items:center}.rem h4 .ms{color:var(--acc)}.rem .hint{padding:0 20px 12px;font-size:14px;color:var(--sub);border-bottom:1px solid var(--line)}.rem button.opt{display:flex;width:100%;gap:16px;align-items:center;background:none;border:0;padding:16px 20px;font-size:17px;cursor:pointer;text-align:left}.rem button.opt b{margin-left:auto;font-weight:500;color:var(--sub)}.rem .custom{padding:0 20px 8px;display:flex;gap:8px}.rem .custom input{flex:1}.remind{position:fixed;top:calc(env(safe-area-inset-top) + 10px);left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:536px;z-index:20;display:flex;flex-direction:column;gap:8px}.remind .card{margin:0;border-color:var(--warn);box-shadow:0 8px 24px var(--shadow);background:var(--card)}.remind .rt{display:flex;gap:10px;align-items:center;font-weight:700}.remind .rt .ms{color:var(--warn)}.remind .rb{color:var(--dim);font-size:14px;margin:4px 0 0 34px}.remind .acts{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.remind .lnk{font-size:14px;padding:6px 10px;font-weight:600}.stats4{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.stats4 div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}.stats4 b{display:block;font-size:22px}.stats4 span{font-size:12px;color:var(--sub)}.urow{display:flex;gap:12px;align-items:center;cursor:pointer}.urow .meta{font-size:12px;color:var(--sub);margin-top:3px;line-height:1.4}.urow.off{opacity:.6}.btn.ghost{background:var(--inp);color:var(--tx);border:1px solid var(--line)}.btn.danger{background:#f2495c26;color:var(--neg)}.btn.wide+.btn.wide{margin-top:10px}.dlg-ov{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:60;display:grid;place-items:center;padding:20px;animation:fade .15s ease-out}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:scale(.94);opacity:0}}.dlg{background:var(--sheet);border:1px solid var(--line);border-radius:24px;width:100%;max-width:360px;padding:24px 20px 16px;box-shadow:0 24px 60px var(--shadow);animation:pop .16s ease-out;text-align:center}.dlg-ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:var(--pill);color:var(--acc)}.dlg-ic .ms{font-size:28px}.dlg.danger .dlg-ic{background:#f2495c26;color:var(--neg)}.dlg-t{font-size:18px;font-weight:700;margin-bottom:6px}.dlg-m{color:var(--dim);font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.dlg-b{display:flex;gap:10px;margin-top:20px}.dlg-b .btn{flex:1;margin:0;padding:13px 10px}.dlg-col{display:flex;flex-direction:column;gap:8px;margin-top:18px}.dlg-col .btn{margin:0;width:100%}.btn.danger.solid{background:var(--neg);color:#fff}.viewbar{position:sticky;top:0;z-index:9;display:flex;align-items:center;gap:8px;background:var(--acc);color:var(--btntx);padding:calc(env(safe-area-inset-top) + 8px) 14px 8px;font-size:13px}.viewbar b{font-weight:700}.viewbar button{background:#fff3;color:inherit;border:0;border-radius:10px;padding:6px 12px;font-weight:700;cursor:pointer}.app.ro .fab,.app.ro .cat .tiny{display:none}.invites{padding:calc(env(safe-area-inset-top) + 10px) 16px 0}.invite{display:flex;gap:12px;align-items:center;margin:0 0 8px;border-color:var(--acc)}.invite>.ms{color:var(--acc)}.invite b{font-weight:700}.shrow{display:flex;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}.installbar{display:flex;gap:10px;align-items:center;margin:0 0 8px;border-color:var(--acc)}.installbar>img{width:40px;height:40px;border-radius:10px;flex:none}.installbar .x{opacity:.6}.steps{margin:4px 0 0;padding-left:20px;color:var(--dim);font-size:14px;line-height:1.55}
