:root{--bg:#e6e9ef;--surface:#eff1f5;--surface2:#dce0e8;--border:#ccd0da;--text:#4c4f69;--text2:#5c5f77;--text3:#9ca0b0;--accent:#8839ef;--accent-ink:#fff;--pos:#40a02b;--neg:#d20f39;--warn:#df8e1d;--bucket-cash:#179299;--bucket-bucket1:#04a5e5;--bucket-bucket2:#df8e1d;--bucket-bucket3:#1e66f5;--bucket-education:#7287fd;--bucket-insurance:#dd7878;--bucket-real_estate:#40a02b;--bucket-debt:#d20f39;--shadow:0 1px 2px #4c4f690f, 0 8px 24px -14px #4c4f6924;--shadow-lg:0 2px 6px #4c4f6914, 0 24px 60px -24px #4c4f6952}[data-theme=dark]{--bg:#11111b;--surface:#1e1e2e;--surface2:#313244;--border:#45475a;--text:#cdd6f4;--text2:#bac2de;--text3:#7f849c;--accent:#cba6f7;--accent-ink:#1e1e2e;--pos:#a6e3a1;--neg:#f38ba8;--warn:#f9e2af;--bucket-cash:#94e2d5;--bucket-bucket1:#89dceb;--bucket-bucket2:#f9e2af;--bucket-bucket3:#89b4fa;--bucket-education:#b4befe;--bucket-insurance:#f2cdcd;--bucket-real_estate:#a6e3a1;--bucket-debt:#f38ba8;--shadow:0 1px 2px #0006, 0 8px 24px -14px #000000b3;--shadow-lg:0 2px 6px #0000008c, 0 24px 60px -24px #000000f2}*,:before,:after{box-sizing:border-box}html,body,#app{background:var(--bg);height:100%;color:var(--text);margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Hanken Grotesk,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.tabular{font-variant-numeric:tabular-nums}.sidebar[data-v-375b1a6b]{background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;width:216px;transition:width .18s;position:relative;overflow:visible}.sidebar.collapsed[data-v-375b1a6b]{width:56px}.sidebar-inner[data-v-375b1a6b]{flex-direction:column;gap:0;padding:24px 16px;display:flex;position:absolute;inset:0;overflow:hidden}.sidebar.collapsed .sidebar-inner[data-v-375b1a6b]{padding:24px 8px}.brand[data-v-375b1a6b]{white-space:nowrap;align-items:center;gap:9px;padding:4px 8px 28px;display:flex}.sidebar.collapsed .brand[data-v-375b1a6b]{justify-content:center;padding:4px 0 28px}.brand-mark[data-v-375b1a6b]{background:var(--accent);width:27px;height:27px;color:var(--accent-ink);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.brand-name[data-v-375b1a6b]{letter-spacing:-.01em;color:var(--text);font-size:16.5px;font-weight:700}nav[data-v-375b1a6b]{flex-direction:column;gap:2px;display:flex}nav a[data-v-375b1a6b]{width:100%;color:var(--text2);text-align:left;white-space:nowrap;border-radius:9px;align-items:center;gap:11px;padding:9px 11px;font-size:13.5px;font-weight:550;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar.collapsed nav a[data-v-375b1a6b]{justify-content:center;padding:9px 0}nav a[data-v-375b1a6b]:hover,nav a.active[data-v-375b1a6b]{background:var(--surface2);color:var(--text)}nav a.active[data-v-375b1a6b]{font-weight:600}.pull-tab[data-v-375b1a6b]{background:var(--surface);border:1px solid var(--border);width:16px;height:40px;color:var(--text3);box-shadow:3px 1px 6px color-mix(in oklch, var(--text), transparent 90%);cursor:pointer;border-left:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex;position:absolute;bottom:52px;right:-1px;transform:translate(100%)}.pull-tab[data-v-375b1a6b]:hover{background:var(--surface2);color:var(--text)}footer[data-v-375b1a6b]{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:auto;padding:14px 11px 2px;display:flex}.collapsed-dot-wrap[data-v-375b1a6b]{border-top:1px solid var(--border);justify-content:center;margin-top:auto;padding:14px 0 2px;display:flex}.sync-line[data-v-375b1a6b]{color:var(--text2);align-items:center;gap:7px;font-size:11.5px;display:flex}.dot[data-v-375b1a6b]{background:var(--pos);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in oklch, var(--pos), transparent 80%);border-radius:50%;flex-shrink:0}.sync-when[data-v-375b1a6b]{color:var(--text3);font-size:11px}.sync-pill[data-v-375b1a6b]{background:var(--surface2);border:1px solid var(--border);color:var(--text2);border-radius:6px;align-self:flex-start;margin-top:2px;padding:5px 8px;font-family:ui-monospace,Consolas,monospace;font-size:10.5px}.user-row[data-v-375b1a6b]{align-items:center;gap:8px;margin-top:4px;padding:6px 8px;display:flex}.avatar[data-v-375b1a6b]{border-radius:50%;flex-shrink:0;width:24px;height:24px}.avatar-initials[data-v-375b1a6b]{background:var(--accent);color:var(--accent-ink);justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.user-name[data-v-375b1a6b]{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:550;overflow:hidden}.logout-btn[data-v-375b1a6b]{color:var(--text3);border-radius:7px;align-items:center;gap:7px;width:100%;margin-top:4px;padding:6px 8px;font-size:12px;transition:background .12s,color .12s;display:flex}.logout-btn[data-v-375b1a6b]:hover{background:var(--surface2);color:var(--text)}@media (width<=768px){.sidebar[data-v-375b1a6b],.sidebar.collapsed[data-v-375b1a6b]{border-right:none;border-top:1px solid var(--border);z-index:200;height:60px;transition:none;position:fixed;bottom:0;left:0;right:0;width:100%!important}.sidebar-inner[data-v-375b1a6b],.sidebar.collapsed .sidebar-inner[data-v-375b1a6b]{flex-direction:row;align-items:stretch;height:100%;padding:0;position:static;overflow:visible}.brand[data-v-375b1a6b],footer[data-v-375b1a6b],.collapsed-dot-wrap[data-v-375b1a6b],.pull-tab[data-v-375b1a6b]{display:none}nav[data-v-375b1a6b]{flex-direction:row;align-items:stretch;gap:0;width:100%}nav a[data-v-375b1a6b],.sidebar.collapsed nav a[data-v-375b1a6b]{white-space:normal;text-align:center;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-size:10px;font-weight:600}nav a.active[data-v-375b1a6b]{color:var(--accent);background:0 0}}.login-shell[data-v-436b6860]{background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-card[data-v-436b6860]{background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 32px color-mix(in oklch, var(--text), transparent 92%);border-radius:16px;flex-direction:column;align-items:center;gap:20px;width:320px;padding:44px 48px;display:flex}.brand[data-v-436b6860]{align-items:center;gap:10px;display:flex}.brand-mark[data-v-436b6860]{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.brand-name[data-v-436b6860]{letter-spacing:-.02em;color:var(--text);font-size:22px;font-weight:700}.tagline[data-v-436b6860]{color:var(--text2);text-align:center;margin:0;font-size:13.5px}.google-btn[data-v-436b6860]{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px 20px;font-size:14px;font-weight:550;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.google-btn[data-v-436b6860]:hover{background:var(--surface3,var(--surface2));border-color:var(--accent)}.idle-overlay[data-v-05cd6d86]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.idle-dialog[data-v-05cd6d86]{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:12px;width:360px;max-width:calc(100vw - 32px);padding:32px}.idle-dialog h2[data-v-05cd6d86]{color:var(--color-text);margin:0 0 8px;font-size:1.2rem;font-weight:600}.idle-dialog p[data-v-05cd6d86]{color:var(--color-text-muted);margin:0 0 24px;font-size:.9rem;line-height:1.5}.idle-actions[data-v-05cd6d86]{flex-direction:column;gap:10px;display:flex}.btn-primary[data-v-05cd6d86]{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600}.btn-primary[data-v-05cd6d86]:hover{opacity:.9}.btn-ghost[data-v-05cd6d86]{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-size:.9rem}.btn-ghost[data-v-05cd6d86]:hover{color:var(--color-text)}.shell[data-v-05cd6d86]{display:flex;position:fixed;inset:0;overflow:hidden}.preview-banner[data-v-05cd6d86]{z-index:900;color:#fff;letter-spacing:.02em;background:#b45309;justify-content:center;align-items:center;height:24px;font-size:.75rem;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0}.shell.has-preview[data-v-05cd6d86]{top:24px}main[data-v-05cd6d86]{flex:1;padding:30px 38px 40px;overflow-y:auto}@media (width<=768px){main[data-v-05cd6d86]{padding:16px 16px 80px}}
