@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&display=swap");:root{--bg:#0a0a14;--bg-strong:#141428;--bg-overlay:rgba(6,8,16,.78);--ink:#f3f4f6;--muted:#d1d5db;--accent:#7c3aed;--accent-deep:#6d28d9;--accent-soft:#ede9fe;--card:#15152b;--border:#2a2a40;--shadow:0 20px 45px rgba(124,58,237,.15);--light-bg:#f9fafb;--light-bg-alt:#f3f4f6;--light-text:#1f2937;--light-text-secondary:#374151;--light-text-tertiary:#9ca3af;--light-border:#e5e7eb;--light-input-focus:#667eea;--success:#10b981;--success-light:#34d399;--error:#ef4444;--error-light:#f87171;--warning:#f59e0b;--warning-light:#fbbf24;--info:#06b6d4;--success-bg:rgba(16,185,129,.05);--success-border:rgba(16,185,129,.1);--error-bg:rgba(239,68,68,.05);--error-border:rgba(239,68,68,.1);--warning-bg:#fff8f0;--warning-border:#ffd699;--info-bg:#f0f9ff;--info-border:#bae6fd;--input-dark-bg:hsla(0,0%,100%,.02);--input-dark-border:var(--border);--input-light-bg:#f9fafb;--input-light-border:#e5e7eb;--input-light-text:#1f2937;--input-placeholder:#9ca3af;--input-focus:#667eea;--input-error:#ef4444;--input-success:#10b981;--button-primary-bg:var(--accent);--button-primary-hover:var(--accent-deep);--button-outline-bg:#fff;--button-outline-text:var(--accent);--button-outline-border:var(--accent);--chart-1:#7c3aed;--chart-2:#06b6d4;--chart-3:#10b981;--chart-4:#f59e0b;--chart-5:#ec4899;--chart-6:#ef4444;--chart-7:#8b5cf6;--chart-8:#06b6d4;--chart-grid:#2a2a40;--chart-text:#d1d5db;--chart-tooltip-bg:#fff;--chart-tooltip-border:#e5dccf;--chart-axis-text:#6b645b}[data-theme=light]{--bg:#f7f7ff;--bg-strong:#fff;--bg-overlay:hsla(0,0%,100%,.92);--ink:var(--light-text);--muted:var(--light-text-secondary);--accent:#6d28d9;--accent-deep:#5b21b6;--accent-soft:#f5f0ff;--card:#fff;--border:var(--light-border);--shadow:0 16px 30px rgba(124,58,237,.12);--chart-grid:#e5e7eb;--chart-text:var(--light-text-secondary);--chart-axis-text:var(--light-text-tertiary);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e5e7eb;--input-dark-bg:var(--input-light-bg);--input-dark-border:var(--input-light-border);--input-placeholder:var(--light-text-tertiary)}*{box-sizing:border-box}html{text-size-adjust:100%}body{margin:0;font-family:Work Sans,Helvetica Neue,Helvetica,sans-serif;color:var(--ink);background:radial-gradient(circle at top,var(--bg-strong) 0,var(--bg) 45%,var(--bg) 100%);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}[data-theme=light] body{background:radial-gradient(circle at 20% 20%,#f3f5ff 0,#fff 45%,#f8fafc 100%)}a{color:inherit;text-decoration:none}.page{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(120deg,#20173d,#1a1333 50%,#121022);color:#e5e7eb;box-shadow:0 18px 40px rgba(124,58,237,.25);position:-webkit-sticky;position:sticky;top:0;z-index:10;min-height:56px}@media (min-width:640px){.topbar{padding:16px 20px}}@media (min-width:1024px){.topbar{padding:20px 32px;min-height:64px}}@media (min-width:1440px){.topbar{padding:24px 40px;min-height:72px}}[data-theme=light] .topbar{background:linear-gradient(120deg,#f3e8ff,#ede9fe 55%,#fff);color:var(--light-text);box-shadow:0 12px 28px rgba(124,58,237,.2);border-bottom:1px solid var(--light-border)}.topbar-inner{justify-content:space-between;width:100%}.topbar-actions,.topbar-inner{display:flex;align-items:center}.topbar-actions{gap:12px}.topbar-actions .theme-toggle{display:none}.mobile-menu-toggle{display:none;background:none;border:none;color:inherit;cursor:pointer;padding:8px;margin:-8px;transition:opacity .2s ease}.mobile-menu-toggle:hover{opacity:.8}.mobile-menu-backdrop{display:none}.brand{font-size:18px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}@media (min-width:640px){.brand{font-size:20px}}@media (min-width:1024px){.brand{font-size:24px}}@media (min-width:1440px){.brand{font-size:26px}}.nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}@media (min-width:1024px){.nav{gap:18px;flex-wrap:nowrap}}@media (min-width:1440px){.nav{gap:22px}}.nav-actions,.nav-content{display:contents}.nav-link{font-weight:500;opacity:.8;transition:opacity .2s ease}.nav-link:hover{opacity:1}.main{flex:1 1;width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 40px;animation:pageReveal .45s ease}@media (min-width:640px){.main{padding:32px 20px 56px}}@media (min-width:1024px){.main{max-width:1280px;padding:48px 32px 80px}}@media (min-width:1440px){.main{max-width:1400px;padding:56px 40px 96px}}.main>*{animation:cardReveal .5s ease}.footer{text-align:center;padding:24px 16px 40px;color:var(--muted);font-size:14px}.page-header{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:24px}.page-header h1{margin:0;font-size:24px;line-height:1.2}@media (min-width:640px){.page-header{flex-direction:row;align-items:center;justify-content:space-between}.page-header h1{font-size:28px}}@media (min-width:1024px){.page-header{margin-bottom:32px}.page-header h1{font-size:36px;font-weight:700}}@media (min-width:1440px){.page-header{margin-bottom:40px}.page-header h1{font-size:40px}}.subtle{color:var(--muted);font-size:15px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow)}@media (min-width:640px){.card{border-radius:16px;padding:20px}}@media (min-width:1024px){.card{border-radius:20px;padding:28px}}@media (min-width:1440px){.card{border-radius:24px;padding:32px}}.card-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;width:100%}.card-header h2{margin:0}@media (max-width:639px){.card-header{flex-direction:column;align-items:center;text-align:center;gap:16px}.card-header .button{width:100%}}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:1fr}@media (min-width:640px){.grid{gap:20px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (min-width:1024px){.grid{gap:24px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media (min-width:1440px){.grid{gap:28px}}.grid>*{min-width:0}.fixed-costs-grid{align-items:start}.fixed-costs-form{align-self:start;align-content:start;height:-moz-fit-content;height:fit-content}.fixed-costs-form .inline-actions{justify-content:flex-start}.fixed-costs-button{padding:12px 22px;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:14px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}@media (min-width:1024px){.button{padding:12px 20px;font-size:15px;gap:10px}}@media (min-width:1440px){.button{padding:14px 24px;font-size:16px}}.button.primary{background:linear-gradient(120deg,var(--accent) 0,var(--chart-7) 100%);color:#fff;box-shadow:0 10px 20px rgba(124,58,237,.3)}.button.primary:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(124,58,237,.4)}.button.ghost{background:transparent;border-color:var(--border);color:var(--ink)}.button.ghost:hover{background:rgba(124,58,237,.1);border-color:var(--accent)}[data-theme=light] .button.ghost{background:hsla(0,0%,100%,.9);border-color:var(--light-border);color:var(--light-text)}[data-theme=light] .button.ghost:hover{background:#eef2ff;border-color:#c4b5fd;color:var(--light-text)}.button.ghost.auth-button--signout{color:#e5e7eb;border-color:rgba(124,58,237,.6)}.button.ghost.auth-button--signout:hover{background:rgba(124,58,237,.15);border-color:var(--accent)}[data-theme=light] .button.ghost.auth-button--signout{color:var(--accent);border-color:var(--accent);background:#fff}[data-theme=light] .button.ghost.auth-button--signout:hover{background:#f3e8ff;border-color:var(--accent-deep)}.button--icon{padding:8px;min-width:auto}.button--icon svg{margin:0}.auth-button-loading{color:#fff}.theme-toggle{padding:6px 8px;gap:10px;background:transparent;border:none;box-shadow:none;color:inherit}.theme-toggle-track{position:relative;width:46px;height:24px;border-radius:999px;border:1px solid rgba(124,58,237,.35);background:rgba(124,58,237,.15);padding:3px;display:inline-flex;align-items:center}.theme-toggle-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0,var(--chart-7) 100%);box-shadow:0 4px 10px rgba(124,58,237,.35);transform:translateX(0);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.theme-toggle-thumb--light{transform:translateX(20px);background:linear-gradient(135deg,#fff,#e0e7ff);box-shadow:0 4px 10px rgba(0,0,0,.12)}.theme-toggle-label{font-weight:700;font-size:13px}[data-theme=light] .theme-toggle-track{background:#eef2ff;border-color:#d1d5db}[data-theme=light] .theme-toggle-thumb{background:linear-gradient(135deg,#7c3aed,#a78bfa);box-shadow:0 4px 10px rgba(124,58,237,.28)}[data-theme=light] .theme-toggle-thumb--light{background:linear-gradient(135deg,#fff,#e0e7ff);box-shadow:0 4px 10px rgba(0,0,0,.12)}.summary-expand-icon{transition:transform .2s ease;margin-left:12px}.summary-expand-icon--expanded{transform:rotate(180deg)}.summary-expense-list{max-height:0;overflow:hidden;transition:max-height .5s ease-in-out,opacity .5s ease-in-out;opacity:0}.summary-expense-list--expanded{max-height:2000px;opacity:1}.summary-expense-list-inner{margin-top:12px}.summary-expense-list-inner .expense-row{background:#1a1a2e;border-color:#2a2a45}[data-theme=light] .summary-expense-list-inner .expense-row{background:#fff;border-color:#e5e7eb}.margin-right-8{margin-right:8px}.sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.badge{padding:4px 12px;border-radius:12px;font-size:12px;background:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.2);width:auto}.section-card{margin-top:24px}.loading-center{display:flex;justify-content:center;padding:40px}.loading-state{display:flex;align-items:center;gap:12px;padding:20px}.loading-state-centered{display:flex;align-items:center;justify-content:center;padding:60px 20px}.button-loading-content,.button-loading-content-centered{display:flex;align-items:center;gap:8px}.button-loading-content-centered{justify-content:center}.error-margin{margin-bottom:24px}.form-error{margin-top:16px}.form-actions{margin-top:24px}.form-grid-two{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;margin-top:16px}@media (min-width:640px){.form-grid-two{grid-template-columns:1fr 1fr}}.form-section{margin-top:16px}.card-form{margin-bottom:24px}.card-centered{padding:40px;text-align:center}.card-compact{padding:16px}.success-message{background:rgba(16,185,129,.2);color:#86efac;padding:12px 16px;border-radius:8px;margin-bottom:24px;border:1px solid rgba(16,185,129,.3)}.info-card{margin-bottom:24px;background:var(--card);border-color:var(--border)}.info-card-title{margin-top:0;color:var(--ink)}.info-card-list{margin:0;padding-left:20px;color:var(--muted)}.recurring-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media (min-width:640px){.recurring-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}}@media (min-width:1024px){.recurring-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}}@media (min-width:1440px){.recurring-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}}.flex-center-col{display:flex;flex-direction:column;gap:12px}.no-margin{margin:0}.margin-top-16{margin-top:16px}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 14px;border-radius:999px;background:rgba(124,58,237,.15);color:var(--accent);font-weight:600;font-size:13px;border:1px solid rgba(124,58,237,.25);width:auto!important;min-width:0;max-width:100%;white-space:nowrap;box-shadow:none;margin-left:8px}form{display:grid;grid-gap:16px;gap:16px}label{font-weight:600;font-size:15px;color:var(--ink)}input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--input-dark-bg);color:var(--ink);font-family:inherit;font-size:16px;min-height:48px}@media (min-width:640px){label{font-size:14px}input,select,textarea{padding:10px 12px;font-size:14px;min-height:44px}}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:hsla(0,0%,100%,.05);box-shadow:0 0 0 3px rgba(124,58,237,.1)}textarea{min-height:90px;resize:vertical}.helper{font-size:13px;color:var(--muted)}.error{color:#fca5a5;background:rgba(220,38,38,.15);border:1px solid rgba(220,38,38,.3);padding:10px 12px;border-radius:12px;font-size:14px}.expense-date-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.expense-date-header>div{text-align:left}.expense-date-header h2{margin:0 0 4px}.expense-list{display:grid;grid-gap:12px;gap:12px;overflow:hidden}.scroll-list{max-height:360px;overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-gutter:stable}.expense-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#252538;overflow:hidden}@media (min-width:640px){.expense-row{grid-template-columns:minmax(0,2fr) auto auto;align-items:center;padding:14px 16px;border-radius:16px;gap:12px}}@media (min-width:1024px){.expense-row{padding:16px 20px;border-radius:18px;gap:16px}}@media (min-width:1440px){.expense-row{padding:18px 24px;border-radius:20px;gap:20px}}[data-theme=light] .expense-row{background:#f8f9ff;border-color:var(--light-border)}.summary-row{width:100%;text-align:left;cursor:pointer;transition:background-color .2s ease,transform .1s ease;background:linear-gradient(135deg,#2a2a3e,#32324a);border:1px solid rgba(124,58,237,.2)}.summary-row:hover{background:linear-gradient(135deg,rgba(124,58,237,.2),rgba(139,92,246,.15));border-color:rgba(124,58,237,.4);transform:translateY(-1px)}[data-theme=light] .summary-row{background:linear-gradient(135deg,#f7faff,#eef2ff);border:1px solid rgba(124,58,237,.25)}[data-theme=light] .summary-row:hover{background:linear-gradient(135deg,rgba(124,58,237,.1),rgba(139,92,246,.08));border-color:rgba(124,58,237,.35)}.summary-row:active{transform:translateY(0)}.expense-row h3{margin:0 0 4px;font-size:16px}.expense-row h3,.expense-row p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-row p{margin:0;color:var(--muted);font-size:13px}.expense-amount{font-weight:700;font-size:16px;text-align:right;line-height:1}.expense-amount,.inline-actions{align-self:center;display:flex;align-items:center;justify-content:flex-end}.inline-actions{gap:8px;line-height:0}.filter-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr}@media (min-width:640px){.filter-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (min-width:1024px){.filter-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}}@media (min-width:1440px){.filter-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}}@media (max-width:1023px){.topbar{flex-wrap:wrap;gap:0}.topbar-inner{width:100%}.mobile-menu-toggle{display:block}.topbar-actions .theme-toggle{display:flex}.nav-actions .theme-toggle{display:none}.nav{position:fixed;top:0;right:-100%;width:280px;height:100vh;height:100dvh;background:var(--bg-strong);border-left:1px solid var(--border);padding:80px 20px 20px;flex-direction:column;align-items:stretch;gap:20px;transition:right .3s ease;z-index:100;overflow-y:auto;box-shadow:-4px 0 20px rgba(0,0,0,.3);-webkit-overflow-scrolling:touch}[data-theme=light] .nav{background:var(--light-bg);border-left:1px solid var(--light-border);box-shadow:-4px 0 20px rgba(0,0,0,.1)}.nav--open{right:0}.nav-content{gap:20px}.nav-actions,.nav-content{display:flex;flex-direction:column;width:100%}.nav-actions{gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.nav-actions .auth-button{width:100%;justify-content:flex-start;padding:14px 16px;border-radius:8px;font-weight:500;opacity:.8}.nav-actions .auth-button:hover{background:rgba(124,58,237,.1);opacity:1}[data-theme=light] .nav-actions .auth-button:hover{background:#f3f4f6}.mobile-menu-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:50;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav-link{font-size:16px;padding:14px 16px;border-radius:8px;transition:background .2s ease}.nav-link:hover{background:rgba(124,58,237,.1)}[data-theme=light] .nav-link:hover{background:#f3f4f6}.expense-row>div:first-child{display:flex;flex-direction:column;gap:4px}.expense-meta-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.expense-note{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}.expense-amount{font-size:16px;font-weight:700;color:var(--ink);text-align:right;justify-content:flex-end;align-self:center}.inline-actions{display:flex;flex-direction:row;justify-content:center;align-items:center;width:auto;gap:8px}.inline-actions .button--icon{flex:0 0 auto;min-width:44px;width:44px;height:44px;padding:10px}.inline-actions .button--icon svg{width:20px;height:20px}.button{min-height:44px;padding:12px 16px}.section-card{margin-top:20px}h2{font-size:20px}h3{font-size:17px}.scroll-list{max-height:280px}.expense-list{gap:10px}.expense-date-header{flex-direction:column;gap:8px}}@media (max-width:480px){.expense-row h3{font-size:15px}.expense-amount{font-size:16px}.nav{width:100%;padding:70px 16px 20px}}@keyframes pageReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.main,.main>*{animation:none}}.overview-cards{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;margin-bottom:20px}@media (min-width:480px){.overview-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.overview-cards{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}}@media (min-width:1024px){.overview-cards{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}}@media (min-width:1440px){.overview-cards{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:40px}}.overview-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}@media (min-width:640px){.overview-card{border-radius:18px;padding:20px;gap:8px}}@media (min-width:1024px){.overview-card{border-radius:20px;padding:24px;gap:10px}}@media (min-width:1440px){.overview-card{border-radius:24px;padding:28px;gap:12px}}.overview-card-label{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}@media (min-width:640px){.overview-card-label{font-size:13px}}.overview-card-value{font-size:24px;font-weight:700;color:var(--ink);line-height:1}@media (min-width:640px){.overview-card-value{font-size:28px}}@media (min-width:1024px){.overview-card-value{font-size:36px}}@media (min-width:1440px){.overview-card-value{font-size:40px}}.overview-card-value.accent{background:linear-gradient(135deg,var(--accent) 0,#8b5cf6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.charts-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;margin-bottom:20px}@media (min-width:768px){.charts-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}}@media (min-width:1024px){.charts-grid{grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:32px}}@media (min-width:1440px){.charts-grid{gap:28px;margin-bottom:40px}}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow)}@media (min-width:640px){.chart-card{border-radius:18px;padding:20px}}@media (min-width:1024px){.chart-card{border-radius:20px;padding:28px}}@media (min-width:1440px){.chart-card{border-radius:24px;padding:32px}}.chart-card-header{margin-bottom:12px}@media (min-width:640px){.chart-card-header{margin-bottom:16px}}@media (min-width:1024px){.chart-card-header{margin-bottom:20px}}.chart-card-title{margin:0;font-size:16px;font-weight:600;color:var(--ink)}@media (min-width:640px){.chart-card-title{font-size:18px}}@media (min-width:1024px){.chart-card-title{font-size:20px;font-weight:700}}@media (min-width:1440px){.chart-card-title{font-size:22px}}.chart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:var(--muted)}.chart-empty-state h3{margin:16px 0 8px;color:var(--ink);font-size:18px}.chart-empty-state p{margin:0 0 20px;font-size:14px}.budget-progress-container{margin-bottom:24px}.budget-progress-bar{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.budget-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:600}.budget-progress-track{width:100%;height:24px;background:#2a2a3e;border-radius:999px;overflow:hidden;position:relative}[data-theme=light] .budget-progress-track{background:#eef2ff}.budget-progress-fill{height:100%;border-radius:999px;transition:width .6s ease,background-color .3s ease}.budget-progress-fill.green{background:linear-gradient(90deg,#10b981,#34d399)}.budget-progress-fill.orange{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.budget-progress-fill.red{background:linear-gradient(90deg,#ef4444,#f87171)}@media (min-width:769px) and (max-width:1023px){.overview-cards{grid-template-columns:repeat(3,1fr)}.charts-grid{grid-template-columns:1fr}.main{padding:32px 20px 56px}}@media (max-width:1023px){.overview-cards{grid-template-columns:1fr;gap:12px}.charts-grid{grid-template-columns:1fr;gap:16px}.overview-card{padding:16px}.overview-card-value{font-size:28px}.overview-card-label{font-size:12px}.chart-card{padding:16px}.chart-card-title{font-size:16px}.expense-list{gap:10px}.expense-date-header{flex-direction:column;gap:8px}.budget-progress-bar{padding:16px}.budget-progress-header{flex-direction:column;align-items:flex-start;gap:4px;font-size:13px}.budget-progress-track{height:20px}}@media (max-width:480px){.overview-card-value{font-size:24px}.chart-card{padding:12px}.chart-empty-state{padding:40px 16px}.chart-empty-state h3{font-size:16px}.chart-empty-state p{font-size:13px}}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skip-to-main:focus{position:fixed!important;left:16px!important;top:16px!important;z-index:9999}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--size-xs:24px;--size-sm:32px;--size-md:40px;--size-lg:48px;--size-xl:56px;--size-2xl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:18px;--radius-full:9999px;--shadow-none:none;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px rgba(0,0,0,.07);--shadow-lg:0 10px 15px rgba(0,0,0,.1);--shadow-xl:0 20px 25px rgba(0,0,0,.15);--shadow-2xl:0 25px 50px rgba(0,0,0,.25);--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-overlay:1030;--z-modal:1040;--z-popover:1050;--z-tooltip:1060;--transition-fast:0.15s;--transition-base:0.2s;--transition-slow:0.3s;--transition-slower:0.5s;--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-linear:linear;--focus-outline-width:3px;--focus-outline-offset:2px;--focus-outline-style:solid;--color-surface-primary:var(--bg);--color-surface-secondary:var(--bg-strong);--color-surface-tertiary:var(--card);--color-surface-overlay:var(--bg-overlay);--color-text-primary:var(--ink);--color-text-secondary:var(--muted);--color-text-inverse:#fff;--color-interactive-primary:var(--accent);--color-interactive-primary-hover:var(--accent-deep);--color-interactive-secondary:rgba(124,58,237,.1);--color-success:var(--success);--color-success-light:var(--success-light);--color-success-bg:var(--success-bg);--color-success-border:var(--success-border);--color-error:var(--error);--color-error-light:var(--error-light);--color-error-bg:var(--error-bg);--color-error-border:var(--error-border);--color-warning:var(--warning);--color-warning-light:var(--warning-light);--color-warning-bg:var(--warning-bg);--color-warning-border:var(--warning-border);--color-info:var(--info);--color-info-bg:var(--info-bg);--color-info-border:var(--info-border);--color-border:var(--border);--color-border-light:rgba(124,58,237,.2);--color-border-lighter:rgba(124,58,237,.1)}[data-theme=light]{--color-surface-primary:var(--bg);--color-surface-secondary:var(--bg-strong);--color-surface-tertiary:var(--card);--color-surface-overlay:var(--bg-overlay);--color-text-primary:var(--ink);--color-text-secondary:var(--muted);--color-text-inverse:#000;--color-interactive-primary:var(--accent);--color-interactive-primary-hover:var(--accent-deep);--color-interactive-secondary:rgba(109,40,217,.08);--color-border:var(--border);--color-border-light:rgba(109,40,217,.25);--color-border-lighter:rgba(109,40,217,.1)}:root{--button-height-sm:var(--size-sm);--button-height-md:var(--size-md);--button-height-lg:var(--size-lg);--button-padding-x-sm:var(--space-3);--button-padding-x-md:var(--space-4);--button-padding-x-lg:var(--space-6);--button-font-size-sm:var(--text-sm);--button-font-size-md:var(--text-base);--button-font-size-lg:var(--text-lg);--button-border-radius:var(--radius-full);--button-transition:transform var(--transition-base) var(--ease-in-out),box-shadow var(--transition-base) var(--ease-in-out),background-color var(--transition-base) var(--ease-in-out);--button-focus-shadow:0 0 0 3px rgba(124,58,237,.2);--input-height-sm:var(--size-sm);--input-height-md:var(--size-md);--input-height-lg:var(--size-lg);--input-padding-x:var(--space-3);--input-padding-y:var(--space-2);--input-border-radius:var(--radius-md);--input-font-size:var(--text-base);--input-focus-shadow:0 0 0 3px rgba(124,58,237,.1);--input-transition:border-color var(--transition-base) var(--ease-in-out),box-shadow var(--transition-base) var(--ease-in-out),background-color var(--transition-base) var(--ease-in-out);--card-border-radius:var(--radius-2xl);--card-padding-sm:var(--space-3);--card-padding-md:var(--space-4);--card-padding-lg:var(--space-6);--card-gap:var(--space-4);--card-shadow:var(--shadow-md);--card-transition:transform var(--transition-base) var(--ease-in-out),box-shadow var(--transition-base) var(--ease-in-out),background-color var(--transition-base) var(--ease-in-out);--modal-width-sm:420px;--modal-width-md:520px;--modal-width-lg:720px;--modal-border-radius:var(--radius-2xl);--modal-padding:var(--space-6);--modal-shadow:0 25px 50px rgba(0,0,0,.5);--modal-overlay-background:var(--bg-overlay);--modal-z-index:var(--z-modal);--badge-height-sm:24px;--badge-height-md:28px;--badge-height-lg:32px;--badge-padding-x:var(--space-3);--badge-border-radius:var(--radius-full);--badge-font-size:var(--text-xs);--badge-font-weight:var(--font-semibold);--divider-width:1px;--divider-color:var(--color-border);--divider-margin:var(--space-4);--tooltip-max-width:200px;--tooltip-padding:var(--space-2) var(--space-3);--tooltip-border-radius:var(--radius-md);--tooltip-font-size:var(--text-xs);--tooltip-background:rgba(0,0,0,.9);--tooltip-color:#fff;--tooltip-z-index:var(--z-tooltip);--container-max-width-sm:540px;--container-max-width-md:720px;--container-max-width-lg:960px;--container-max-width-xl:1140px;--container-max-width-full:100%;--container-padding:var(--space-4)}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-base:0s;--transition-slow:0s;--transition-slower:0s}}:root{--breakpoint-xs:0px;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-2xl:1400px;--aspect-square:1/1;--aspect-video:16/9;--aspect-golden:1.618/1;--content-max-width:1100px;--sidebar-width:280px}