@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.p.1uklb5el4zgvl.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.05i4gb4p0piv4.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.p.2g-0we2o5_ngd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.p.1zvg0ggiaivzo.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.0jaqhc1tb-5xm.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.p.1hvvd1t-trplq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.p.25pbmqxk8u2s7.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.0n_ln9vqskgts.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.2wu4yy186g04j.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8ffc259da9d23054-s.p.10uaeld2xxvpt.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9e486ba39c38fb8a-s.2bbpeapf-lbjw.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6f42e0a3b0519c4d-s.p.13y-iz2lazqtb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fcf129058e6e31f2-s.p.1ubek13yfcpkr.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/7b74840ea7c05e95-s.0t1_atrj_pkiu.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/3eca85881bcfa204-s.p.0unco9n87mni8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.Tt7iNW_className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.Tt7iNW_variable{--font-bvp:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
:root{--green:#12b76a;--green-d:#039855;--green-2:#22c55e;--teal:#14b8a6;--green-soft:#e7f8ef;--grad:linear-gradient(135deg, #22c55e 0%, #10b981 45%, #0ea5a4 100%);--ai-grad:linear-gradient(135deg, #10b981 0%, #06b6d4 55%, #6366f1 100%);--blue:#2e90fa;--red:#f04438;--orange:#f79009;--bg:#f4f6fb;--card:#fff;--text:#101828;--text-2:#475467;--muted:#98a2b3;--sep:#eaecf0;--seg:#eef1f6;--chip:#f2f4f7;--tile:#f8fafc;--shadow:0 1px 2px #1018280a, 0 4px 16px #1018280f;--shadow-lg:0 12px 32px #10182824;--r:20px;--r-sm:14px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--tab-h:64px;--col:640px;--font:"Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--green:#32d583;--green-d:#12b76a;--green-soft:#0f2e22;--blue:#53b1fd;--red:#f97066;--bg:#0b0f14;--card:#151b23;--text:#f2f4f7;--text-2:#c0c7d2;--muted:#7d8794;--sep:#232b36;--seg:#1d2530;--chip:#1d2530;--tile:#18202a;--shadow:0 1px 0 #ffffff08;--shadow-lg:0 12px 32px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--green:#32d583;--green-d:#12b76a;--green-soft:#0f2e22;--blue:#53b1fd;--red:#f97066;--bg:#0b0f14;--card:#151b23;--text:#f2f4f7;--text-2:#c0c7d2;--muted:#7d8794;--sep:#232b36;--seg:#1d2530;--chip:#1d2530;--tile:#18202a;--shadow:0 1px 0 #ffffff08;--shadow-lg:0 12px 32px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;letter-spacing:-.1px;margin:0}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{opacity:.45;cursor:default}input::placeholder,textarea::placeholder{color:var(--muted)}.ico{flex:none;display:block}.muted{color:var(--muted)}.small{font-size:13px}.pos,.blue{color:var(--blue)}.neg{color:var(--red)}.block{display:block}.grow{flex:1;min-width:0}.bold{font-weight:700}small{font-size:12.5px}#app{max-width:var(--col);min-height:100vh;margin:0 auto}@media (min-width:700px){body{background:radial-gradient(1200px 600px at 10% -10%, #d9f7e8 0%, transparent 60%), radial-gradient(900px 500px at 110% 10%, #dbeafe 0%, transparent 55%), var(--bg);background-attachment:fixed}:root[data-theme=dark] body{background:var(--bg)}}#hdr{z-index:30;padding:calc(var(--safe-t) + 8px) 14px 8px;min-height:calc(var(--safe-t) + 60px);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(18px);grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr);align-items:center;gap:8px;display:grid;position:sticky;top:0}#hdr h1{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:60vw;margin:0;font-size:17px;font-weight:700;overflow:hidden}.h-left{justify-self:start;min-width:0}.h-right{justify-self:end;gap:6px;display:flex}.h-center{min-width:0}.hbtn{color:var(--green);justify-content:center;align-items:center;gap:2px;min-height:40px;padding:0 6px;font-size:16px;font-weight:600;display:inline-flex}.hbtn.round{background:var(--card);width:40px;height:40px;color:var(--text);box-shadow:var(--shadow);border-radius:50%;padding:0}.hbtn.round:active{transform:scale(.94)}.link{color:var(--green);font-weight:600}#screen{padding-bottom:calc(var(--tab-h) + var(--safe-b) + 40px);animation:.2s fadein}@keyframes fadein{0%{opacity:.4;transform:translateY(4px)}}.spacer{height:16px}#tabs{z-index:40;left:50%;bottom:calc(var(--safe-b) + 10px);width:min(calc(100% - 24px), calc(var(--col) - 24px));height:var(--tab-h);background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);box-shadow:var(--shadow-lg);border:1px solid color-mix(in srgb, var(--sep) 70%, transparent);border-radius:24px;grid-template-columns:1fr 1fr 76px 1fr 1fr;align-items:center;display:grid;position:fixed;transform:translate(-50%)}#tabs>button:not(.fab){height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:500;display:flex}#tabs>button.on{color:var(--green);font-weight:700}#tabs>button.on .ti{background:var(--green-soft)}#tabs .ti{border-radius:14px;place-items:center;width:44px;height:28px;transition:background .2s;display:grid}.fab{background:var(--ai-grad);width:62px;height:62px;box-shadow:0 10px 24px #10b98173, 0 0 0 5px var(--bg);border-radius:50%;justify-self:center;place-items:center;margin-top:-30px;transition:transform .15s;display:grid;position:relative}.fab:after{content:"";border:2px solid #10b98159;border-radius:50%;animation:2.4s ease-out infinite pulse;position:absolute;inset:-5px}@keyframes pulse{0%{opacity:.9;transform:scale(.95)}70%,to{opacity:0;transform:scale(1.25)}}.fab:active{transform:scale(.92)}.seg{background:var(--seg);border-radius:999px;gap:2px;max-width:100%;padding:4px;display:inline-flex}.seg button{color:var(--text-2);white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;transition:all .18s}.seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px #1018281f}.seg.green button.on{background:var(--grad);color:#fff;box-shadow:0 4px 10px #12b76a4d}.seg.wide{width:100%;display:flex}.seg.wide button{text-align:center;flex:1;padding:9px 6px}@media (max-width:380px){.seg button{padding:7px 10px;font-size:13px}}.utabs{background:var(--seg);border-radius:999px;gap:6px;margin:14px 16px 0;padding:4px;display:flex}.utabs button{text-align:center;color:var(--text-2);border-radius:999px;flex:1;padding:8px 0;font-size:14px;font-weight:600}.utabs button.on{background:var(--card);color:var(--green);box-shadow:0 1px 3px #1018281f}.period{align-items:center;gap:8px;margin:4px 16px 0;display:flex}.pnav{width:40px;height:40px;color:var(--text-2);background:var(--card);box-shadow:var(--shadow);border-radius:50%;flex:none;place-items:center;display:grid}.plabel{text-align:center;background:var(--card);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow);border-radius:999px;flex:1;padding:9px 6px}.plabel b{font-size:18px;font-weight:700}.plabel small{color:var(--muted)}.filterbar{padding:0 16px 10px;display:flex}.wchip{background:var(--card);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.wchip select,.pill select{opacity:0;cursor:pointer;width:100%;font-size:16px;position:absolute;inset:0}.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin:14px 16px}.group{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin:14px 16px;overflow:hidden}.group.flat{margin:14px 16px}.group.disabled{opacity:.5}.glabel{color:var(--muted);letter-spacing:.6px;margin:22px 28px -6px;font-size:12px;font-weight:600}.row{background:var(--card);align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 16px;display:flex;position:relative}.row.col{flex-direction:column;align-items:stretch;gap:6px}.row+.row:before,.brow+.brow:before,.txrow+.txrow:before{content:"";border-top:1px solid var(--sep);position:absolute;top:0;left:62px;right:16px}button.row:active,.txrow:active,.brow:active{background:var(--tile)}.row.tall{min-height:70px}.row.green{color:var(--green);font-weight:600}.row.danger{color:var(--red);font-weight:600}.row b.big,.big{font-size:17px}.row .amt{font-variant-numeric:tabular-nums;font-weight:600}.row .pct{text-align:right;width:54px;color:var(--muted);font-size:12px}.chev{color:var(--muted);opacity:.6;justify-content:center;width:18px;display:flex}.cic{background:color-mix(in srgb, var(--c,#98a2b3) 14%, transparent);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.wic{border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.sec-title{color:var(--text);padding:20px 20px 8px;font-size:16px;font-weight:700}.row-between{justify-content:space-between;align-items:center;display:flex}.hint{color:var(--muted);padding:4px 28px 8px;font-size:13px;line-height:1.55}.note{background:var(--card);border-radius:var(--r-sm);box-shadow:var(--shadow);margin:12px 16px 0;padding:12px 14px;font-size:14px}.note.good{background:var(--green-soft);box-shadow:none}.foot{text-align:center;color:var(--muted);font-size:12px}.pad{padding:8px 16px}.card .card-text{padding:18px 18px 6px}.card .card-text p{color:var(--text-2);margin:8px 0;font-size:14.5px}.card.intro{align-items:flex-start;gap:12px;padding:16px;display:flex}.card.intro p{color:var(--text-2);margin:0}.steps{margin:0;padding-left:20px}.steps li{margin:6px 0}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;padding:36px 24px;display:flex}.empty p{margin:10px 0 0}.btn-primary,.btn-danger,.btn-outline{background:var(--grad);color:#fff;cursor:pointer;text-align:center;border-radius:18px;justify-content:center;align-items:center;width:100%;height:54px;font-size:16.5px;font-weight:700;transition:transform .12s;display:flex;box-shadow:0 8px 20px #12b76a47}.btn-primary:active{transform:scale(.98)}.btn-primary.sm{border-radius:14px;height:42px;font-size:14.5px;box-shadow:0 4px 12px #12b76a40}.btn-danger{background:var(--card);color:var(--red);box-shadow:var(--shadow);font-size:15px;font-weight:600}.btn-outline{background:var(--card);color:var(--green);border:1.5px solid var(--green);box-shadow:none;font-size:15px}.btn-outline.sm{border-radius:12px;height:40px}.btn-ghost{background:var(--chip);height:42px;color:var(--text-2);border-radius:14px;padding:0 16px;font-weight:600}.sticky-cta{bottom:calc(var(--tab-h) + var(--safe-b) + 18px);z-index:5;position:sticky}.hero{color:#fff;background:var(--grad);border-radius:26px;margin:4px 16px 0;padding:18px 16px 16px;position:relative;overflow:hidden;box-shadow:0 14px 30px #12b76a52}.hero.income{background:linear-gradient(135deg,#3b82f6 0%,#2e90fa 45%,#06b6d4 100%);box-shadow:0 14px 30px #2e90fa52}.hero.debt{background:linear-gradient(135deg,#f59e0b 0%,#f97316 55%,#ef4444 100%);box-shadow:0 14px 30px #f973164d}.hero:before,.hero:after{content:"";pointer-events:none;background:#ffffff1f;border-radius:50%;position:absolute}.hero:before{width:180px;height:180px;top:-70px;right:-50px}.hero:after{background:#ffffff14;width:120px;height:120px;bottom:-60px;left:-40px}.hero-tag{opacity:.9;font-size:13px;font-weight:600;position:relative}.hero-amt{color:#fff;align-items:baseline;gap:4px;min-height:56px;margin:4px 0 14px;display:flex;position:relative}.hero-amt b{letter-spacing:-1.5px;font-variant-numeric:tabular-nums;font-size:44px;font-weight:800;line-height:1.1}.hero-amt u{opacity:.85;font-size:22px;font-weight:600}.hero-row{flex-wrap:wrap;gap:8px;display:flex;position:relative}.pill{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff3;border-radius:999px;align-items:center;gap:6px;height:38px;padding:0 12px;font-size:13.5px;font-weight:600;display:inline-flex;position:relative}.pill.date{gap:0;padding:0 4px}.pill.date>button{color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.pill.date label{cursor:pointer;align-items:center;gap:6px;padding:0 4px;display:flex;position:relative}.pill.date input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.card.fields{padding:4px 0}.field{align-items:center;gap:12px;min-height:54px;padding:4px 16px;display:flex;position:relative}.field+.field:before{content:"";border-top:1px solid var(--sep);position:absolute;top:0;left:48px;right:16px}.field input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px 0;font-size:16px}.field.photos{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.thumbs{flex-wrap:wrap;gap:8px;display:flex}.thumb{background:var(--chip) center/cover no-repeat;cursor:zoom-in;border-radius:12px;flex:none;place-items:center;width:52px;height:52px;display:grid;position:relative}.thumb.lg{border-radius:16px;width:120px;height:120px}.thumb.add{border:1.5px dashed color-mix(in srgb, var(--green) 55%, transparent);background:var(--green-soft);cursor:pointer}.thumb.missing:after{content:"?";color:var(--muted)}.thumb-x{color:#fff;text-align:center;width:22px;height:22px;box-shadow:0 0 0 2px var(--card);background:#101828;border-radius:50%;font-size:15px;line-height:20px;position:absolute;top:-6px;right:-6px}.cgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 16px 8px;display:grid}.ctile{background:var(--card);text-align:center;color:var(--text-2);box-shadow:var(--shadow);border:2px solid #0000;border-radius:18px;flex-direction:column;justify-content:flex-start;align-items:center;gap:7px;min-height:92px;padding:12px 4px 10px;font-size:12.5px;font-weight:500;line-height:1.25;transition:transform .12s,border-color .15s;display:flex}.ctile:active{transform:scale(.95)}.ctile span:not(.cbub){text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;padding:0 2px;display:-webkit-box;overflow:hidden}.ctile small{color:var(--muted);font-size:10.5px;line-height:1.25}.cbub{background:color-mix(in srgb, var(--c,#98a2b3) 15%, transparent);border-radius:15px;place-items:center;width:44px;height:44px;display:grid}.ctile.on{border-color:var(--c,var(--green));color:var(--text);background:color-mix(in srgb, var(--c,var(--green)) 7%, var(--card));font-weight:700}.ctile.on .cbub{background:var(--c)}.ctile.on .cbub svg{stroke:#fff}.ctile.edit{color:var(--muted);box-shadow:none;border:2px dashed var(--sep);background:0 0}@media (min-width:560px){.cgrid{grid-template-columns:repeat(5,minmax(0,1fr))}}.dgroup .group{margin-top:0}.dhead{color:var(--text-2);justify-content:space-between;padding:14px 24px 8px;font-size:13px;font-weight:600;display:flex}.dhead i{margin-left:10px;font-style:normal;font-weight:600}.txrow{align-items:center;gap:12px;width:100%;min-height:62px;padding:12px 16px;display:flex;position:relative}.tx-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.tx-name{align-items:center;gap:5px;font-weight:600;display:flex}.clip{color:var(--muted);background:var(--chip);border-radius:99px;align-items:center;gap:1px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex}.tx-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.tx-amt{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.tx-amt.pos{color:var(--blue)}.tx-amt.neg{color:var(--red)}.tx-amt.neu{color:var(--muted)}.cal{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin:12px 16px 0;padding:8px 6px 6px}.cwd{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);padding-bottom:4px;font-size:12px;font-weight:600;display:grid}.cwd .sat,.cday.sat .dn{color:var(--blue)}.cwd .sun,.cday.sun .dn{color:var(--red)}.cgridcal{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cday{border-radius:12px;flex-direction:column;align-items:center;min-height:58px;padding:5px 2px 3px;transition:background .15s;display:flex;overflow:hidden}.cday .dn{text-align:center;border-radius:11px;width:26px;height:22px;font-size:14px;font-weight:600;line-height:22px}.cday .ci,.cday .ce{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;font-weight:600;line-height:1.25}.cday .ci{color:var(--blue)}.cday .ce{color:var(--red)}.cday.out{opacity:.35}.cday.today .dn{background:var(--grad);color:#fff!important}.cday.sel{background:var(--green-soft)}.totals3{text-align:center;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);margin:12px 16px 0;padding:14px 6px;display:grid}.totals3.two{grid-template-columns:1fr 1fr}.totals3>div+div{border-left:1px solid var(--sep)}.totals3 small{color:var(--muted);font-size:12.5px;font-weight:500;display:block}.totals3 b{font-variant-numeric:tabular-nums;letter-spacing:-.3px;white-space:nowrap;font-size:clamp(13px,3.9vw,17px);font-weight:700}.totals3>div{min-width:0;padding:0 4px;overflow:hidden}.sumcards{grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px 0;display:grid}.scard{background:var(--card);border-radius:var(--r-sm);min-width:0;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.scard span{color:var(--muted);font-size:12.5px;font-weight:500}.scard b{white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;max-width:100%;font-size:17px;font-weight:700;overflow:hidden}.scard.wide{background:var(--text);color:var(--card);flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}.scard.wide span{color:color-mix(in srgb, var(--card) 70%, transparent)}.scard.wide b{font-size:20px}.chart{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);justify-content:center;margin:12px 16px 0;padding:14px 0;display:flex}.chart.padded{padding:16px 10px}.donut{width:min(230px,66vw);height:auto}.dlabels text{fill:#fff;paint-order:stroke;stroke:#00000040;stroke-width:2px;font-size:9.5px;font-weight:600;font-family:var(--font)}.bars{width:100%;max-width:560px;height:auto;font-family:var(--font)}.bars .grid{stroke:var(--sep);stroke-width:1px}.bars .yl{fill:var(--muted);text-anchor:end;dominant-baseline:middle;font-size:9.5px}.bars .xl{fill:var(--muted);text-anchor:middle;font-size:9.5px}.brow{width:100%;padding:14px 16px 12px;display:block;position:relative}.brow-top{align-items:center;gap:10px;font-size:15px;display:flex}.brow-top .grow{font-weight:600}.bar{background:var(--chip);border-radius:6px;height:8px;margin:10px 24px 6px 0;overflow:hidden}.bar i{background:var(--grad);border-radius:6px;height:100%;transition:width .4s;display:block}.bar.warn i{background:linear-gradient(90deg,#fdb022,#f79009)}.bar.over i{background:linear-gradient(90deg,#f97066,#f04438)}.brow-bot{color:var(--muted);justify-content:space-between;padding-right:24px;font-size:12.5px;display:flex}.igrid{grid-template-columns:repeat(5,1fr);gap:8px;padding:0 16px;display:grid}.igrid button{background:var(--card);height:54px;box-shadow:var(--shadow);border:2px solid #0000;border-radius:14px;place-items:center;display:grid}.igrid button.on{border-color:var(--green)}@media (min-width:560px){.igrid{grid-template-columns:repeat(7,1fr)}}.palette{grid-template-columns:repeat(6,1fr);gap:10px;padding:0 16px;display:grid}.palette button{aspect-ratio:1;border:0;border-radius:50%;box-shadow:inset 0 0 0 1px #0000000f}.palette button.on{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--text)}.del{background:var(--red);border-radius:50%;flex:none;width:24px;height:24px;position:relative}.del:after{content:"";background:#fff;border-radius:2px;height:2.5px;position:absolute;top:11px;left:6px;right:6px}.grip{touch-action:none;cursor:grab;padding:8px 4px}.row.dragging{background:var(--tile);box-shadow:var(--shadow-lg);z-index:2}.flabel{width:82px;color:var(--text-2);flex:none;font-size:15px;font-weight:600}.finput{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:8px 0;font-size:16px}.finput.right{text-align:right;font-size:15px}.finput.big{font-size:18px;font-weight:600}.finput.key{background:var(--chip);border-radius:12px;padding:12px;font-family:ui-monospace,Menlo,monospace;font-size:14px}.rsel{color:var(--text-2);text-align:right;direction:rtl;background:0 0;border:0;outline:none;max-width:62%;font-size:15px;font-weight:500}.rsel option,input[type=date].rsel{direction:ltr}.searchbar{background:var(--card);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:8px;margin:4px 16px;padding:0 14px;display:flex}.searchbar input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:13px 0;font-size:16px}.switch{appearance:none;background:var(--seg);cursor:pointer;border-radius:16px;flex:none;width:50px;height:30px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.switch:checked{background:var(--green)}.switch:checked:after{transform:translate(20px)}#sheetRoot{display:none}#sheetRoot.open{z-index:120;display:block;position:fixed;inset:0}.backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0f1973;animation:.2s fade;position:absolute;inset:0}.sheet{width:min(100%, var(--col));background:var(--bg);max-height:92vh;padding-bottom:calc(var(--safe-b) + 10px);border-radius:26px 26px 0 0;animation:.25s cubic-bezier(.2,.8,.2,1) up;position:absolute;bottom:0;left:50%;overflow:auto;transform:translate(-50%)}.sheet.action{padding:0 10px calc(var(--safe-b) + 10px);background:0 0}@keyframes up{0%{opacity:.2;transform:translate(-50%,40%)}}@keyframes fade{0%{opacity:0}}.acts{background:var(--card);max-height:60vh;box-shadow:var(--shadow-lg);border-radius:20px;margin-top:8px;overflow:hidden auto}.acts button,.acts-title{text-align:center;width:100%;color:var(--text);border-top:1px solid var(--sep);padding:16px;font-size:16px;font-weight:600;display:block}.acts>:first-child{border-top:0}.acts-title{color:var(--muted);padding:12px;font-size:12.5px;font-weight:500}.acts .bold{color:var(--green)}.acts .danger{color:var(--red)}.kp-sheet{background:var(--card)}.kp-sheet:before{content:"";background:var(--sep);border-radius:3px;width:40px;height:5px;margin:8px auto 0;display:block}.kp-top{grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 18px 0;display:grid}.kp-top b{font-size:15px}.kp-display{text-align:right;padding:4px 20px 10px}.kp-expr{color:var(--muted);min-height:22px;font-size:15px}.kp-val{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:42px;font-weight:800}.kp-val small{color:var(--muted);margin-left:3px;font-size:22px}.kp-quick{scrollbar-width:none;gap:8px;padding:0 12px 10px;display:flex;overflow-x:auto}.kp-quick::-webkit-scrollbar{display:none}.kp-quick button{background:var(--green-soft);color:var(--green-d);border-radius:999px;flex:none;padding:8px 14px;font-size:14px;font-weight:600}.kp-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 12px 6px;display:grid}.kp-grid button{background:var(--chip);text-align:center;border-radius:18px;height:58px;font-size:24px;font-weight:600}.kp-grid button:active{filter:brightness(.92);transform:scale(.97)}.kp-grid .k-op,.kp-grid .k-fn{color:var(--green);background:var(--green-soft)}.kp-grid .k-ok{background:var(--grad);color:#fff;grid-row:span 2;height:auto;font-size:17px;font-weight:800;box-shadow:0 6px 16px #12b76a4d}#chatRoot{z-index:100;pointer-events:none;position:fixed;inset:0}#chatRoot.open{pointer-events:auto}.chat{width:min(100%, var(--col));background:var(--bg);flex-direction:column;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%,100%)}#chatRoot.open .chat{transform:translate(-50%)}@media (min-width:700px){.chat{box-shadow:var(--shadow-lg)}}.chat-hdr{padding:calc(var(--safe-t) + 8px) 14px 10px;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--sep);align-items:center;gap:10px;display:flex}.chat-title{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.chat-title b{font-size:16px;display:block}.chat-title small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.ai-dot{background:var(--ai-grad);border-radius:12px;flex:none;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 4px 12px #10b98159}.ai-dot.big{border-radius:22px;width:64px;height:64px;margin:0 auto 12px}.chat-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;padding:16px 14px 20px;display:flex;overflow-y:auto}.welcome{text-align:center;margin:auto 0;padding:20px 6px}.welcome h2{letter-spacing:-.4px;margin:0 0 8px;font-size:21px;font-weight:800}.welcome p{color:var(--text-2);max-width:420px;margin:0 auto 16px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chips button{background:var(--card);box-shadow:var(--shadow);border-radius:999px;padding:9px 14px;font-size:13.5px;font-weight:500}.nokey{text-align:left;color:#93370d;background:#fffaeb;border-radius:16px;align-items:center;gap:10px;max-width:420px;margin:0 auto 16px;padding:12px 14px;display:flex}.nokey small{color:#b54708;display:block}:root[data-theme=dark] .nokey{color:#fec84b;background:#2b1d07}:root[data-theme=dark] .nokey small{color:#fdb022}.msg{flex-direction:column;gap:8px;max-width:88%;display:flex}.msg.me{align-self:flex-end;align-items:flex-end}.msg.ai{align-self:flex-start;align-items:stretch;width:88%}.bubble{word-wrap:break-word;border-radius:20px;padding:10px 14px;font-size:15px;line-height:1.45}.msg.me .bubble{background:var(--grad);color:#fff;border-bottom-right-radius:6px}.msg.ai .bubble{background:var(--card);box-shadow:var(--shadow);border-bottom-left-radius:6px;align-self:flex-start}.bubble.err{color:#b42318;background:#fef3f2}:root[data-theme=dark] .bubble.err{color:#fda29b;background:#2d1210}.mphotos{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.typing{gap:4px;padding:14px 16px;display:flex}.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.draft{background:var(--card);box-shadow:var(--shadow);border-top:4px solid var(--red);border-radius:20px;padding:14px}.draft.income{border-top-color:var(--blue)}.draft.debt{border-top-color:var(--orange)}.draft.done{border-top:0;align-items:center;gap:8px;padding:12px 14px;font-size:14px;font-weight:500;display:flex}.d-top{align-items:center;gap:10px;display:flex}.d-seg{background:var(--seg);border-radius:999px;flex:1;padding:3px;display:flex}.d-seg button{text-align:center;color:var(--text-2);border-radius:999px;flex:1;padding:5px 0;font-size:13px;font-weight:600}.d-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px #0000001a}.conf{color:#b54708;background:#fef0c7;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;font-weight:800;display:grid}.d-amt{letter-spacing:-.8px;font-variant-numeric:tabular-nums;margin:8px 0 6px;font-size:30px;font-weight:800;display:block}.d-amt.expense{color:var(--red)}.d-amt.income{color:var(--blue)}.d-amt.debt{color:var(--orange)}.d-amt u{opacity:.7;margin-left:2px;font-size:17px;text-decoration:none}.d-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.d-grid label{background:var(--tile);border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:6px 10px;display:flex}.d-grid label.wide{grid-column:1/-1}.d-grid span{color:var(--muted);font-size:11px;font-weight:600}.d-grid input,.d-grid select{background:0 0;border:0;outline:none;width:100%;min-width:0;padding:2px 0;font-size:15px;font-weight:500}.d-photo{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:12.5px;display:flex}.d-act{gap:8px;margin-top:12px;display:flex}.d-act .btn-primary{flex:1;width:auto}.chat-compose{padding:8px 12px calc(var(--safe-b) + 10px);background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--sep)}.chat-att{gap:10px;padding:8px 4px 10px;display:none;overflow-x:auto}.chat-att.on{display:flex}.chat-bar{background:var(--card);box-shadow:var(--shadow);border-radius:26px;align-items:flex-end;gap:8px;padding:6px;display:flex}.chat-bar textarea{resize:none;background:0 0;border:0;outline:none;flex:1;max-height:120px;padding:9px 4px;font-size:16px;line-height:1.4}.cbtn{width:40px;height:40px;color:var(--green);background:var(--green-soft);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.cbtn.send{background:var(--ai-grad);box-shadow:0 4px 12px #10b98159}#viewer{z-index:150;background:#000000eb;justify-content:center;align-items:center;animation:.2s fade;display:flex;position:fixed;inset:0}#viewer img{object-fit:contain;border-radius:8px;max-width:100%;max-height:calc(100% - 120px)}.vbar{padding:14px 16px calc(var(--safe-b) + 14px);color:#fff;justify-content:flex-end;align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.vbar span{opacity:.7;margin-right:auto}.vbar button{color:#fff;background:#ffffff26;border-radius:999px;padding:9px 16px;font-weight:600}.vnav{color:#fff;text-align:center;background:#ffffff26;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:40px;position:absolute;top:50%;transform:translateY(-50%)}.vnav.l{left:12px}.vnav.r{right:12px}#toast{left:50%;bottom:calc(var(--tab-h) + var(--safe-b) + 30px);opacity:0;pointer-events:none;color:#fff;z-index:200;text-align:center;max-width:90vw;box-shadow:var(--shadow-lg);background:#101828;border-radius:16px;padding:11px 18px;font-size:14px;font-weight:500;transition:all .22s;position:fixed;transform:translate(-50%,16px)}#toast.show{opacity:1;transform:translate(-50%)}#printArea{display:none}@media print{#app,#sheetRoot,#toast,#chatRoot,#viewer{display:none!important}html,body{color:#000;background:#fff!important}#printArea{font-size:11px;font-family:var(--font);display:block}#printArea h1{margin:0 0 4px;font-size:18px}#printArea table{border-collapse:collapse;width:100%}#printArea th,#printArea td{text-align:left;border:1px solid #999;padding:3px 5px}#printArea th{background:#eee}#printArea .r{text-align:right;white-space:nowrap}}:root{--font:var(--font-bvp), "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}a.btn-primary,a.btn-outline{text-decoration:none}.splash{min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.wic.avatar{background:var(--grad);color:#fff;font-size:18px;font-weight:800;overflow:hidden}.wic.avatar img{object-fit:cover;width:100%;height:100%}.vbtn{color:#fff;background:#ffffff26;border-radius:999px;padding:9px 16px;font-weight:600;text-decoration:none}.aitoggle{grid-template-columns:1fr 44px 1fr;align-items:center;gap:8px;display:grid}.aitoggle>button:not(.swap){background:var(--card);box-shadow:var(--shadow);text-align:left;color:var(--text-2);border:2px solid #0000;border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;min-height:104px;padding:14px;display:flex}.aitoggle>button.on{border-color:var(--green);background:color-mix(in srgb, var(--green) 7%, var(--card));color:var(--text)}.aitoggle>button b{font-size:14.5px}.aitoggle>button small{color:var(--muted)}.aitoggle .swap{background:var(--ai-grad);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;transition:transform .3s;display:grid;box-shadow:0 6px 14px #10b98159}.aitoggle .swap:active{transform:rotate(180deg)}.auth{max-width:440px;min-height:100vh;padding:calc(var(--safe-t) + 36px) 18px calc(var(--safe-b) + 24px);flex-direction:column;gap:18px;margin:0 auto;display:flex}.auth-brand{text-align:center}.auth-brand h1{letter-spacing:-.6px;margin:4px 0 2px;font-size:28px;font-weight:800}.auth-brand p{color:var(--text-2);margin:0}.auth-card{background:var(--card);box-shadow:var(--shadow-lg);border-radius:24px;flex-direction:column;gap:14px;padding:18px;display:flex}.social{flex-direction:column;gap:10px;display:flex}.sbtn{border:1px solid var(--sep);background:var(--card);border-radius:14px;justify-content:center;align-items:center;gap:10px;height:50px;font-size:15px;font-weight:600;display:flex}.sbtn.apple{color:#fff;background:#000;border-color:#000}:root[data-theme=dark] .sbtn.apple{color:#000;background:#fff}.or{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.or:before,.or:after{content:"";border-top:1px solid var(--sep);flex:1}.aform{flex-direction:column;gap:12px;display:flex}.afield{flex-direction:column;gap:4px;display:flex}.afield span{color:var(--text-2);font-size:13px;font-weight:600}.afield input{border:1.5px solid var(--sep);background:var(--tile);border-radius:14px;outline:none;height:48px;padding:0 14px;font-size:16px;transition:border-color .15s}.afield input:focus{border-color:var(--green);background:var(--card)}.amsg{color:#b42318;background:#fef3f2;border-radius:12px;margin:0;padding:10px 12px;font-size:14px}.amsg.ok{background:var(--green-soft);color:var(--green-d)}.alinks{flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:14px;display:flex}.alinks .link{font-weight:500}
