@font-face{font-family:Inter;src:local(Inter);font-display:swap}:root{--bg:#e8f4ff;--surface:#f5faff;--primary:#3478f6;--secondary:#78b9ff;--accent:#38bdf8;--deep:#102d5c;--text:#10213d;--muted:#526782;--positive:#087857;--negative:#be1740;--warning:#a75306;--glass:#fafdff9e;--border:#fffffff0;--line:#dbe7f3;--white:#fff;--sheen:#ffffff9e;--control:#f7fbff;--shadow:0 16px 38px #2a4e841a,0 2px 6px #2a4e840d,inset 0 1px #ffffffd1;--balance-ink:var(--deep);--balance-bg:linear-gradient(135deg,var(--surface),var(--highlight) 65%,var(--orb));--button:#225fdb;--highlight:#d9eaff;--orb:#b8dcff;--sidebar:228px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;font-family:Inter,Segoe UI,sans-serif}[data-theme=emerald]{--bg:#e8fff6;--surface:#f2fff9;--primary:#059669;--secondary:#6ee7b7;--accent:#10b981;--deep:#064e3b;--button:#087857;--highlight:#cdf5e4;--orb:#b4efd8}[data-theme=amethyst]{--bg:#f5edff;--surface:#fbf7ff;--primary:#8b5cf6;--secondary:#c4b5fd;--accent:#a78bfa;--deep:#4c1d95;--button:#6937cd;--highlight:#e8dcfb;--orb:#ded0fb}[data-theme=graphite]{--bg:#f4f4f5;--surface:#fafafa;--primary:#52525b;--secondary:#a1a1aa;--accent:#71717a;--deep:#18181b;--button:#52525b;--highlight:#e8e8ed;--orb:#dadadd}[data-theme=midnight]{--bg:#e9edff;--surface:#f3f4ff;--primary:#5964da;--secondary:#b8c1ff;--accent:#60a5fa;--deep:#273276;--button:#4651c9;--highlight:#dfe5ff;--orb:#c9d3fc}:root[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#202b40;--surface:#28374e;--text:#f1f5fc;--muted:#becce2;--glass:#344560a3;--border:#bad1f73d;--line:#4a5d7a;--control:#34445d;--highlight:#43587a;--orb:#435883;--positive:#56dcb0;--negative:#ffa0b5;--warning:#ffd09b;--sheen:#a8c3f81c;--shadow:0 14px 34px #050c1a38,inset 0 1px #d5e4ff24;--balance-ink:var(--text)}@media (prefers-color-scheme:dark){:root[data-mode=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#202b40;--surface:#28374e;--text:#f1f5fc;--muted:#becce2;--glass:#344560a3;--border:#bad1f73d;--line:#4a5d7a;--control:#34445d;--highlight:#43587a;--orb:#435883;--positive:#56dcb0;--negative:#ffa0b5;--warning:#ffd09b;--sheen:#a8c3f81c;--shadow:0 14px 34px #050c1a38,inset 0 1px #d5e4ff24;--balance-ink:var(--text)}}*,:before,:after{box-sizing:border-box}body{min-width:300px;min-height:100dvh;color:var(--text);background:radial-gradient(ellipse at 97% 4%,var(--orb),transparent 52%),radial-gradient(ellipse at 14% 95%,color-mix(in srgb,var(--accent),transparent 78%),transparent 48%),linear-gradient(135deg,var(--surface),var(--bg) 72%);background-attachment:fixed;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.58}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.055em;font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.1}h2{letter-spacing:-.025em;font-size:1.06rem}h3{font-size:.95rem}p,small{color:var(--muted)}.glass{background:linear-gradient(155deg,var(--sheen),transparent 75%),var(--glass);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px)saturate(145%);backdrop-filter:blur(22px)saturate(145%)}.shell{grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:linear-gradient(150deg,var(--sheen),transparent 72%),var(--glass);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(22px)saturate(145%);backdrop-filter:blur(22px)saturate(145%);flex-direction:column;align-self:start;height:100dvh;padding:29px 16px 17px;display:flex;position:sticky;top:0;overflow:auto}.brand{text-align:left;flex-shrink:0;align-items:center;gap:11px;margin:0 8px 34px;display:flex}.brand img{border-radius:12px;box-shadow:0 4px 12px #3478f63b}.brand strong{letter-spacing:.18em;font-size:1.12rem;display:block}.brand small{margin-top:2px;font-size:.7rem;display:block}.sidebar nav{gap:3px;display:grid}.sidebar a,.mobile-menu a{color:var(--muted);border-radius:11px;align-items:center;gap:11px;min-height:42px;padding:10px 11px;font-size:.86rem;display:flex}.sidebar a:hover,.sidebar a[aria-current],.mobile-menu a[aria-current]{background:var(--highlight);color:var(--text)}.sidebar a[aria-current]{font-weight:680}.sidebar a[aria-current] svg{color:var(--button)}.sidebar-foot{margin-top:auto;padding-top:18px}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--glass),transparent 35%);justify-content:space-between;align-items:center;min-height:70px;padding:0 clamp(20px,4vw,54px);display:flex}.top-crumb,.top-actions,.sync-badge{align-items:center;gap:10px;display:flex}.top-crumb{color:var(--muted);font-size:.84rem}.top-crumb strong{color:var(--text)}.top-crumb svg{transform:rotate(-90deg)}.sync-badge{border:1px solid var(--border);background:var(--glass);color:var(--muted);border-radius:999px;gap:6px;padding:7px 11px;font-size:.75rem;font-weight:650}.sync-badge svg{color:var(--button);flex:none}.avatar,.icon-button{border:1px solid var(--border);background:var(--glass);color:var(--text);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:inline-grid}.avatar{background:var(--highlight);border-radius:50%}.main{max-width:1580px;margin:auto;padding:32px clamp(20px,4vw,54px) 48px}.heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.heading p{margin-top:8px;font-size:.92rem}.button{border:1px solid var(--line);background:var(--control);min-height:40px;color:var(--text);text-align:center;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:.82rem;font-weight:650;display:inline-flex}.primary,.mobile-add{background:linear-gradient(140deg,var(--button),color-mix(in srgb,var(--button),var(--deep) 22%));color:#fff;box-shadow:0 5px 15px color-mix(in srgb,var(--primary),transparent 73%);border-color:#0000}.danger{color:var(--negative)}.compact{min-height:34px;font-size:.75rem}.filters,.actions{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:18px;display:flex}.segments{border:1px solid var(--border);background:var(--glass);border-radius:11px;flex-wrap:wrap;gap:3px;padding:4px;display:inline-flex}.segments button,.text-button{color:var(--muted);background:0 0;border:0;border-radius:7px;min-height:30px;padding:6px 9px;font-size:.78rem;font-weight:650}.segments button[aria-pressed=true]{background:var(--highlight);color:var(--text)}.text-button{white-space:nowrap;color:var(--text);align-items:center;gap:5px;display:flex}input:not([type=checkbox]):not([type=file]),select,textarea{border:1px solid var(--line);background:var(--control);min-width:0;max-width:100%;min-height:39px;color:var(--text);border-radius:9px;padding:8px 10px}input[type=checkbox]{accent-color:var(--primary);width:17px;height:17px}select{font-size:.82rem}.search{border:1px solid var(--line);background:var(--control);color:var(--muted);border-radius:10px;align-items:center;gap:7px;padding-left:10px;display:flex}.search input{border:0!important}.top-grid{grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px;display:grid}.balance-card,.metric,.panel{border-radius:23px;min-width:0}.balance-card{isolation:isolate;color:var(--balance-ink);border:1px solid var(--border);box-shadow:var(--shadow);background:radial-gradient(ellipse at 20% 0%,var(--sheen),transparent 65%),var(--balance-bg);padding:17px 19px;position:relative;overflow:hidden}.balance-decoration{z-index:-1;opacity:.35;background:repeating-radial-gradient(at 86% 65%,#0000 0 13px,#ffffff4f 14px 15px,#0000 16px 26px);position:absolute;inset:-10% -28% -100% 10%;transform:rotate(-18deg)}.hero-icon,.metric-icon,.movement-icon{background:var(--highlight);border-radius:11px;flex:none;place-items:center;width:37px;height:37px;display:grid}.hero-icon{background:var(--sheen);border:1px solid var(--border)}.balance-card p,.balance-card strong,.hero-foot{color:var(--balance-ink)}.balance-card p,.metric p{margin-top:9px;font-size:.8rem;font-weight:600}.balance-card strong,.metric strong{letter-spacing:-.05em;overflow-wrap:anywhere;margin:4px 0 7px;font-size:clamp(1.18rem,2vw,1.85rem);display:block}.hero-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:5px 10px;padding-top:9px;font-size:.72rem;display:flex}.section-guide{border-radius:16px;margin-bottom:16px;padding:13px 15px;font-size:.88rem;line-height:1.55}.section-guide p+p{margin-top:4px}.section-guide strong{color:var(--text)}.metric{padding:17px 15px}.metric small{font-size:.71rem}.positive{color:var(--positive)}.negative{color:var(--negative)}.metric-icon.positive,.movement-icon.positive{background:color-mix(in srgb,var(--positive),transparent 89%)}.metric-icon.negative,.movement-icon.negative{background:color-mix(in srgb,var(--negative),transparent 90%)}.accent{color:var(--text)}.dash-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:15px;display:grid}.panel{padding:17px 18px}.panel header,.dialog header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.panel header p{margin-top:5px;font-size:.77rem}.chart{width:100%;min-width:0;height:202px;font-size:.75rem}.forecast-list>div{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:12px 0;font-size:.81rem;display:flex}.forecast-list span{color:var(--muted)}.forecast-list p,.calendar-events p{padding:12px 0;font-size:.85rem}.movement-list{display:grid}.movement-row{border:0;border-top:1px solid var(--line);text-align:left;color:var(--text);background:0 0;align-items:center;gap:10px;width:100%;min-width:0;padding:10px 2px;display:flex}.movement-row:hover{background:color-mix(in srgb,var(--highlight),transparent 65%)}.movement-row span:not(.movement-icon){flex:1;min-width:0}.movement-row strong,.movement-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.movement-row strong,.movement-row b{font-size:.84rem}.movement-row small{margin-top:4px;font-size:.72rem}.movement-row b{white-space:nowrap}.record-row{align-items:center;gap:10px;display:flex}.empty{text-align:center;align-content:center;justify-items:center;gap:6px;min-height:118px;padding:10px;font-size:.82rem;display:grid}.empty>span{background:var(--highlight);border-radius:13px;place-items:center;width:42px;height:42px;margin-bottom:2px;display:grid}.empty p{font-size:.75rem}.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekday{color:var(--muted);padding:8px 0;font-size:.75rem}.calendar-grid button{min-height:44px;color:var(--text);border:1px solid var(--line);background:var(--control);border-radius:10px;align-content:center;justify-items:center;gap:4px;padding:5px;display:grid}.calendar-grid button[aria-pressed=true]{border-color:var(--primary);background:var(--highlight);font-weight:700}.calendar-grid button.other-month{color:var(--muted)}.calendar-grid i{background:var(--primary);border-radius:50%;width:5px;height:5px}.calendar-events,.settings-panel+.settings-panel{margin-top:15px}.calendar-events h3{margin:12px 0 5px}.settings-panel .actions{margin:12px 0 0}.password-fields{border:0;gap:10px;min-width:0;max-width:400px;margin:0;padding:0;display:grid}.drive-backup{border-top:1px solid var(--line);margin-top:16px;padding-top:15px}.drive-files{margin:10px 0 0;padding:0;list-style:none}.drive-files li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:9px;padding:7px 0;font-size:.82rem;display:flex}.settings-panel p{margin-top:8px}.theme-options{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.theme-option{border:1px solid var(--line);background:var(--control);color:var(--text);border-radius:10px;align-items:center;gap:7px;min-height:42px;padding:6px 9px;display:flex}.theme-option[aria-pressed=true]{border-color:var(--primary)}.theme-option i{background:var(--swatch);border-radius:50%;width:20px;height:20px}.swatch-arctic{--swatch:#3478f6}.swatch-midnight{--swatch:#212b5c}.swatch-emerald{--swatch:#059669}.swatch-amethyst{--swatch:#8b5cf6}.swatch-graphite{--swatch:#52525b}.upload{cursor:pointer;position:relative;overflow:hidden}.upload input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.upload:focus-within{outline:3px solid var(--primary);outline-offset:2px}.overlay{z-index:20;background:#0c1b3778;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:22px;width:min(100%,640px);max-height:90dvh;padding:18px;overflow:auto}.dialog header{margin-bottom:15px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.form-grid .wide{grid-column:1/-1}.form-grid label,.auth-card label,.stack{color:var(--muted);align-content:start;gap:5px;font-size:.82rem;font-weight:600;display:grid}.check{color:var(--text);align-items:center;gap:7px;min-height:39px;font-size:.82rem;display:inline-flex}.dialog footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.occurrence-preview{margin-top:12px;font-size:.8rem}.occurrence-preview ol{columns:2;padding-left:24px}.error{color:var(--negative);overflow-wrap:anywhere;margin-top:10px}.auth-page{place-items:center;min-height:100dvh;padding:18px;display:grid}.auth-card{border-radius:22px;width:min(100%,440px);padding:25px}.auth-card .brand{margin:0 0 22px}.auth-card h1{font-size:2rem}.auth-card p{margin-top:8px}.auth-card form{gap:13px;margin-top:18px;display:grid}.update{border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;display:flex}.status-message{margin-top:12px}.skip{z-index:30;background:var(--surface);padding:8px;position:absolute;top:-90px;left:10px}.skip:focus{top:8px}.mobile-brand,.bottom-nav,.mobile-menu{display:none}@media (width<=1100px){:root{--sidebar:192px}.top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.shell{display:block}.sidebar,.top-crumb,.desktop-add{display:none}.mobile-brand{display:block}.mobile-brand .brand{margin:0}.mobile-brand .brand small{display:none}.mobile-brand .brand img{width:32px;height:32px}.mobile-brand .brand strong{font-size:.94rem}.topbar{min-height:60px;padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.main{padding:19px max(12px,env(safe-area-inset-right)) calc(90px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.heading{flex-wrap:wrap;margin-bottom:16px}.heading p{font-size:.82rem}.top-grid,.dash-grid{gap:9px}.dash-grid{grid-template-columns:minmax(0,1fr)}.panel{padding:13px}.metric,.balance-card{border-radius:15px;padding:12px}.metric strong,.balance-card strong{font-size:1.3rem}.hero-foot{justify-content:flex-start}.bottom-nav{z-index:11;bottom:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));place-items:center;display:grid;position:fixed;inset-inline:0;box-shadow:0 -5px 22px #1a3a701a}.bottom-nav a,.bottom-nav button:not(.mobile-add){color:var(--muted);background:0 0;border:0;align-content:center;justify-items:center;gap:3px;width:100%;min-height:44px;padding:2px;font-size:.64rem;display:grid}.bottom-nav a[aria-current]{color:var(--text);font-weight:700}.mobile-add{border:0;border-radius:14px;place-items:center;width:43px;height:43px;display:grid}.mobile-menu{bottom:calc(61px + env(safe-area-inset-bottom));z-index:10;background:var(--surface);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:70dvh;padding:9px;display:grid;position:fixed;inset-inline:8px;overflow:auto}.form-grid{grid-template-columns:1fr}.overlay{padding:8px}.dialog{max-height:88dvh;padding:13px}.dialog input,.dialog select,.dialog textarea{font-size:16px}.sync-badge{padding:5px 7px;font-size:.66rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
