@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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{--bg:#f4f5f2;--panel:#fff;--sunk:#eef0ec;--line:#e3e6e1;--line2:#d0d5ce;--ink:#151a16;--ink2:#4c564f;--ink3:#69736c;--acc:#2f6b4a;--accInk:#fff;--accSoft:#e1eee5;--pos:#256b42;--neg:#b03a2e;--exp:oklch(72% .1 50);--hover:#f2f5f1;--sel:#e6f0e9;--shadow:0 1px 2px #141e140f, 0 16px 48px #141e1429;--sans:"Geist Variable", system-ui, sans-serif;--mono:"Geist Mono Variable", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0e1110;--panel:#151918;--sunk:#111413;--line:#232927;--line2:#323a36;--ink:#e4e9e5;--ink2:#a7b1aa;--ink3:#859089;--acc:#5bb585;--accInk:#07130c;--accSoft:#1a2b21;--pos:#6cc495;--neg:#ef7a68;--exp:oklch(68% .1 50);--hover:#1a1f1d;--sel:#1b2c22;--shadow:0 1px 2px #0006, 0 16px 48px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font:13px/1.4 var(--sans);-webkit-font-smoothing:antialiased;margin:0}input,select,button,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--acc)}::selection{background:var(--accSoft)}@keyframes ftIn{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:none}}.mono{font-family:var(--mono)}.r{text-align:right}.ell{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.muted{color:var(--ink3)}.spacer{flex:1}.dot{border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.app{grid-template-columns:228px minmax(0,1fr);height:100dvh;display:grid}.side{background:var(--sunk);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:9px;padding:15px 18px 12px;font-size:14px;font-weight:600;display:flex}.logo{background:var(--acc);width:22px;height:22px;color:var(--accInk);border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.nav{flex-direction:column;gap:1px;padding:4px 8px;display:flex}.navbtn{height:28px;color:var(--ink2);text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px;font-weight:500;text-decoration:none;display:grid}.navbtn:hover{color:var(--ink)}.navbtn.active{background:var(--sel);color:var(--ink);font-weight:600}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:auto;padding:12px;display:flex}.user-row{border-radius:7px;align-items:center;gap:9px;min-width:0;padding:4px 4px 4px 6px;display:flex}.avatar{background:var(--accSoft);width:24px;height:24px;color:var(--acc);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:600;display:grid}.user-email{min-width:0;color:var(--ink2);flex:1;font-size:12px}.icon-btn{width:28px;height:28px;color:var(--ink3);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--hover);color:var(--neg)}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.hdr{border-bottom:1px solid var(--line);background:var(--panel);flex:none;align-items:center;gap:16px;height:52px;padding:0 20px;display:flex}.hdr-title{flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.hdr h1{letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:15px;font-weight:600}.hdr .sub{color:var(--ink3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.content{flex:1;min-height:0;padding:16px 20px 32px;overflow:auto}.stack{flex-direction:column;gap:12px;max-width:1320px;display:flex}.offline{background:var(--accSoft);color:var(--ink2);border-bottom:1px solid var(--line);flex:none;padding:6px 20px;font-size:12px}.btn-primary{background:var(--acc);height:30px;color:var(--accInk);white-space:nowrap;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 12px;font-weight:500;display:flex}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.kbd{font:500 10.5px var(--mono);background:#ffffff2e;border-radius:4px;padding:1px 5px}.btn{border:1px solid var(--line2);background:var(--panel);white-space:nowrap;border-radius:6px;height:30px;padding:0 12px}.btn:hover:not(:disabled){background:var(--hover)}.btn.sm{height:28px;font-weight:500}.btn.danger{color:var(--neg)}.link{color:var(--acc);background:0 0;border:0;padding:0;font-size:12px;text-decoration:none}.link.danger{color:var(--neg)}.input,.select{border:1px solid var(--line2);background:var(--panel);border-radius:6px;outline:none;min-width:0;height:28px;padding:0 9px}.select{padding:0 8px}.tbl .input.sm,.tbl .select.sm{height:24px;font-size:12px}input.input[type=date]{appearance:none;text-align:left;align-items:center;min-height:28px;display:flex}input.input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}.input:focus,.select:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--accSoft)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seg{background:var(--sunk);border:1px solid var(--line);border-radius:7px;gap:2px;padding:2px;display:flex}.seg button{height:22px;color:var(--ink2);white-space:nowrap;background:0 0;border:0;border-radius:5px;flex:1;padding:0 10px;font-size:12px;font-weight:500}.seg button.on{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000024}.seg.md button{height:24px}.seg.bg{background:var(--bg)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.panel-head .t{font-size:12.5px;font-weight:600}.grid2{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));align-items:start;gap:12px;display:grid}.scroll-x{overflow-x:auto}.tbl{border-collapse:collapse;width:100%}.tbl.fixed{table-layout:fixed}.tbl th{text-align:left;color:var(--ink3);border-bottom:1px solid var(--line);padding:7px 8px;font-size:11px;font-weight:500}.tbl td{border-bottom:1px solid var(--line);padding:5px 8px}.tbl th:first-child,.tbl td:first-child{padding-left:14px}.tbl th:last-child,.tbl td:last-child{padding-right:14px}.tbl th.r,.tbl td.r{text-align:right}.tbl td.num{text-align:right;font-family:var(--mono);white-space:nowrap;font-size:12px}.tbl td.small{font-size:12px}.tbl tbody tr:hover{background:var(--hover)}.tbl tr.group{background:var(--sunk)}.tbl tr.clickable{cursor:pointer}.tbl tr.group.toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.tbl tr.group.toggle:hover{filter:brightness(.97)}.chev{vertical-align:-1px;margin-right:8px;transition:transform .15s;display:inline-block}.chev.open{transform:rotate(90deg)}.tbl tr.sel{background:var(--sel)}.reg-row{-webkit-user-select:none;user-select:none;cursor:default}.empty{text-align:center;color:var(--ink3);padding:28px}.foot{border-top:1px solid var(--line);background:var(--sunk);color:var(--ink3);flex-wrap:wrap;align-items:center;gap:6px 18px;padding:8px 14px;font-size:11.5px;display:flex}.dash3{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));align-items:start;gap:12px;display:grid}.dash3 .panel{flex-direction:column;min-height:0;display:flex}.panel-body{flex:1;min-height:0;padding:2px 0 6px;overflow:auto}.dash3 .spend-row{grid-template-columns:minmax(0,1.4fr) minmax(36px,1fr) auto 32px;gap:10px}.donut-wrap{place-items:center;padding:12px 0 8px;display:grid;position:relative}.donut-mid{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex;position:absolute;inset:0}.donut-mid b{color:var(--ink);font-size:14px}@media (width>=1100px){.content:has(>.stack.dash){flex-direction:column;padding-bottom:16px;display:flex}.stack.dash{flex:1;min-height:0}.dash3{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;min-height:380px}}.kpis{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.kpi{background:var(--panel);min-width:0;padding:12px 16px}.kpi .l{color:var(--ink3);font-size:11.5px}.kpi .v{font-family:var(--mono);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:20px;font-weight:500;overflow:hidden}.kpi .s{color:var(--ink2);margin-top:2px;font-size:11.5px}.spend-row{grid-template-columns:130px minmax(0,1fr) 88px 44px;align-items:center;gap:12px;padding:5px 14px;display:grid}.spend-other{color:var(--ink2);text-decoration:none}.spend-other:hover{background:var(--hover)}.bar{background:var(--sunk);border-radius:2px;height:8px;overflow:hidden}.bar>div{border-radius:2px;height:100%}.legend{color:var(--ink2);gap:14px;font-size:11.5px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);height:24px;color:var(--ink2);border-radius:12px;align-items:center;gap:6px;padding:0 9px;font-size:11.5px;display:flex}.onboard{flex-direction:column;align-items:flex-start;gap:10px;padding:18px;display:flex}.onboard p{color:var(--ink2);margin:0}.inline-form{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.scrim{z-index:20;background:#080c0a6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet{background:var(--panel);border:1px solid var(--line);width:660px;max-width:100%;max-height:calc(100dvh - 32px);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;animation:.16s ease-out ftIn;display:flex}.sheet-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.sheet-head .t{flex:1;font-size:14px;font-weight:600}.sheet-body{flex:1;min-height:0;overflow:auto}.x{width:28px;height:28px;color:var(--ink3);background:0 0;border:0;border-radius:6px;flex:none;font-size:18px;line-height:1}.x:hover{background:var(--hover);color:var(--ink)}.form-grid{grid-template-columns:1fr 1fr;gap:12px 14px;padding:16px;display:grid}.field{color:var(--ink2);flex-direction:column;gap:4px;min-width:0;font-size:11.5px;display:flex}.field.full{grid-column:1/-1}.field .input,.field .select{height:30px;color:var(--ink);font-size:13px}.amount-box{border:1px solid var(--line2);background:var(--panel);border-radius:6px;align-items:center;height:30px;display:flex;overflow:hidden}.amount-box:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px var(--accSoft)}.amount-box.ro{background:var(--sunk)}.amount-box span{color:var(--ink3);font-family:var(--mono);white-space:nowrap;padding-left:10px;font-size:13px}.amount-box input{min-width:0;height:100%;color:var(--ink);font-family:var(--mono);text-align:right;background:0 0;border:0;outline:none;flex:1;padding:0 9px 0 4px;font-size:13px}.cat-head{justify-content:space-between;align-items:center;display:flex}.cat-head .link{font-size:11.5px;font-weight:500}.split-box{border:1px solid var(--line2);border-radius:6px;overflow:hidden}.split-line{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 110px 28px;align-items:center;gap:6px;padding:6px 8px;display:grid}.split-line .input,.split-line .select{height:28px;color:var(--ink);font-size:12.5px}.split-line .amt{font-family:var(--mono);text-align:right}.split-foot{background:var(--sunk);color:var(--ink2);justify-content:space-between;align-items:center;padding:7px 10px;font-size:12px;display:flex}.err{background:color-mix(in oklab, var(--neg) 12%, var(--panel));color:var(--neg);border-radius:6px;margin:0 16px 12px;padding:8px 10px;font-size:12.5px}.sheet-foot{border-top:1px solid var(--line);background:var(--sunk);flex:none;align-items:center;gap:8px;padding:12px 16px;display:flex}.toast{background:var(--ink);color:var(--bg);box-shadow:var(--shadow);z-index:30;white-space:nowrap;border-radius:7px;padding:8px 14px;font-size:12.5px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.center-screen{place-items:center;min-height:100dvh;padding:16px;display:grid}.login{flex-direction:column;gap:12px;width:340px;max-width:100%;padding:22px;display:flex}.login .input{height:34px}.more-list{flex-direction:column;display:flex}.more-list a{border-bottom:1px solid var(--line);color:var(--ink);padding:14px;font-size:15px;text-decoration:none}.tabbar,.fab,.mlist,.only-m{display:none}@media (width<=760px){.app{grid-template-columns:minmax(0,1fr)}.side,.hide-m{display:none!important}.only-m{display:revert}.hdr{padding:env(safe-area-inset-top) 14px 0;height:calc(52px + env(safe-area-inset-top))}.content{padding:12px 12px calc(84px + env(safe-area-inset-bottom))}.offline{padding:6px 14px}input,select,textarea,.input,.select{font-size:16px!important}.input,.select,.btn,.btn.sm{height:36px}.toolbar .input{flex:100%;width:auto!important}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:10px 12px}.kpi .v{font-size:17px}.spend-row{grid-template-columns:96px minmax(0,1fr) 76px 36px;gap:8px}.tabbar{z-index:10;padding:4px 4px env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--ink3);flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;font-size:10.5px;font-weight:500;text-decoration:none;display:flex}.tab svg{width:22px;height:22px}.tab.active{color:var(--acc)}.fab{right:16px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:11;background:var(--acc);width:54px;height:54px;color:var(--accInk);box-shadow:var(--shadow);border:0;border-radius:16px;place-items:center;font-size:28px;line-height:1;display:grid;position:fixed}.mlist{display:block}.mrow{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 14px;display:grid}.mrow:active{background:var(--hover)}.mrow .p{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.mrow .a{font-family:var(--mono);text-align:right;font-size:14px}.mrow .m{color:var(--ink3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.mrow .b{font-family:var(--mono);text-align:right;font-size:11.5px}.scrim{place-items:stretch stretch;padding:0}.sheet{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.sheet-head{padding-top:calc(12px + env(safe-area-inset-top));flex-wrap:wrap}.sheet-head .seg{flex:100%;order:3}.sheet-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}.form-grid{grid-template-columns:minmax(0,1fr)}.amount-box,.field .input,.field .select{height:40px}.split-line{grid-template-columns:minmax(0,1fr) 100px 32px}.split-line .select{grid-column:1/-1}.toast{bottom:calc(84px + env(safe-area-inset-bottom))}}.disp-cur{align-items:center;gap:8px;margin-left:auto;margin-right:10px;display:inline-flex}.range{align-items:center;gap:10px;display:inline-flex;position:relative}.range-btn{text-align:left;cursor:pointer;background:var(--panel) no-repeat right 9px center / 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%2369736c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");align-items:center;gap:7px;min-width:170px;height:30px;padding:0 30px 0 9px;font-weight:500;display:inline-flex}.range-btn:before{content:"";opacity:.7;background:currentColor;flex:none;width:14px;height:14px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'%3E%3Crect x='1.5' y='2.5' width='11' height='10' rx='2'/%3E%3Cpath d='M1.5 6h11M4.5 1v3M9.5 1v3'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'%3E%3Crect x='1.5' y='2.5' width='11' height='10' rx='2'/%3E%3Cpath d='M1.5 6h11M4.5 1v3M9.5 1v3'/%3E%3C/svg%3E") 50%/contain no-repeat}.range-btn:hover{border-color:var(--ink3)}.range-btn[aria-expanded=true]{border-color:var(--acc);box-shadow:0 0 0 3px var(--accSoft)}.range-pop{z-index:30;background:var(--panel);border:1px solid var(--line2);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));width:min(400px,100vw - 32px);padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #00000024}.range-pop button{text-align:left;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:5px;padding:7px 8px;font-size:12.5px;overflow:hidden}.range-pop button:hover{background:var(--hover)}.range-pop button.on{background:var(--acc);color:var(--accInk)}.range-div{background:var(--line);grid-column:1/-1;height:1px;margin:4px 2px}
