:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f8;--surface:#fff;--surface-alt:#f8fafc;--surface-subtle:#f5f7f9;--surface-muted:#eef2f5;--surface-raised:#fbfdff;--surface-accent-soft:#e7eef6;--text:#17212b;--muted:#667085;--line:#d9e0e7;--line-soft:#e8edf2;--income:#0c7a43;--income-soft:#e5f5ed;--expense:#b42318;--expense-soft:#fde7e4;--accent:#155eef;--accent-dark:#1048b8;--accent-soft:#eef4ff;--accent-soft-strong:#e0edff;--shadow:0 16px 40px #0f172a14}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1419;--surface:#171d24;--surface-alt:#1d2530;--surface-subtle:#202a35;--surface-muted:#26313d;--surface-raised:#1a222b;--surface-accent-soft:#1d2d46;--text:#edf2f7;--muted:#9aa7b5;--line:#344252;--line-soft:#2a3643;--income:#4ade80;--income-soft:#173825;--expense:#fb7185;--expense-soft:#3d1f27;--accent:#6ea8ff;--accent-dark:#4d8ee8;--accent-soft:#1b2c47;--accent-soft-strong:#203a60;--shadow:0 16px 40px #00000047}*{box-sizing:border-box}body{background:var(--bg);min-width:0;color:var(--text);margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}body.is-transaction-modal-open,body.is-category-modal-open,body.is-account-modal-open,body.is-budget-planner-modal-open,body.is-onboarding-modal-open{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app{width:min(1240px,100% - 32px);margin:0 auto;padding:32px 0}.toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.toolbar-actions{grid-template-columns:auto auto;place-items:start end;gap:8px 12px;padding-top:26px;display:grid}.toolbar-brand{justify-items:start;min-width:0;display:grid}.menu-toggle{border:1px solid var(--line);min-height:44px;color:var(--text);background:var(--surface);border-radius:6px;align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:none}.menu-toggle-icon,.menu-toggle-icon:before,.menu-toggle-icon:after{background:currentColor;border-radius:999px;width:18px;height:2px;display:block}.menu-toggle-icon{position:relative}.menu-toggle-icon:before,.menu-toggle-icon:after{content:"";position:absolute;left:0}.menu-toggle-icon:before{top:-6px}.menu-toggle-icon:after{top:6px}.page-nav{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:44px;display:inline-flex;overflow:hidden}.nav-button{color:var(--muted);background:0 0;border:0;padding:10px 14px;font-weight:700}.nav-button.is-active{color:#fff;background:var(--accent)}.app-footer{border-top:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:24px;padding:18px 0 0;font-size:13px;font-weight:700;display:flex}.app-footer a,.legal-back-link{color:var(--muted);text-decoration:none}.app-footer a:hover,.app-footer a:focus,.legal-back-link:hover,.legal-back-link:focus{color:var(--accent);text-decoration:underline}.legal-page{width:min(920px,100% - 32px);margin:0 auto;padding:32px 0 48px}.legal-page article{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:28px;display:grid}.legal-page article>*{overflow-wrap:anywhere;min-width:0}.legal-page h1,.legal-page h2,.legal-page h3{margin:10px 0 2px;line-height:1.2}.legal-page h1{margin-top:0;font-size:32px}.legal-page h2{font-size:22px}.legal-page h3{font-size:18px}.legal-page p,.legal-page ul,.legal-page ol{margin:0;line-height:1.65}.legal-page ul,.legal-page ol{padding-left:22px}.legal-page li+li{margin-top:6px}.legal-page strong{color:var(--text)}.legal-page code{background:var(--surface-muted);color:var(--text);border-radius:4px;padding:2px 4px;font-size:.95em}.legal-back-link{margin-bottom:16px;font-size:14px;font-weight:800;display:inline-flex}@media (width<=640px){.legal-page{width:min(100% - 20px,920px);padding:20px 0 32px}.legal-page article{padding:18px}.legal-page h1{font-size:26px}}.currency-control{min-width:132px}.supabase-panel{justify-items:start;gap:6px;width:min(100%,488px);margin-top:12px;display:grid}.supabase-form{grid-template-columns:minmax(140px,1fr) minmax(120px,1fr);align-items:start;gap:8px;width:100%;min-width:0;display:grid}.supabase-form input{min-height:44px}#supabase-password{grid-area:2/1}.supabase-password-change{grid-column:1;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;display:grid}.supabase-user-email{color:var(--text);overflow-wrap:anywhere;align-self:center;font-size:14px}.supabase-form.is-signed-in{grid-template-columns:minmax(140px,1fr)}.supabase-form.is-signed-in #supabase-email,.supabase-form.is-signed-in #supabase-password,.supabase-form.is-signed-in #supabase-sign-in,.supabase-form.is-signed-in #supabase-sign-up,.supabase-form.is-signed-in #supabase-reset-password,.supabase-form.is-password-recovery #supabase-current-password{display:none}.supabase-actions{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.supabase-password-change .supabase-actions{grid-column:1}#supabase-reset-password{grid-column:1/-1;width:100%}.supabase-status{max-width:100%;min-height:18px;color:var(--muted);overflow-wrap:anywhere;text-align:left;margin:0;font-size:13px}.supabase-sync-feedback{gap:5px;width:100%;min-width:0;display:grid}.subscription-status{min-width:0;max-width:100%;color:var(--muted);flex-wrap:wrap;gap:6px;margin:0;font-size:12px;display:flex}.subscription-status div{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:5px;min-height:24px;padding:3px 8px;display:flex}.subscription-status dt,.subscription-status dd{overflow-wrap:anywhere;margin:0}.subscription-status dt{color:var(--text);font-weight:700}.subscription-status dd[data-state=active]{color:var(--income)}.subscription-status dd[data-state=inactive]{color:var(--muted)}.subscription-status dd[data-state=expired],.subscription-status dd[data-state=error]{color:var(--expense)}.supabase-progress{width:min(100%,360px);height:6px;color:var(--accent);background:var(--line);border:0;border-radius:999px;overflow:hidden}.supabase-progress::-webkit-progress-bar{background:var(--line);border-radius:999px}.supabase-progress::-webkit-progress-value{background:var(--accent);border-radius:999px}.supabase-progress::-moz-progress-bar{background:var(--accent);border-radius:999px}.export-actions{justify-items:start;gap:8px;display:grid}.csv-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.settings-controls{grid-template-columns:minmax(132px,180px) minmax(160px,220px) minmax(0,1fr);align-items:end;gap:18px;display:grid}.theme-control{min-height:44px;color:var(--text);grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:12px;font-weight:700;display:grid;position:relative}.theme-control input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.theme-switch{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;width:54px;height:30px;transition:background .2s,border-color .2s;position:relative}.theme-switch:after{content:"";background:var(--surface);border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 8px #0f172a33}.theme-control input:checked+.theme-switch{border-color:var(--accent);background:var(--accent)}.theme-control input:checked+.theme-switch:after{transform:translate(24px)}.theme-control input:focus-visible+.theme-switch{outline:2px solid var(--accent);outline-offset:3px}.settings-danger-actions{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;gap:8px;padding-top:18px;display:flex}.export-status{min-height:20px;color:var(--muted);text-align:right;margin:0;font-size:13px}.export-status a{color:var(--accent);font-weight:700}.csv-panel,.diagnostics-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;margin-bottom:18px;padding:18px}.csv-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}#csv-output,#diagnostics-output{resize:vertical;border:1px solid var(--line);width:100%;min-height:160px;color:var(--text);background:var(--surface-alt);border-radius:6px;padding:12px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.5}#diagnostics-output{min-height:260px}.eyebrow{color:var(--muted);margin:0 0 6px;font-size:14px}h1,h2{margin:0}h1{font-size:clamp(30px,5vw,48px);line-height:1}@media (width>=1041px) and (width<=1280px){#page-title{width:min-content;line-height:.95}}h2,#form-title,#table-title{font-size:20px}.period-filter{grid-template-columns:auto 44px minmax(0,1fr) 44px auto;align-items:center;gap:10px;margin-bottom:18px;display:grid}.period-mode{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:44px;display:inline-flex;overflow:hidden}.period-mode-button{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:10px 14px;font-weight:700}.period-mode-button.is-active{color:#fff;background:var(--accent)}.period-mode-button.is-locked{color:var(--muted);opacity:.72}.period-arrow{width:44px;padding:10px;font-size:24px;line-height:1}.period-current{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);text-align:center;box-shadow:var(--shadow);border-radius:6px;align-items:center;padding:10px 14px;font-size:18px;font-weight:700;display:grid}.period-range{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.period-range label{min-width:0;color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.period-range input{width:100%;min-width:0}.period-filter.is-range .period-current{grid-column:2/-1}.success-score-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:18px;margin-bottom:18px;padding:22px;display:grid}.home-counters-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;padding:14px;display:grid}.home-counter-card{min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;justify-items:center;gap:8px;padding:10px 8px;display:grid}.home-counter-card:hover,.home-counter-card:focus-visible,.home-counter-card.is-active{border-color:var(--line);background:var(--surface-alt)}.home-counter-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-counter-card>span{color:var(--muted);overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.25}.home-counter-ring{--home-counter-progress:0deg;--home-counter-gradient-start:#7da7ff;--home-counter-gradient-end:var(--accent-dark);aspect-ratio:1;background:conic-gradient(var(--home-counter-gradient-start) 0deg, var(--home-counter-gradient-end) var(--home-counter-progress), #dce6f0 var(--home-counter-progress));border-radius:50%;place-items:center;width:92px;display:grid}.home-counter-ring.is-daily{--home-counter-gradient-start:#7ddfb0;--home-counter-gradient-end:var(--income)}.home-counter-ring.is-budget{--home-counter-gradient-start:#fbbf24;--home-counter-gradient-end:#b45309}.home-counter-ring-inner{aspect-ratio:1;background:var(--surface);width:68px;box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;place-items:center;display:grid}.home-counter-ring-inner strong{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:22px;line-height:1}.home-counter-ring.is-daily .home-counter-ring-inner strong{color:var(--income)}.home-counter-ring.is-budget .home-counter-ring-inner strong{color:#b45309}.home-counter-ring-inner span{color:var(--muted);font-size:10px;font-weight:700}.daily-score-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:18px;margin-bottom:18px;padding:18px 22px;display:grid}.home-budget-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:14px;margin-bottom:18px;padding:20px 22px;display:grid}.home-budget-content{gap:14px;min-width:0;display:grid}.home-budget-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.home-budget-stats div{border:1px solid var(--line);background:var(--surface-alt);border-radius:6px;min-width:0;padding:10px 12px}.home-budget-stats dt{color:var(--muted);font-size:12px}.home-budget-stats dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.home-budget-stats dd.is-negative{color:var(--expense)}.home-budget-plan{--home-budget-plan-position:50%;--home-budget-plan-label-position:50%;--home-budget-plan-label-half:165px;--home-budget-plan-connector-height:26px;--home-budget-plan-connector-position:50%;border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;gap:8px;min-width:0;padding:14px 12px 11px;display:grid}.home-budget-plan-label{isolation:isolate;left:var(--home-budget-plan-label-position);width:max-content;max-width:min(100%, calc(var(--home-budget-plan-label-half) * 2));color:#fff;text-align:center;overflow-wrap:anywhere;text-shadow:0 1px 2px #14532d2e;background:radial-gradient(circle at 92% 32%,#ffffff57,#0000 24%),radial-gradient(circle at 18% 8%,#2aedb29e,#0000 33%),linear-gradient(135deg,#16cf73 0%,#12aa43 55%,#8ae3aa 100%);border:1px solid #ffffff6b;border-radius:20px;justify-self:start;min-height:58px;margin-bottom:4px;padding:17px 18px;font-size:15px;font-weight:800;line-height:1.3;position:relative;transform:translate(-50%);box-shadow:0 18px 32px #15803d2e,inset 0 1px #ffffff61}.home-budget-plan-label:after{content:"";left:var(--home-budget-plan-connector-position);width:2px;height:calc(var(--home-budget-plan-connector-height) + 20px);z-index:2;background:#111827;border-radius:999px;position:absolute;top:100%;transform:translate(-50%);box-shadow:0 0 0 1px #ffffff5c}.home-budget-plan-label.is-over-budget{text-shadow:0 1px 2px #7f1d1d33;background:radial-gradient(circle at 92% 32%,#ffffff4d,#0000 24%),radial-gradient(circle at 18% 8%,#ff959594,#0000 33%),linear-gradient(135deg,#ff6b6b 0%,#dc2626 55%,#fda4af 100%);box-shadow:0 18px 32px #b91c1c2e,inset 0 1px #ffffff57}.home-budget-plan-label.is-empty{text-shadow:0 1px 2px #1e293b2e;background:radial-gradient(circle at 92% 32%,#ffffff57,#0000 24%),linear-gradient(135deg,#94a3b8 0%,#64748b 100%);box-shadow:0 18px 32px #47556929,inset 0 1px #ffffff57}.home-budget-plan-scale{width:96%;color:var(--muted);font-variant-numeric:tabular-nums;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:center;align-items:center;font-size:12px;font-weight:800;display:grid}.home-budget-plan-scale span:nth-child(2){text-align:center}.home-budget-plan-scale span:last-child{text-align:right}.home-budget-plan-track{width:96%;height:16px;margin:var(--home-budget-plan-connector-height) 6px 0;background:linear-gradient(90deg,#ef4444 0%,#facc15 50%,#22c55e 100%);border-radius:999px;justify-self:center;position:relative;box-shadow:inset 0 0 0 1px #0f172a14,0 8px 18px #0f172a1a}.home-budget-plan-center,.home-budget-plan-marker{position:absolute;top:50%;transform:translate(-50%,-50%)}.home-budget-plan-center{background:#0f172ac7;border-radius:999px;width:3px;height:30px;left:50%}.home-budget-plan-marker{left:var(--home-budget-plan-position);aspect-ratio:1;background:#111827;border:3px solid #111827;border-radius:50%;width:18px;box-shadow:0 0 0 3px #ffffffc7}.home-budget-plan.is-empty .home-budget-plan-track{filter:saturate(.55);opacity:.72}.home-budget-plan.is-empty .home-budget-plan-marker{background:#64748b;border-color:#64748b}.home-budget-plan.is-empty .home-budget-plan-label:after{background:#64748b}.home-goals-panel{gap:14px;margin-bottom:18px;display:grid}.home-goals-header h2{margin:0}.home-goals-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.home-goal-card{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;grid-template-columns:64px minmax(0,1fr);gap:12px;min-width:0;padding:14px;display:grid}.home-goal-body{gap:12px;min-width:0;display:grid}.home-goal-header h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:17px;line-height:1.2}.home-goal-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.home-goals-empty{border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);border-radius:8px;margin:0;padding:14px}.home-operations-panel{gap:14px;margin-bottom:18px;display:grid}.home-operations-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-operations-header h2{margin:0}.home-operations-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ai-transaction-form{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:12px;display:grid}.ai-transaction-form.is-disabled{opacity:.78}.ai-transaction-field{min-width:0;color:var(--muted);gap:6px;font-weight:700;display:grid}.ai-transaction-field input{width:100%;min-width:0}.secondary-button.ai-transaction-submit-button{color:#fff;background:#0c7a43;border-color:#0c7a43}.secondary-button.ai-transaction-submit-button:hover{background:#086938;border-color:#086938}.ai-transaction-status{min-height:18px;color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;margin:0;font-size:13px;line-height:1.35}.ai-transaction-status[data-tone=success]{color:var(--income)}.ai-transaction-status[data-tone=warning]{color:#a16207}.ai-transaction-status[data-tone=error]{color:var(--expense)}.ai-transaction-disclaimer{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;margin:0;font-size:12px;line-height:1.45}.ai-transaction-debug{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.ai-transaction-debug label{min-width:0;color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.ai-transaction-debug textarea{resize:vertical;width:100%;min-width:0;min-height:132px;color:var(--text);white-space:pre;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45}.home-operations-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow-x:auto}.home-operations-table{min-width:1020px}.home-operations-table th,.home-operations-table td{padding:12px 14px}.home-operations-empty{border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);border-radius:8px;margin:0;padding:14px}.daily-score-copy{min-width:0}.daily-score-list{gap:10px;display:grid}.daily-score-item{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;gap:7px;min-width:0;padding:6px;display:grid}.daily-score-item-main{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:stretch;gap:8px;min-width:0;display:grid}.daily-score-task{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:grid}.daily-score-dot{border:2px solid var(--line);box-sizing:border-box;background:0 0;border-radius:999px;width:10px;height:10px}.daily-score-dot.is-complete{border-color:var(--income);background:var(--income)}.daily-score-dot.is-partial{background:#f59e0b;border-color:#f59e0b}.daily-score-dot.is-empty{border-color:var(--line);background:0 0}.daily-score-item-title{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:700;line-height:1.25}.daily-score-points{color:var(--income);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.daily-score-counter{border:1px solid var(--line);background:var(--surface);text-align:right;border-radius:6px;align-content:center;justify-self:stretch;width:100%;min-width:0;margin:0;padding:8px 10px;display:grid}.daily-score-counter div{min-width:0}.daily-score-counter dt{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.25}.daily-score-counter dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:2px 0 0;font-size:13px;font-weight:700;line-height:1.25}.daily-score-counter-streak dd{color:var(--income)}.daily-budget-stats,.daily-goals-stats,.daily-unplanned-stats{margin:0}.daily-score-actions{border:1px solid var(--line);background:var(--surface);border-radius:6px;flex-wrap:nowrap;justify-content:stretch;justify-self:stretch;align-items:center;gap:8px;width:100%;min-width:0;padding:6px;display:flex}.daily-score-actions .secondary-button{white-space:normal;overflow-wrap:anywhere;flex:1 1 0;min-width:0;min-height:32px;padding:7px 8px;font-size:11px;line-height:1.2}.daily-score-actions .secondary-button.is-complete{border-color:var(--income);background:var(--income-soft);color:var(--income)}.daily-score-status{min-height:18px;color:var(--muted);margin:0;font-size:13px;line-height:1.4}.daily-unplanned-breakdown{color:var(--expense);font-weight:700}.success-score-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.success-score-block{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.success-score-block-header{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.success-score-block h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px;line-height:1.25}.success-score-block strong{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.success-score-track{background:var(--surface-accent-soft);border-radius:999px;height:6px;overflow:hidden}.success-score-fill{border-radius:inherit;background:linear-gradient(90deg, var(--income), var(--accent));height:100%}.success-score-block p{min-width:0;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.35}.success-score-days-tracked strong{color:var(--income)}.summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.home-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:18px;width:min(105% - 12.9px,100vw - 32px);display:grid}.home-main{min-width:0}.accounts-sidebar-toggle{display:none}.metric{border:1px solid var(--line);background:var(--surface);min-height:112px;box-shadow:var(--shadow);border-radius:8px;gap:8px;padding:20px;display:grid;position:relative}.metric span{color:var(--muted);font-size:14px}.metric strong{align-self:end;font-size:clamp(24px,4vw,34px);line-height:1.1}.metric.balance,.metric.investment-profit{outline:0}.metric>strong.is-positive{color:var(--income)}.metric>strong.is-negative{color:var(--expense)}.metric-tooltip{z-index:10;border:1px solid var(--line);background:var(--surface);max-width:360px;box-shadow:var(--shadow);opacity:0;pointer-events:none;border-radius:8px;gap:8px;padding:12px;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:calc(100% - 8px);left:20px;right:20px;transform:translateY(6px)}.metric:hover .metric-tooltip,.metric:focus .metric-tooltip,.metric:focus-within .metric-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.metric-tooltip div{justify-content:space-between;gap:12px;min-width:0;display:flex}.metric-tooltip span{min-width:0;color:var(--muted);font-size:13px}.metric-tooltip strong{white-space:nowrap;flex:none;align-self:auto;font-size:14px;line-height:1.3}.metric-tooltip div:first-child strong{color:var(--income)}.metric-tooltip div:not(:first-child) strong{color:var(--expense)}.analytics-page{gap:18px;display:grid}.analytics-controls{gap:8px;display:grid}.analytics-investments-control{color:var(--muted);justify-self:start;font-size:14px}.analytics-expense-grouping{justify-items:start;gap:6px;margin-bottom:14px;display:grid}.analytics-expense-grouping-title{color:var(--muted);margin:0;font-size:14px}.analytics-filter-actions{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;grid-template-columns:repeat(4,minmax(160px,1fr)) auto;align-items:end;gap:12px;padding:14px;display:grid}.analytics-filter-title{grid-column:1/-1;margin:0;font-size:18px}.analytics-expense-level-filter{min-width:min(220px,100%);color:var(--muted);gap:6px;font-size:14px;display:grid}.analytics-expense-level-filter .category-combobox{min-width:0;max-width:100%}.analytics-expense-level-filter .category-combobox-input{padding-right:34px}.analytics-filter-reset{width:44px;min-width:44px;padding-inline:0}.analytics-chart-tabs,.analytics-view-tabs{border:1px solid var(--line);background:var(--surface);border-radius:6px;justify-self:start;min-height:44px;display:inline-flex;overflow:hidden}.analytics-view-tabs .period-mode-button{place-items:center;width:46px;min-width:46px;padding:10px;display:inline-grid}.analytics-view-tabs .period-mode-button[hidden]{display:none}.analytics-view-tabs .period-mode-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:20px;height:20px}.analytics-access-message{color:#a16207;background:var(--surface-alt);border:1px solid #a162075c;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.analytics-period-filter{margin-bottom:0}.analytics-period-filter .period-current{box-shadow:none}.analytics-board{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}.analytics-chart-panel,.analytics-list-panel{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;gap:16px;min-width:0;padding:18px;display:grid}.analytics-chart-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.analytics-chart-heading h3,.analytics-list-panel h3{margin:0;font-size:18px}.analytics-chart-heading strong{color:var(--accent);text-align:right;white-space:nowrap;font-size:22px;line-height:1.1}.analytics-chart-wrap{place-items:center;min-height:280px;display:grid;position:relative}.analytics-chart-wrap canvas{aspect-ratio:19/15;width:min(100%,760px);max-width:760px}#analytics-capital-line-canvas{aspect-ratio:19/9}.analytics-chart-tooltip{z-index:2;border:1px solid var(--line);min-width:150px;max-width:min(280px,100% - 24px);color:var(--text);background:var(--surface);pointer-events:none;overflow-wrap:anywhere;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.35;position:absolute;box-shadow:0 10px 26px #0f172a29}.analytics-empty,.analytics-list-empty{color:var(--muted);text-align:center;margin:0;font-size:14px;line-height:1.45}.analytics-chart-hint{color:var(--muted);text-align:center;margin:-4px 0 0;font-size:13px;line-height:1.4}.analytics-legend{gap:8px;min-width:0;display:grid}.analytics-legend-item{border:1px solid var(--line-soft);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:grid}.analytics-legend-action{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.analytics-legend-action:hover{border-color:var(--accent);background:var(--accent-soft)}.analytics-legend-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.analytics-swatch{border-radius:50%;width:12px;height:12px}.analytics-legend-item span:not(.analytics-swatch){overflow-wrap:anywhere;min-width:0}.analytics-legend-item strong{text-align:right;white-space:nowrap;font-size:13px}.entry-panel,.table-panel,.accounts-overview,.settings-page{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:22px}.entry-panel{margin-bottom:18px}.transaction-modal{z-index:1000;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.transaction-modal-backdrop{background:#0f172a7a;position:absolute;inset:0}.transaction-modal-panel{z-index:1;overscroll-behavior:contain;width:min(720px,100%);max-height:min(760px,100vh - 48px);margin:0;position:relative;overflow-y:auto}.transaction-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.transaction-modal-header h2{margin:0}.transaction-modal-close-button{flex:0 0 34px;font-size:24px;line-height:1}.ai-transaction-modal-status{border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);overflow-wrap:anywhere;border-radius:8px;margin:0 0 14px;padding:10px 12px;font-size:13px;line-height:1.4}.ai-transaction-modal-status[data-tone=success]{color:var(--income);border-color:#16a34a52}.ai-transaction-modal-status[data-tone=warning]{color:#a16207;border-color:#a162075c}.ai-transaction-modal-status[data-tone=error]{color:var(--expense);border-color:#dc262652}.transaction-modal-panel #transaction-form{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-modal-panel #transaction-form>label,.transaction-modal-panel #transaction-form .transaction-amount-field,.transaction-modal-panel #transaction-form .transfer-exchange-rate-field,.transaction-modal-panel #transaction-form .transfer-account-amount-field{grid-column:auto;min-width:0}.transaction-modal-panel #transaction-form .tag-field,.transaction-modal-panel #transaction-form .comment-field{grid-column:1/-1}.account-modal-panel{width:min(820px,100%)}.budget-planner-modal-panel{width:min(900px,100%)}.budget-planner-modal-panel .transaction-modal-header .eyebrow{margin-bottom:4px}.budget-planner-month{color:var(--muted);margin:5px 0 0;font-size:13px}.budget-planner-tabs{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;display:grid;overflow:hidden}.budget-planner-tab{min-height:40px;color:var(--muted);background:var(--surface-alt);border:0;padding:8px 14px;font-weight:800}.budget-planner-tab+.budget-planner-tab{border-left:1px solid var(--line)}.budget-planner-tab.is-active{color:#fff;background:var(--accent)}.budget-planner-tab:focus-visible{z-index:1;outline:2px solid var(--accent);outline-offset:-2px;position:relative}.budget-planner-form{margin-top:14px;display:block}.budget-planner-list{border:1px solid var(--line);border-radius:6px;min-width:0;max-height:min(500px,100vh - 310px);display:grid;overflow-y:auto}.budget-planner-table-header,.budget-planner-row{grid-template-columns:minmax(220px,1fr) minmax(140px,180px) minmax(160px,190px);align-items:center;display:grid}.budget-planner-table-header{z-index:2;background:var(--surface-muted);color:var(--muted);font-size:12px;font-weight:800;position:sticky;top:0}.budget-planner-table-header span{padding:7px 10px}.budget-planner-table-header span:not(:first-child){text-align:right}.budget-planner-group h3{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-raised);color:var(--muted);margin:0;padding:7px 10px;font-size:13px}.budget-planner-rows{display:grid}.budget-planner-row{border-bottom:1px solid var(--line-soft);background:var(--surface);min-width:0;min-height:48px}.budget-planner-row:last-child{border-bottom:0}.budget-planner-category,.budget-planner-plan,.budget-planner-average{min-width:0;padding:6px 10px}.budget-planner-category{overflow-wrap:anywhere;font-size:13px}.budget-planner-plan>span,.budget-planner-average>span{display:none}.budget-planner-plan input{text-align:right;min-width:0;min-height:34px;padding:5px 8px;font-size:13px}.budget-planner-average{text-align:right;display:grid}.budget-planner-average strong{font-variant-numeric:tabular-nums;font-size:13px}.budget-planner-empty{color:var(--muted);text-align:center;margin:0;padding:20px}.budget-planner-actions{justify-content:flex-end;margin-top:14px}.onboarding-modal-panel{width:min(520px,100%)}.onboarding-modal-panel .eyebrow{margin-bottom:6px}.onboarding-modal-panel h2{margin-bottom:8px}.onboarding-intro{color:var(--muted);margin:0 0 18px;line-height:1.5}.onboarding-form{border-bottom:0;grid-template-columns:1fr;gap:14px;margin:0;padding:0;display:grid}.onboarding-form>label{min-width:0}.onboarding-form>.form-actions{margin-top:4px}.category-modal-panel{width:min(620px,100%)}.category-modal-panel .category-form{border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.category-modal-panel .category-form>label{min-width:0}.category-modal-panel .category-form>.form-actions{grid-column:1/-1}.category-modal-panel .category-form .add-button{grid-area:auto}.account-modal-panel .account-form{border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.account-modal-panel .account-form>label{min-width:0}.account-modal-panel .account-form>.form-actions{grid-column:1/-1}.account-modal-panel .account-form .add-button{grid-area:auto}.accounts-overview{order:-1;padding:14px;position:sticky;top:18px}.accounts-overview-header{margin-bottom:10px}.accounts-overview-header .eyebrow{margin-bottom:4px;font-size:12px}.accounts-overview-header h2{font-size:16px}.account-balance-group{gap:4px;display:grid}.account-balance-group+.account-balance-group{margin-top:10px}.account-balance-group-title{width:100%;min-height:24px;color:var(--muted);letter-spacing:0;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:0;font-size:12px;font-weight:700;display:grid}.account-balance-group-title:focus{border-radius:4px;outline:3px solid #155eef24}.account-balance-group-arrow{color:var(--text);font-size:12px;line-height:1}.account-balance-items{gap:4px;margin:0;padding:0;list-style:none;display:grid}.account-balance-items li{border:1px solid var(--line);background:var(--surface-alt);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:28px;padding:4px 6px;font-size:12px;display:grid}.account-balance-name{overflow-wrap:anywhere;min-width:0;color:var(--text);font-weight:400;line-height:1.2}.account-balance-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.account-balance-group-total{min-height:28px;color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:grid}.account-balance-group-total strong{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.accounts-total{border-top:1px solid var(--line);gap:4px;margin-top:10px;padding-top:10px;display:grid}.accounts-total span{color:var(--muted);font-size:12px}.accounts-currency-total-title{width:100%;min-height:24px;color:var(--muted);letter-spacing:0;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:700;display:grid}.accounts-currency-total-title:focus{border-radius:4px;outline:3px solid #155eef24}.accounts-currency-total-list{gap:3px;margin:0 0 6px;padding:0;list-style:none;display:grid}.accounts-currency-total-list li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:24px;padding:2px 0;font-size:12px;display:grid}.accounts-total .accounts-currency-total-list strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.accounts-currency-total-empty{color:var(--muted);font-size:12px}.accounts-total strong{font-variant-numeric:tabular-nums;font-size:18px;line-height:1.1}.exchange-overview{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.exchange-overview .eyebrow{margin-bottom:4px;font-size:12px}.exchange-overview-title{width:100%;min-height:24px;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 0 10px;padding:0;font-size:14px;font-weight:700;line-height:1.2;display:grid}.exchange-overview-title:focus{border-radius:4px;outline:3px solid #155eef24}.exchange-rate-items{gap:4px;margin:0;padding:0;list-style:none;display:grid}.exchange-rate-items li{border:1px solid var(--line);background:var(--surface-alt);border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:28px;padding:4px 6px;font-size:12px;display:grid}.exchange-rate-items span{color:var(--muted);white-space:nowrap}.exchange-rate-items strong{overflow-wrap:anywhere;text-align:right;font-variant-numeric:tabular-nums;min-width:0}.exchange-rate-source{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.3}form{grid-template-columns:1fr 1fr 1.3fr 1fr 1fr;align-items:end;gap:14px;margin-top:18px;display:grid}#transaction-form{grid-template-columns:max-content max-content max-content max-content minmax(150px,1fr)}label{color:var(--muted);gap:7px;font-size:13px;display:grid}input,select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:var(--surface);border-radius:6px;padding:10px 12px}input:focus,select:focus{border-color:var(--accent);outline:3px solid #155eef24}.category-combobox{width:100%;display:block;position:relative}.category-combobox-input{padding-right:34px}.category-combobox-toggle{z-index:2;width:36px;min-height:44px;color:var(--muted);background:0 0;border:0;padding:0;position:absolute;top:0;right:0}.category-combobox-toggle:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:8px;height:8px;position:absolute;top:17px;right:13px;transform:rotate(45deg)}.category-combobox.is-open .category-combobox-toggle:after{top:21px;transform:rotate(225deg)}.category-combobox-toggle:hover,.category-combobox-toggle:active{background:0 0}.category-combobox-toggle:focus-visible{outline-offset:-3px;outline:3px solid #155eef24}.category-combobox-options{z-index:30;border:1px solid var(--line);max-height:500px;box-shadow:none;background:var(--surface);border-radius:0 0 3px 3px;display:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto}.category-combobox.is-open .category-combobox-options{display:grid}.category-combobox-option{width:100%;min-height:0;color:var(--text);background:var(--surface);text-align:left;border:0;border-radius:0;grid-template-columns:minmax(0,1fr);gap:0;padding:4px 18px;font-weight:400;line-height:1.35;display:grid}.category-combobox-option-category{padding-left:36px}.category-combobox-option:last-child{border-bottom:0}.category-combobox-option[aria-selected=true],.category-combobox-option:hover{color:#fff;background:var(--accent)}.category-combobox-option-group{background:var(--surface);font-weight:800}.category-combobox-option-header{color:var(--text);background:var(--surface);cursor:default}.category-combobox-option-header:hover{color:var(--text);background:var(--surface)}.category-combobox-option-label,.category-combobox-option-meta{overflow-wrap:anywhere;min-width:0}.category-combobox-option-label{font-size:13px;font-weight:inherit}.category-combobox-option-meta,.category-combobox-empty{color:var(--muted);font-size:12px}.category-combobox-empty{padding:10px}.wide{grid-column:span 4}.transaction-date-field,.transaction-type-field,.transaction-account-field{min-width:0}.transaction-category-field{min-width:220px}.transaction-split-toggle{grid-column:1/-1;justify-self:start;width:max-content;min-height:36px;padding:6px 0}.transaction-split-toggle.is-locked{border-color:var(--line);color:var(--muted);background:var(--surface-alt);box-shadow:none;cursor:not-allowed;transform:none}.transaction-split-access-message{color:var(--muted);grid-column:1/-1;margin:-4px 0 0;font-size:13px;line-height:1.4}.transaction-splits{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;grid-column:1/-1;gap:10px;min-width:0;padding:12px;display:grid}.transaction-splits-header,.transaction-split-row{grid-template-columns:minmax(0,1fr) minmax(120px,180px) auto;align-items:end;gap:10px;display:grid}.transaction-splits-list{gap:8px;display:grid}.transaction-splits-header{align-items:center;font-weight:800}.transaction-split-add{grid-column:1/-1;justify-self:start;width:max-content;min-height:36px;padding:6px 10px}.transaction-split-row label{gap:6px;min-width:0;display:grid}.transaction-split-row input{width:100%;min-width:0}.transaction-split-remove{min-width:44px;padding:10px}.transaction-splits-status{min-height:20px;color:var(--muted);margin:0;font-size:13px;font-weight:700}.transaction-splits-status.is-error{color:var(--expense)}.transaction-splits-status.is-complete{color:var(--income)}.transaction-category-breakdown{gap:3px;display:grid}.transaction-category-breakdown-line{display:block}.home-operation-category{white-space:pre-line}.transaction-category-allocation{white-space:normal;gap:2px;width:100%;display:grid}.transaction-category-allocation-row{grid-template-columns:minmax(0,1fr) minmax(100px,auto);align-items:center;gap:14px;min-height:30px;padding:4px 0;display:grid}.transaction-category-allocation-name{overflow-wrap:anywhere;min-width:0}.transaction-category-allocation-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.transaction-category-allocation-total{border-top:1px solid var(--line);color:var(--text);margin-top:5px;padding:9px 0 4px;font-weight:800}.transaction-category-allocation-total>span:first-child{white-space:nowrap}.transaction-amount-field,.transfer-exchange-rate-field,.transfer-account-amount-field{grid-column:5}@media (width<=640px){.transaction-splits-header,.transaction-split-row{grid-template-columns:minmax(0,1fr) 88px auto}.transaction-splits{padding:10px}}.tag-field{grid-column:span 2}.comment-field{grid-column:span 3}.transfer-exchange-rate-field{grid-column:4}.transfer-account-amount-field{grid-column:5}.primary-button,.secondary-button,.text-button{border:0;border-radius:6px;min-height:44px;padding:10px 16px;font-weight:700}.primary-button{color:#fff;background:var(--accent)}.primary-button:hover{background:var(--accent-dark)}.add-button{justify-self:end;width:max-content}.secondary-button{border:1px solid var(--line);color:var(--text);background:var(--surface)}.transaction-split-action{border-color:var(--accent);min-height:40px;color:var(--accent);background:var(--accent-soft);justify-content:center;align-items:center;gap:7px;transition:background .12s,border-color .12s,transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 1px 2px #0f172a14}.transaction-split-action:hover{border-color:var(--accent-dark);background:var(--accent-soft-strong);transform:translateY(-1px);box-shadow:0 3px 8px #0f172a1f}.transaction-split-action.is-locked:hover,.transaction-split-action.is-locked:active{border-color:var(--line);color:var(--muted);background:var(--surface-alt);box-shadow:none;transform:none}.transaction-split-action:active{transform:translateY(0);box-shadow:0 1px 2px #0f172a14}.transaction-split-action:focus-visible{outline:3px solid var(--accent-soft-strong);outline-offset:2px}.transaction-split-action.is-single-category{border-color:var(--expense);color:var(--expense);background:var(--expense-soft)}.transaction-split-action.is-single-category:hover:not(.is-locked){border-color:var(--expense);color:#fff;background:var(--expense)}.transaction-split-action.is-single-category:focus-visible{outline-color:var(--expense-soft)}.transaction-split-action>span{font-size:17px;line-height:1}.text-button{color:var(--expense);background:0 0}.compact-button{min-height:34px;padding:6px 10px}.form-actions,.transaction-actions,.category-actions{align-items:center;gap:8px;display:flex}.form-actions{grid-column:1/-1;justify-content:flex-end}.transaction-actions,.category-actions{flex-wrap:nowrap;justify-content:flex-end;min-width:76px}.table-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.transactions-filter{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr) minmax(0,1.6fr) minmax(0,.75fr) minmax(0,1.3fr) auto;align-items:end;gap:12px;margin-bottom:16px;padding:14px;display:grid}.transactions-filter-title{grid-column:1/-1;margin:0;font-size:18px}.transactions-filter label{min-width:0}.transactions-filter input,.transactions-filter select,.transactions-filter .category-combobox{min-width:0;max-width:100%}.transactions-filter input,.transactions-filter select{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transactions-filter .category-combobox-input{padding-right:34px}.category-group-filter-option{font-weight:700}.transactions-filter-actions{justify-content:flex-end;min-width:44px;display:flex}.transactions-filter .secondary-button{width:44px;min-width:44px;padding-inline:0}label.is-disabled{color:var(--muted)}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 14px;font-size:15px}th{color:var(--muted);background:var(--surface-alt);font-size:12px;font-weight:700}th:last-child,td:last-child{width:92px;min-width:92px}tr:last-child td{border-bottom:0}.amount-cell{text-align:right;font-variant-numeric:tabular-nums}.badge{border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge.income{color:var(--income);background:var(--income-soft)}.badge.expense{color:var(--expense);background:var(--expense-soft)}.badge.transfer{color:#175cd3;background:var(--accent-soft-strong)}.category-level-select{min-width:118px;min-height:34px;padding:6px 8px}.category-level-label{border:1px solid var(--line);min-width:118px;min-height:34px;color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.category-group-combobox{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;min-width:0;min-height:44px;display:grid;position:relative;overflow:visible}.category-group-combobox input{background:0 0;border:0;border-radius:6px 0 0 6px;min-height:42px}.category-group-combobox input:focus{outline:0}.category-group-toggle{min-height:42px;color:var(--muted);background:0 0;border:0;border-radius:0 6px 6px 0;place-items:center;padding:0;font-size:18px;font-weight:800;line-height:1;display:grid}.category-group-combobox:focus-within{border-color:var(--accent);outline:3px solid #155eef24}.category-group-menu{z-index:20;border:1px solid var(--line);background:var(--surface);max-height:220px;box-shadow:var(--shadow);border-radius:6px;display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.category-group-combobox.is-open .category-group-menu{display:grid}.category-group-option{color:var(--text);background:var(--surface);font:inherit;text-align:left;border:0;padding:9px 10px}.category-group-option:hover,.category-group-option:focus{background:var(--accent-soft)}.category-group-empty{color:var(--muted);padding:9px 10px;font-size:13px}.delete-button{border:1px solid var(--line);min-height:34px;color:var(--expense);background:var(--surface);border-radius:6px;padding:6px 10px}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--text);background:var(--surface);border-radius:6px;place-items:center;padding:0;display:inline-grid}.icon-button.danger{color:var(--expense)}.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.empty-state{color:var(--muted);margin:16px 0 0}.transactions-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.transactions-pagination-navigation{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.pagination-pages{flex-wrap:wrap;gap:6px;display:flex}.pagination-page{border:1px solid var(--line);min-width:38px;min-height:38px;color:var(--text);background:var(--surface);border-radius:6px;padding:6px 10px;font-weight:700}.pagination-page.is-active{border-color:var(--accent);color:#fff;background:var(--accent)}.pagination-info{color:var(--muted);font-size:13px;font-weight:700}.transactions-page-size{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.transactions-page-size select{width:auto;min-width:68px;min-height:38px;padding:6px 28px 6px 10px}.settings-header{justify-content:space-between;gap:16px;margin-bottom:18px;display:flex}.category-form{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.2fr 1.4fr 1fr auto;margin:0 0 22px;padding-bottom:22px}.account-form{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1.1fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.8fr) auto;margin:0 0 22px;padding-bottom:22px}.account-form>.add-button{grid-area:1/5}.account-details-form{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.account-details-edit{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.checkbox-label{align-items:center;gap:8px;min-height:44px;display:flex}.checkbox-label input{width:auto;min-height:auto}.percent-input{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.percent-input input{border:0;border-radius:0;min-height:42px}.percent-input input:focus{outline:0}.percent-input span{color:var(--muted);padding:0 12px 0 4px;font-weight:700}.percent-input:focus-within{border-color:var(--accent);outline:3px solid #155eef24}.goal-form{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.7fr);margin:0 0 22px;padding-bottom:22px}.goal-accounts-field{min-width:0;color:var(--muted);grid-column:span 4;gap:7px;font-size:13px;display:grid}.goal-accounts-select{min-width:0;display:block;position:relative}.goal-accounts-toggle{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:var(--surface);font:inherit;text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.goal-accounts-toggle:after{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:8px;height:8px;transform:translateY(-2px)rotate(45deg)}.goal-accounts-toggle:focus{border-color:var(--accent);outline:3px solid #155eef24}.goal-accounts-toggle span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.goal-accounts-options{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:6px;max-height:220px;padding:6px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 30px #0f172a24}.goal-accounts-select.is-open .goal-accounts-options{gap:2px;display:grid}.goal-account-option{min-width:0;color:var(--text);cursor:pointer;border-radius:4px;grid-template-columns:none;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.goal-account-option:hover,.goal-account-option:focus-within{background:var(--surface-alt)}.goal-account-option input{width:16px;min-width:16px;height:16px;min-height:16px;margin:0;padding:0}.goal-account-option span{overflow-wrap:anywhere;min-width:0}.goal-form-actions{align-self:end}.categories-list{grid-template-columns:1fr;align-items:start;gap:18px;font-size:13px;display:grid}.categories-table{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;min-width:0;display:grid}.categories-table>h3,.categories-empty{grid-column:1/-1}.categories-table>h3{margin:0;font-size:16px}.categories-table-archive{border-top:1px solid var(--line);padding-top:18px}.categories-empty{color:var(--muted);margin:0;font-size:13px}.category-kind{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-width:0;overflow:hidden}.category-kind h3{border-bottom:1px solid var(--line);background:var(--surface-alt);margin:0;padding:10px 12px;font-size:14px;line-height:1.25}.category-group{border-top:1px solid var(--line);padding:0}.category-kind h3+.category-group{border-top:0}.category-group h4{border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface-raised);margin:0;padding:8px 12px;font-size:12px;font-weight:700;line-height:1.2}.category-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.category-list li{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:36px;padding:6px 8px 6px 12px;line-height:1.25;display:grid}.category-list li>span:first-child{overflow-wrap:anywhere;min-width:0}.category-list li.category-list-item-income{grid-template-columns:minmax(0,1fr) auto}.category-list li:last-child{border-bottom:0}.category-list li:hover{background:var(--surface-alt)}.category-list .category-level-label{min-width:94px;min-height:26px;padding:4px 8px;font-size:12px}.category-list .icon-button{width:28px;height:28px}.category-list .icon-button svg{width:15px;height:15px}.account-list{border:1px solid var(--line);background:var(--surface);border-radius:6px;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.account-section{gap:10px;display:grid}.account-section+.account-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.account-section h3{margin:0;font-size:18px}.account-section-empty{color:var(--muted);margin:0;font-size:14px}.account-list li{border-top:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:12px;min-height:46px;padding:8px 10px;display:grid}.account-list li.account-type-divider{border:0;border-top:1px solid var(--line);background:var(--surface-muted);min-height:0;color:var(--text);letter-spacing:0;text-transform:uppercase;border-radius:0;grid-template-columns:1fr;margin-top:0;padding:7px 10px;font-size:11px;font-weight:800}.account-list li.account-type-divider:first-child{margin-top:0}.account-type-divider span{align-items:center;gap:8px;min-width:0;display:flex}.account-type-divider span:after{content:"";background:var(--line);flex:1;min-width:24px;height:1px}.account-info{grid-template-columns:minmax(150px,.85fr) minmax(220px,1.15fr);align-items:center;gap:12px;min-width:0;display:grid}.account-title-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.account-name{overflow-wrap:anywhere;min-width:0;font-size:13px}.account-status{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.account-view-meta{color:var(--muted);flex-wrap:wrap;gap:4px 8px;font-size:12px;line-height:1.35;display:flex}.account-view-meta span{overflow-wrap:anywhere;min-width:0}.account-view-meta span+span:before{content:"•";color:var(--muted);margin-right:6px}.account-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.account-edit-button,.account-favorite-button,.account-archive-button,.account-actions .delete-button{place-items:center;width:30px;height:30px;min-height:30px;padding:0;display:inline-grid}.account-edit-button svg,.account-favorite-button svg,.account-archive-button svg,.account-actions .delete-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:16px;height:16px}.account-favorite-button.is-active{color:#a16207}.account-favorite-button.is-active svg{fill:currentColor}.budget-workspace{box-shadow:none;border-radius:4px;min-width:0;padding:16px;overflow:visible}.budget-workspace .settings-header{margin-bottom:12px}.budget-workspace .eyebrow{letter-spacing:.08em;margin-bottom:2px;font-size:11px}.budget-workspace h2{font-size:21px}.budget-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}.budget-planner-open{min-height:34px;padding:7px 12px;font-size:13px}.budget-groups-toggle{color:var(--muted);cursor:pointer;align-self:end;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.budget-groups-toggle input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.budget-groups-toggle-track{background:var(--line);border-radius:999px;width:34px;height:20px;transition:background .12s;position:relative}.budget-groups-toggle-track:after{background:var(--surface);content:"";border-radius:50%;width:14px;height:14px;transition:transform .12s;position:absolute;top:3px;left:3px}.budget-groups-toggle input:checked+.budget-groups-toggle-track{background:var(--accent)}.budget-groups-toggle input:checked+.budget-groups-toggle-track:after{transform:translate(14px)}.budget-groups-toggle input:focus-visible+.budget-groups-toggle-track{outline:2px solid var(--accent);outline-offset:2px}.budget-groups-toggle input:disabled+.budget-groups-toggle-track{opacity:.5}.budget-list-actions{justify-content:flex-end;min-width:720px;margin:-4px 0 12px;display:flex}.secondary-layout,.budget-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:18px;display:grid}.secondary-workspace{min-width:0}.budget-main{min-width:0;overflow-x:auto}.budget-accounts-overview{order:0}.budget-period{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(160px,220px) 44px max-content minmax(0,1fr);align-items:end;gap:6px;min-width:720px;margin-bottom:8px;padding-bottom:8px;display:grid}.budget-period label,.budget-form label{min-width:0;color:var(--muted);gap:3px;font-size:12px;font-weight:700}.budget-period .secondary-button,.budget-form .primary-button{border-radius:3px;min-height:30px;padding:6px 9px;font-size:13px}.budget-period input,.budget-form input,.budget-form select{border-radius:3px;min-height:30px;padding:5px 8px;font-size:13px}.budget-form .category-combobox{min-width:0}.budget-form .category-combobox-input{padding-right:34px}.budget-form .category-combobox-toggle:after{top:11px}.budget-form .category-combobox.is-open .category-combobox-toggle:after{top:15px}.budget-copy{grid-template-columns:160px auto;justify-self:end;align-items:end;gap:6px;min-width:0;display:grid}.budget-form{border-bottom:1px solid var(--line);grid-template-columns:minmax(92px,.55fr) minmax(210px,1.35fr) minmax(112px,.6fr) auto;align-items:end;gap:6px;min-width:720px;margin-bottom:14px;padding-bottom:10px;display:grid}.budget-list{min-width:720px;color:var(--text);font-size:13px;line-height:1.25;display:grid}.budget-kind{min-width:0;margin-bottom:12px}.budget-kind h3{border:1px solid var(--line);background:var(--surface-subtle);color:var(--text);border-bottom:0;margin:0;padding:6px 8px;font-size:13px;font-weight:800}.budget-kind-income h3{color:var(--income)}.budget-kind-expense h3{color:var(--expense)}.budget-table-header,.budget-row{grid-template-columns:minmax(220px,1fr) 116px 116px 116px 150px;align-items:center;display:grid}.budget-table-header{z-index:1;border:1px solid var(--line);background:var(--surface-muted);color:var(--muted);font-size:12px;font-weight:800;position:sticky;top:0}.budget-table-header span{border-right:1px solid var(--line);min-width:0;padding:5px 8px}.budget-table-header span:not(:first-child){text-align:right}.budget-table-header span:last-child{border-right:0}.budget-group{border-right:1px solid var(--line);border-left:1px solid var(--line)}.budget-group-title{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-raised)}.budget-group-title:hover{background:var(--surface-raised)}.budget-group-toggle{min-width:0;min-height:30px;color:var(--muted);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:5px 8px;font-size:13px;font-weight:800;display:flex}.budget-group-toggle:hover{color:var(--text)}.budget-group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.budget-group-toggle-icon{flex:none;margin-left:8px;font-size:14px}.budget-rows{display:grid}.budget-group.is-collapsed .budget-rows{display:none}.budget-row{border-bottom:1px solid var(--line-soft);background:var(--surface);min-height:30px}.budget-row:hover{background:var(--surface-alt)}.budget-total-row{border-top:1px solid var(--line);background:var(--surface-muted)}.budget-total-row:hover{background:var(--surface-muted)}.budget-total-row .budget-category strong,.budget-total-row .budget-stat strong{font-weight:800}.budget-category,.budget-stat,.budget-progress,.budget-plan{min-width:0;padding:4px 8px}.budget-category{gap:1px;display:grid}.budget-category strong,.budget-category span,.budget-stat strong,.budget-stat span{overflow-wrap:anywhere;min-width:0}.budget-category strong{font-size:13px;font-weight:700}.budget-category span,.budget-stat span,.budget-plan{color:var(--muted);font-size:11px;font-weight:700}.budget-row-income .budget-category strong{color:var(--income)}.budget-row-expense .budget-category strong{color:var(--expense)}.budget-plan{gap:2px;display:grid}.budget-plan-input{display:block;position:relative}.budget-plan input{text-align:right;font-variant-numeric:tabular-nums;border-radius:2px;width:100%;min-width:0;min-height:26px;padding:3px 24px 3px 6px;font-size:13px}.budget-plan-currency{color:var(--muted);pointer-events:none;font-size:12px;font-weight:700;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.budget-stat{text-align:right;gap:1px;display:grid}.budget-stat strong{font-variant-numeric:tabular-nums;font-size:13px}.budget-difference strong,.budget-difference strong.is-positive{color:var(--income)}.budget-difference strong.is-negative{color:var(--expense)}.budget-progress{grid-template-columns:42px minmax(70px,1fr);align-items:center;gap:6px;display:grid}.budget-progress-label{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.budget-progress-track{border:1px solid var(--line);background:#f9fafb;border-radius:0;height:8px;overflow:hidden}.budget-progress-fill{background:var(--income);border-radius:0;width:0;height:100%}.budget-progress-fill.is-over,.budget-progress-fill.is-under-income{background:#b42318b3}.budget-empty{border:1px solid var(--line);color:var(--muted);margin:0;padding:8px;font-size:13px}.budget-summary{border:1px solid var(--line);border-bottom:0;margin-top:2px;font-size:13px;display:grid}.budget-summary h3{border-bottom:1px solid var(--line);background:var(--surface-subtle);color:var(--text);margin:0;padding:6px 8px;font-size:13px;font-weight:800}.budget-summary-rows{display:grid}.budget-summary-row{border-bottom:1px solid var(--line-soft);background:var(--surface);grid-template-columns:minmax(0,1fr) 150px;align-items:center;min-height:28px;display:grid}.budget-summary-row span,.budget-summary-row strong{min-width:0;padding:5px 8px}.budget-summary-row span{color:var(--muted);font-weight:700}.budget-summary-row strong{font-variant-numeric:tabular-nums;text-align:right}.budget-summary-row strong.is-negative{color:var(--expense)}.goals-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.goals-archive{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.goals-archive h3{margin:0;font-size:18px}.goal-card{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;grid-template-columns:72px minmax(0,1fr);gap:14px;min-width:0;padding:14px;display:grid}.goal-card.is-archived{background:var(--surface)}.goal-card-media{color:#fff;background:#1849a9;border-radius:8px;place-items:center;width:72px;height:72px;font-size:34px;line-height:1;display:grid}.goal-card-media.travel{background:#0e7490}.goal-card-media.home{background:#854d0e}.goal-card-media.car{background:#344054}.goal-card-media.safety{background:#047857}.goal-card-media.debt{background:#b42318}.goal-card-body{min-width:0}.goal-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.goal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.goal-card h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:18px;line-height:1.2}.goal-type{color:var(--muted);font-size:13px}.goal-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.goal-stat{gap:3px;display:grid}.goal-stat span,.goal-account-summary{color:var(--muted);font-size:12px}.goal-stat strong{overflow-wrap:anywhere;font-size:14px}.goal-progress{gap:7px;display:grid}.goal-progress-label{color:var(--muted);justify-content:space-between;gap:10px;font-size:12px;display:flex}.goal-progress-track{background:#e4e7ec;border-radius:999px;height:10px;overflow:hidden}.goal-progress-fill{border-radius:inherit;background:var(--income);height:100%}.goal-account-summary{margin:10px 0 0;line-height:1.4}.goal-empty{color:var(--muted);margin:0}.is-hidden{display:none}@media (width<=1280px){#transaction-form{grid-template-columns:repeat(2,minmax(0,1fr))}#transaction-form>label,#transaction-form .transaction-amount-field,#transaction-form .transfer-exchange-rate-field,#transaction-form .transfer-account-amount-field{grid-column:auto;min-width:0}#transaction-form .tag-field,#transaction-form .comment-field{grid-column:span 1}.transactions-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.transactions-filter-actions{grid-column:3}}@media (width<=1040px){.page-nav{grid-template-columns:1fr;width:100%;display:none}.page-nav.is-open{display:grid}.menu-toggle{justify-self:end;display:inline-flex}.nav-button{text-align:left;width:100%}.toolbar-actions{grid-template-columns:1fr;justify-items:stretch;padding-top:0}.analytics-filter-actions{grid-template-columns:repeat(3,minmax(0,1fr))}body.is-accounts-sidebar-open{overflow:hidden}body.is-accounts-sidebar-open:before{content:"";z-index:900;background:0 0;position:fixed;inset:0}.home-layout{grid-template-columns:1fr;width:100%}.secondary-layout,.budget-layout{grid-template-columns:1fr}.secondary-workspace,.budget-workspace{order:1}.accounts-sidebar-toggle{z-index:920;border:1px solid var(--line);width:34px;height:58px;color:var(--text);background:var(--surface);border-left:0;border-radius:0 8px 8px 0;place-items:center;display:grid;position:fixed;top:50%;left:0;transform:translateY(-50%);box-shadow:0 10px 26px #0f172a29}.accounts-sidebar-toggle span{border-top:2px solid;border-right:2px solid;width:11px;height:11px;font-size:0;line-height:0;display:block;transform:rotate(45deg)}body.is-accounts-sidebar-open .accounts-sidebar-toggle{left:min(82vw,318px)}body.is-accounts-sidebar-open .accounts-sidebar-toggle span{transform:rotate(225deg)}[data-account-overview-widget].accounts-overview{z-index:910;overscroll-behavior:contain;border-radius:0 8px 8px 0;width:min(82vw,318px);height:100dvh;max-height:100dvh;transition:transform .18s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}[data-account-overview-widget].accounts-overview.is-open{transform:translate(0)}}@media (width<=820px){.toolbar,.toolbar-actions,.table-header,.csv-header,.settings-header{flex-direction:column;align-items:stretch}.home-layout{width:100%;display:block}.supabase-panel{justify-items:start;width:280px;max-width:100%}.supabase-form{grid-template-columns:minmax(0,1fr)}.supabase-password-change{grid-template-columns:1fr}.supabase-actions,.supabase-status{text-align:left}.supabase-actions .secondary-button{width:100%}.export-actions{grid-column:auto;justify-items:stretch}.csv-actions{justify-content:stretch}.csv-actions .secondary-button{flex:160px}.export-status{text-align:left}.success-score-panel,.summary,.analytics-board{grid-template-columns:1fr}.analytics-chart-tabs,.analytics-view-tabs{justify-self:stretch}.analytics-chart-tabs .period-mode-button,.analytics-view-tabs .period-mode-button{flex:1 1 0}.analytics-chart-heading{display:grid}.analytics-chart-heading strong{text-align:left;white-space:normal}.transactions-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.transactions-filter-actions{grid-column:1/-1}form,#transaction-form,.transaction-modal-panel #transaction-form{grid-template-columns:1fr}.transaction-modal-panel #transaction-form .tag-field,.transaction-modal-panel #transaction-form .comment-field{grid-column:auto}.category-form,.account-form,.account-details-form,.goal-form,.budget-form,.budget-period,.settings-controls,.categories-list,.categories-table,.account-modal-panel .account-form,.category-modal-panel .category-form{grid-template-columns:1fr}.account-form>.add-button{grid-area:auto}.account-list li{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:9px 10px}.account-info{grid-template-columns:1fr;gap:4px}.category-list li,.category-list li.category-list-item-income{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.category-list li>span:first-child{flex:120px}.category-list li .category-level-label{flex:none}.category-actions{flex:none;justify-content:flex-end;margin-left:auto}.account-edit-meta{grid-template-columns:1fr}.account-actions{flex-wrap:nowrap;justify-content:flex-end}.budget-row{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-category,.budget-progress{grid-column:1/-1}.goals-list{grid-template-columns:1fr}.goal-accounts-field,.wide,.tag-field,.comment-field,.transaction-amount-field,.transfer-exchange-rate-field,.transfer-account-amount-field{grid-column:auto}}@media (width<=520px){.analytics-filter-actions{grid-template-columns:1fr}.analytics-chart-panel,.analytics-list-panel{padding:12px}.analytics-chart-wrap{min-height:0}.analytics-chart-wrap canvas{aspect-ratio:76/75}#analytics-capital-line-canvas{aspect-ratio:19/14}.analytics-legend-item{grid-template-columns:auto minmax(0,1fr)}.analytics-legend-item strong{text-align:left;white-space:normal;grid-column:2}.home-counters-panel{gap:6px;padding:10px}.home-counter-ring{width:74px}.home-counter-ring-inner{width:54px}.home-counter-ring-inner strong{font-size:17px}.home-counter-ring-inner span{font-size:8px}.home-counter-card>span{font-size:11px}.home-budget-panel{padding:18px}.home-budget-plan{--home-budget-plan-label-half:140px;--home-budget-plan-connector-height:22px;padding:12px 10px 11px}.home-budget-plan-label{border-radius:18px;min-height:54px;padding:15px 16px;font-size:13px}.home-budget-plan-track{width:96%;margin:var(--home-budget-plan-connector-height) 4px 0}.home-budget-plan-scale{width:96%}.home-budget-stats,.home-goals-list{grid-template-columns:1fr}.home-goal-card{grid-template-columns:56px minmax(0,1fr);padding:12px}.home-goal-card .goal-card-media{width:56px;height:56px;font-size:27px}.home-goal-stats{grid-template-columns:1fr}.home-operations-header{flex-direction:column;align-items:stretch}.home-operations-actions{grid-template-columns:1fr;display:grid}.transaction-modal{align-items:stretch;padding:10px}.transaction-modal-panel{width:100%;max-height:calc(100vh - 20px);padding:16px}.transaction-modal-panel .form-actions{justify-content:stretch}.transaction-modal-panel .form-actions .primary-button,.transaction-modal-panel .form-actions .secondary-button{flex:140px}.daily-score-actions{justify-content:stretch}.daily-score-actions .secondary-button{white-space:nowrap;flex:1 1 0;padding:6px 5px;font-size:0}.daily-score-actions .secondary-button:after{content:attr(data-short-label);font-size:10px;line-height:1.2}.daily-score-item-main{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:6px}.daily-score-counter{text-align:left;justify-self:stretch}.daily-score-counter dt{font-size:11px}.success-score-breakdown{grid-template-columns:1fr}.period-filter{grid-template-columns:44px minmax(0,1fr) 44px}.period-mode{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.period-mode-button{padding:10px 8px;font-size:13px}.period-filter.is-range .period-current{grid-column:1/-1}#period-today-button,#analytics-period-today-button{white-space:normal;overflow-wrap:anywhere;grid-column:1/-1;justify-self:stretch;width:100%}.period-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.period-range .primary-button{grid-column:1/-1}.transactions-filter{grid-template-columns:1fr;padding:12px}.transactions-filter-actions{grid-column:auto}.form-actions{flex-direction:row;justify-content:flex-end;align-items:center}.transactions-pagination{justify-content:stretch}.transactions-pagination-navigation,.pagination-info,.pagination-pages,.transactions-page-size{width:100%}.transactions-pagination-navigation{margin-left:0}.transactions-pagination-navigation .secondary-button{flex:1 1 0}.transactions-page-size{text-align:left;justify-content:flex-start}.pagination-info{text-align:right}.pagination-pages{justify-content:flex-end}.goal-card{grid-template-columns:1fr}.goal-card-media{width:100%}.budget-row{grid-template-columns:1fr}.budget-category,.budget-progress{grid-column:auto}.budget-progress-label{text-align:left}.budget-summary-row{grid-template-columns:1fr}.budget-summary-row strong{text-align:left}.goal-stats{grid-template-columns:1fr}}@media (width<=640px){.home-operations-panel{gap:12px}.ai-transaction-form,.ai-transaction-debug{grid-template-columns:1fr}.ai-transaction-form .secondary-button{width:100%}.home-operations-table-wrap,.table-wrap{background:0 0;border:0;border-radius:0;overflow:visible}.home-operations-table,.table-wrap table{width:100%;min-width:0;display:block}.home-operations-table thead,.table-wrap thead{display:none}.home-operations-table tbody,.table-wrap tbody{gap:12px;display:grid}.home-operation-row{background:var(--surface-alt);border-radius:8px;grid-template-columns:16px auto minmax(0,1fr) auto;grid-template-areas:"marker category category amount""marker date account actions""marker tags tags actions""marker comment comment actions";align-items:start;gap:5px 10px;padding:14px;display:grid}.home-operations-table tr:last-child td,.table-wrap tr:last-child td,.home-operation-row td{border-bottom:0}.home-operation-row td{min-width:0;padding:0;display:block}.home-operation-marker-cell{grid-area:marker;padding-top:6px}.home-operation-marker-cell .badge{color:#0000;background:currentColor;border-radius:999px;width:12px;min-width:12px;height:12px;min-height:12px;padding:0;font-size:0;overflow:hidden}.home-operation-marker-cell .badge.income{color:var(--income)}.home-operation-marker-cell .badge.expense{color:var(--expense)}.home-operation-marker-cell .badge.transfer{color:#175cd3}.home-operation-category{color:var(--text);overflow-wrap:anywhere;grid-area:category;font-size:16px;font-weight:800;line-height:1.25}.home-operation-allocation-cell{grid-area:1/2/auto/-1;font-size:14px;font-weight:400}.home-operation-allocation-cell .transaction-category-allocation-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.home-operation-date,.home-operation-account,.home-operation-tags,.home-operation-comment{color:var(--muted);overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.35}.home-operation-date{white-space:nowrap;grid-area:date}.home-operation-date:after{content:" ·"}.home-operation-account{grid-area:account}.home-operation-amount{color:var(--text);white-space:nowrap;grid-area:amount;font-size:15px;font-weight:800;line-height:1.25}.home-operation-tags{grid-area:tags}.home-operation-comment{grid-area:comment}.home-operation-tags.is-empty,.home-operation-comment.is-empty{display:none}.home-operation-actions-cell{grid-area:actions;align-self:stretch}.home-operation-actions-cell .transaction-actions{flex-direction:row;justify-content:flex-start;min-width:76px;height:100%}}@media (width<=820px){.budget-workspace{padding:12px}.budget-period{grid-template-columns:44px minmax(160px,220px) 44px max-content minmax(0,1fr)}.budget-form{grid-template-columns:minmax(92px,.55fr) minmax(210px,1.35fr) minmax(112px,.6fr) auto}.budget-table-header,.budget-row{grid-template-columns:minmax(220px,1fr) 116px 116px 116px 150px}.budget-category,.budget-progress{grid-column:auto}.budget-progress-label{text-align:right}}@media (width<=640px){.budget-main{overflow-x:visible}.period-range{grid-template-columns:1fr}.period-range .primary-button{grid-column:auto}.budget-period,.budget-form,.budget-list-actions,.budget-list{min-width:0}.budget-period{grid-template-columns:44px minmax(0,1fr) 44px}.budget-period #budget-current-button{grid-column:1/-1}.budget-copy{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;justify-self:stretch}.budget-form{grid-template-columns:1fr}.budget-list-actions{justify-content:flex-start}.budget-table-header{display:none}.budget-kind{gap:8px;display:grid}.budget-kind h3,.budget-group-title{border:1px solid var(--line);border-radius:6px}.budget-group{border:0;gap:8px;display:grid}.budget-rows{gap:8px}.budget-row{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"category category category""plan fact difference""progress progress progress";align-items:stretch;gap:8px;padding:10px}.budget-total-row{background:var(--surface-muted)}.budget-row:hover,.budget-total-row:hover{background:var(--surface-alt)}.budget-total-row:hover{background:var(--surface-muted)}.budget-category,.budget-stat,.budget-progress,.budget-plan{padding:0}.budget-category{grid-area:category}.budget-group-title{background:var(--surface-raised);border-left:3px solid var(--accent);box-shadow:none}.budget-group-toggle{color:var(--text);grid-area:category;padding:0;font-size:14px}.budget-group-title .budget-stat{background:0 0;border:0;border-radius:0;padding:4px 0}.budget-group-title .budget-progress{margin-top:2px}.budget-plan,.budget-total-plan,.budget-group-plan{grid-area:plan}.budget-fact{grid-area:fact}.budget-difference{grid-area:difference}.budget-progress{grid-area:progress;grid-template-columns:48px minmax(0,1fr)}.budget-progress-label{text-align:left}.budget-stat{border:1px solid var(--line-soft);background:var(--surface);text-align:left;border-radius:6px;padding:8px}}@media (width<=520px){.budget-workspace{padding:10px}.budget-summary-row{grid-template-columns:minmax(0,1fr) 150px}.budget-summary-row strong{text-align:right}}@media (width<=820px){.budget-header-actions{justify-content:space-between}}@media (width<=640px){.budget-planner-modal-panel{padding:14px}.budget-planner-list{border:0;max-height:calc(100vh - 300px);overflow-x:hidden}.budget-planner-table-header{display:none}.budget-planner-group{gap:8px;display:grid}.budget-planner-group+.budget-planner-group{margin-top:12px}.budget-planner-group h3{border:1px solid var(--line);border-radius:6px}.budget-planner-rows{gap:8px}.budget-planner-row{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"category category""plan average";gap:8px;padding:10px}.budget-planner-category{grid-area:category;padding:0}.budget-planner-plan{grid-area:plan}.budget-planner-average{grid-area:average}.budget-planner-plan,.budget-planner-average{text-align:left;gap:4px;padding:0}.budget-planner-plan>span,.budget-planner-average>span{color:var(--muted);font-size:11px;font-weight:700;display:block}.budget-planner-average{border:1px solid var(--line-soft);background:var(--surface);border-radius:6px;align-content:end;padding:7px 8px}.budget-planner-average strong{overflow-wrap:anywhere}.budget-planner-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.budget-planner-actions .primary-button,.budget-planner-actions .secondary-button{width:100%}}@media (width<=420px){.budget-header-actions{flex-direction:column;align-items:stretch}.budget-planner-open{width:100%}}
