@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--dark:#0d2922;--dark2:#183a30;--green:#1e6650;--green2:#438469;--accent:#c7f46c;--accent-hover:#b1e450;--mint:#e9f5ec;--text:#162a24;--text2:#4a6254;--muted:#5c6e63;--line:#e7ece7;--bg:#f5f7f3;--card:#fff;--soft:#f7f9f5;--warn:#a36b20;--warn-bg:#fff5e6;--red:#b4514d;--red-bg:#fdf0ee;--blue:#537887;--blue-bg:#e8f2f7;--shadow:0 6px 28px #0f2d1e0a;--sidebar:#0d2922;--soft2:#f6f9f4;--tint:#ebf4ea;--line-strong:#d6e4d8;--faint:#64756a;--green-ink:#2f7a5a;--warn-line:#f6ead0;--red-line:#f3c9c4;--input:#fff;--overlay:#071e17a8;--bar-income:#e4efdf;--on-accent:#0d2922;--radius:19px;--bottom-nav:64px;--safe-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--safe-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--dark:#1d4a3b;--dark2:#24584a;--green:#5fb48b;--green2:#6fb893;--mint:#16261f;--text:#e6eee9;--text2:#b4c6bb;--muted:#9aada2;--faint:#8a9c91;--line:#22352e;--line-strong:#2f4a3f;--bg:#0b1512;--card:#121f1b;--soft:#16261f;--soft2:#16261f;--tint:#1b3128;--sidebar:#0e1b17;--green-ink:#86d2ab;--warn:#e3b86d;--warn-bg:#2a2214;--warn-line:#4a3a1f;--red:#f0928a;--red-bg:#2c1a18;--red-line:#5a2c28;--blue:#93bccb;--blue-bg:#15262d;--input:#0f1b17;--overlay:#000000b3;--bar-income:#2c5244;--shadow:0 6px 28px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}.theme-switching *,.theme-switching :before,.theme-switching :after{transition:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--green-ink);text-underline-offset:2px;font-weight:700}a.btn{text-decoration:none}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline-offset:2px;outline:3px solid #8dd2b4}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-1.1px;font-size:30px;line-height:1.15}h2{letter-spacing:-.48px;font-size:18px}h3{letter-spacing:-.25px;font-size:15px}svg{flex-shrink:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:255px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:var(--sidebar);color:#b8cdc2;z-index:40;flex-direction:column;height:100dvh;padding:30px 17px 22px;display:flex;position:sticky;top:0;overflow:auto}.brand{color:#fff;align-items:center;gap:12px;padding:0 14px 22px;display:flex}.brand-mark{background:var(--accent);width:38px;height:38px;color:var(--on-accent);border-radius:12px;place-items:center;font-size:19px;font-weight:900;display:grid}.brand-name{letter-spacing:-1.3px;font-size:27px;font-weight:800;line-height:1}.brand-name span{color:var(--accent)}.brand-sub{letter-spacing:.55px;color:#95b5a4;margin-top:3px;font-size:10px}.group-label{color:#78968a;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 6px;padding:0 16px;font-size:10px;font-weight:800}.nav-group+.nav-group{margin-top:18px}.sidebar-add{min-height:42px;margin:0 0 20px}.nav{flex-direction:column;gap:3px;display:flex}.nav-btn{color:#b9cfc3;text-align:left;border-radius:11px;align-items:center;gap:12px;width:100%;padding:9px 15px;font-size:13px;font-weight:550;transition:background .18s,color .18s;display:flex}.nav-btn:hover{color:#fff;background:#1b4034}.nav-btn.active{color:#0b2d22;background:var(--accent);font-weight:750}.nav-btn .count{color:#12372a;background:#c8f46b;border-radius:6px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 5px;font-size:10px;display:inline-grid}.nav-btn.active .count{background:var(--dark);color:var(--accent)}.nav-sec-head{align-items:center;gap:2px;display:flex}.nav-sec-head .nav-btn{flex:1;min-width:0}.nav-sec.here .nav-sec-head .nav-btn:not(.active){color:#fff;font-weight:700}.nav-toggle{color:#78968a;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.nav-toggle:hover{color:#fff;background:#1b4034}.nav-toggle svg{transition:transform .18s;transform:rotate(-90deg)}.nav-toggle.open svg{transform:none}.nav-sub{border-left:1px solid #224a3c;flex-direction:column;gap:1px;margin:1px 0 6px 26px;padding-left:12px;display:flex}.nav-sub-btn{text-align:left;color:#a3bdb0;border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:550;transition:background .15s,color .15s}.nav-sub-btn:hover{color:#fff;background:#1b4034}.nav-sub-btn.active{color:#0b2d22;background:var(--accent);font-weight:750}.sidebar-footer{text-align:left;border-top:1px solid #224a3c;border-radius:14px;align-items:center;gap:10px;width:100%;margin-top:auto;padding:14px 10px;display:flex}.sidebar-footer:hover{background:#1b4034}.sidebar{gap:0}.sidebar .nav-group:last-of-type{margin-bottom:20px}.sidebar-footer .name{color:#fff;font-size:12px;font-weight:700}.sidebar-footer .role{color:#94ad9f;font-size:10px}.avatar{color:#fff;border-radius:11px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.avatar.lg{border-radius:16px;width:52px;height:52px;font-size:20px}.main{min-width:0}.topbar{z-index:30;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:15px;height:78px;padding:0 40px;display:flex;position:sticky;top:0}.crumb{color:var(--muted);font-size:12px}.crumb b{color:var(--text2);font-weight:700}.top-right{align-items:center;gap:10px;display:flex}.icon-btn{background:var(--card);border:1px solid var(--line);width:38px;height:38px;color:var(--text2);border-radius:11px;flex-shrink:0;place-items:center;transition:background .2s;display:grid;position:relative}.icon-btn:hover{background:var(--tint)}.icon-btn .dot-badge{background:var(--accent);min-width:17px;height:17px;color:var(--on-accent);border:2px solid var(--bg);border-radius:9px;place-items:center;padding:0 4px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-4px;right:-4px}.mobile-brand{letter-spacing:-1px;align-items:center;gap:9px;font-size:21px;font-weight:800;display:none}.mobile-brand .brand-mark{border-radius:10px;width:32px;height:32px;font-size:16px}.demo-pill{cursor:pointer;letter-spacing:.5px;border:1px solid var(--line-strong);background:var(--tint);color:var(--green-ink);white-space:nowrap;border-radius:100px;padding:7px 11px;font-size:10px;font-weight:800}.content{max-width:1420px;margin:auto;padding:10px 40px 80px}.page{animation:.22s ease-out fade}@keyframes fade{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}.heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:24px;display:flex}.eyebrow{color:var(--text2);letter-spacing:1.8px;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800}.subtitle{color:var(--muted);margin-top:8px;font-size:13px}.heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{white-space:nowrap;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px;font-size:13px;font-weight:700;transition:background .2s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn.dark{background:var(--dark);color:#fff}.btn.dark:hover:not(:disabled){background:#23513d}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.ghost{background:var(--card);color:var(--text2);border:1px solid var(--line)}.btn.ghost:hover:not(:disabled){background:var(--tint)}.btn.danger{background:var(--red-bg);color:var(--red)}.btn.small{border-radius:9px;min-height:32px;padding:7px 11px;font-size:12px}.btn.block{width:100%}.link{color:var(--green-ink);align-items:center;gap:3px;padding:6px;font-size:12px;font-weight:800;display:inline-flex}.link:hover{text-decoration:underline}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric{border:1px solid var(--line);background:var(--card);border-radius:var(--radius);min-height:140px;box-shadow:var(--shadow);text-align:left;padding:20px;position:relative;overflow:hidden}button.metric:hover{border-color:var(--line-strong)}.metric.dark-card{background:var(--dark);color:#fff;border-color:var(--on-accent)}.metric .cap{color:var(--muted);padding-right:36px;font-size:11px;font-weight:650;display:block}.metric.dark-card .cap{color:#a3bdae}.metric .val{letter-spacing:-1px;white-space:nowrap;margin-top:18px;font-size:26px;font-weight:800;line-height:1.2}.metric .foot{color:var(--muted);align-items:center;gap:5px;margin-top:9px;font-size:11px;display:flex}.metric.dark-card .foot{color:#a9c7b6}.metric-icon{background:var(--soft);width:32px;height:32px;color:var(--green-ink);border-radius:10px;place-items:center;display:grid;position:absolute;top:15px;right:16px}.metric.dark-card .metric-icon{color:#cdf47d;background:#264d3b}.up{color:var(--green-ink);font-weight:750}.down{color:var(--red);font-weight:750}.metric.dark-card .up{color:#ccf078}.grid-2{grid-template-columns:minmax(0,1.62fr) minmax(300px,1fr);gap:17px;margin-top:17px;display:grid}.grid-even{grid-template-columns:1fr 1fr;gap:17px;margin-top:17px;display:grid}.stack{flex-direction:column;gap:17px;min-width:0;display:flex}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:22px}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.panel-title .muted{font-size:11px}.split-heading{justify-content:space-between;align-items:center;gap:14px;margin:28px 0 14px;display:flex}.chip{white-space:nowrap;border-radius:100px;align-items:center;gap:4px;padding:4px 8px;font-size:10.5px;font-weight:750;display:inline-flex}.chip.green{background:var(--tint);color:var(--green-ink)}.chip.amber{background:var(--warn-bg);color:var(--warn)}.chip.red{background:var(--red-bg);color:var(--red)}.chip.blue{background:var(--blue-bg);color:var(--blue)}.chip.gray{background:var(--tint);color:var(--muted)}.chip.lime{background:var(--tint);color:var(--green-ink)}.mock-flag{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn);border-radius:12px;align-items:center;gap:9px;margin-bottom:20px;padding:10px 13px;font-size:11.5px;display:flex}.mock-flag a,.mock-flag button{color:var(--warn);font-weight:800;text-decoration:underline}.privacy-line{background:var(--tint);border:1px solid var(--line);color:var(--text2);border-radius:13px;align-items:flex-start;gap:10px;margin-top:14px;padding:13px 14px;font-size:12px;display:flex}.privacy-line strong{color:var(--green-ink);margin-bottom:3px;display:block}.notice{border-radius:15px;align-items:flex-start;gap:12px;padding:15px 17px;font-size:12.5px;line-height:1.55;display:flex}.notice h3{margin-bottom:3px;font-size:14px}.notice.warn{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn)}.notice.info{background:var(--soft);border:1px solid var(--line);color:var(--text2)}.notice.compact{align-items:center;padding:11px 14px;font-size:12px}.tx-row{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;padding:11px 0;display:flex}.tx-row:last-child{border-bottom:0}button.tx-row:hover .tx-name{text-decoration:underline}.cat-badge{--cat:#94aaa0;background:color-mix(in srgb, var(--cat) 24%, var(--card));color:color-mix(in srgb, var(--cat) 45%, var(--text));border-radius:12px;flex-shrink:0;place-items:center;display:grid}.tx-main{flex:1;min-width:0}.tx-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.tx-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.tx-amount{white-space:nowrap;text-align:right;font-size:13px;font-weight:800}.tx-amount.income{color:var(--green-ink)}.tx-amount.transfer{color:var(--muted)}.tx-row.ignored{opacity:.5}.day-label{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;padding:14px 0 4px;font-size:11px;font-weight:800}.insights{flex-direction:column;gap:10px;display:flex}.insight{background:var(--soft);border:1px solid var(--line);text-align:left;border-radius:13px;align-items:flex-start;gap:11px;width:100%;padding:12px;display:flex}button.insight:hover{background:var(--tint)}.insight-ic{background:var(--tint);border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.insight h4{margin-bottom:3px;font-size:12.5px}.insight p{color:var(--muted);font-size:11.5px;line-height:1.5}.banner{background:var(--dark);color:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.banner:before,.banner:after{content:"";border:1px solid #52745a;border-radius:50%;width:160px;height:160px;position:absolute;top:-100px;right:100px}.banner:after{width:230px;height:230px;top:-130px;right:65px}.banner h2{font-size:17px}.banner p{color:#a8c7b6;max-width:520px;margin-top:5px;font-size:12px}.banner .btn{z-index:1;position:relative}.chart-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-head .big{letter-spacing:-.6px;margin-top:6px;font-size:25px;font-weight:800}.bars{border-bottom:1px solid var(--line);align-items:end;gap:12px;height:180px;padding:20px 6px 0;display:grid;position:relative}.bars:before,.bars:after{content:"";border-top:1px dashed var(--line);position:absolute;left:0;right:0}.bars:before{top:30%}.bars:after{top:65%}.bar-item{z-index:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;min-width:0;height:100%;display:flex}.bar-track{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:100%;display:flex}.bar{background:var(--bar-income);border-radius:5px 5px 0 0;width:18px;max-width:42%;min-height:2px;transition:height .4s}.bar.accent{background:var(--green2)}.bar-label{color:var(--muted);font-size:10.5px;font-weight:650}.bar-label.current{color:var(--text);font-weight:800}.legend{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin-top:18px;font-size:11px;display:flex}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:5px;display:inline-block}.donut-wrap{justify-content:center;align-items:center;gap:22px;padding:4px 0 8px;display:flex}.donut{border-radius:50%;flex-shrink:0;place-items:center;width:150px;height:150px;display:grid}.donut-inner{background:var(--card);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:108px;height:108px;display:flex}.donut-inner b{letter-spacing:-.4px;font-size:18px}.donut-inner small{color:var(--faint);font-size:10px}.donut-legend{flex-direction:column;flex:1;gap:11px;min-width:0;max-width:220px;display:flex}.donut-legend div{color:var(--text2);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:flex}.donut-legend b{color:var(--text2);margin-left:auto;padding-left:8px;font-weight:750}.cat-list{gap:14px;display:grid}.cat-item{grid-template-columns:26px minmax(80px,130px) 1fr auto;align-items:center;gap:10px;display:grid}.cat-item .emoji{color:var(--green2);place-items:center;display:grid}.cat-item label{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cat-item b{text-align:right;white-space:nowrap;font-size:12px}.progress{background:var(--tint);border-radius:20px;height:8px;overflow:hidden}.progress>div{background:#4a9271;border-radius:20px;height:100%;transition:width .4s}.progress.lime>div{background:#badf74}.progress.warn>div{background:#d7a24f}.family-top{color:#fff;background:linear-gradient(114deg,#12362c,#285b46);border-radius:20px;grid-template-columns:1.4fr 1fr;align-items:center;gap:18px;padding:26px;display:grid;position:relative;overflow:hidden}.family-top h2{letter-spacing:-.8px;font-size:23px}.family-top p{color:#b5d2bf;max-width:420px;margin-top:9px;font-size:12.5px}.family-balance{background:#ffffff10;border:1px solid #ffffff24;border-radius:15px;padding:18px}.family-balance .small{color:#b7d2c2;font-size:11.5px}.family-balance strong{letter-spacing:-.9px;margin:6px 0;font-size:26px;display:block}.members{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.member-pill{color:#e3f0e7;background:#ffffff14;border:1px solid #fff2;border-radius:30px;align-items:center;gap:7px;padding:4px 11px 4px 4px;font-size:12px;display:inline-flex}.member-pill .avatar{border-radius:50%;width:24px;height:24px;font-size:11px}.goals{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.goal-card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:17px;flex-direction:column;gap:10px;padding:19px;display:flex}.goal-icon{background:var(--tint);border-radius:12px;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.goal-value{letter-spacing:-.5px;font-size:20px;font-weight:800}.goal-value small{color:var(--muted);font-size:12px;font-weight:500}.filterbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.search{background:var(--card);border:1px solid var(--line);border-radius:11px;outline:none;flex:1;width:100%;min-width:200px;height:42px;padding:0 14px 0 38px}.search-wrap{flex:1;min-width:200px;position:relative}.search-wrap svg{color:var(--muted);position:absolute;top:12px;left:12px}.segmented{background:var(--card);border:1px solid var(--line);border-radius:11px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.segmented button{color:var(--text2);white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700}.segmented button.on{background:var(--dark);color:#fff}.period{background:var(--card);border:1px solid var(--line);border-radius:11px;align-items:center;gap:2px;padding:3px;display:inline-flex}.period button{width:32px;height:32px;color:var(--text2);border-radius:8px;place-items:center;display:grid}.period button:hover:not(:disabled){background:var(--tint)}.period span{white-space:nowrap;text-align:center;min-width:112px;padding:0 6px;font-size:12px;font-weight:800}.table-box{border:1px solid var(--line);background:var(--card);border-radius:18px;overflow:hidden}.list-box{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:4px 18px 8px}.assistant-layout{grid-template-columns:minmax(0,1.6fr) minmax(250px,.85fr);gap:17px;display:grid}.chat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;min-width:0;height:min(640px,100dvh - 220px);min-height:420px;display:flex;overflow:hidden}.chat-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 18px;display:flex}.chat-orb{color:#cffa86;background:#1d5c46;border-radius:14px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.online{color:var(--muted);margin-top:2px;font-size:11px}.chat-messages{background:radial-gradient(circle at 10% 5%, var(--soft), transparent 47%);flex-direction:column;flex:1;gap:14px;padding:20px 16px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:15px;max-width:86%;padding:12px 14px;font-size:13px;line-height:1.6}.bubble.assistant{background:var(--tint);border-top-left-radius:4px;align-self:flex-start}.bubble.user{background:var(--tint);border-top-right-radius:4px;align-self:flex-end}.proposal{background:var(--card);border:1px solid var(--line-strong);white-space:normal;border-radius:12px;margin-top:10px;padding:12px}.proposal-row{justify-content:space-between;gap:10px;padding:3px 0;font-size:12px;display:flex}.proposal-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chat-footer{border-top:1px solid var(--line);align-items:center;gap:7px;padding:10px;display:flex}.chat-input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px 6px;font-size:14px}.chat-send{width:40px;height:40px;color:var(--on-accent);background:var(--accent);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.chat-quick{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.quick{border:1px solid var(--line-strong);background:var(--card);color:var(--text2);border-radius:40px;padding:8px 11px;font-size:12px}.quick:hover{background:var(--tint)}.listening{background:var(--red-bg)!important;color:var(--red)!important;border-color:var(--red-line)!important}.check-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.check-card{border:1px solid var(--line);background:var(--card);border-radius:17px;padding:18px}.check-card .barlabel{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:11.5px;display:flex}.check-card strong{letter-spacing:-.65px;margin-bottom:5px;font-size:24px;display:block}.check-card small{color:var(--muted)}.check-card .progress{margin-top:15px}.status-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.status-item:last-child{border:0}.status-dot{background:var(--tint);width:36px;height:36px;color:var(--green-ink);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.status-dot.warn{background:var(--warn-bg);color:var(--warn)}.status-dot.bad{background:var(--red-bg);color:var(--red)}.status-item>div:nth-child(2){flex:1;min-width:0}.status-item h4{font-size:13px}.status-item p{color:var(--muted);margin-top:2px;font-size:11.5px}.status-value{white-space:nowrap;font-size:11px;font-weight:800}.sub-card{border:1px solid var(--line);background:var(--card);border-radius:15px;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.sub-icon{background:var(--tint);border-radius:12px;flex-shrink:0;place-items:center;width:43px;height:43px;font-size:19px;display:grid}.sub-card>div:nth-child(2){flex:1;min-width:0}.sub-card h4{font-size:13px}.sub-card p{color:var(--muted);margin-top:2px;font-size:11.5px}.toggle{background:var(--line-strong);border-radius:20px;flex-shrink:0;width:42px;height:24px;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0002}.toggle.on{background:var(--green)}.toggle.on:after{transform:translate(18px)}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.setting-row:last-child{border-bottom:0}.setting-row h4{font-size:13px}.setting-row p{color:var(--muted);margin-top:2px;font-size:12px}.code-box{letter-spacing:4px;background:var(--soft);border:1px dashed var(--line-strong);text-align:center;border-radius:12px;padding:12px 16px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:22px;font-weight:800}.modal-overlay{background:var(--overlay);z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:18px;animation:.18s ease-out overlay;display:flex;position:fixed;inset:0}@keyframes overlay{0%{opacity:0}to{opacity:1}}.modal{background:var(--card);border-radius:22px;width:min(100%,580px);max-height:min(92dvh,860px);padding:24px;animation:.22s ease-out rise;overflow:auto;box-shadow:0 30px 80px #0003}@keyframes rise{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.modal h2{font-size:20px}.modal-head p{color:var(--muted);margin-top:4px;font-size:12.5px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.modal-note{background:var(--soft);color:var(--muted);border-radius:10px;padding:11px 12px;font-size:12px;line-height:1.55}.form-row{grid-template-columns:1fr 1fr;gap:11px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;margin-bottom:14px;display:flex}.field label,.field-label{color:var(--text2);font-size:12px;font-weight:750}.field input,.field select,.field textarea,.input{border:1px solid var(--line-strong);background:var(--input);min-height:44px;color:var(--text);border-radius:11px;outline:none;width:100%;min-width:0;padding:10px 12px;font-size:15px}.field textarea{resize:vertical;min-height:80px}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{box-shadow:0 0 0 3px var(--tint);border-color:#5bad7a}.field .hint{color:var(--muted);font-size:11.5px}.form-error{background:var(--red-bg);color:var(--red);border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:12.5px}.choice-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice{border:1.5px solid var(--line);text-align:left;background:var(--card);border-radius:13px;padding:12px}.choice.on{border-color:var(--green);background:var(--soft)}.choice b{font-size:13px;display:block}.choice span{color:var(--muted);font-size:11.5px}.check-line{color:var(--text2);cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;display:flex}.check-line input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;margin-top:1px}.alloc-row{grid-template-columns:1.2fr .8fr 1.3fr 36px;align-items:center;gap:8px;margin-bottom:9px;display:grid}.alloc-row select,.alloc-row input{border:1px solid var(--line);background:var(--card);border-radius:10px;outline:none;width:100%;min-width:0;height:42px;padding:8px;font-size:14px}.alloc-row .remove{background:var(--red-bg);width:36px;height:38px;color:var(--red);border-radius:10px;place-items:center;display:grid}.alloc-total{background:var(--soft);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 4px;padding:13px 14px;display:flex}.alloc-total.bad{background:var(--red-bg)}.quick-cats{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.quick-cats button{border:1px solid var(--line-strong);background:var(--card);color:var(--text2);border-radius:30px;padding:6px 10px;font-size:12px}.quick-cats button:hover{background:var(--tint)}.file-drop{border:2px dashed var(--line-strong);background:var(--soft);width:100%;color:var(--muted);text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:22px;display:flex}.file-drop input{display:none}.preview-img{object-fit:contain;border-radius:10px;max-width:100%;max-height:180px}.mini-table{border-collapse:collapse;width:100%;font-size:12px}.mini-table td,.mini-table th{border-bottom:1px solid var(--line);text-align:left;padding:7px 6px}.mini-table th{color:var(--muted);letter-spacing:.4px;font-size:10.5px}.mini-table td:last-child,.mini-table th:last-child{text-align:right;white-space:nowrap}.mini-table tr.dup td{color:var(--faint);text-decoration:line-through}.toast{width:max-content;left:50%;bottom:calc(24px + var(--safe-bottom));color:#fff;z-index:120;background:#0e2f24;border-radius:13px;align-items:center;gap:10px;max-width:min(440px,100% - 32px);padding:12px 16px;font-size:13px;animation:.2s ease-out rise;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 32px #0003}.empty{text-align:center;color:var(--muted);padding:36px 16px}.empty-ic{background:var(--tint);width:56px;height:56px;color:var(--green);border-radius:18px;place-items:center;margin:0 auto;font-size:26px;display:grid}.empty-ic svg{width:24px;height:24px}.empty h3{color:var(--text2);margin:10px 0 6px}.empty p{max-width:380px;margin:0 auto 14px;font-size:12.5px}.skeleton{background:linear-gradient(90deg, var(--tint) 25%, var(--soft) 50%, var(--tint) 75%);background-size:200% 100%;border-radius:12px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.footer-note{text-align:center;color:var(--faint);margin-top:32px;font-size:11px}.auth{background:var(--card);grid-template-columns:1.05fr 1fr;min-height:100dvh;display:grid}.auth-hero{background:var(--dark);color:#fff;flex-direction:column;justify-content:space-between;padding:56px;display:flex;position:relative;overflow:hidden}.auth-hero .rings{pointer-events:none;z-index:0;width:520px;height:520px;position:absolute;top:-140px;right:-140px}.auth-hero>:not(.rings){z-index:1;position:relative}.auth-hero .rings i{border:1px solid #3f6a58;border-radius:50%;position:absolute;inset:0}.auth-hero .rings i:nth-child(2){inset:60px}.auth-hero .rings i:nth-child(3){inset:120px}.auth-hero .rings i:nth-child(4){inset:180px}.auth-hero h1{letter-spacing:-1.5px;max-width:460px;margin-top:60px;font-size:40px}.auth-hero h1 span{color:var(--accent)}.auth-hero p{color:#a9c4b5;max-width:420px;margin-top:16px;font-size:15px}.auth-points{gap:12px;margin-top:32px;display:grid}.auth-points div{color:#d7e6dc;align-items:center;gap:10px;font-size:13.5px;display:flex}.auth-points svg{color:var(--accent)}.auth-form{justify-content:center;align-items:center;padding:40px 24px;display:flex}.auth-card{width:min(100%,420px)}.auth-card h2{letter-spacing:-.8px;margin-bottom:4px;font-size:24px}.tabs{background:var(--soft);border:1px solid var(--line);border-radius:13px;grid-template-columns:1fr 1fr;margin:22px 0;padding:4px;display:grid}.tabs button{color:var(--text2);border-radius:10px;padding:10px;font-weight:750}.tabs button.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px #0001}.section-tabs{margin-top:4px;margin-bottom:18px}.news-bar{background:var(--tint);border:1px solid var(--line);color:var(--text2);border-radius:14px;align-items:center;gap:12px;margin:4px 0 14px;padding:10px 10px 10px 16px;font-size:13px;line-height:1.45;display:flex}.news-bar b{color:var(--text)}.news-bar span{flex:1;min-width:0}.news-bar .icon-btn{background:0 0;border-color:#0000;width:30px;height:30px}.avatar-btn{border-radius:50%;flex-shrink:0;padding:0}.avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-suggest{flex-wrap:wrap;align-self:flex-start;gap:7px;max-width:100%;margin-top:2px;display:flex}.chat-suggest>span{width:100%;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:11.5px;font-weight:750}.welcome{text-align:center;padding:8px 4px 0}.welcome-ic{background:var(--dark);width:60px;height:60px;color:var(--accent);border-radius:19px;place-items:center;margin:6px auto 16px;display:grid}.welcome h2{letter-spacing:-.4px;max-width:400px;margin:0 auto 10px;font-size:21px}.welcome-body{color:var(--text2);max-width:430px;min-height:170px;margin:0 auto;font-size:14.5px;line-height:1.55}.welcome-body p{margin:0 0 8px}.welcome-example{text-align:left;color:var(--muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin:14px 0;display:grid}.welcome-example>div{background:var(--soft);border:1px solid var(--line);border-radius:12px;min-width:0;padding:10px 12px}.welcome-example small{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:3px;font-size:11px;font-weight:750;display:block}.welcome-example b{color:var(--text);font-size:13px}.welcome-ways{text-align:left;gap:8px;margin:4px 0 12px;padding:0;list-style:none;display:grid}.welcome-ways li{background:var(--soft);border:1px solid var(--line);border-radius:12px;align-items:center;gap:11px;padding:10px 12px;font-size:13.5px;display:flex}.welcome-ways li svg{color:var(--green-ink);flex-shrink:0}.welcome-ways b{color:var(--text)}.welcome-dots{justify-content:center;gap:6px;margin:14px 0 4px;display:flex}.welcome-dots span{background:var(--line-strong);border-radius:4px;width:7px;height:7px;transition:width .2s}.welcome-dots span.on{background:var(--green-ink);width:20px}.welcome .modal-actions{justify-content:space-between}@media (max-width:660px){.welcome-example{grid-template-columns:minmax(0,1fr);gap:6px}.welcome-example>svg{justify-self:center;transform:rotate(90deg)}.welcome .modal-actions .btn{flex:1}}.help-btn{width:20px;height:20px;color:var(--muted);vertical-align:middle;border-radius:50%;flex-shrink:0;place-items:center;margin-left:2px;display:inline-grid}.help-btn:hover,.help-btn[aria-expanded=true]{color:var(--text);background:var(--soft)}.dark-card .help-btn,.month-card .help-btn{color:#9fbfae}.dark-card .help-btn:hover,.month-card .help-btn:hover,.month-card .help-btn[aria-expanded=true]{color:#fff;background:#ffffff1a}.chips-help{flex:none;align-items:center;display:inline-flex}.help-pop{z-index:400;background:var(--card);width:min(280px,100vw - 24px);color:var(--text2);border:1px solid var(--line-strong);text-transform:none;letter-spacing:0;text-align:left;border-radius:13px;padding:12px 14px;font-size:13px;font-weight:500;line-height:1.5;animation:.12s ease-out overlay;position:fixed;box-shadow:0 14px 34px #0f2d1e2e}.help-pop.up{transform:translateY(-100%)}.help-pop>b{color:var(--text);margin-bottom:3px;font-size:13.5px;display:block}.help-pop p{margin:0}.help-pop p b{color:var(--text)}.help-pop p+p{margin-top:6px}.bottom-nav{display:none}.show-mobile{display:none!important}@media (max-width:1170px){.app{grid-template-columns:225px minmax(0,1fr)}.sidebar{padding:26px 10px 20px}.content{padding:10px 26px 60px}.topbar{padding:0 26px}.cards{gap:12px}.metric .val{font-size:22px}.check-grid{grid-template-columns:1fr 1fr}}@media (max-width:940px){.app{grid-template-columns:1fr}.sidebar{display:none}.toast{bottom:calc(var(--bottom-nav) + 14px + var(--safe-bottom))}.mobile-brand{display:flex}.crumb{display:none}.demo-pill{padding:6px 9px}.topbar{height:calc(60px + var(--safe-top));padding:var(--safe-top) 16px 0}.content{padding:4px 16px calc(var(--bottom-nav) + 32px + var(--safe-bottom))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-even,.assistant-layout{grid-template-columns:minmax(0,1fr)}.bottom-nav{z-index:50;height:calc(var(--bottom-nav) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--card);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #0f2d1e0d}.bottom-nav button{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10.5px;font-weight:650;display:flex;position:relative}.bottom-nav button .ic{border-radius:14px;place-items:center;width:52px;height:28px;transition:background .2s;display:grid}.bottom-nav button.active{color:var(--text);font-weight:800}.bottom-nav button.active .ic{background:var(--accent);color:var(--on-accent)}.bottom-add .ic{background:var(--dark);color:var(--accent);border:4px solid var(--bg);margin-top:-18px;box-shadow:0 8px 22px #0d29224d;border-radius:17px!important;width:50px!important;height:50px!important}.bottom-add:active .ic{transform:scale(.95)}.bottom-nav .badge{background:var(--dark);min-width:16px;height:16px;color:var(--accent);border-radius:8px;place-items:center;padding:0 4px;font-size:9.5px;font-weight:800;display:grid;position:absolute;top:6px;left:calc(50% + 8px)}.hide-mobile{display:none!important}.show-mobile{display:grid!important}.section-tabs{margin-bottom:14px}.chat-card{height:calc(100dvh - 230px - var(--bottom-nav) - var(--safe-bottom) - var(--safe-top))}}@media (max-width:660px){h1{font-size:25px}.heading{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.heading-actions{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:2px 16px;overflow-x:auto}.heading-actions::-webkit-scrollbar{display:none}.heading-actions .btn{border-radius:100px;flex:none;min-height:36px;padding:8px 13px;font-size:12.5px}.heading-actions .segmented,.heading-actions .period{flex:none}.cards{gap:10px}.metric{border-radius:16px;min-height:124px;padding:15px}.metric .val{letter-spacing:-.6px;margin-top:16px;font-size:19px}.metric-icon{width:28px;height:28px;top:11px;right:11px}.metric .cap{font-size:10.5px}.metric .foot{font-size:10px}.panel{border-radius:16px;padding:16px}.bars{gap:4px;height:160px;padding-left:0;padding-right:0}.bar{width:11px}.chart-head .big{font-size:21px}.donut-wrap{justify-content:flex-start;gap:18px}.donut{width:130px;height:130px}.donut-inner{width:94px;height:94px}.donut-inner b{font-size:15px}.family-top{grid-template-columns:1fr;padding:20px}.check-grid{grid-template-columns:1fr 1fr;gap:10px}.check-card{padding:14px}.check-card strong{font-size:20px}.form-row{grid-template-columns:1fr}.alloc-row{background:var(--soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr .9fr;gap:7px;padding:9px}.alloc-row .remove{justify-self:end}.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-height:92dvh;padding:20px 18px calc(20px + var(--safe-bottom));border-radius:22px 22px 0 0}.modal-actions .btn{flex:1}.filterbar .segmented{width:100%}.banner{flex-direction:column;align-items:flex-start}.banner .btn{width:100%}.auth{grid-template-columns:1fr}.auth-hero{padding:calc(32px + var(--safe-top)) 24px 28px}.auth-hero h1{margin-top:28px;font-size:30px}.auth-hero .auth-points,.auth-hero .hero-foot{display:none}.auth-form{align-items:flex-start;padding:8px 20px 40px}.cat-item{grid-template-columns:24px minmax(70px,100px) 1fr auto;gap:8px}.goals{grid-template-columns:1fr}.period span{min-width:96px}}@media (max-width:385px){.metric .val{font-size:17px}.check-grid{grid-template-columns:1fr}}.member-row{align-items:flex-start}.member-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.btn.danger-text{color:var(--red)}.report-numbers{gap:10px;display:grid}.report-numbers>div{background:var(--soft);border-radius:14px;grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;padding:12px 14px;display:grid}.report-numbers span{color:var(--text2);font-size:12.5px}.report-numbers b{text-align:right;font-size:16px}.report-numbers small{color:var(--text2);text-align:right;grid-column:1/-1;font-size:11.5px}.report-numbers small.down{color:var(--red)}.report-numbers small.up{color:var(--green,var(--green-ink))}.budget-total{border-bottom:1px solid var(--line);color:var(--text2);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;padding:0 0 12px;font-size:13px;display:flex}.budget-total b{color:var(--text);font-size:15px}.budget-row{border-bottom:1px solid var(--line);padding:14px 0;position:relative}.budget-row:last-child{border-bottom:0}.budget-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding-right:76px;display:flex}.budget-name{align-items:center;gap:7px;font-size:14px;font-weight:700;display:inline-flex}.budget-name svg,.proposal-row svg,.quick-cats svg{color:var(--green2);vertical-align:-2px}.insight-ic,.sub-icon{color:var(--green)}.budget-foot{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:7px;font-size:12px;display:flex}.budget-foot .down{color:var(--red);font-weight:700}.budget-actions{gap:6px;display:flex;position:absolute;top:9px;right:0}.budget-actions .icon-btn{width:32px;height:32px}.bill-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.bill-head h3{font-size:15px}.share-row{align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.share-line{align-items:center;gap:10px;padding:4px 0;display:flex}.bill-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.hint.down{color:var(--red)}.account-balance{color:var(--text);margin-top:4px;font-size:12.5px;font-weight:700;display:block}.account-balance .num{white-space:nowrap}.link-like{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.sparkline{vertical-align:middle;width:64px;height:18px;color:var(--text2);margin-left:8px;display:inline-block}.num.down{color:var(--red)}.receipt-preview{background:var(--soft);border-radius:14px;margin-top:14px;padding:12px}.receipt-preview img{object-fit:contain;background:var(--card);border-radius:10px;width:100%;max-height:320px;display:block}.sheet-list{gap:8px;display:grid}.sheet-option,.sheet-profile{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px;transition:background .15s,border-color .15s;display:flex}.sheet-option:hover,.sheet-profile:hover{background:var(--soft);border-color:var(--line-strong)}.sheet-ic{background:var(--tint);width:40px;height:40px;color:var(--green);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.sheet-ic.dark{background:var(--dark);color:var(--accent)}.sheet-ic.lime{background:var(--accent);color:var(--on-accent)}.sheet-text{flex-direction:column;flex:1;min-width:0;display:flex}.sheet-text b{font-size:14px}.sheet-text small{color:var(--muted);margin-top:1px;font-size:12px}.sheet-profile{background:var(--soft);margin-bottom:16px}.sheet-sections{flex-direction:column;gap:8px;display:flex}.sheet-section{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:8px}.sheet-section.on{border-color:var(--green2)}.sheet-section-head{text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:2px;display:flex}.sheet-section-head .sheet-ic{border-radius:10px;width:32px;height:32px}.sheet-section-head b{font-size:13.5px}.sheet-section-head small{color:var(--muted);text-align:right;margin-left:auto;font-size:11px}.sheet-section.on .sheet-section-head .sheet-ic{background:var(--accent);color:var(--on-accent)}.sheet-screens{flex-wrap:wrap;gap:6px;padding:8px 2px 2px 44px;display:flex}.sheet-screens .cat-chip{min-height:32px;padding:6px 11px;font-size:12px}.sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sheet-tile{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:12px;display:flex}.sheet-tile:hover{background:var(--soft)}.sheet-tile .sheet-ic{border-radius:10px;width:34px;height:34px;margin-bottom:8px}.sheet-tile b{font-size:13px}.sheet-tile small{color:var(--muted);font-size:11px;line-height:1.35}.sheet-tile.on{border-color:var(--green2);background:var(--soft)}.sheet-tile.on .sheet-ic{background:var(--accent);color:var(--on-accent)}.guide{background:var(--dark);color:#fff;border-radius:var(--radius);margin-bottom:17px;padding:22px;position:relative;overflow:hidden}.guide:after{content:"";pointer-events:none;border:1px solid #2f5a49;border-radius:50%;width:260px;height:260px;position:absolute;top:-140px;right:-80px}.guide-head{z-index:1;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex;position:relative}.guide-head h2{margin-top:10px;font-size:20px}.guide-head p{color:#a9c7b6;margin-top:4px;font-size:12.5px}.guide-badge{color:var(--accent);background:#23493b;border-radius:100px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.icon-btn.ghost-dark{color:#cfe3d6;background:#1d4235;border-color:#2c5646}.icon-btn.ghost-dark:hover{background:#26503f}.guide .progress{z-index:1;background:#23493b;position:relative}.guide-steps{z-index:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid;position:relative}.guide-step{text-align:left;color:#fff;background:#17392f;border:1px solid #23493b;border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;width:100%;height:100%;padding:14px;transition:background .15s,border-color .15s;display:flex;position:relative}.guide-step:hover:not(:disabled){background:#1e4537;border-color:#356a55}.guide-step:disabled{opacity:1;cursor:default}.guide-step>svg{color:#8fb3a1;position:absolute;top:16px;right:12px}.guide-step.current{color:#162a24;background:#fff;border-color:#fff}.guide-step.current>svg{color:#1e6650}.guide-n{color:#cfe3d6;background:#23493b;border-radius:9px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:grid}.guide-step.current .guide-n,.guide-step.done .guide-n{background:var(--accent);color:var(--on-accent)}.guide-step.done{background:0 0}.guide-text{flex-direction:column;gap:3px;display:flex}.guide-text b{font-size:13px;line-height:1.3}.guide-text small{color:#a9c7b6;font-size:11.5px;line-height:1.4}.guide-step.current .guide-text small{color:#4a6254}.guide-step.done .guide-text b{color:#a9c7b6;-webkit-text-decoration:line-through #5d8c76;text-decoration:line-through #5d8c76}.guide-demo{color:#cfe3d6;z-index:1;border-top:1px solid #23493b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;font-size:12.5px;display:flex;position:relative}@media (max-width:1170px){.guide-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:660px){.guide{border-radius:16px;padding:18px}.guide-head h2{font-size:18px}.guide-steps{grid-template-columns:1fr;gap:6px}.guide-step{flex-direction:row;align-items:center;gap:12px;padding:11px 12px}.guide-step>svg{margin-left:auto;position:static}.guide-step.done{padding-top:6px;padding-bottom:6px}.guide-step:not(.current) .guide-text small{display:none}.guide-step.current{padding:14px 12px}.guide-demo .btn{width:100%}.sheet-tile{flex-direction:row;align-items:center;gap:10px;padding:10px}.sheet-tile .sheet-ic{margin-bottom:0}.sheet-tile small{display:none}.sheet-tile b{font-size:12.5px;line-height:1.25}}.tx-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.tx-period{align-items:center;gap:8px;display:flex}.period-all{background:var(--card);border:1px solid var(--line);border-radius:11px;align-items:center;height:40px;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex}.chips-row{scrollbar-width:none;gap:6px;margin-bottom:14px;display:flex;overflow-x:auto}.chips-row::-webkit-scrollbar{display:none}.filter-chip{border:1px solid var(--line);background:var(--card);color:var(--text2);border-radius:100px;flex:none;padding:7px 13px;font-size:12.5px;font-weight:700;transition:background .15s}.filter-chip:hover{background:var(--soft)}.filter-chip.on{background:var(--dark);border-color:var(--dark);color:#fff}.tx-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.tx-summary>div{background:var(--card);border:1px solid var(--line);border-radius:14px;min-width:0;padding:11px 14px}.tx-summary>div>span{color:var(--muted);font-size:11px;font-weight:650;display:block}.tx-summary b{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:15px;display:block;overflow:hidden}.tx-summary b.up{color:var(--green-ink)}.tx-summary b.down{color:var(--text)}@media (max-width:660px){.tx-toolbar .search-wrap{flex-basis:100%}.tx-period{justify-content:space-between;width:100%}.chips-row{margin:0 -16px 12px;padding:0 16px}.tx-summary{gap:6px}.tx-summary>div{border-radius:12px;padding:9px 10px}.tx-summary b{font-size:13px}}.settings-tabs .filter-chip{align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.settings-body{max-width:760px}.settings-body .setting-row .segmented{flex-shrink:0}@media (max-width:660px){.settings-body .setting-row:has(.segmented){flex-direction:column;align-items:stretch}.settings-body .setting-row .segmented{width:100%}.settings-body .setting-row .segmented button{flex:1}.settings-tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px;padding:0;display:grid}.settings-tabs .filter-chip{justify-content:center;padding:8px 4px;font-size:12px}.settings-tabs .filter-chip svg{display:none}}.payable-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.payable-row:last-child{border-bottom:0}.payable-row h4{font-size:14px}.payable-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.payable-actions .icon-btn{width:32px;height:32px}.template-chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.quick.on{background:var(--dark);color:#fff}.forecast-chart{width:100%;height:180px;display:block}.forecast-chart .zero{stroke:var(--red-line);stroke-width:1px;stroke-dasharray:4 3}.forecast-chart .line{stroke:var(--green);stroke-width:2.5px;stroke-linejoin:round}.num.up{color:var(--green-ink)}.tag-filter{border-radius:11px;width:auto;max-width:100%;padding:7px 10px;font-size:12px}.nw-history{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.nw-history>div{background:var(--soft);min-width:92px;color:var(--text2);border-radius:12px;gap:4px;padding:10px 12px;font-size:12px;display:grid}.nw-history b{color:var(--text);font-size:13px}.payoff-order{gap:6px;margin:10px 0;padding-left:20px;font-size:13px;display:grid}.shared-text{white-space:pre-wrap;word-break:break-word;font:inherit;background:var(--soft);border-radius:12px;max-height:280px;margin:0;padding:12px;font-size:13px;overflow:auto}.cards.three .val{letter-spacing:-.4px;font-size:clamp(13px,3.9vw,26px)}.home-cols{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:17px;display:grid}.home-col{flex-direction:column;gap:17px;min-width:0;display:flex}.home-col>*{min-width:0}.home-scope{margin-top:10px}.month-card{background:var(--dark);color:#fff;border-radius:var(--radius);padding:22px;position:relative;overflow:hidden}.month-card:after{content:"";pointer-events:none;border:1px solid #ffffff1a;border-radius:50%;width:240px;height:240px;position:absolute;top:-120px;right:-90px}.month-head{z-index:1;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.month-eyebrow{letter-spacing:1.4px;text-transform:uppercase;color:#a9c7b6;font-size:11px;font-weight:800}.month-head h2{margin-top:2px;font-size:18px}.month-head .segmented{background:#ffffff14;border-color:#fff2}.month-head .segmented button{color:#cfe3d6}.month-head .segmented button.on{background:var(--accent);color:var(--on-accent)}.month-main{z-index:1;margin-top:18px;position:relative}.month-main>span{color:#a9c7b6;font-size:12px;font-weight:650}.month-main b{letter-spacing:-1.2px;margin-top:2px;font-size:34px;line-height:1.15;display:block}.month-compare{color:#cfe3d6;z-index:1;gap:7px;margin-top:12px;font-size:12px;display:grid;position:relative}.month-compare .progress{background:#ffffff1f;height:6px}.month-row{z-index:1;border-top:1px solid #ffffff1f;flex-wrap:wrap;gap:10px 28px;margin-top:18px;padding-top:16px;display:flex;position:relative}.month-row>div>span{color:#a9c7b6;font-size:11.5px;font-weight:650;display:block}.month-row b{white-space:nowrap;margin-top:2px;font-size:17px;display:block}.month-row b.up{color:var(--accent)}.month-card .down-light{color:#ffb4a8}.month-foot{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex;position:relative}.month-chip{color:#e6f2ea;background:#ffffff14;border:1px solid #fff2;border-radius:100px;padding:6px 12px;font-size:12px;font-weight:750}.month-chip:hover{background:#fff2}.month-link{color:var(--accent);align-items:center;gap:6px;font-size:12px;font-weight:750;display:inline-flex}.all-good{color:var(--green-ink);background:var(--soft);border-radius:13px;align-items:center;gap:12px;padding:14px;display:flex}.all-good h4{color:var(--text);font-size:13.5px}.all-good p{color:var(--muted);margin-top:2px;font-size:12px}.action-list{flex-direction:column;gap:8px;display:flex}.action-row{text-align:left;background:var(--soft);border:1px solid var(--line);border-radius:13px;align-items:center;gap:11px;width:100%;padding:11px 12px;transition:background .15s;display:flex}.action-row:hover{background:var(--tint)}.action-text{flex-direction:column;flex:1;min-width:0;display:flex}.action-text b{font-size:13px;line-height:1.3}.action-text small{color:var(--muted);margin-top:2px;font-size:11.5px;line-height:1.4}.action-cta{color:var(--on-accent);background:var(--accent);border-radius:100px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:800}.upcoming-list{flex-direction:column;display:flex}.upcoming-row{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:10px;width:100%;padding:10px 0;display:flex}.upcoming-row:last-child{border-bottom:0}.upcoming-row:hover .upcoming-label{text-decoration:underline}.day-chip{min-width:72px;color:var(--text2);background:var(--soft);border:1px solid var(--line);text-align:center;border-radius:100px;flex-shrink:0;padding:4px 9px;font-size:11px;font-weight:800}.day-chip.today{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.day-chip.late{background:var(--red-bg);border-color:var(--red-line);color:var(--red)}.upcoming-ic{color:var(--green2);place-items:center;display:grid}.upcoming-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.upcoming-row b{white-space:nowrap;font-size:13px}@media (max-width:940px){.home-cols{flex-direction:column;align-items:stretch;gap:14px;display:flex}.home-col{display:contents}.month-card{order:1}.home-actions{order:2}.home-upcoming{order:3}.home-donut{order:4}.home-recent{order:5}.home-tips{order:6}}@media (max-width:660px){.month-card{border-radius:16px;padding:18px}.month-main b{font-size:30px}.month-row{gap:10px 20px}.month-row b{font-size:15px}.action-cta{padding:6px 10px}.day-chip{min-width:64px}}.guide-bar{background:var(--dark);color:#fff;border-radius:14px;align-items:center;gap:4px;margin-bottom:17px;padding:4px;display:flex}.guide-bar-main{text-align:left;color:#fff;border-radius:11px;flex:1;align-items:center;gap:9px;min-width:0;padding:9px 10px;display:flex}.guide-bar-main:hover{background:#ffffff12}.guide-bar-main svg:first-child{color:var(--accent)}.guide-bar-main b{color:var(--accent);white-space:nowrap;background:#23493b;border-radius:100px;padding:2px 8px;font-size:12px}.guide-bar-main span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.guide-bar-close{color:#cfe3d6;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.guide-bar-close:hover{background:#ffffff12}.mock-flag a{white-space:nowrap;margin-left:auto}.confirm-layer{z-index:110}.confirm-box{width:min(100%,400px)}.confirm-box h2{font-size:18px}.confirm-box p{color:var(--text2);margin-top:8px;font-size:13.5px;line-height:1.5}.toast-action{color:var(--accent);white-space:nowrap;margin-left:auto;padding:2px 4px;font-size:13px;font-weight:800}@media (max-width:660px){.confirm-layer{align-items:center;padding:16px}.confirm-box{border-radius:20px;padding:20px}}.class-note{color:var(--text2);background:var(--soft);border:1px solid var(--line);border-radius:10px;margin:-6px 0 14px;padding:8px 11px;font-size:12.5px}.class-note.pending{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.scope-toggle{flex-direction:column;gap:6px;min-width:0;display:flex}.scope-options{background:var(--soft);border:1px solid var(--line-strong);border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.scope-options button{min-height:38px;color:var(--text2);border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:750;display:inline-flex}.scope-options button.on{background:var(--dark);color:#fff}.scope-options button.on svg{color:var(--accent)}.scope-toggle.compact .scope-options button{gap:4px;min-height:34px;padding:0 4px;font-size:12px}.cat-picker{flex-wrap:wrap;gap:6px;display:flex}.cat-more-btn{color:var(--green-ink)!important;border-style:dashed!important}.cat-chip{border:1px solid var(--line-strong);background:var(--card);color:var(--text2);border-radius:100px;align-items:center;gap:6px;min-height:36px;padding:8px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.cat-chip svg{color:var(--green2)}.cat-chip:hover{background:var(--soft)}.cat-chip.on{background:var(--dark);border-color:var(--dark);color:#fff}.cat-chip.on svg{color:var(--accent)}.more-options{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.more-options>summary{cursor:pointer;color:var(--green-ink);align-items:center;gap:6px;padding:4px 0;font-size:13px;font-weight:750;list-style:none;display:flex}.more-options>summary::-webkit-details-marker{display:none}.more-options>summary:before{content:"›";font-size:18px;line-height:1;transition:transform .15s}.more-options[open]>summary:before{transform:rotate(90deg)}.more-options>summary small{color:var(--muted);font-weight:600}.more-options[open]>summary{margin-bottom:10px}.review-card{background:var(--soft);border:1px solid var(--line);border-radius:15px;align-items:center;gap:12px;margin:16px 0;padding:14px;display:flex}.review-card h3{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.review-amount{white-space:nowrap;font-size:17px}.review-amount.income{color:var(--green-ink)}.review-learned{color:var(--green-ink);background:var(--tint);border-radius:10px;margin-top:12px;padding:8px 11px;font-size:12.5px}.review-done{text-align:center;color:var(--green-ink);justify-items:center;gap:6px;padding:18px 8px 4px;display:grid}.review-done h3{color:var(--text);font-size:18px}.review-done p{color:var(--text2);font-size:13px}.review-actions .btn.dark{min-width:120px}@media (max-width:660px){.review-actions{grid-template-columns:1fr 1fr;display:grid}.review-actions .btn.dark{order:-1;grid-column:1/-1}}.amount-input{letter-spacing:-.4px;font-weight:800;font-size:22px!important}.date-quick{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.date-quick input{flex:1;min-width:150px}.more-options>summary{flex-wrap:wrap}.more-options>summary small{flex-basis:100%;padding-left:18px;font-size:11.5px}.field .row{align-items:center;display:flex}.app.simple .content{zoom:1.15}.app.simple .nav-btn{padding-block:12px;font-size:15px}.app.kid .content{zoom:1.08}.sidebar-all{color:#cfe3d6;margin:12px 12px 0;font-size:12.5px}.intro{z-index:9999;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(120% 80% at 50% 45%,#14382e 0%,#0d2922 55%,#081d18 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.intro-light{opacity:0;background:radial-gradient(circle,#c7f46c29 0%,#c7f46c0d 35%,#0000 65%);border-radius:50%;width:520px;height:520px;margin:-260px 0 0 -260px;animation:2.2s ease-out forwards intro-light;position:absolute;top:50%;left:50%}@keyframes intro-light{0%{opacity:0;transform:scale(.6)}60%{opacity:1}to{opacity:.8;transform:scale(1)}}.intro-stage{place-items:center;width:240px;height:240px;display:grid;position:relative}.intro-nest{transition:opacity .45s,transform .6s cubic-bezier(.5,0,.2,1);position:absolute;inset:0;overflow:visible}.intro .twig{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.8s cubic-bezier(.6,.1,.2,1) forwards intro-twig}.intro .t0{stroke:#c7f46c;stroke-width:3.2px;opacity:.92}.intro .t1{stroke:#5f9c7c;stroke-width:4.4px}.intro .t2{stroke:#a6d98f;stroke-width:2.4px;opacity:.75}@keyframes intro-twig{to{stroke-dashoffset:0}}.intro .kin{fill:#e9ffc2;opacity:0;transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 0 5px #c7f46ce6);animation:.62s cubic-bezier(.2,.8,.25,1) forwards intro-kin}@keyframes intro-kin{0%{opacity:0;transform:translate(var(--fx), var(--fy)) scale(.4)}35%{opacity:1}85%{transform:translate(0)scale(1.25)}to{opacity:1;transform:none}}.intro-egg{background:#c7f46c;border-radius:50%;width:14px;height:14px;transition:opacity .3s,transform .45s cubic-bezier(.4,0,.2,1);animation:1.2s ease-in-out infinite intro-egg;position:absolute;box-shadow:0 0 22px 4px #c7f46c73}@keyframes intro-egg{50%{box-shadow:0 0 30px 8px #c7f46c99}}.intro-mark{color:#0d2922;letter-spacing:-1px;opacity:0;will-change:transform;background:#c7f46c;border-radius:22px;place-items:center;width:76px;height:76px;font-size:40px;font-weight:900;display:grid;position:absolute;transform:scale(.18);box-shadow:0 0 #c7f46c80,0 18px 50px #00000059}.intro-word{text-align:center;color:#f3f8ef;letter-spacing:-1px;font-size:30px;font-weight:800;transition:opacity .2s;position:absolute;top:172px;left:0;right:0}.intro-word span{opacity:0;animation:.42s cubic-bezier(.2,.8,.2,1) forwards intro-letter;display:inline-block;transform:translateY(8px)}.intro-word .dot{color:#c7f46c;animation-name:intro-dot;animation-duration:.6s}@keyframes intro-letter{to{opacity:1;transform:none}}@keyframes intro-dot{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.6)}to{opacity:1;transform:none}}.intro-tag{text-align:center;color:#9fc4b0;letter-spacing:3px;text-transform:uppercase;opacity:0;font-size:11px;font-weight:700;transition:opacity .2s;animation:.6s 1.75s forwards intro-letter;position:absolute;top:214px;left:-40px;right:-40px}.intro-full.is-nest .intro-mark{opacity:0}.intro-full.is-mark .intro-nest,.intro-full.is-hold .intro-nest,.intro-full.is-exit .intro-nest{opacity:.18;transform:scale(1.35)}.intro.is-mark .intro-mark,.intro.is-hold .intro-mark,.intro.is-exit .intro-mark{animation:.6s cubic-bezier(.2,1.35,.4,1) forwards intro-mark-in}.intro.is-mark .intro-egg,.intro.is-hold .intro-egg,.intro.is-exit .intro-egg{opacity:0;transform:scale(3)}@keyframes intro-mark-in{to{opacity:1;transform:scale(1)}}.intro.is-hold .intro-mark{animation:.6s cubic-bezier(.2,1.35,.4,1) forwards intro-mark-in,1.6s ease-in-out .6s infinite intro-breathe}@keyframes intro-breathe{50%{transform:scale(1.04);box-shadow:0 0 0 14px #c7f46c00,0 18px 50px #00000059}0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #c7f46c59,0 18px 50px #00000059}}.intro.is-exit .intro-word,.intro.is-exit .intro-tag,.intro.is-exit .intro-nest,.intro.is-exit .intro-light{transition:opacity .18s;opacity:0!important}.intro-fade .intro-mark{opacity:1;transform:none;animation:none!important}.intro-fade .intro-egg,.intro-fade .intro-word,.intro-fade .intro-light{display:none}.intro-fade-out{animation:.3s forwards intro-fade}@keyframes intro-fade{to{opacity:0}}body.intro-arrive .page>*{animation:.6s cubic-bezier(.2,.8,.2,1) both intro-arrive}body.intro-arrive .page>:nth-child(2){animation-delay:60ms}body.intro-arrive .page>:nth-child(3){animation-delay:.12s}body.intro-arrive .page>:nth-child(4){animation-delay:.18s}body.intro-arrive .page>:nth-child(n+5){animation-delay:.24s}body.intro-arrive .topbar{animation:.5s both intro-arrive}@keyframes intro-arrive{0%{opacity:0;transform:translateY(18px)}}@media (prefers-reduced-motion:reduce){body.intro-arrive .page>*,body.intro-arrive .topbar{animation:none}}.subpages{margin:-4px 0 16px}.subpages .segmented{scrollbar-width:none;max-width:100%;display:inline-flex;overflow-x:auto}.subpages .segmented button{white-space:nowrap}
