.sidebar[data-v-7a430ec0]{display:flex;flex-direction:column}.side-foot[data-v-7a430ec0]{margin-top:auto;padding:var(--s-4) var(--s-3) var(--s-2);display:flex;flex-direction:column;gap:6px}.who[data-v-7a430ec0]{font-size:var(--t-xs);color:var(--text-3)}.logout[data-v-7a430ec0]{align-self:flex-start;font-size:var(--t-sm);color:var(--text-2);padding:6px 10px;border-radius:var(--r-sm);cursor:pointer}.logout[data-v-7a430ec0]:hover{background:var(--surface-hover);color:var(--text)}:root,:root[data-accent=green]{--accent-h: 115;--accent-s: 32%;--accent-l: 60%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-strong: hsl(var(--accent-h), var(--accent-s), 50%);--accent-soft: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .12);--accent-fg: #0E0D0C}:root[data-accent=purple]{--accent-h: 262;--accent-s: 50%;--accent-l: 68%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-strong: hsl(var(--accent-h), var(--accent-s), 58%);--accent-soft: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .15);--accent-fg: #FFFFFF}:root[data-accent=blue]{--accent-h: 205;--accent-s: 60%;--accent-l: 60%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-strong: hsl(var(--accent-h), var(--accent-s), 50%);--accent-soft: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .15);--accent-fg: #FFFFFF}:root[data-accent=orange]{--accent-h: 22;--accent-s: 75%;--accent-l: 60%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-strong: hsl(var(--accent-h), var(--accent-s), 50%);--accent-soft: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .15);--accent-fg: #0E0D0C}:root,:root[data-theme=dark]{--bg: #0D0C0B;--bg-elev: #131210;--surface: #1A1815;--surface-2: #221F1B;--surface-3: #2C2823;--surface-hover: #25221E;--input-bg: rgb(38, 36, 34);--border: #2A2724;--border-strong: #3A3631;--border-soft: #1F1D1A;--text: #F2EEE5;--text-2: #B8AFA0;--text-3: #6F665A;--warn: #E89A6F;--warn-soft: rgba(232, 154, 111, .13);--danger: #E36A65;--danger-soft: rgba(227, 106, 101, .13);--success: var(--accent);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 0 1px var(--accent-soft), 0 8px 32px var(--accent-soft);--grain-opacity: .015}:root[data-theme=light]{--bg: #F3F0E9;--bg-elev: #FFFFFF;--surface: #FFFFFF;--surface-2: #F3EFE7;--surface-3: #E8E2D8;--surface-hover: #F7F3EB;--input-bg: #F3EFE7;--border: #E8E2D8;--border-strong: #D6CEC0;--border-soft: #F0EBE2;--text: #2A2520;--text-2: #6B6157;--text-3: #A89E91;--warn: #C97B5F;--warn-soft: rgba(201, 123, 95, .12);--danger: #B85450;--danger-soft: rgba(184, 84, 80, .1);--success: var(--accent-strong);--shadow-sm: 0 1px 2px rgba(42, 37, 32, .04);--shadow: 0 2px 8px rgba(42, 37, 32, .06);--shadow-lg: 0 6px 20px rgba(42, 37, 32, .08);--shadow-glow: 0 0 0 2px var(--accent-soft), 0 4px 20px var(--accent-soft);--grain-opacity: 0}:root{--r-sm: 8px;--r: 12px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;--font-mono: ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, monospace;--t-xs: 11px;--t-sm: 13px;--t-base: 14px;--t-md: 15px;--t-lg: 18px;--t-xl: 22px;--t-2xl: 28px;--t-3xl: 36px;--t-display: 56px}*{box-sizing:border-box}html{color-scheme:dark;overflow-x:hidden;scrollbar-gutter:stable;background:var(--bg)}:root[data-theme=light]{color-scheme:light}body{margin:0;overflow-x:clip;max-width:100vw;font-family:var(--font);font-size:var(--t-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.45;letter-spacing:-.005em}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' /%3E%3C/svg%3E");z-index:1000;mix-blend-mode:overlay}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(70% 55% at 50% -8%,hsla(var(--accent-h),var(--accent-s),var(--accent-l),.06),transparent 70%),radial-gradient(55% 50% at 100% 102%,hsla(var(--accent-h),var(--accent-s),var(--accent-l),.04),transparent 70%)}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em}h1{font-size:var(--t-3xl)}h2{font-size:var(--t-2xl)}h3{font-size:var(--t-lg)}h4{font-size:var(--t-md)}p{margin:0}a{color:var(--accent);text-decoration:none;transition:opacity .15s}@media(hover:hover){a:hover{opacity:.85}}button{font-family:inherit;font-size:var(--t-base);cursor:pointer;border:0;background:none;color:inherit}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh;min-height:100dvh}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border-soft);padding:var(--s-5) var(--s-3);position:sticky;top:0;height:100vh;overflow-y:auto}.main{--page-pad: var(--s-6);padding:0 var(--page-pad) var(--s-6);max-width:1180px;width:100%;margin-inline:auto}.brand{display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-2) var(--s-6);font-weight:700;font-size:var(--t-md);letter-spacing:-.02em}.brand-mark{width:32px;height:32px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--accent-fg);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--t-md);box-shadow:0 0 24px var(--accent-soft)}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);color:var(--text-2);border-radius:var(--r-sm);font-size:var(--t-base);text-decoration:none;position:relative}@media(hover:hover){.nav a:hover{background:var(--surface-hover);color:var(--text);opacity:1}}.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.nav .nav-group{font-size:var(--t-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;padding:var(--s-5) var(--s-3) var(--s-1);font-weight:600}.nav-icon{width:18px;text-align:center;opacity:.7}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--s-5);transition:border-color .15s,transform .15s}@media(hover:hover){.card-hover:hover{border-color:var(--border-strong)}}.card-elev{background:linear-gradient(180deg,var(--surface-2) 0%,var(--surface) 100%)}.card-accent{background:linear-gradient(135deg,var(--accent-soft) 0%,transparent 60%),var(--surface);border-color:var(--accent-soft)}.card-pad-sm{padding:var(--s-4)}.card-pad-lg{padding:var(--s-6)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-6)}.page-title{font-size:var(--t-2xl);margin-bottom:var(--s-1)}.muted{color:var(--text-2)}.muted-strong{color:var(--text-3)}.btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);font-size:var(--t-base);font-weight:500;border:1px solid transparent;transition:all .15s;letter-spacing:-.005em}.btn-primary{background:var(--accent);color:var(--accent-fg)}@media(hover:hover){.btn-primary:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 4px 20px var(--accent-soft)}}.btn-ghost{color:var(--text-2);border-color:var(--border);background:var(--surface)}@media(hover:hover){.btn-ghost:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-strong)}}.btn-sm{padding:6px var(--s-3);font-size:var(--t-sm)}.btn-icon{padding:6px;min-width:30px;justify-content:center}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--t-xs);font-weight:500;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2)}.chip-accent{background:var(--accent-soft);color:var(--accent)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-danger{background:var(--danger-soft);color:var(--danger)}.bar{width:100%;height:6px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width .3s}.bar.warn>span{background:var(--warn)}.bar.danger>span{background:var(--danger)}.bar-thick{height:10px}.grid{display:grid;gap:var(--s-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.row{display:flex;gap:var(--s-3);align-items:center}.row-between{display:flex;justify-content:space-between;align-items:center}.col{display:flex;flex-direction:column;gap:var(--s-2)}.num{font-variant-numeric:tabular-nums}.num-big{font-size:var(--t-2xl);font-weight:600;letter-spacing:-.02em}.num-display{font-size:var(--t-display);font-weight:700;letter-spacing:-.04em;line-height:1}.tg-frame{max-width:380px;background:#17212b;border-radius:var(--r-lg);padding:var(--s-4);font-family:var(--font);color:#e4e8eb;border:1px solid #232E3C}.tg-header{display:flex;align-items:center;gap:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid #232E3C;margin-bottom:var(--s-4)}.tg-avatar{width:36px;height:36px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent-fg)}.tg-title{font-weight:600;font-size:var(--t-sm)}.tg-status{font-size:var(--t-xs);color:#6c7883}.tg-bubble{background:#182533;border-radius:var(--r);border-bottom-left-radius:4px;padding:var(--s-3) var(--s-4);max-width:88%;margin-bottom:var(--s-2);font-size:var(--t-sm);line-height:1.4}.tg-bubble-me{background:#2b5278;color:#fff;margin-left:auto;border-bottom-right-radius:4px;border-bottom-left-radius:var(--r)}.tg-meta{font-size:10px;color:#6c7883;margin-top:var(--s-1);text-align:right}.tg-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-2)}.tg-btn{background:#2b5278;color:#fff;border-radius:6px;padding:6px var(--s-3);font-size:var(--t-xs);font-weight:500;display:inline-flex;align-items:center;gap:4px}.tg-btn-secondary{background:#2a3441;color:#93a5b7}.tg-time{text-align:center;font-size:var(--t-xs);color:#6c7883;margin:var(--s-3) 0}.theme-switch{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px;gap:2px}.theme-switch button{min-width:30px;height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--t-sm);color:var(--text-2);white-space:nowrap}@media(max-width:768px){.theme-switch button{font-size:var(--t-xs);padding:0 8px;height:24px}}.theme-switch button.active{background:var(--accent-soft);color:var(--accent)}.accent-picker{display:inline-flex;gap:6px;align-items:center}.accent-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);cursor:pointer}.accent-dot.active{border-color:var(--text)}.accent-dot[data-accent=green]{background:#7eba78}.accent-dot[data-accent=purple]{background:#a385d6}.accent-dot[data-accent=blue]{background:#5ca3d6}.accent-dot[data-accent=orange]{background:#e6854c}.hr{height:1px;background:var(--border);margin:var(--s-4) 0}.divider-v{width:1px;background:var(--border);margin:0 var(--s-3)}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:skeleton-shine 1.2s infinite}@keyframes skeleton-shine{to{transform:translate(100%)}}@media(max-width:1100px){.main{--page-pad: var(--s-5);padding-bottom:var(--s-5)}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.span-8,.span-6,.span-5,.span-4{grid-column:span 6}.span-3{grid-column:span 3}.hero,.action-card{grid-column:span 12}h1,.page-title{font-size:var(--t-2xl)}.num-display{font-size:44px}}@media(max-width:768px){.app{grid-template-columns:1fr}.sidebar{position:sticky;top:0;height:auto;width:100%;border-right:0;border-bottom:1px solid var(--border-soft);padding:var(--s-2) var(--s-3);display:flex;align-items:center;gap:var(--s-3);overflow-x:auto;z-index:100;-webkit-overflow-scrolling:touch}.sidebar::-webkit-scrollbar{display:none}.brand{padding:0;flex-shrink:0}.brand span{display:none}.nav{flex-direction:row;flex:1;gap:var(--s-1);flex-wrap:nowrap;overflow-x:auto}.nav a{padding:var(--s-2) var(--s-3);white-space:nowrap;flex-shrink:0;font-size:var(--t-sm)}.nav a span{display:none}.nav .nav-icon{display:inline;opacity:1}.nav .nav-group{display:none}.nav a.active span:not(.nav-icon){display:inline}.main{padding:var(--s-4);max-width:100%}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.bento{grid-template-columns:1fr;gap:var(--s-3)}.span-12,.span-8,.span-6,.span-5,.span-4,.span-3{grid-column:span 1}h1,.page-title{font-size:var(--t-xl)}h2{font-size:var(--t-lg)}.num-display{font-size:38px}.num-big{font-size:var(--t-xl)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--s-3)}.hero{padding:var(--s-5) var(--s-4)}.hero-balance{font-size:42px}.hero-meta{flex-wrap:wrap;gap:var(--s-3)}.sparkline{display:none}.card,.card-pad-lg{padding:var(--s-4)}.card-pad-sm{padding:var(--s-3)}.action-card{padding:var(--s-4)}.sub-row,.e-row,.cat-row{grid-template-columns:auto 1fr auto!important;gap:var(--s-2)!important;padding:var(--s-3)!important}.sub-next,.e-source,.cat-types{display:none}.stat-tile,.stat{padding:var(--s-3)}.stat-tile .stat-num,.stat-v{font-size:var(--t-lg)}.filter-row,.filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--s-2)}.search-input{width:100%;min-width:200px}.loan-card{padding:var(--s-4)}.loan-stats{grid-template-columns:repeat(2,1fr);gap:var(--s-3)}.loan-head{grid-template-columns:48px 1fr}.loan-head>button{grid-column:1 / -1;justify-self:stretch}.scenarios{grid-template-columns:1fr}.cat-grid{grid-template-columns:1fr!important}.toolbar{flex-wrap:wrap;gap:var(--s-2)}body:before{display:none}}.only-mobile{display:none}@media(max-width:768px){.only-mobile{display:initial}.only-desktop{display:none}}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:var(--t-sm);color:var(--text-2)}.field-input,.field-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font-family:var(--font);font-size:var(--t-base);color:var(--text);width:100%}.field-input:focus,.field-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-row{display:flex;gap:var(--s-3)}.field-row>.field{flex:1}.form-error{color:var(--danger);font-size:var(--t-sm)}.pop{position:absolute;top:120%;left:0;z-index:20;width:280px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 16px 48px #00000080;padding:var(--s-3);cursor:default}.pop-search{width:100%;background:var(--input-bg);border:0;border-radius:var(--r-sm);padding:8px 10px;color:var(--text);font-family:var(--font);font-size:var(--t-sm);margin-bottom:var(--s-2)}.pop-search:focus{outline:none;box-shadow:0 0 0 2px var(--accent-soft)}.pop-list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow:auto}.pop-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--t-sm);cursor:pointer}@media(hover:hover){.pop-item:hover{background:var(--surface-2)}}.pop-item.sel{background:var(--accent-soft)}.pop-item.add{color:var(--text-3);border-top:1px solid var(--border-soft);margin-top:4px;padding-top:10px}@media(max-width:768px){.pop{position:fixed;left:var(--s-3);right:var(--s-3);top:auto;bottom:var(--s-3);width:auto;max-width:none;z-index:1100;max-height:60dvh;overflow:hidden;display:flex;flex-direction:column}.pop-list{max-height:50dvh}}.card{border:0}.main{padding-top:var(--s-6)}.h{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:700;margin:26px 2px 12px}.h:first-child{margin-top:6px}.tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.tile{background:var(--surface);border-radius:var(--r);padding:14px 16px}.tile.accent{background:linear-gradient(135deg,var(--accent-soft) 0%,transparent 65%),var(--surface)}.tile .k{font-size:var(--t-xs);color:var(--text-3)}.tile .v{font-size:var(--t-xl);font-weight:600;letter-spacing:-.02em;margin-top:5px;font-variant-numeric:tabular-nums}.tile .v small{font-size:var(--t-sm);color:var(--text-3);font-weight:400;margin-left:2px}.tile.accent .v{color:var(--accent)}.nav svg{width:17px;height:17px;opacity:.8}.nav a.active svg{opacity:1}code{font-family:var(--font-mono);font-size:.9em;background:var(--surface-2);padding:1px 5px;border-radius:5px}
