.nav-item[data-v-69d7cf80]{display:flex;align-items:center;text-decoration:none;color:var(--muted);border-radius:var(--r-md);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.nav-item.router-link-active[data-v-69d7cf80]{color:var(--accent);font-weight:600}.bottom[data-v-69d7cf80]{position:fixed;bottom:var(--keyboard-inset);left:0;right:0;max-width:720px;margin:0 auto;display:flex;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:10;transition:transform var(--dur-base) var(--ease),visibility 0s linear var(--dur-base);visibility:visible}.bottom .nav-item[data-v-69d7cf80]{flex:1;flex-direction:column;gap:2px;padding:var(--sp-2) 0 6px}.bottom .nav-item.accent .nav-icon[data-v-69d7cf80]{background:var(--accent);color:var(--on-accent);border-radius:var(--r-pill);width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-top:-14px;box-shadow:var(--shadow-2)}.bottom .nav-item.accent.router-link-active .nav-icon[data-v-69d7cf80]{background:var(--accent-ink)}.side[data-v-69d7cf80]{position:fixed;top:0;bottom:var(--keyboard-inset);left:0;width:240px;display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);background:var(--surface);border-right:1px solid var(--border);z-index:10;overflow-y:auto;transform:translate(-110%);visibility:hidden;transition:transform var(--dur-base) var(--ease),visibility 0s linear var(--dur-base)}.side .nav-item[data-v-69d7cf80]{flex-direction:row;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);min-height:var(--tap)}.side .nav-item[data-v-69d7cf80]:hover{background:var(--surface-hover)}.side .nav-item.router-link-active[data-v-69d7cf80]{background:var(--surface-sunken);color:var(--accent)}.side .nav-item.accent[data-v-69d7cf80]{background:var(--accent);color:var(--on-accent)}.side .nav-item.accent[data-v-69d7cf80]:hover{background:var(--accent-ink)}.side .nav-item.accent.router-link-active[data-v-69d7cf80]{background:var(--accent);color:var(--on-accent)}.side .nav-icon[data-v-69d7cf80]{font-size:18px;width:24px;text-align:center;flex:none}.divider[data-v-69d7cf80]{border-top:1px solid var(--border);margin:var(--sp-2) var(--sp-1)}.side .logout[data-v-69d7cf80]{margin-top:auto;font:inherit;border:none;background:none;color:var(--bad)}.side .logout[data-v-69d7cf80]:hover{background:var(--bad-soft)}.nav-label[data-v-69d7cf80]{font-size:var(--fs-2xs);white-space:nowrap}.side .nav-label[data-v-69d7cf80]{font-size:inherit}@media(min-width:1280px){.bottom[data-v-69d7cf80]{transform:translateY(110%);visibility:hidden}.side[data-v-69d7cf80]{transform:none;visibility:visible;transition:transform var(--dur-base) var(--ease),visibility 0s}}.inset-debug[data-v-3736ce76]{position:fixed;top:0;left:0;z-index:100;margin:0;padding:4px 6px;background:#000000b8;color:#fff;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:9px;line-height:1.35;pointer-events:none;white-space:pre}.pending[data-v-f38bb3c6]{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + var(--keyboard-inset) + var(--nav-h) + var(--submit-bar-h) + var(--sp-5));z-index:40;display:flex;align-items:center;gap:var(--sp-2);max-width:min(88vw,420px);padding:9px 14px;border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-2);color:var(--text);font-size:var(--fs-xs);font-weight:600;pointer-events:none;transform:translate(-50%)}.pending--ok[data-v-f38bb3c6]{color:var(--good)}.pending--error[data-v-f38bb3c6]{color:var(--bad)}.pending-spinner[data-v-f38bb3c6]{width:14px;height:14px;border-color:color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent)}.pending-icon[data-v-f38bb3c6]{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--r-pill);background:currentColor;color:var(--surface);font-size:11px;line-height:1}.pending-text[data-v-f38bb3c6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-pill-enter-active[data-v-f38bb3c6],.pending-pill-leave-active[data-v-f38bb3c6]{transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.pending-pill-enter-from[data-v-f38bb3c6],.pending-pill-leave-to[data-v-f38bb3c6]{opacity:0;transform:translate(-50%,8px)}.login-page[data-v-458bb46d]{min-height:var(--app-height);display:flex;align-items:center;justify-content:center;padding:var(--sp-5)}.login-card[data-v-458bb46d]{max-width:420px;width:100%;text-align:center;padding:28px var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.login-title[data-v-458bb46d]{font-size:var(--fs-2xl);margin:0 0 var(--sp-3)}.login-error[data-v-458bb46d]{color:var(--bad);font-size:var(--fs-xs);margin:10px 0 0}.not-found[data-v-5455e7b7]{min-height:var(--app-height);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.nf-img[data-v-5455e7b7]{width:240px;max-width:70%;margin-bottom:16px}.nf-title[data-v-5455e7b7]{font-size:56px;margin:0;color:var(--muted)}.nf-text[data-v-5455e7b7]{font-size:18px;font-weight:600;margin:8px 0 4px}.shimmer-page[data-v-80562b2f]{min-height:var(--app-height);padding:var(--sp-4);box-sizing:border-box}.shimmer-header[data-v-80562b2f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.shimmer-body[data-v-80562b2f]{display:flex;flex-direction:column;gap:12px}.shimmer[data-v-80562b2f]{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--border)}.shimmer[data-v-80562b2f]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 55%,transparent),transparent);transform:translate(-100%);animation:shimmer-80562b2f 1.4s infinite}.shimmer-block[data-v-80562b2f]{height:28px}.shimmer-w160[data-v-80562b2f]{width:160px}.shimmer-w80[data-v-80562b2f]{width:80px}.shimmer-card[data-v-80562b2f]{width:100%}.shimmer-row[data-v-80562b2f]{height:56px;width:100%}@keyframes shimmer-80562b2f{to{transform:translate(100%)}}:root{color-scheme:light;--bg: #f6f7f9;--surface: #ffffff;--surface-sunken: #eef1f6;--surface-hover: #f2f5f9;--surface-raised: #ffffff;--border: #e4e8ee;--border-strong: #d5dbe4;--text: #17212b;--text-2: #4b5563;--muted: #656f7c;--accent: #3390ec;--accent-ink: #2569bd;--accent-soft: #eef4fb;--good: #2ba567;--good-soft: #edf8f1;--bad: #e6484a;--bad-soft: #fbe9ea;--on-accent: #ffffff;--r-xs: 6px;--r-sm: 8px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--shadow-1: 0 1px 3px rgba(16, 24, 40, .08);--shadow-2: 0 4px 12px rgba(16, 24, 40, .12);--shadow-3: 0 12px 32px rgba(16, 24, 40, .24);--fs-2xs: 11px;--fs-xs: 13px;--fs-base: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 26px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--tap: 40px;--nav-h: 70px;--submit-bar-h: 52px;--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--dur-base: .2s}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #10151c;--surface: #171e27;--surface-sunken: #212a35;--surface-hover: #212a35;--surface-raised: #1d2530;--border: #2a343f;--border-strong: #3a4653;--text: #e8edf3;--text-2: #a8b3c0;--muted: #8e9aa8;--accent: #4f9ff0;--accent-ink: #7bb6f6;--accent-soft: #1b2b3d;--good: #3cb87a;--good-soft: #14291f;--bad: #f06b6d;--bad-soft: #2e1a1c;--on-accent: #0b1218;--shadow-1: 0 1px 3px rgba(0, 0, 0, .4);--shadow-2: 0 4px 12px rgba(0, 0, 0, .5);--shadow-3: 0 12px 32px rgba(0, 0, 0, .6)}}*{box-sizing:border-box}html{overscroll-behavior-y:contain;--viewport-h: 100vh;--viewport-h: 100dvh;--app-top-inset: 0px;--app-left-inset: 0px;--app-right-inset: 0px;--app-viewport-height: 0px;--keyboard-inset: 0px;--safe-area-top: 0px;--app-height: var(--viewport-h)}html.in-telegram{--app-height: calc(var(--viewport-h) - var(--app-top-inset))}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:var(--fs-base);line-height:1.5}#app{--app-width: min(100vw, 720px);--app-left: max(0px, calc((100vw - 720px)/2) );max-width:720px;margin:0 auto;padding-bottom:var(--sp-4)}html.in-telegram #app{padding-top:calc(var(--app-top-inset) + var(--sp-2))}@media(min-width:1280px){#app{--app-width: min( calc(100vw - 240px) , 1100px);--app-left: calc(240px + max(0px, (100vw - 240px - 1100px) / 2)) ;max-width:1100px;margin-left:var(--app-left);margin-right:auto}}@media(max-width:1279px){#app{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--keyboard-inset) + var(--sp-4))}}html.is-typing .bottom,html.is-typing .side{transform:translateY(110%);visibility:hidden;transition:transform var(--dur-base) var(--ease),visibility 0s linear var(--dur-base)}html.is-pending button:not(.pending-keep):not(:disabled){opacity:.55;cursor:progress}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}.spinner{display:inline-block;flex:none;width:1em;height:1em;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:var(--r-pill);animation:spinner-turn .7s linear infinite}@keyframes spinner-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}input,select,textarea{font:inherit;color:inherit;border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;background:var(--surface);width:100%;transition:border-color var(--dur-fast) var(--ease)}input::placeholder,textarea::placeholder{color:var(--muted)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}input[type=checkbox],input[type=radio]{width:auto;flex:0 0 auto;margin:0;padding:0;accent-color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--r-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);color:var(--on-accent);border-radius:var(--r-md);padding:12px 16px;font-weight:600;width:100%;transition:background var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.btn:hover:not(:disabled){background:var(--accent-ink)}.btn:disabled{opacity:.5;cursor:default}.btn.auto{width:auto}.btn.sm{padding:7px 12px;font-size:var(--fs-xs);font-weight:600;border-radius:var(--r-sm);min-height:var(--tap)}.btn.ghost{background:var(--surface-sunken);color:var(--text)}.btn.ghost:hover:not(:disabled){background:var(--surface-hover)}.btn.danger{background:var(--bad-soft);color:var(--bad)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 16%,transparent)}.btn.ghost.danger{background:var(--surface-sunken);color:var(--bad)}.btn.ghost.danger:hover:not(:disabled){background:var(--bad-soft)}.btn.danger-solid{background:var(--bad);color:#fff}.btn.danger-solid:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 85%,var(--text))}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--tap);height:var(--tap);padding:0;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.icon-btn.is-sm{width:var(--tap);height:var(--tap);border-radius:var(--r-sm)}.icon-btn.is-plain{border-color:transparent;background:transparent}.icon-btn.is-danger{color:var(--bad)}.icon-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.icon-btn.is-danger:hover:not(:disabled){background:var(--bad-soft);border-color:transparent}.icon-btn.is-plain:hover:not(:disabled){background:var(--surface-sunken);border-color:transparent}.icon-btn:active:not(:disabled){opacity:.7}.icon-btn:disabled{opacity:.4;cursor:default}.icon-glyph{font-size:15px;line-height:1}.icon-btn.is-sm .icon-glyph{font-size:14px}.segmented{display:inline-flex;gap:4px;background:var(--surface-sunken);border-radius:var(--r-sm);padding:3px;min-height:var(--tap)}.segmented button{padding:6px 10px;border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:500;color:var(--muted);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.segmented button:hover:not(.active){color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;bottom:var(--keyboard-inset);z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:#10182873}.confirm-panel{width:100%;max-width:420px;max-height:85vh;overflow-y:auto;background:var(--surface-raised);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-3)}.confirm-title{font-size:var(--fs-lg);margin:0 0 var(--sp-2)}.confirm-message{font-size:var(--fs-xs);color:var(--muted);margin:0 0 var(--sp-3)}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-4)}.confirm-fade-enter-active,.confirm-fade-leave-active{transition:opacity var(--dur-base) var(--ease)}.confirm-fade-enter-from,.confirm-fade-leave-to{opacity:0}@media(max-width:599px){.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%}}.page{padding:var(--sp-4)}.page-title{font-size:var(--fs-xl);line-height:1.25;font-weight:700;margin:0 0 var(--sp-3)}.page-sub{color:var(--muted);font-size:var(--fs-xs);margin:calc(var(--sp-1) * -1) 0 var(--sp-3)}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3)}.page-heading .page-title{margin-bottom:0}.section-title{font-size:var(--fs-2xs);font-weight:600;margin:var(--sp-5) 0 var(--sp-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.card{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--shadow-1);margin-bottom:var(--sp-3)}.row{display:flex;align-items:center;gap:10px}.space-between{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:var(--fs-xs)}.money,.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.money.income,.amount.income,.big.good{color:var(--good)}.money.expense,.amount.expense,.big.bad{color:var(--bad)}.good{color:var(--good)}.bad{color:var(--bad)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.label{font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-1)}.stack{display:flex;flex-direction:column;gap:var(--sp-2)}.stack-sm{display:flex;flex-direction:column;gap:var(--sp-1)}.stack-lg{display:flex;flex-direction:column;gap:var(--sp-3)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.check{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;font-size:var(--fs-xs);max-width:100%}.row-actions{display:flex;gap:6px}.list-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:none;padding-bottom:0}.list-row:first-child{padding-top:0}.empty{color:var(--muted);font-size:var(--fs-xs);margin:var(--sp-2) 0 0}.error{color:var(--bad);font-size:var(--fs-xs);margin:var(--sp-2) 0 0}.select-target{display:block;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);margin-bottom:var(--sp-2);text-align:left}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
