@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.toast-host[data-v-58a019f6]{position:fixed;top:calc(.75rem + var(--safe-top));left:50%;transform:translate(-50%);width:min(calc(100vw - 2rem),440px);display:flex;flex-direction:column;gap:.5rem;z-index:100;pointer-events:none}.toast[data-v-58a019f6]{display:flex;align-items:center;gap:.625rem;padding:.75rem .875rem;border-radius:var(--radius);background:var(--text);color:var(--bg);box-shadow:var(--shadow-overlay);font-size:var(--fs-sm);font-weight:500;line-height:1.35}.toast.success .icon[data-v-58a019f6]{color:#4ade80}.toast.error .icon[data-v-58a019f6]{color:#f87171}@media(prefers-color-scheme:dark){.toast[data-v-58a019f6]{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong)}}.toast-enter-active[data-v-58a019f6],.toast-leave-active[data-v-58a019f6]{transition:opacity .2s ease,transform .2s ease}.toast-enter-from[data-v-58a019f6],.toast-leave-to[data-v-58a019f6]{opacity:0;transform:translateY(-8px)}.scrim[data-v-456dc7b4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center}.sheet[data-v-456dc7b4]{width:min(100%,var(--page-max));background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:1.5rem 1rem calc(1rem + var(--safe-bottom));box-shadow:var(--shadow-overlay)}.sheet p[data-v-456dc7b4]{margin-top:.375rem;line-height:1.45}.actions[data-v-456dc7b4]{display:flex;flex-direction:column;gap:.5rem;margin-top:1.25rem}@media(min-width:640px){.scrim[data-v-456dc7b4]{align-items:center}.sheet[data-v-456dc7b4]{width:400px;border-radius:var(--radius-lg);padding:1.5rem}}.sheet-enter-active[data-v-456dc7b4],.sheet-leave-active[data-v-456dc7b4]{transition:opacity .18s ease}.sheet-enter-active .sheet[data-v-456dc7b4],.sheet-leave-active .sheet[data-v-456dc7b4]{transition:transform .22s cubic-bezier(.2,.8,.2,1)}.sheet-enter-from[data-v-456dc7b4],.sheet-leave-to[data-v-456dc7b4]{opacity:0}.sheet-enter-from .sheet[data-v-456dc7b4],.sheet-leave-to .sheet[data-v-456dc7b4]{transform:translateY(24px)}.pwa-status[data-v-f8dc475e]{position:sticky;top:0;z-index:30}.offline[data-v-f8dc475e]{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:calc(.375rem + var(--safe-top)) 1rem .375rem;background:var(--text);color:var(--bg);font-size:var(--fs-xs);font-weight:500}.update[data-v-f8dc475e]{position:fixed;left:50%;bottom:calc(5.25rem + var(--safe-bottom));transform:translate(-50%);width:min(calc(100vw - 2rem),440px);display:flex;align-items:center;gap:.75rem;padding:.625rem .625rem .625rem 1rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-overlay);font-size:var(--fs-sm);font-weight:500}.group-avatar[data-v-73ac50eb]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;overflow:hidden}.ring[data-v-73ac50eb]{box-shadow:0 0 0 3px var(--surface)}img[data-v-73ac50eb]{width:100%;height:100%;object-fit:cover;display:block}.avatar[data-v-b1aa8959]{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;line-height:1;-webkit-user-select:none;user-select:none;overflow:hidden;box-shadow:inset 0 0 0 1px #1c19170f}img[data-v-b1aa8959]{width:100%;height:100%;object-fit:cover;display:block}.ring[data-v-b1aa8959]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.sidebar[data-v-90bf05f0]{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem .75rem;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto}.brand[data-v-90bf05f0]{display:flex;align-items:center;gap:.625rem;padding:0 .5rem;color:var(--text);text-decoration:none}.logo[data-v-90bf05f0]{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent)}.wordmark[data-v-90bf05f0]{font-weight:600;letter-spacing:-.02em}.section[data-v-90bf05f0]{flex:1;min-height:0}.section-link[data-v-90bf05f0]{display:flex;align-items:center;min-height:40px;padding:.375rem .5rem;font-size:var(--fs-sm);font-weight:600;color:var(--text-2);border-radius:var(--radius-sm);text-decoration:none}.groups[data-v-90bf05f0]{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.group-link[data-v-90bf05f0],.profile[data-v-90bf05f0]{display:flex;align-items:center;gap:.625rem;min-height:44px;padding:.375rem .5rem;border-radius:var(--radius-sm);color:var(--text);font-weight:500;font-size:var(--fs-sm);text-decoration:none;transition:background-color .12s ease}.group-link[data-v-90bf05f0]:hover,.profile[data-v-90bf05f0]:hover,.section-link[data-v-90bf05f0]:hover{background:var(--surface-2);text-decoration:none}.group-link.active[data-v-90bf05f0],.profile.active[data-v-90bf05f0],.section-link.active[data-v-90bf05f0]{background:var(--accent-soft);color:var(--accent-text)}.balance[data-v-90bf05f0]{font-size:var(--fs-xs);font-weight:500;color:var(--text-2)}.balance.positive[data-v-90bf05f0]{color:var(--positive)}.balance.negative[data-v-90bf05f0]{color:var(--negative)}.group-link.active .balance[data-v-90bf05f0]{color:var(--accent-text)}.actions[data-v-90bf05f0]{display:flex;gap:.5rem;padding:.75rem .5rem 0}.actions .btn[data-v-90bf05f0]:hover{text-decoration:none}.profile[data-v-90bf05f0]{border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding-top:1rem}:root{color-scheme:light;--bg: #fafaf9;--surface: #ffffff;--surface-2: #f5f5f4;--border: #e7e5e4;--border-strong: #d6d3d1;--text: #1c1917;--text-2: #57534e;--text-3: #78716c;--accent: #6d28d9;--accent-hover: #5b21b6;--accent-soft: #f3eefe;--accent-text: #5b21b6;--on-accent: #ffffff;--positive: #15803d;--positive-soft: #f0fdf4;--negative: #b91c1c;--negative-soft: #fef2f2;--warning: #b45309;--warning-soft: #fffbeb;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(28, 25, 23, .05);--shadow-overlay: 0 12px 32px rgba(28, 25, 23, .16);--scrim: rgba(28, 25, 23, .4);--font: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .9375rem;--fs-lg: 1.0625rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--page-max: 560px}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #0c0a09;--surface: #1c1917;--surface-2: #292524;--border: #2e2a27;--border-strong: #44403c;--text: #fafaf9;--text-2: #c4bfbb;--text-3: #9c958f;--accent: #a78bfa;--accent-hover: #c4b5fd;--accent-soft: rgba(167, 139, 250, .14);--accent-text: #c4b5fd;--on-accent: #1c1033;--positive: #4ade80;--positive-soft: rgba(74, 222, 128, .12);--negative: #f87171;--negative-soft: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .12);--shadow-sm: none;--shadow-overlay: 0 12px 32px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6)}}*,*:before,*:after{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font);font-size:var(--fs-base);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior-y:none}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.015em;line-height:1.25}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-base)}p{margin:0}a{color:var(--accent-text);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{max-width:var(--page-max);margin:0 auto;min-height:100vh;min-height:100dvh;position:relative}.page{padding:calc(.75rem + var(--safe-top)) 1rem calc(6rem + var(--safe-bottom))}.stack{display:flex;flex-direction:column;gap:1rem}.stack-sm{display:flex;flex-direction:column;gap:.5rem}.row{display:flex;align-items:center;gap:.75rem}.between{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.grow{flex:1;min-width:0}.center{text-align:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--text-2);font-size:var(--fs-sm)}.faint{color:var(--text-3);font-size:var(--fs-xs)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.section-title{font-size:var(--fs-sm);font-weight:600;color:var(--text-2);margin:0 0 .5rem .25rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 .25rem .5rem}.section-head .section-title{margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.list-row{display:flex;align-items:center;gap:.75rem;width:100%;min-height:56px;padding:.75rem 1rem;background:none;border:none;text-align:left}.list-row+.list-row,.list>*+*{border-top:1px solid var(--border)}button.list-row,a.list-row,.list-row.pressable{cursor:pointer;color:inherit;text-decoration:none;transition:background-color .12s ease}a.list-row{font-weight:400}a.list-row:hover{text-decoration:none}button.list-row:hover,a.list-row:hover,.list-row.pressable:hover{background:var(--surface-2)}button.list-row:active,a.list-row:active,.list-row.pressable:active{background:var(--border)}.list-title{font-weight:500;font-size:var(--fs-base);line-height:1.3}.list-sub{color:var(--text-3);font-size:var(--fs-sm);line-height:1.35;margin-top:.125rem}.chevron{color:var(--text-3);flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:0 1.25rem;border-radius:var(--radius-sm);border:1px solid transparent;font-size:var(--fs-base);font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;color:var(--on-accent);background:var(--accent);transition:background-color .12s ease,border-color .12s ease,opacity .12s ease}.btn:hover{background:var(--accent-hover)}.btn:active{opacity:.88}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.btn-secondary{color:var(--text);background:var(--surface);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{color:var(--accent-text);background:transparent}.btn-ghost:hover{background:var(--accent-soft)}.btn-danger{color:var(--negative);background:var(--surface);border-color:var(--border-strong)}.btn-danger:hover{background:var(--negative-soft)}.btn-danger-solid{color:#fff;background:#b91c1c}.btn-danger-solid:hover{background:#991b1b}.btn-sm{min-height:36px;padding:0 .875rem;font-size:var(--fs-sm)}.icon-btn{width:40px;height:40px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border:none;color:var(--text);cursor:pointer;transition:background-color .12s ease}.icon-btn:hover{background:var(--surface-2)}.icon-btn:active{background:var(--border)}.icon-btn.bordered{background:var(--surface);border:1px solid var(--border)}.text-btn{display:inline-flex;align-items:center;min-height:36px;background:none;border:none;padding:.25rem;color:var(--accent-text);font-size:var(--fs-sm);font-weight:500;cursor:pointer}.field{display:flex;flex-direction:column;gap:.375rem}.label{font-size:var(--fs-sm);font-weight:500;color:var(--text-2)}.input,.select,.textarea{width:100%;min-height:48px;padding:.75rem .875rem;font-size:1rem;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.textarea{resize:vertical;min-height:88px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .875rem center;background-repeat:no-repeat}.hint{font-size:var(--fs-xs);color:var(--text-3)}.amount-field{display:flex;align-items:baseline;justify-content:center;gap:.375rem;padding:1.25rem 1rem}.amount-input{width:100%;max-width:14ch;border:none;outline:none;background:transparent;font-size:2.5rem;font-weight:600;letter-spacing:-.02em;text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.amount-input::placeholder{color:var(--border-strong)}.amount-currency{font-size:1.5rem;font-weight:500;color:var(--text-3)}.chip{display:inline-flex;align-items:center;gap:.375rem;min-height:36px;padding:0 .75rem;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border-strong);font-size:var(--fs-sm);font-weight:500;color:var(--text-2);cursor:pointer;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.chip:hover{border-color:var(--text-3)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.scroller{display:flex;gap:.5rem;overflow-x:auto;margin:0 -1rem;padding:.125rem 1rem .25rem;scrollbar-width:none}.scroller::-webkit-scrollbar{display:none}.segmented{display:flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.segmented button{flex:1;min-height:34px;border:none;border-radius:7px;background:transparent;font-size:var(--fs-sm);font-weight:500;color:var(--text-2);cursor:pointer;transition:background-color .12s ease,color .12s ease}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1c191714,0 0 0 1px var(--border)}.positive{color:var(--positive)}.negative{color:var(--negative)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:500;background:var(--surface-2);color:var(--text-2);white-space:nowrap}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.badge-positive{background:var(--positive-soft);color:var(--positive)}.badge-negative{background:var(--negative-soft);color:var(--negative)}.divider{height:1px;background:var(--border);margin:.75rem 0}.alert{display:flex;gap:.5rem;align-items:flex-start;padding:.75rem .875rem;border-radius:var(--radius-sm);font-size:var(--fs-sm);line-height:1.4}.alert-error{background:var(--negative-soft);color:var(--negative)}.alert-info{background:var(--surface-2);color:var(--text-2)}.alert-warning{background:var(--warning-soft);color:var(--warning)}.bottom-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100%,var(--page-max));display:flex;gap:.5rem;padding:.75rem 1rem calc(.75rem + var(--safe-bottom));background:var(--bg);border-top:1px solid var(--border);z-index:20}@media(max-width:1023px){.desktop-only{display:none!important}}@media(min-width:1024px){.mobile-only{display:none!important}#app{max-width:none}.shell.with-sidebar{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;min-height:100dvh}.shell-main{min-width:0}.page{max-width:680px;margin:0 auto;padding:2rem 2rem 3rem}.page.page-medium{max-width:820px}.page.page-wide{max-width:1180px}.bottom-bar{position:static;transform:none;width:auto;padding:0;margin-top:1.5rem;background:none;border:none;justify-content:flex-end}.bottom-bar .grow{flex:0 0 auto}.scroller{margin:0;padding:.125rem 0 .25rem;flex-wrap:wrap}}.page-enter-active,.page-leave-active{transition:opacity .14s ease}.page-enter-from,.page-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
