:root{color:#18312c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6f2;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif}:root:lang(ja){font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic UI,Yu Gothic,Noto Sans JP,sans-serif}*{box-sizing:border-box}html{background:#f4f6f2;min-width:320px;min-height:100%}body{background:#f4f6f2;min-width:320px;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.button[aria-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}button,input,select,textarea{-webkit-tap-highlight-color:transparent}::selection{color:#fff;background:#2f7e70}
:root{--bg:#f4f6f2;--surface:#fff;--surface-soft:#f8faf8;--ink:#18312c;--brand:#17483c;--brand-strong:#103a31;--muted:#64766f;--line:#dde5e0;--line-strong:#cbd7d1;--income:#147a5a;--income-soft:#e8f4ef;--expense:#b14b46;--expense-soft:#f8eceb;--focus:#2f7e70;--warning:#7a5a10;--warning-bg:#fff8df;--error:#9d3733;--error-bg:#fff0ef;--shadow-panel:0 18px 50px #1a413714;--shadow-dialog:0 -24px 80px #0f30283d;color:var(--ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100dvh}.app-header{border-bottom:1px solid #0000;justify-content:space-between;align-items:center;width:min(1120px,100% - 64px);min-height:92px;margin:0 auto;display:flex}.brand,.brand-copy{align-items:center;display:flex}.brand{gap:14px}.header-actions,.desktop-navigation{align-items:center;display:flex}.header-actions{gap:14px}.desktop-navigation{border:1px solid var(--line);background:#ffffff9e;border-radius:12px;gap:4px;padding:4px}.desktop-navigation button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.desktop-navigation button:hover,.desktop-navigation button.is-active{color:var(--brand);background:var(--income-soft)}.desktop-navigation svg{width:17px;height:17px}.brand-mark{color:#fff;background:var(--brand);border-radius:14px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 8px 22px #17483c29}.brand-mark svg{stroke-width:1.8px;width:25px;height:25px}.brand-copy{flex-direction:column;align-items:flex-start;gap:1px}.brand-copy strong{color:var(--brand-strong);letter-spacing:.04em;font-size:24px;font-weight:750}.brand-copy small{color:var(--muted);font-size:13px;font-weight:500}.button,.icon-button{border:1px solid #0000;border-radius:10px;min-height:44px;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.button{justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.button svg,.icon-button svg{stroke-width:2px;width:19px;height:19px}.button-primary{color:#fff;background:var(--brand);border-color:var(--brand);box-shadow:0 8px 22px #17483c24}.button-primary:hover:not(:disabled){background:var(--brand-strong);transform:translateY(-1px)}.button-primary:disabled{opacity:.55}.button-secondary{color:var(--brand);border-color:var(--brand);background:0 0}.button-secondary:hover:not(:disabled){background:var(--income-soft)}.button-secondary:disabled{color:var(--muted);border-color:var(--line);opacity:.6}.button-danger{color:#fff;background:var(--error);border-color:var(--error)}.button-danger:hover:not(:disabled){background:#842d29}.icon-button{width:44px;color:var(--ink);background:var(--surface);border-color:var(--line-strong);place-items:center;padding:0;display:grid}.icon-button:hover:not(:disabled){color:var(--brand);background:var(--income-soft);border-color:var(--focus)}.icon-button:disabled{opacity:.55}.month-picker:has(input:disabled){opacity:.55}.privacy-toggle.is-active{color:#fff;background:var(--brand);border-color:var(--brand)}.privacy-toggle.is-active:hover:not(:disabled){color:#fff;background:var(--brand-strong)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;border-color:var(--focus);outline:3px solid #2f7e7047}.app-main{width:min(1120px,100% - 64px);margin:0 auto;padding:24px 0 64px}.app-main:focus{outline:none}.status-banner{min-height:48px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;font-size:13px;line-height:1.45;display:flex}.status-banner>svg{width:19px;min-width:19px}.status-banner button{min-height:44px;color:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;margin-left:auto;padding:0 8px;font-weight:700;display:inline-flex}.status-banner button svg{width:16px}.status-warning{color:var(--warning);background:var(--warning-bg);border-color:#eadb9d}.status-error{color:var(--error);background:var(--error-bg);border-color:#efc6c3}.status-success{color:var(--income);background:var(--income-soft);border-color:#bcdccf}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.month-navigator{grid-template-columns:44px minmax(180px,auto) 44px 1fr;align-items:center;gap:12px;margin-bottom:24px;display:grid}.month-picker{min-height:44px;color:var(--brand-strong);letter-spacing:.01em;justify-content:center;align-items:center;gap:10px;padding:0 12px;font-size:22px;font-weight:750;display:flex;position:relative}.month-picker svg{width:20px;color:var(--brand)}.month-picker input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.month-picker input:disabled{cursor:default}.current-month-button{justify-self:end}.summary-grid{grid-template-columns:1.15fr 1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.summary-card{min-width:0;min-height:178px;color:var(--ink);font:inherit;text-align:left;background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;padding:28px;overflow:hidden}.summary-card:not(:disabled){cursor:pointer}.summary-card:not(:disabled):hover{border-color:var(--focus);transform:translateY(-1px)}.summary-label{color:var(--muted);align-items:center;gap:9px;font-size:15px;font-weight:700;display:flex}.summary-label svg{width:19px;height:19px}.summary-card strong{font-variant-numeric:tabular-nums;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin-top:30px;font-size:clamp(25px,2.5vw,37px);font-weight:760;line-height:1.05;display:block;overflow:hidden}.summary-meta{color:var(--muted);align-items:baseline;gap:8px;margin-top:12px;font-size:13px;font-weight:700;line-height:1.35;display:flex}.summary-meta-value{font-variant-numeric:tabular-nums}.summary-balance{color:#fff;background:var(--brand);border-color:var(--brand);box-shadow:0 16px 38px #17483c29}.summary-balance .summary-label{color:#d8e8e2}.summary-balance .summary-meta{color:#d8e8e2db}.summary-income strong,.summary-income .summary-label svg{color:var(--income)}.summary-expense strong,.summary-expense .summary-label svg{color:var(--expense)}.ledger-backup-reminder{background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:24px;padding:18px 20px;display:grid}.ledger-backup-reminder-icon{width:42px;height:42px;color:var(--brand);background:var(--income-soft);border-radius:12px;place-items:center;display:grid}.ledger-backup-reminder-icon svg{width:21px;height:21px}.ledger-backup-reminder-copy h2,.ledger-backup-reminder-copy p{margin:0}.ledger-backup-reminder-copy h2{color:var(--ink);font-size:16px}.ledger-backup-reminder-copy p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.55}.ledger-backup-reminder .button{white-space:nowrap}.category-spending-panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;margin-bottom:24px;padding:24px 28px}.overview-monthly-review{margin-bottom:24px}.overview-monthly-review-heading{margin-bottom:12px}.overview-monthly-review-heading h2,.overview-monthly-review-heading p{margin:0}.overview-monthly-review-heading h2{color:var(--brand-strong);letter-spacing:-.02em;font-size:20px}.overview-monthly-review-heading p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5}.overview-review-tabs{background:var(--surface-soft);border:1px solid var(--line);scrollbar-width:thin;border-radius:12px;gap:4px;margin-bottom:12px;padding:4px;display:flex;overflow-x:auto}.overview-review-tabs button{min-height:44px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:none;padding:0 14px;font-size:13px;font-weight:750}.overview-review-tabs button:hover,.overview-review-tabs button.is-active{color:var(--brand);background:var(--surface);box-shadow:0 1px 4px #17483c1a}.overview-review-panel:focus-visible{outline-offset:3px;border-radius:18px;outline:3px solid #2f7e7047}.overview-review-panel>.category-spending-panel{margin-bottom:0}.category-spending-heading{align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.category-spending-heading-icon{width:42px;height:42px;color:var(--brand);background:var(--income-soft);border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.category-spending-heading-icon svg{width:22px;height:22px}.income-sources-heading-icon{color:var(--income);background:var(--income-soft)}.category-spending-switch{background:var(--surface-soft);border:1px solid var(--line);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));margin:-2px 0 16px;padding:3px;display:inline-grid}.category-spending-switch button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 13px;font-size:13px;font-weight:750}.category-spending-switch button[aria-pressed=true]{color:var(--brand);background:var(--surface);box-shadow:0 1px 4px #17483c1a}.category-spending-comparison-help{color:var(--muted);margin:-4px 0 14px;font-size:12px;line-height:1.5}.recurring-forecast-heading-icon{color:var(--warning);background:var(--warning-bg)}.recurring-forecast-totals,.monthly-plan-rollup{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;margin:0 0 16px;padding:0;display:grid;overflow:hidden}.recurring-forecast-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.monthly-plan-rollup{grid-template-columns:repeat(4,minmax(0,1fr))}.recurring-forecast-total,.monthly-plan-rollup-item{align-content:center;gap:5px;min-width:0;min-height:68px;padding:11px 14px;display:grid}.recurring-forecast-total+.recurring-forecast-total,.monthly-plan-rollup-item+.monthly-plan-rollup-item{border-left:1px solid var(--line)}.recurring-forecast-total dt,.monthly-plan-rollup-item dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:1.3}.recurring-forecast-total dd,.monthly-plan-rollup-item dd{min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:750;overflow:hidden}.recurring-forecast-total.income dd{color:var(--income)}.recurring-forecast-total.expense dd{color:var(--expense)}.recurring-forecast-periods{margin:0 0 18px}.recurring-forecast-periods-heading{margin:0 0 10px}.recurring-forecast-periods-heading h3{color:var(--ink);margin:0;font-size:15px}.recurring-forecast-periods-heading p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5}.recurring-forecast-period-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recurring-forecast-period{border:1px solid var(--line);border-radius:11px;grid-template-columns:minmax(142px,.7fr) minmax(0,2.3fr);min-width:0;display:grid;overflow:hidden}.recurring-forecast-period-range{min-width:0;color:var(--brand-strong);background:var(--surface-soft);border-right:1px solid var(--line);align-items:center;gap:4px;margin:0;padding:11px 12px;font-size:12px;font-weight:750;line-height:1.4;display:flex}.recurring-forecast-period-totals{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;margin:0;display:grid}.recurring-forecast-period-total{align-content:center;gap:4px;min-width:0;padding:9px 11px;display:grid}.recurring-forecast-period-total+.recurring-forecast-period-total{border-left:1px solid var(--line)}.recurring-forecast-period-total dt{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1.3}.recurring-forecast-period-total dd{min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:750;overflow:hidden}.recurring-forecast-period-total.income dd,.recurring-forecast-period-total dd.income{color:var(--income)}.recurring-forecast-period-total.expense dd,.recurring-forecast-period-total dd.expense{color:var(--expense)}.recurring-forecast-period-unavailable{color:var(--expense);align-self:center;margin:0;padding:11px 13px;font-size:11px;font-weight:650;line-height:1.45}.recurring-transfer-forecast{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.recurring-transfer-forecast-heading{margin:0 0 12px}.recurring-transfer-forecast-heading h3{color:var(--brand-strong);align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.recurring-transfer-forecast-heading h3 svg{width:17px}.recurring-transfer-forecast-heading p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.monthly-plan-rollup-item dd.expense{color:var(--expense)}.cash-flow-trend-heading-icon{color:#4b6f87;background:#eaf1f5}.monthly-plans-heading-icon{color:#7b5d24;background:#f7edce}.account-balances-heading-icon{color:#315f75;background:#e7f1f5}.net-worth-heading-icon{color:#426854;background:#e7f2eb}.net-worth-summary{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 18px;padding:0;display:grid}.net-worth-summary>div{min-width:0;padding:13px 14px}.net-worth-summary>div+div{border-left:1px solid var(--line)}.net-worth-summary dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.net-worth-summary dd{color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;font-weight:750;overflow:hidden}.net-worth-summary dd.is-positive{color:var(--income)}.net-worth-summary dd.is-negative{color:var(--expense)}.net-worth-trend-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.net-worth-trend-list li{border-bottom:1px solid var(--line)}.net-worth-trend-list button{width:100%;min-height:47px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(48px,auto) minmax(100px,1fr) minmax(110px,auto);align-items:center;gap:14px;padding:8px 10px;display:grid}.net-worth-trend-list button:hover,.net-worth-trend-list button:focus-visible,.net-worth-trend-list button.is-selected{background:var(--surface-soft)}.net-worth-trend-list button.is-selected time{color:var(--brand-strong)}.net-worth-trend-list time,.net-worth-trend-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.net-worth-trend-list time{font-size:12px;font-weight:700}.net-worth-trend-list strong{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.net-worth-bar-track{background:linear-gradient(to right, transparent calc(50% - .5px), var(--line-strong) calc(50% - .5px), var(--line-strong) calc(50% + .5px), transparent calc(50% + .5px));height:20px;display:block;position:relative}.net-worth-bar{border-radius:5px;height:8px;display:block;position:absolute;top:6px}.net-worth-bar.is-positive{background:#83b69b}.net-worth-bar.is-negative{background:#d49a94}.net-worth-bar.is-private{background:var(--line-strong)}.net-worth-history-note{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.5}.account-balances-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.account-balances-list>li{border-bottom:1px solid var(--line);padding:14px 0}.account-balances-list>li.is-inactive{opacity:.72}.account-balance-row{grid-template-columns:minmax(120px,.8fr) minmax(0,2fr) auto;align-items:center;gap:16px;display:grid}.account-balance-name,.account-balance-values div{min-width:0}.account-balance-name strong,.account-balance-name span,.account-balance-values dt,.account-balance-values dd{display:block}.account-balance-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.account-balance-name span,.account-balance-values dt,.account-balance-unavailable,.statement-comparison-result{color:var(--muted);font-size:12px}.account-balance-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0;margin:0;display:grid}.account-balance-values dt{margin-bottom:4px}.account-balance-values dd{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:750;overflow:hidden}.account-balance-values .account-balance-uncleared-count-label{margin-top:8px}.account-balance-values .account-balance-uncleared-count{color:var(--muted);font-size:12px;font-weight:600}.account-balance-unavailable{margin:0}.account-balance-actions{gap:8px;display:grid}.account-balance-actions .button{white-space:nowrap;justify-content:center}.emergency-fund-heading-icon{color:var(--warning);background:var(--warning-bg)}.emergency-fund-empty{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;justify-items:start;gap:12px;padding:18px;display:grid}.emergency-fund-empty strong,.emergency-fund-empty p{margin:0;display:block}.emergency-fund-empty p,.emergency-fund-note,.emergency-fund-unavailable,.emergency-fund-settings-unavailable{color:var(--muted);font-size:12px;line-height:1.6}.emergency-fund-empty p{margin-top:4px}.emergency-fund-body{gap:14px;display:grid}.emergency-fund-account{gap:3px;display:grid}.emergency-fund-account span,.emergency-fund-values dt,.emergency-fund-progress-copy span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.emergency-fund-values{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;display:grid;overflow:hidden}.emergency-fund-values>div{align-content:center;gap:5px;min-width:0;min-height:68px;padding:11px 14px;display:grid}.emergency-fund-values>div+div{border-left:1px solid var(--line)}.emergency-fund-values dd{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:750;overflow:hidden}.emergency-fund-progress-copy{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.emergency-fund-progress-copy strong{font-size:13px}.emergency-fund-progress-track{background:var(--line);border-radius:999px;height:10px;margin-top:-7px;overflow:hidden}.emergency-fund-progress-track.is-private{background:repeating-linear-gradient(135deg, var(--line) 0, var(--line) 7px, var(--line-strong) 7px, var(--line-strong) 14px)}.emergency-fund-progress-fill{background:var(--income);border-radius:inherit;width:0;height:100%;transition:width .18s;display:block}.emergency-fund-progress-track.is-private .emergency-fund-progress-fill{display:none}.emergency-fund-reached{color:var(--income);margin:-6px 0 0;font-size:12px;font-weight:700}.emergency-fund-note,.emergency-fund-unavailable{margin:0}.emergency-fund-manage{width:fit-content}.statement-comparison{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(180px,.6fr) minmax(0,1fr);align-items:end;gap:16px;margin-top:12px;padding:14px;display:grid}.statement-comparison label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.statement-comparison input{width:100%}.statement-comparison-result{align-items:center;min-height:42px;display:flex}.statement-comparison-result strong{color:var(--ink)}.statement-comparison-result .is-match{color:var(--income)}.statement-comparison-result .is-error{color:var(--expense)}.category-spending-heading h2,.category-spending-heading p{margin:0}.category-spending-heading h2{letter-spacing:-.02em;font-size:20px}.category-spending-heading p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5}.cash-flow-trend-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:6px 16px;margin:-2px 0 10px;padding:0;font-size:12px;font-weight:700;list-style:none;display:flex}.cash-flow-comparison{border:1px solid var(--line);border-radius:12px;margin:0 0 18px}.cash-flow-comparison header{border-bottom:1px solid var(--line);padding:12px 14px}.cash-flow-comparison h3,.cash-flow-comparison p{margin:0}.cash-flow-comparison h3{color:var(--ink);font-size:14px}.cash-flow-comparison p{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.45}.cash-flow-comparison dl{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;display:grid}.cash-flow-comparison dl>div{min-width:0;padding:11px 14px 12px}.cash-flow-comparison dl>div+div{border-left:1px solid var(--line)}.cash-flow-comparison dt{color:var(--muted);margin-bottom:3px;font-size:11px;font-weight:700}.cash-flow-comparison dd{min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:750}.cash-flow-trend-legend li{align-items:center;gap:6px;display:inline-flex}.cash-flow-trend-swatch{border-radius:3px;width:10px;height:10px}.cash-flow-trend-swatch.is-income,.cash-flow-trend-bar.is-income{background:var(--income)}.cash-flow-trend-swatch.is-expense,.cash-flow-trend-bar.is-expense{background:var(--expense)}.cash-flow-trend-swatch.is-unavailable,.cash-flow-trend-bar.is-unavailable{background:repeating-linear-gradient(135deg, var(--muted) 0 2px, transparent 2px 4px);border:1px solid var(--muted)}.cash-flow-trend-chart{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;height:190px;margin:0;padding:0;list-style:none;display:grid}.cash-flow-trend-chart li{min-width:0;height:100%}.cash-flow-trend-chart button{width:100%;min-width:44px;height:100%;color:var(--muted);background:0 0;border:0;border-radius:10px;grid-template-rows:minmax(0,1fr) auto;gap:8px;padding:8px 3px 4px;display:grid}.cash-flow-trend-chart button:hover,.cash-flow-trend-chart button:focus-visible,.cash-flow-trend-chart button.is-selected{background:var(--surface-soft)}.cash-flow-trend-chart button.is-selected{box-shadow:inset 0 0 0 1px var(--brand)}.cash-flow-trend-plot{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,16px));justify-content:center;align-items:flex-end;gap:3px;width:100%;min-height:0;display:grid}.cash-flow-trend-bar{border-radius:8px 8px 2px 2px;justify-self:center;width:100%;max-width:16px;display:block}.cash-flow-trend-bar.is-private{background:#afc8d5;border:0}.cash-flow-trend-chart time{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.cash-flow-trend-chart button.is-selected time{color:var(--brand-strong)}.category-spending-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.category-spending-list li{border-bottom:1px solid var(--line);min-width:0}.category-spending-row{width:100%;min-height:78px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;padding:14px 10px;display:grid}.category-spending-row:hover,.category-spending-row:focus-visible{background:var(--surface-soft)}.category-spending-name,.category-spending-amount{min-width:0;display:flex}.category-spending-name{align-items:center;gap:10px}.category-spending-name>span:last-child,.category-spending-amount{flex-direction:column}.category-spending-name strong,.category-spending-name small,.category-spending-amount strong,.category-spending-amount small{display:block}.category-spending-name strong,.category-spending-amount strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;overflow:hidden}.category-spending-name small,.category-spending-amount small{color:var(--muted);margin-top:3px;font-size:12px}.category-spending-dot{border-radius:999px;flex:0 0 10px;width:10px;height:10px}.recurring-forecast-rule-icon{border-radius:10px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.recurring-forecast-rule-icon.expense{color:var(--expense);background:var(--expense-soft)}.recurring-forecast-rule-icon.income{color:var(--income);background:var(--income-soft)}.recurring-forecast-rule-icon.transfer{color:var(--brand);background:var(--income-soft)}.recurring-forecast-rule-icon svg{width:16px;height:16px}.recurring-forecast-row{grid-template-rows:1fr}.recurring-forecast-row .category-spending-name>span:last-child{min-width:0}.recurring-forecast-row .category-spending-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recurring-forecast-row .category-spending-name .recurring-forecast-reference{overflow-wrap:anywhere;white-space:normal}.recurring-forecast-row .category-spending-amount strong.expense{color:var(--expense)}.recurring-forecast-row .category-spending-amount strong.income{color:var(--income)}.recurring-transfer-forecast-row .category-spending-amount strong{color:var(--ink)}.recurring-forecast-actions,.category-spending-actions{justify-content:flex-end;margin-top:14px;display:flex}.category-spending-amount{text-align:right;align-items:flex-end}.category-spending-track{background:var(--surface-strong);border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.category-spending-track>span{border-radius:inherit;height:100%;display:block}.monthly-plan-row .category-spending-amount strong.expense{color:var(--expense)}.monthly-plan-row .category-spending-track>span.is-over{background:var(--expense)}.category-spending-empty{min-height:116px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin:0;display:flex}.category-spending-empty strong{color:var(--ink)}.transactions-panel{background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-panel);border-radius:18px;overflow:hidden}.transactions-heading{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);align-items:center;gap:20px;min-height:94px;padding:20px 24px;display:grid}.transactions-heading h2{color:var(--brand-strong);letter-spacing:.01em;margin:0;font-size:25px;font-weight:760}.transactions-heading p{color:var(--muted);margin:4px 0 0;font-size:12px}.view-all-button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:0;display:none}.view-all-button svg{width:18px}.view-overview .view-all-button{display:flex}.view-overview .transaction-toolbar,.view-transactions .overview-region{display:none}.transaction-toolbar{grid-template-columns:minmax(220px,1fr) auto minmax(180px,220px);justify-self:stretch;align-items:start;gap:10px;width:100%;min-width:0;display:grid}.view-transactions .transactions-heading{grid-template-columns:minmax(0,1fr)}.view-transactions .transaction-toolbar{justify-self:stretch;width:100%}.transaction-toolbar>.search-field{grid-area:1/1;width:100%}.transaction-toolbar>.filter-group{grid-area:1/2}.transaction-toolbar>.transaction-date-scope{grid-area:1/3;width:100%}.transaction-toolbar>.transaction-active-filters,.transaction-toolbar>.transaction-custom-range{grid-column:1/-1}.transaction-toolbar-disclosure{min-width:0}.transaction-toolbar-disclosure[open]{grid-column:1/-1}.transaction-toolbar-disclosure>summary{min-height:44px;color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-size:13px;font-weight:750;list-style:none;display:flex}.transaction-toolbar-disclosure>summary::-webkit-details-marker{display:none}.transaction-toolbar-disclosure>summary:hover,.transaction-toolbar-disclosure.is-active>summary,.transaction-toolbar-disclosure[open]>summary{color:var(--brand);background:var(--income-soft);border-color:var(--brand)}.transaction-toolbar-disclosure>summary svg{width:17px;height:17px;transition:transform .16s}.transaction-toolbar-disclosure[open]>summary svg{transform:rotate(180deg)}.transaction-toolbar-disclosure-panel{background:color-mix(in srgb, var(--surface-soft) 78%, var(--surface));border:1px solid var(--line);border-radius:10px;margin-top:8px;padding:12px}.transaction-review-filters,.transaction-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.transaction-actions .transaction-export-status{text-align:left;flex:100%;order:4}.transaction-more-filters-disclosure .transaction-reference-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.transaction-more-filters-disclosure .transaction-amount-filter{grid-column:span 2;min-width:0}.transaction-preview-filter-notice{width:100%;min-width:0;color:var(--brand-strong);background:var(--income-soft);border:1px solid color-mix(in srgb, var(--brand) 34%, var(--line));border-radius:10px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.transaction-preview-filter-notice p{margin:0;font-size:12px;font-weight:650;line-height:1.45}.transaction-preview-filter-notice .button{white-space:nowrap;min-height:40px}.transaction-filter-summary{background:var(--line);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;width:100%;min-width:0;display:grid;overflow:hidden}.transaction-filter-summary-item{background:var(--surface-soft);flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:68px;padding:11px 14px;display:flex}.transaction-filter-summary-item span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.transaction-filter-summary-item strong{min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.saved-transaction-views{background:color-mix(in srgb, var(--surface-soft) 78%, var(--surface));border:1px solid var(--line);border-radius:12px;width:100%;min-width:0;padding:16px}.saved-transaction-views>summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.saved-transaction-views>summary::marker{color:var(--brand)}.saved-transaction-views-heading{gap:4px;min-width:0;display:grid}.saved-transaction-views-heading strong{color:var(--ink);font-size:16px}.saved-transaction-views-heading small{color:var(--muted);margin:0;font-size:12px;font-weight:500;line-height:1.45}.saved-transaction-view-empty,.saved-transaction-view-status{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.saved-transaction-views-count{color:var(--muted);flex:none;font-size:11px;font-weight:700}.saved-transaction-views-content{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.saved-transaction-view-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.saved-transaction-view-actions .button{min-height:42px}.saved-transaction-view-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;margin-top:14px;display:grid}.saved-transaction-view-form label{min-width:0;color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.saved-transaction-view-form input{width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;padding:10px 12px}.saved-transaction-view-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.saved-transaction-view{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;display:flex;overflow:hidden}.saved-transaction-view>button:first-child{text-align:left;background:0 0;border:0;flex-direction:column;flex:auto;justify-content:center;align-items:flex-start;gap:3px;min-width:0;min-height:58px;padding:9px 12px;display:flex}.saved-transaction-view>button:first-child:hover{background:var(--surface-soft)}.saved-transaction-view strong,.saved-transaction-view small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.saved-transaction-view strong{color:var(--ink);font-size:13px}.saved-transaction-view small{color:var(--muted);font-size:11px}.saved-transaction-view-delete{width:44px;min-width:44px;min-height:44px;color:var(--muted);border:0;border-left:1px solid var(--line);background:0 0;place-items:center;padding:0;display:grid}.saved-transaction-view-delete:hover{color:var(--danger);background:var(--surface-soft)}.saved-transaction-view-delete svg{width:16px}.saved-transaction-view-status{min-height:18px}.view-transactions .search-field{flex:260px;width:auto;min-width:220px}.search-field{width:auto;min-width:220px;min-height:44px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:10px;flex:260px;align-items:center;gap:9px;padding:0 12px;display:flex}.search-field svg{width:18px;min-width:18px}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:10px 0}.search-field:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #2f7e7024}.filter-group{gap:6px;display:flex}.filter-group button{min-width:56px;min-height:44px;color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;font-size:14px;font-weight:650}.filter-group button:hover,.filter-group button.is-active{color:var(--brand);background:var(--income-soft);border-color:var(--brand)}.transaction-duplicate-filter{white-space:nowrap;min-height:44px}.transaction-duplicate-filter.is-active{color:var(--warning);background:var(--warning-bg);border-color:var(--warning)}.transaction-follow-up-filter{white-space:nowrap;min-height:44px}.transaction-follow-up-filter.is-active{color:var(--brand);background:var(--income-soft);border-color:var(--brand)}.transaction-reference-filters{flex-wrap:wrap;flex:360px;align-items:center;gap:8px;min-width:0;display:flex}.transaction-reference-filter{flex:170px;min-width:0}.transaction-reference-filter select,.transaction-custom-range input{width:100%;min-height:44px;color:var(--ink);background-color:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:0 34px 0 12px;font-size:14px;font-weight:600}.transaction-reference-filter select:focus-visible,.transaction-custom-range input:focus-visible,.transaction-amount-filter input:focus-visible{border-color:var(--focus)}.transaction-amount-filter{flex:260px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-width:230px;display:grid}.transaction-amount-filter label{min-width:0}.transaction-amount-filter input{width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;font-size:14px;font-weight:600}.transaction-amount-filter .button{white-space:nowrap;min-height:44px}.transaction-amount-filter-error{min-height:16px;color:var(--danger);grid-column:1/-1;font-size:11px;font-weight:650}.transaction-custom-range{flex:2 320px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:300px;display:grid}.transaction-custom-range label{min-width:0;color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.transaction-custom-range input{min-width:0;padding:0 10px}.transaction-filter-clear{width:44px;min-width:44px;height:44px;color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.transaction-filter-clear:hover{color:var(--brand);border-color:var(--brand)}.transaction-filter-clear svg{width:18px}.transaction-tag-filter{min-height:44px;color:var(--brand);background:var(--income-soft);border:1px solid var(--brand);border-radius:999px;align-items:center;gap:7px;padding:0 11px 0 13px;font-size:13px;font-weight:750;display:inline-flex}.transaction-active-filters{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.transaction-tag-filter svg{width:15px;height:15px}.transaction-list{margin:0;padding:0;list-style:none}.transaction-bulk-toolbar{background:var(--surface-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:flex-end;align-items:center;gap:12px;padding:12px 24px;display:flex}.transaction-bulk-toolbar.is-active{justify-content:space-between}.transaction-selected-count{color:var(--brand);white-space:nowrap;font-size:13px;font-weight:750}.transaction-selection-limit{color:var(--muted);margin-right:auto;font-size:12px}.transaction-bulk-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.transaction-bulk-category{grid-template-columns:minmax(160px,220px) auto;gap:8px;display:grid}.transaction-bulk-import-review{grid-template-columns:minmax(180px,1fr) auto;gap:6px 8px;min-width:min(100%,320px);display:grid}.transaction-bulk-import-review label{min-width:0}.transaction-bulk-import-review select{width:100%;min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);font:inherit;border-radius:10px;padding:0 34px 0 11px;font-size:13px}.transaction-bulk-import-review small{color:var(--muted);grid-column:1/-1;font-size:11px;line-height:1.35}.transaction-bulk-category label{min-width:0}.transaction-bulk-category select{width:100%;min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);font:inherit;border-radius:10px;padding:0 34px 0 11px;font-size:13px}.transaction-bulk-toolbar .button{min-height:40px}.transaction-bulk-toolbar svg{width:17px;height:17px}.transaction-load-more{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:8px;padding:16px 24px 20px;display:flex}.transaction-load-more p{color:var(--muted);text-align:center;margin:0;font-size:12px}.transaction-load-more p:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.account-transfers{background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:14px;margin:0 24px 20px;overflow:hidden}.account-transfers-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.account-transfers-heading h3{color:var(--brand-strong);align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.account-transfers-heading h3 svg,.account-transfers-heading .button svg{width:18px;height:18px}.account-transfers-heading p,.account-transfers-limit{color:var(--muted);margin:4px 0 0;font-size:12px}.account-transfer-list{margin:0;padding:0;list-style:none}.account-transfer-list li+li{border-top:1px solid var(--line)}.account-transfer-row{width:100%;min-height:76px;color:inherit;text-align:left;font:inherit;background:0 0;border:0;grid-template-columns:40px minmax(180px,1fr) 130px minmax(110px,auto);align-items:center;gap:12px;padding:12px 18px;display:grid}.account-transfer-row:hover{background:var(--surface)}.account-transfer-row:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.transfer-icon{width:38px;height:38px;color:var(--brand);background:var(--income-soft);border-radius:50%;place-items:center;display:grid}.transfer-icon svg{width:19px;height:19px}.account-transfer-main{gap:4px;min-width:0;display:grid}.account-transfer-main strong,.account-transfer-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-transfer-main strong{color:var(--ink);font-size:14px}.account-transfer-main small{color:var(--expense);flex-wrap:wrap;gap:5px 10px;font-size:11px;display:flex}.account-transfer-main small .is-cleared{color:var(--income)}.account-transfer-main small .recurring-transfer-badge{color:var(--brand-strong);background:var(--income-soft);border-radius:999px;padding:2px 6px;font-weight:700}.account-transfer-note{color:var(--muted);font-size:11px}.account-transfer-row time{color:var(--muted);text-align:right;font-size:12px}.account-transfer-amount{color:var(--brand-strong);font-variant-numeric:tabular-nums;text-align:right;font-size:14px}.account-transfers-empty{min-height:90px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:18px;display:flex}.account-transfers-empty strong{color:var(--ink)}.account-transfers-limit{border-top:1px solid var(--line);padding:10px 18px}.account-register{padding:22px 24px 24px}.account-register-back{margin-bottom:18px}.account-register-heading{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.account-register-heading>span,.account-register-icon{color:var(--brand);background:var(--income-soft);border-radius:50%;flex:none;place-items:center;display:grid}.account-register-heading>span{width:44px;height:44px}.account-register-heading svg,.account-register-icon svg{width:20px;height:20px}.account-register-heading h2{color:var(--brand-strong);margin:0;font-size:25px}.account-register-heading p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.5}.account-register-heading-actions{flex:none;gap:8px;margin-left:auto;display:flex}.account-register-heading-actions .button{white-space:normal}.account-register-export-status{color:var(--income);text-align:right;margin:8px 0 -10px;font-size:12px;font-weight:700}.account-register-export-status:empty{display:none}.account-register-export-status.is-error{color:var(--expense)}.account-register-summary{background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0;padding:0;display:grid}.account-register-summary>div{min-width:0;padding:14px 16px}.account-register-summary>div+div{border-left:1px solid var(--line)}.account-register-summary dt{color:var(--muted);font-size:11px}.account-register-summary dd{overflow-wrap:anywhere;color:var(--ink);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:17px;font-weight:760}.account-reconciliation{background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:14px;margin:0 0 18px;padding:16px}.account-reconciliation>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.account-reconciliation h3,.account-reconciliation p{margin:0}.account-reconciliation h3{color:var(--brand-strong);font-size:17px}.account-reconciliation header p,.account-reconciliation-review p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5}.account-reconciliation>header>span{color:var(--brand-strong);background:var(--income-soft);border-radius:999px;flex:none;padding:5px 8px;font-size:10px;font-weight:750}.account-reconciliation-range{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:10px;margin-top:14px;display:grid}.account-reconciliation-range label{min-width:0;color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.account-reconciliation-range input{width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:0 10px;font-size:14px;font-weight:600}.account-reconciliation-range input:focus-visible{border-color:var(--focus)}.account-reconciliation-range .button{min-height:44px}.account-reconciliation-range-help,.account-reconciliation-status{color:var(--muted);font-size:11px;line-height:1.5;margin-top:8px!important}.account-reconciliation-status{border-top:1px solid var(--line);padding-top:12px}.account-reconciliation-balances{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:12px 0 0;padding:12px 0;display:grid}.account-reconciliation-balances div{min-width:0}.account-reconciliation-balances dt{color:var(--muted);font-size:11px}.account-reconciliation-balances dd{overflow-wrap:anywhere;color:var(--ink);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:15px;font-weight:750}.account-reconciliation .statement-comparison{background:0 0;border:0;padding-inline:0}.account-reconciliation-review{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:11px;display:flex}.account-reconciliation-review-copy{flex:340px;gap:10px;display:grid}.account-reconciliation-complete-review{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.account-reconciliation-complete-review p{color:var(--muted);flex:300px;margin:0;font-size:11px;line-height:1.5}.account-reconciliation-complete-review .button{white-space:normal;min-height:44px}.account-reconciliation-complete-review span{color:var(--muted);flex-basis:100%;font-size:11px}.account-reconciliation-complete-review span:empty{display:none}.account-reconciliation-complete-review span.is-error{color:var(--expense)}.account-reconciliation-filter{min-height:44px;color:var(--brand-strong);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex}.account-reconciliation-filter:has(input:focus-visible){outline-offset:2px;outline:3px solid #2f7e7047}.account-reconciliation-filter input{width:20px;height:20px;accent-color:var(--brand);margin:0}.account-register-boundary,.account-register-limit{color:var(--muted);background:var(--warning-bg);border:1px solid #ecd88c;border-radius:10px;margin:0 0 16px;padding:11px 13px;font-size:12px;line-height:1.5}.account-register-list{border:1px solid var(--line-strong);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.account-register-list li{grid-template-columns:minmax(0,1fr) 112px;display:grid}.account-register-list li+li{border-top:1px solid var(--line)}.account-register-list li>div.account-register-row:only-child{grid-column:1/-1}.account-register-row{width:100%;min-height:78px;color:inherit;text-align:left;font:inherit;background:0 0;border:0;grid-template-columns:42px minmax(180px,1fr) 125px minmax(170px,auto);align-items:center;gap:12px;padding:13px 16px;display:grid}button.account-register-row:hover{background:var(--surface-soft)}button.account-register-row.is-uncleared{background:var(--warning-bg);box-shadow:inset 4px 0 #d9b650}button.account-register-row.is-uncleared:hover{background:#fff4c7}button.account-register-row:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.account-register-clearing-toggle{min-width:0;color:var(--muted);border:0;border-left:1px solid var(--line);font:inherit;background:0 0;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:11px;font-weight:750;display:flex}.account-register-clearing-toggle:hover{background:var(--surface-soft)}.account-register-clearing-toggle.is-cleared{color:var(--income)}.account-register-clearing-toggle.is-uncleared{color:var(--expense);background:var(--warning-bg)}.account-register-clearing-toggle.is-uncleared:hover{background:#fff4c7}.account-register-clearing-toggle:focus-visible{z-index:1;outline:3px solid var(--focus);outline-offset:-3px}.account-register-clearing-toggle svg{flex:none;width:18px;height:18px}.account-register-icon{width:38px;height:38px}.account-register-icon.transfer{color:var(--brand-strong)}.account-register-main{gap:4px;min-width:0;display:grid}.account-register-main>strong,.account-register-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-register-main>strong{color:var(--ink);font-size:14px}.account-register-main small{color:var(--expense);flex-wrap:wrap;gap:5px 10px;font-size:11px;display:flex}.account-register-note,.account-register-row time{color:var(--muted);font-size:11px}.account-register-row time{text-align:right}.account-register-money{font-variant-numeric:tabular-nums;text-align:right;justify-items:end;gap:4px;min-width:0;display:grid}.account-register-money strong.income{color:var(--income)}.account-register-money strong.expense{color:var(--expense)}.account-register-money small{color:var(--muted);font-size:11px}.account-register-empty{min-height:150px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.account-register-empty strong{color:var(--ink)}.account-register-limit{margin:14px 0 0}.transaction-list-item{border-bottom:1px solid var(--line)}.transaction-list>li:last-child{border-bottom:0}.transaction-row{width:100%;min-height:78px;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:0;grid-template-columns:44px minmax(180px,1fr) 150px minmax(132px,auto);align-items:center;gap:14px;padding:14px 24px;display:grid}.transaction-row:hover{background:#fbfcfb}.transaction-row.is-selected{background:var(--income-soft)}.transaction-row[aria-disabled=true]{cursor:not-allowed;opacity:.64}.transaction-row:focus-visible{z-index:1;outline:3px solid var(--focus);outline-offset:-3px;position:relative}.category-icon{border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.category-icon svg{stroke-width:2px;width:20px;height:20px}.transaction-selection-indicator{color:#fff;background:var(--surface);border:2px solid var(--line-strong);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.transaction-selection-indicator.is-selected{background:var(--brand);border-color:var(--brand)}.transaction-selection-indicator svg{width:20px;height:20px}.transaction-main{flex-direction:column;gap:4px;min-width:0;display:flex}.transaction-main strong,.transaction-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-main strong{color:var(--ink);font-size:15px;font-weight:700}.transaction-main .transaction-title{align-items:center;gap:7px;display:flex}.transaction-title>span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.auto-generated-badge,.possible-duplicate-badge{border:1px solid;border-radius:999px;place-items:center;width:22px;min-width:22px;height:22px;display:inline-grid}.auto-generated-badge{color:var(--brand);background:var(--income-soft);border-color:#c2ddd3}.possible-duplicate-badge{color:var(--warning);background:var(--warning-bg);border-color:#decf91}.auto-generated-badge svg,.possible-duplicate-badge svg{stroke-width:2.4px;width:12px;height:12px}.transaction-main small,.transaction-row time{color:var(--muted);font-size:12px}.transaction-meta{align-items:center;gap:7px;display:flex}.transaction-meta>span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.transaction-clearing-status{border:1px solid var(--line-strong);border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-weight:750;line-height:1.2}.transaction-clearing-status.is-cleared{color:var(--brand);background:var(--income-soft);border-color:#c2ddd3}.transaction-clearing-status.is-uncleared{color:var(--muted);background:var(--surface-soft)}.transaction-import-review-status{border:1px solid var(--line-strong);border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-weight:750;line-height:1.2}.transaction-import-review-status.is-unreviewed{color:var(--muted);background:var(--surface-soft)}.transaction-import-review-status.is-needs_follow_up{color:var(--warning);background:var(--warning-bg);border-color:#decf91}.transaction-import-review-status.is-reviewed{color:var(--brand);background:var(--income-soft);border-color:#c2ddd3}.transaction-row time{white-space:nowrap}.transaction-amount{font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;justify-self:end;font-size:15px;font-weight:760}.transaction-amount.income{color:var(--income)}.transaction-amount.expense{color:var(--expense)}.transaction-tags{flex-wrap:wrap;gap:6px;margin-top:-7px;padding:0 24px 13px 82px;display:flex}.transaction-tags button{min-height:32px;color:var(--brand);background:var(--income-soft);border:1px solid #c2ddd3;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700}.transaction-tags button:hover,.transaction-tags button.is-active{color:#fff;background:var(--brand);border-color:var(--brand)}.transaction-empty{min-height:180px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px;display:flex}.transaction-empty strong{color:var(--ink)}.mobile-navigation{display:none}.dialog-open{overflow:hidden}.dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a251f9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.transaction-dialog{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:min(600px,100%);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 30px 100px #08231d59}.dialog-header{justify-content:space-between;align-items:center;padding:22px 24px 12px;display:flex}.dialog-header h2{color:var(--brand-strong);margin:0;font-size:24px;font-weight:760}.dialog-close{background:0 0;border-color:#0000}.transaction-dialog form{gap:16px;padding:10px 24px 24px;display:grid}.transaction-form-fields{border:0;gap:16px;min-inline-size:0;margin:0;padding:0;display:grid}.type-switch{border:1px solid var(--line-strong);border-radius:12px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.type-switch button{min-height:50px;color:var(--muted);background:var(--surface);border:0;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.type-switch button+button{border-left:1px solid var(--line-strong)}.type-switch button.is-active.expense{color:#fff;background:var(--expense)}.type-switch button.is-active.income{color:#fff;background:var(--income)}.type-switch svg{width:19px}.transaction-dialog label{color:var(--ink);gap:7px;font-size:13px;font-weight:650;display:grid}.transaction-dialog input,.transaction-dialog select,.transaction-dialog textarea{width:100%;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;outline:none;padding:10px 12px}.transaction-dialog textarea{resize:vertical;min-height:66px}.payee-suggestion-help,.transaction-note-help{color:var(--muted);font-size:11px;font-weight:500;line-height:1.45}.payee-suggestion-help.is-applied{color:var(--income);font-weight:650}.amount-field{gap:8px;padding:6px 2px 2px;display:grid}.amount-input-wrap{color:var(--brand);font-variant-numeric:tabular-nums;align-items:baseline;gap:9px;font-size:25px;font-weight:750;display:flex}.amount-input-wrap input{min-height:auto;color:var(--brand-strong);border:0;border-bottom:2px solid var(--line-strong);font-variant-numeric:tabular-nums;letter-spacing:-.04em;background:0 0;border-radius:0;padding:2px 0 6px;font-size:clamp(38px,8vw,50px);font-weight:760}.amount-input-wrap input:focus-visible{border-color:var(--focus);outline:none}.amount-calculator{grid-template-columns:repeat(5,44px);gap:6px;display:grid}.amount-calculator button{width:44px;min-height:44px;color:var(--brand-strong);background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:10px;padding:0;font-size:20px;font-weight:750}.amount-calculator button:hover,.amount-calculator button:focus-visible{background:var(--income-soft);border-color:var(--brand)}.amount-calculator button.is-equals{color:#fff;background:var(--brand);border-color:var(--brand)}.amount-calculator-help{color:var(--muted);font-size:11px;font-weight:500;line-height:1.45}.transaction-cleared-toggle{background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:10px;align-items:flex-start;padding:12px;gap:11px!important;display:flex!important}.transaction-dialog .transaction-cleared-toggle input{width:22px;min-width:22px;height:22px;min-height:22px;accent-color:var(--brand);margin:0}.transfer-form-help{color:var(--brand-strong);background:var(--income-soft);border:1px solid var(--brand);border-radius:10px;align-items:flex-start;gap:9px;margin:0;padding:11px 12px;font-size:12px;line-height:1.5;display:flex}.transfer-form-help svg{width:18px;min-width:18px;height:18px}.transfer-clearing-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.transfer-dialog-actions{justify-content:flex-end;display:flex}.transfer-dialog-actions .save-button{min-width:160px}.transaction-cleared-toggle>span{gap:3px;display:grid}.transaction-cleared-toggle strong{color:var(--brand-strong);font-size:13px}.transaction-cleared-toggle small{color:var(--muted);font-size:11px;font-weight:500;line-height:1.4}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-date-field{grid-column:1/-1}.form-error,.offline-form-note,.duplicate-form-note{border-radius:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.form-error{color:var(--error);background:var(--error-bg);border:1px solid #efc6c3}.offline-form-note{color:var(--warning);background:var(--warning-bg);border:1px solid #eadb9d}.duplicate-form-note{color:var(--ink);background:var(--surface-soft);border:1px solid var(--line)}.dialog-actions{gap:10px;padding-top:2px;display:flex}.dialog-actions .button{flex:1}.save-button{min-height:50px}.save-shortcut-hint{color:inherit;white-space:nowrap;background:#ffffff1f;border:1px solid #ffffff61;border-radius:5px;padding:2px 5px;font-family:inherit;font-size:10px;font-weight:650;line-height:1.2}.recurring-page{gap:18px;display:grid}.recurring-hero{color:#fff;background:radial-gradient(circle at 88% 18%, #ffffff21, transparent 27%), var(--brand);border-radius:20px;justify-content:space-between;align-items:end;gap:28px;padding:30px 32px;display:flex;box-shadow:0 18px 45px #17483c29}.recurring-hero-copy{max-width:620px}.recurring-hero h2{letter-spacing:-.025em;margin:0 0 6px;font-size:clamp(30px,4vw,43px);font-weight:780}.recurring-hero p{color:#d8e8e2;max-width:580px;margin:0;font-size:14px;line-height:1.65}.recurring-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.recurring-hero .button-secondary{color:#fff;background:#ffffff14;border-color:#ffffff80}.recurring-hero .button-secondary:hover:not(:disabled){background:#ffffff29}.recurring-hero .button-primary{color:var(--brand-strong);background:#fff;border-color:#fff}.recurring-surface-switch{background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,520px);padding:4px;display:grid}.recurring-surface-switch button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:750;display:inline-flex}.recurring-surface-switch button:hover,.recurring-surface-switch button.is-active{color:var(--brand);background:var(--income-soft)}.recurring-surface-switch svg{width:18px;height:18px}.recurring-status{min-height:48px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;line-height:1.45;display:flex}.recurring-status>svg{width:19px;min-width:19px}.recurring-status button{min-height:44px;color:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;margin-left:auto;padding:0 8px;font-weight:700;display:inline-flex}.recurring-status button svg{width:16px}.recurring-panel{background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-panel);border-radius:18px;overflow:hidden}.recurring-panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:86px;padding:18px 24px;display:flex}.recurring-panel-heading h3{color:var(--brand-strong);margin:0;font-size:23px;font-weight:760}.recurring-transfer-panel-heading h3,.recurring-transfer-panel-actions{align-items:center;gap:9px;display:flex}.recurring-transfer-panel-heading h3 svg,.recurring-transfer-panel-actions svg{width:19px}.recurring-transfer-panel-actions{flex-wrap:wrap;justify-content:flex-end}.recurring-transfer-status{margin:14px 24px}.recurring-panel-heading p{color:var(--muted);margin:4px 0 0;font-size:12px}.date-only-note{min-height:38px;color:var(--brand);background:var(--income-soft);border:1px solid #c2ddd3;border-radius:9px;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:700;display:inline-flex}.date-only-note svg{width:16px}.recurring-list{margin:0;padding:0;list-style:none}.recurring-rule{border-bottom:1px solid var(--line);grid-template-columns:minmax(250px,1fr) auto;gap:22px 28px;padding:24px;display:grid}.recurring-rule:last-child{border-bottom:0}.recurring-rule.is-paused,.recurring-rule.is-completed{background:var(--surface-soft)}.recurring-rule.is-overdue{background:linear-gradient(90deg, var(--error-bg), var(--surface) 42%)}.recurring-rule-main{align-items:center;gap:13px;min-width:0;display:flex}.recurring-rule-icon,.recurring-empty-icon,.confirmation-icon{border-radius:14px;place-items:center;display:grid}.recurring-rule-icon{width:48px;min-width:48px;height:48px}.recurring-rule-icon.expense{color:var(--expense);background:var(--expense-soft)}.recurring-rule-icon.income{color:var(--income);background:var(--income-soft)}.recurring-rule-icon.transfer{color:var(--brand);background:var(--income-soft)}.recurring-rule-icon svg{width:22px}.recurring-rule-title{grid-template-columns:auto 1fr;align-items:center;gap:3px 9px;min-width:0;display:grid}.recurring-rule-title strong,.recurring-rule-title small{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.recurring-rule-title strong{color:var(--ink);font-size:17px}.recurring-rule-title small{color:var(--muted);font-size:12px}.rule-status{border-radius:999px;grid-column:1/-1;justify-self:start;padding:3px 7px;font-size:10px;font-weight:750}.rule-status.is-active{color:var(--income);background:var(--income-soft)}.rule-status.is-overdue{color:var(--error);background:var(--error-bg)}.rule-status.is-due-today{color:var(--warning);background:var(--warning-bg)}.rule-status.is-due-soon{color:var(--brand);background:var(--income-soft)}.rule-status.is-paused,.rule-status.is-completed{color:var(--muted);background:#e8ecea}.recurring-due-summary{color:var(--warning);align-items:center;gap:6px;font-weight:700;display:flex}.recurring-due-summary svg{width:15px;height:15px}.recurring-rule-amount{flex-direction:column;justify-content:center;align-items:end;min-width:150px;display:flex}.recurring-rule-amount span{color:var(--muted);font-size:11px}.recurring-rule-amount strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;margin-top:4px;font-size:20px}.recurring-rule-amount strong.income{color:var(--income)}.recurring-rule-amount strong.expense{color:var(--expense)}.recurring-rule-amount strong.transfer{color:var(--brand-strong)}.recurring-rule-details{grid-template-columns:minmax(70px,.8fr) minmax(80px,.9fr) minmax(80px,1fr) minmax(130px,1.6fr) minmax(70px,.7fr);gap:12px 18px;margin:0;padding:0;display:grid}.recurring-rule-details div{min-width:0}.recurring-rule-details dt{color:var(--muted);font-size:10px;font-weight:700}.recurring-rule-details dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:12px;font-weight:650;overflow:hidden}.recurring-amount-review{color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px;display:grid}.recurring-amount-review>svg{width:18px;color:var(--muted)}.recurring-amount-review strong,.recurring-amount-review p,.recurring-amount-review small{display:block}.recurring-amount-review p{margin:4px 0;font-size:12px;font-weight:650}.recurring-amount-review small{color:var(--muted);line-height:1.45}.recurring-rule-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.recurring-rule-actions .button{padding:0 12px}.recurring-delete-button{color:var(--error);background:0 0;border-color:#e5b7b4}.recurring-delete-button:hover:not(:disabled){background:var(--error-bg)}.rule-error{color:var(--error);background:var(--error-bg);border-radius:9px;grid-column:1/-1;align-items:center;gap:7px;margin:-8px 0 0;padding:9px 11px;font-size:12px;display:flex}.recurring-rule-details .recurring-transfer-note-detail{grid-column:1/-1}.recurring-rule-details .recurring-transfer-note-detail dd{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;overflow:visible}.rule-error svg{width:16px;min-width:16px}.recurring-empty{min-height:260px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:36px;display:flex}.recurring-empty strong{color:var(--ink);font-size:18px}.recurring-empty .button{margin-top:10px}.recurring-empty-icon{width:52px;height:52px;color:var(--brand);background:var(--income-soft);margin-bottom:5px}.recurring-transfer-empty{min-height:210px}.recurring-rule-dialog{width:min(680px,100%)}.recurring-amount-field small{color:var(--muted);font-size:11px;font-weight:500}.recurring-form-grid .form-date-field{grid-column:auto}.schedule-note{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;margin:-4px 0 0;padding:10px 12px;font-size:12px;line-height:1.55}.active-toggle{background:var(--income-soft);border:1px solid #c2ddd3;border-radius:10px;align-items:flex-start;padding:12px;gap:11px!important;display:flex!important}.transaction-dialog .active-toggle input{width:22px;min-width:22px;height:22px;min-height:22px;accent-color:var(--brand);margin:0}.active-toggle>span{gap:3px;display:grid}.active-toggle strong{color:var(--brand-strong);font-size:13px}.active-toggle small{color:var(--muted);font-size:11px;font-weight:500;line-height:1.4}.ai-draft-review-toggle{color:var(--ink);background:var(--warning-bg);border:1px solid #eadb9d;border-radius:10px;align-items:flex-start;padding:12px;font-size:12px;font-weight:650;line-height:1.5;gap:10px!important;display:flex!important}.transaction-dialog .ai-draft-review-toggle input{width:20px;min-width:20px;height:20px;min-height:20px;accent-color:var(--brand);margin:0}.confirmation-dialog{width:min(440px,100%);color:var(--ink);background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:18px;padding:28px;position:relative;box-shadow:0 30px 100px #08231d59}.confirmation-close{position:absolute;top:14px;right:14px}.confirmation-icon{width:52px;height:52px;color:var(--error);background:var(--error-bg);margin:4px auto 16px}.confirmation-icon svg{width:24px}.confirmation-dialog h2{color:var(--brand-strong);margin:0;font-size:22px}.confirmation-dialog p{color:var(--muted);margin:10px 0 22px;font-size:13px;line-height:1.6}.confirmation-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.settings-page{gap:18px;max-width:880px;margin:0 auto;display:grid}.settings-category-navigation{background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:5px;display:grid}.settings-category-button{min-width:0;min-height:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:750;line-height:1.25}.settings-category-button:hover,.settings-category-button.is-selected{color:var(--brand);background:var(--surface);border-color:var(--line);box-shadow:0 2px 8px #17483c14}.settings-category-content,.settings-category-pane{gap:18px;min-width:0;display:grid}.settings-category-pane[hidden]{display:none}.settings-hero{color:#fff;background:radial-gradient(circle at 88% 18%, #ffffff21, transparent 27%), var(--brand);border-radius:20px;align-items:center;gap:18px;padding:30px 32px;display:flex;box-shadow:0 18px 45px #17483c29}.settings-hero-icon{width:56px;min-width:56px;height:56px;color:var(--brand-strong);background:#fff;border-radius:16px;place-items:center;display:grid}.settings-hero-icon svg{width:27px;height:27px}.settings-hero h2{letter-spacing:-.025em;margin:0 0 5px;font-size:clamp(30px,4vw,43px);font-weight:780}.settings-hero p{color:#d8e8e2;margin:0;font-size:14px;line-height:1.6}.settings-panel{background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-panel);border-radius:18px;padding:26px}.settings-panel-heading{border-bottom:1px solid var(--line);padding-bottom:20px}.settings-panel-heading h3{color:var(--brand-strong);margin:0;font-size:23px;font-weight:760}.settings-panel-heading p{max-width:690px;color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.6}.emergency-fund-settings-heading{align-items:flex-start;gap:12px;display:flex}.emergency-fund-form{gap:16px;padding-top:22px;display:grid}.emergency-fund-form fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;display:grid}.ledger-currency-form fieldset{grid-template-columns:minmax(0,520px)}.emergency-fund-form label{color:var(--ink);gap:7px;font-size:13px;font-weight:650;display:grid}.emergency-fund-form label small{color:var(--muted);font-size:11px;font-weight:500;line-height:1.5}.emergency-fund-form-actions{flex-wrap:wrap;gap:10px;display:flex}.emergency-fund-settings-unavailable,.emergency-fund-feedback{margin:0}.emergency-fund-feedback{min-height:18px;color:var(--income);font-size:12px;font-weight:700}.emergency-fund-feedback.is-error{color:var(--expense)}.ecb-reference-rates-body{gap:16px;padding-top:22px;display:grid}.ecb-reference-rates-empty{color:var(--muted);margin:0;font-size:13px}.ecb-reference-rates-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.ecb-reference-rates-list li{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:4px;padding:12px;display:grid}.ecb-reference-rates-list strong{color:var(--ink);font-size:13px}.ecb-reference-rates-list span{color:var(--muted);font-size:11px}.language-fieldset{border:0;margin:0;padding:22px 0 0}.language-fieldset legend{color:var(--ink);padding:0;font-size:16px;font-weight:750}.language-options-label{color:var(--muted);margin-top:4px;font-size:12px;display:block}.language-options{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.language-option{min-width:0;min-height:72px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line-strong);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:background-color .16s,border-color .16s,box-shadow .16s;display:flex;position:relative}.language-option:hover{background:var(--income-soft);border-color:var(--focus)}.language-option.is-selected{background:var(--income-soft);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.language-option input{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.language-option:has(input:focus-visible){outline-offset:2px;outline:3px solid #2f7e7047}.language-option-copy{gap:3px;min-width:0;display:grid}.language-option-copy strong{color:var(--brand-strong);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.language-option-copy small{color:var(--muted);font-size:11px;font-weight:600}.language-option-check{color:#0000;background:var(--surface);border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:28px;min-width:28px;height:28px;margin-left:auto;display:grid}.language-option.is-selected .language-option-check{color:#fff;background:var(--brand);border-color:var(--brand)}.language-option-check svg{stroke-width:2.6px;width:16px;height:16px}.privacy-mode-option{background:var(--surface-soft);border:1px solid var(--line-strong);cursor:pointer;border-radius:12px;align-items:center;gap:14px;min-height:76px;margin-top:16px;padding:14px;transition:background-color .16s,border-color .16s,box-shadow .16s;display:flex;position:relative}.privacy-mode-option:hover,.privacy-mode-option.is-selected{background:var(--income-soft);border-color:var(--brand)}.privacy-mode-option.is-selected{box-shadow:inset 0 0 0 1px var(--brand)}.privacy-mode-option>input{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.privacy-mode-option:has(input:focus-visible){outline-offset:2px;outline:3px solid #2f7e7047}.privacy-mode-copy{gap:4px;min-width:0;display:grid}.privacy-mode-copy strong{color:var(--brand-strong);font-size:15px}.privacy-mode-copy small{color:var(--muted);font-size:12px;font-weight:500;line-height:1.5}.privacy-mode-switch{background:var(--line-strong);border-radius:999px;align-items:center;width:46px;min-width:46px;height:26px;margin-left:auto;padding:3px;transition:background-color .16s;display:flex}.privacy-mode-switch>span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;box-shadow:0 2px 6px #18312c2e}.privacy-mode-option.is-selected .privacy-mode-switch{background:var(--brand)}.privacy-mode-option.is-selected .privacy-mode-switch>span{transform:translate(20px)}.settings-privacy-note{min-height:48px;color:var(--brand);background:var(--income-soft);border:1px solid #c2ddd3;border-radius:10px;align-items:flex-start;gap:9px;margin-top:18px;padding:12px;font-size:12px;line-height:1.55;display:flex}.settings-privacy-note svg{width:18px;min-width:18px;height:18px}.settings-save-status{min-height:20px;color:var(--income);margin:8px 0 -4px;font-size:12px;font-weight:700}.reference-settings-heading{align-items:flex-start;gap:12px;display:flex}.reference-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:22px;display:grid}.reference-group{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;min-width:0;padding:16px}.reference-group-heading{align-items:flex-start;gap:10px;display:flex}.reference-group-heading>svg{width:20px;min-width:20px;height:20px;color:var(--brand)}.reference-group-heading h4{color:var(--brand-strong);margin:0;font-size:16px}.reference-group-heading p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5}.reference-create-form,.reference-editor{gap:10px;padding:14px 0;display:grid}.reference-create-form label,.reference-editor label{color:var(--ink);gap:6px;font-size:12px;font-weight:650;display:grid}.reference-create-form label small,.reference-editor label small{color:var(--muted);font-size:10px;font-weight:450;line-height:1.45}.reference-create-form input,.reference-create-form select,.reference-editor input,.reference-editor select{width:100%;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;outline:none;padding:9px 11px}.reference-create-form input:focus-visible,.reference-create-form select:focus-visible,.reference-editor input:focus-visible,.reference-editor select:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px #2f7e702e}.reference-create-form>.button{width:100%}.reference-list{border-top:1px solid var(--line);max-height:430px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.reference-list>li{border-bottom:1px solid var(--line)}.reference-row{justify-content:space-between;align-items:center;gap:10px;padding:11px 2px;display:flex}.reference-row-copy{gap:3px;min-width:0;display:grid}.reference-row-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.reference-row-copy span{color:var(--muted);font-size:10px}.reference-row-actions,.reference-editor-actions{flex:none;gap:6px;display:flex}.reference-row-actions{flex-wrap:wrap;justify-content:flex-end}.reference-row-actions .button{min-height:36px;padding:7px 9px;font-size:11px}.reference-row-actions svg{width:14px;height:14px}.reference-row-actions .reference-order-button{width:36px;min-width:36px;padding-inline:8px}.reference-editor{background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;margin-bottom:10px;padding:12px}.reference-editor-actions .button{flex:1}.reference-history-help,.reference-unavailable{color:var(--brand);background:var(--income-soft);border:1px solid #c2ddd3;border-radius:10px;margin:16px 0 0;padding:11px 12px;font-size:11px;line-height:1.55}.reference-feedback{min-height:20px;color:var(--income);margin:8px 0 -4px;font-size:12px;font-weight:700}.reference-feedback.is-error{color:var(--expense)}.settings-update-form{gap:16px;padding-top:22px;display:grid}.settings-update-form label{color:var(--ink);gap:7px;font-size:13px;font-weight:650;display:grid}.settings-update-form select{width:100%;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;outline:none;padding:10px 12px}.settings-update-form small{color:var(--muted);font-size:11px;font-weight:500;line-height:1.55}.settings-update-actions,.settings-support-actions{flex-wrap:wrap;gap:10px;display:flex}.settings-update-status{min-height:20px;color:var(--brand);margin:-4px 0 0;font-size:12px;font-weight:700}.settings-support-actions{margin-top:22px}.settings-support-link{width:fit-content;text-decoration:none}.ledger-backup-heading{align-items:flex-start;gap:12px;display:flex}.ledger-backup-unavailable{color:var(--warning);background:var(--warning-bg);border:1px solid #ead99d;border-radius:10px;margin:18px 0 0;padding:11px 12px;font-size:12px;line-height:1.55}.ledger-backup-health{background:var(--income-soft);border:1px solid #267e7047;border-radius:12px;margin-top:18px;padding:14px}.ledger-backup-health.is-due{background:var(--warning-bg);border-color:#ead99d}.ledger-backup-health-heading{align-items:flex-start;gap:9px;display:flex}.ledger-backup-health-heading>svg{width:20px;min-width:20px;height:20px;color:var(--income)}.ledger-backup-health.is-due .ledger-backup-health-heading>svg{color:var(--warning)}.ledger-backup-health-heading h4{color:var(--brand-strong);margin:0;font-size:12px;line-height:1.5}.ledger-backup-health-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 0;display:grid}.ledger-backup-health-dates>div{background:var(--surface);border:1px solid var(--line);border-radius:9px;min-width:0;padding:9px 10px}.ledger-backup-health-dates dt{color:var(--muted);font-size:10px;font-weight:700}.ledger-backup-health-dates dd{color:var(--ink);margin:4px 0 0;font-size:12px;line-height:1.4}.ledger-backup-health>p{color:var(--muted);margin:9px 0 0;font-size:10px;line-height:1.5}.ledger-backup-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:22px;display:grid}.ledger-backup-action{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;flex-direction:column;min-width:0;padding:16px;display:flex}.ledger-backup-action h4,.ledger-restore-report h4{color:var(--brand-strong);margin:0;font-size:16px}.ledger-backup-action>p{min-height:68px;color:var(--muted);margin:6px 0 14px;font-size:11px;line-height:1.55}.ledger-backup-action>.button{width:100%;margin-top:auto}.ledger-backup-file{min-width:0;min-height:42px;color:var(--brand-strong);background:var(--surface);border:1px dashed var(--line-strong);text-align:center;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:9px;margin:0 0 10px;padding:10px 12px;font-size:12px;font-weight:700;display:block;position:relative;overflow:hidden}.ledger-backup-file:hover{border-color:var(--focus)}.ledger-backup-file:has(input:focus-visible){outline-offset:2px;outline:3px solid #2f7e702e}.ledger-backup-file:has(input:disabled){cursor:not-allowed;opacity:.55}.ledger-backup-file input{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.ledger-restore-report{background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:14px;margin-top:18px;padding:18px}.ledger-restore-report-heading{align-items:flex-start;gap:11px;display:flex}.ledger-restore-report-heading>svg{width:22px;min-width:22px;height:22px;color:var(--income)}.ledger-restore-report-heading p{color:var(--income);margin:4px 0 0;font-size:11px;font-weight:650}.ledger-restore-metadata{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:10px;margin:16px 0;display:grid}.ledger-restore-metadata>div{background:var(--surface);border:1px solid var(--line);border-radius:9px;min-width:0;padding:10px}.ledger-restore-metadata>div.is-changing{background:var(--warning-bg);border-color:#decf91}.ledger-restore-metadata dt{color:var(--muted);font-size:10px;font-weight:700}.ledger-restore-metadata dd{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:12px;overflow:hidden}.ledger-restore-metadata code{font-size:10px}.ledger-restore-metadata>div.is-changing dd{color:var(--warning);font-weight:760}.ledger-restore-counts{border-spacing:0;border:1px solid var(--line);border-radius:10px;width:100%;overflow:hidden}.ledger-restore-counts th,.ledger-restore-counts td{border-bottom:1px solid var(--line);text-align:right;padding:9px 10px;font-size:11px}.ledger-restore-counts th:first-child{text-align:left}.ledger-restore-counts thead th{color:var(--muted);background:var(--surface);font-weight:700}.ledger-restore-counts tbody th{color:var(--ink);font-weight:650}.ledger-restore-counts tbody tr:last-child th,.ledger-restore-counts tbody tr:last-child td{border-bottom:0}.ledger-restore-currency-warning{color:var(--warning);background:var(--warning-bg);border:1px solid #decf91;border-radius:11px;gap:12px;margin-top:16px;padding:14px;display:flex}.ledger-restore-currency-warning>svg{width:22px;min-width:22px;height:22px}.ledger-restore-currency-warning>div{gap:5px;display:grid}.ledger-restore-currency-warning strong{color:var(--ink);font-size:12px;line-height:1.5}.ledger-restore-currency-warning p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.ledger-restore-danger{color:var(--expense);background:var(--expense-soft);border:1px solid #e6bbb7;border-radius:11px;gap:12px;margin-top:16px;padding:14px;display:flex}.ledger-restore-danger>svg{width:22px;min-width:22px;height:22px}.ledger-restore-danger>div{gap:12px;min-width:0;display:grid}.ledger-restore-danger strong{font-size:12px;line-height:1.55}.ledger-restore-danger label{color:var(--ink);gap:6px;font-size:12px;font-weight:700;display:grid}.ledger-restore-danger input{width:100%;min-height:42px;color:var(--ink);background:var(--surface);border:1px solid #d99f9a;border-radius:9px;outline:none;padding:9px 11px}.ledger-restore-danger input:focus-visible{border-color:var(--expense);box-shadow:0 0 0 3px #b14b462e}.ledger-restore-danger small{color:var(--muted);font-size:10px;font-weight:500}.ledger-restore-danger .button{width:fit-content}.ledger-backup-status{min-height:20px;color:var(--income);margin:10px 0 -4px;font-size:12px;font-weight:700}.ledger-backup-status.is-error{color:var(--expense)}.ai-copilot-button,.csv-import-button,.export-button{white-space:nowrap;flex:none}.export-button{text-decoration:none}.transaction-export-status{width:100%;color:var(--income);text-align:right;margin:0;font-size:12px;font-weight:700}.transaction-export-status:empty{display:none}.transaction-export-status.is-error{color:var(--expense)}.ai-settings-heading{align-items:flex-start;gap:12px;display:flex}.settings-panel-icon{width:42px;min-width:42px;height:42px;color:var(--brand);background:var(--income-soft);border-radius:11px;place-items:center;display:grid}.settings-panel-icon svg{width:21px;height:21px}.ai-settings-form,.bank-import-form{gap:16px;padding-top:22px;display:grid}.ai-settings-form label,.bank-import-form label,.ai-draft-fields label{color:var(--ink);gap:7px;font-size:13px;font-weight:650;display:grid}.ai-settings-form label>small,.bank-import-form label>small{color:var(--muted);font-size:11px;font-weight:500;line-height:1.55}.ai-settings-form input,.bank-import-form input,.bank-import-form select,.bank-import-form textarea,.ai-draft-fields input,.ai-draft-fields select{width:100%;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;outline:none;padding:10px 12px}.bank-import-form textarea{resize:vertical;min-height:150px}.ai-statement-input-wrap{display:block;position:relative}.ai-statement-privacy-cover{z-index:1;color:var(--muted);background:var(--surface);pointer-events:none;border-radius:9px;place-items:center;padding:12px;font-size:13px;font-weight:700;display:grid;position:absolute;inset:1px}.ai-byte-count{font-variant-numeric:tabular-nums;justify-self:end}.ai-key-input{display:block;position:relative}.ai-key-input>svg{width:18px;height:18px;color:var(--muted);pointer-events:none;position:absolute;top:13px;left:12px}.ai-key-input input{padding-left:40px}.ai-settings-actions{flex-wrap:wrap;gap:10px;display:flex}.bank-import-panel,.ai-copilot-panel{background:var(--surface-soft);border-bottom:1px solid var(--line);padding:24px}.ai-copilot-heading,.ai-copilot-heading-copy,.ai-copilot-section-heading,.ai-copilot-form-footer,.ai-copilot-response-heading{align-items:flex-start;gap:14px;display:flex}.ai-copilot-heading,.ai-copilot-section-heading,.ai-copilot-form-footer{justify-content:space-between}.ai-copilot-heading-copy{min-width:0}.ai-copilot-mark,.ai-copilot-insight-icon{color:var(--brand);background:var(--income-soft);border-radius:12px;flex:none;place-items:center;display:grid}.ai-copilot-mark{width:44px;height:44px}.ai-copilot-mark svg{width:22px;height:22px}.ai-copilot-heading h3,.ai-copilot-section-heading h4,.ai-copilot-response h5,.ai-copilot-response h6,.ai-copilot-insight h5{color:var(--brand-strong);margin:0}.ai-copilot-heading h3{font-size:21px}.ai-copilot-heading p,.ai-copilot-section-heading p,.ai-copilot-response-actions>p,.ai-copilot-insight p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.ai-copilot-availability,.ai-copilot-loading,.ai-copilot-privacy-note{align-items:center;gap:9px;display:flex}.ai-copilot-availability{color:var(--warning);background:var(--warning-bg);border:1px solid #eadb9d;border-radius:10px;margin-top:16px;padding:11px 12px;font-size:12px}.ai-copilot-availability svg,.ai-copilot-loading svg,.ai-copilot-privacy-note svg,.ai-copilot-response-heading svg{width:18px;min-width:18px;height:18px}.ai-copilot-insights,.ai-copilot-conversation{background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;margin-top:18px;padding:18px}.ai-copilot-section-heading h4{font-size:16px}.ai-copilot-import-shortcut{flex:none}.ai-copilot-loading,.ai-copilot-empty{color:var(--muted);margin:16px 0 0;font-size:12px}.ai-copilot-inline-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.ai-copilot-inline-error .form-error{margin:0}.ai-copilot-insight-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px;display:grid}.ai-copilot-insight{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:14px;display:grid}.ai-copilot-insight.is-warning{border-color:#eadb9d}.ai-copilot-insight-icon{border-radius:10px;width:34px;height:34px}.ai-copilot-insight.is-warning .ai-copilot-insight-icon{color:var(--warning);background:var(--warning-bg)}.ai-copilot-insight-icon svg{width:17px;height:17px}.ai-copilot-insight .button{min-height:36px;margin-top:12px}.ai-copilot-quick-prompts,.ai-copilot-action-list{flex-wrap:wrap;gap:8px;display:flex}.ai-copilot-quick-prompts{margin-top:14px}.ai-copilot-quick-prompts button{min-height:36px;color:var(--brand-strong);background:var(--income-soft);font:inherit;border:1px solid #c2ddd3;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.ai-copilot-quick-prompts button:not(:disabled):hover{border-color:var(--brand)}.ai-copilot-form{gap:9px;margin-top:16px;display:grid}.ai-copilot-form>label{color:var(--ink);font-size:13px;font-weight:650}.ai-copilot-form textarea{width:100%;min-height:112px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line-strong);font:inherit;resize:vertical;border-radius:10px;padding:11px 12px}.ai-copilot-form textarea:focus-visible{border-color:var(--focus);outline:3px solid #1e735724}.ai-copilot-preview{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;overflow:hidden}.ai-copilot-preview>summary{color:var(--brand-strong);cursor:pointer;padding:11px 12px;font-size:12px;font-weight:720}.ai-copilot-preview-content{color:var(--muted);gap:12px;padding:0 12px 12px;font-size:11px;line-height:1.55;display:grid}.ai-copilot-preview-content p,.ai-copilot-preview-content h5,.ai-copilot-preview-content ul{margin:0}.ai-copilot-preview-content h5{color:var(--ink);font-size:12px}.ai-copilot-preview-content ul{padding-left:18px}.ai-copilot-preview-excluded{color:var(--brand-strong);background:var(--income-soft);border-radius:8px;padding:9px 10px;font-weight:650}.ai-copilot-review-toggle{color:var(--ink);align-items:flex-start;gap:9px;font-size:12px;font-weight:650;line-height:1.5;display:flex}.ai-copilot-review-toggle input{width:18px;min-width:18px;height:18px;accent-color:var(--brand);margin:0}.ai-copilot-form-footer{align-items:center;gap:12px}.ai-copilot-privacy-note{max-width:620px;color:var(--muted);font-size:11px;line-height:1.5}.ai-copilot-privacy-note svg{color:var(--brand)}.ai-copilot-response{background:var(--income-soft);border:1px solid #c2ddd3;border-radius:12px;margin-top:16px;padding:16px}.ai-copilot-response-heading{align-items:center;gap:8px}.ai-copilot-reply{color:var(--ink);white-space:pre-wrap;margin:10px 0 0;line-height:1.65}.ai-copilot-response-actions{border-top:1px solid #b7d6cb;margin-top:14px;padding-top:14px}.ai-copilot-evidence{border-top:1px solid #b7d6cb;margin-top:12px;padding-top:12px}.ai-copilot-evidence ul,.ai-copilot-evidence p{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.55}.ai-copilot-evidence ul{padding-left:18px}.ai-copilot-action-list{margin-top:10px}.ai-copilot-action{min-height:42px;color:var(--brand-strong);text-align:left;background:var(--surface);font:inherit;border:1px solid #a9cdbf;border-radius:10px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:720;display:flex}.ai-copilot-action.is-draft{border-style:dashed}.ai-copilot-action svg{width:17px;min-width:17px;height:17px}.ai-copilot-action-copy{gap:2px;display:grid}.ai-copilot-action-copy small{color:var(--muted);font-size:10px;font-weight:600}.bank-import-heading,.ai-draft-review-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.bank-import-heading h3,.ai-draft-review-heading h4{color:var(--brand-strong);margin:0;font-size:21px;font-weight:760}.bank-import-heading p,.ai-draft-review-heading p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.ai-configure-notice{color:var(--warning);background:var(--warning-bg);border:1px solid #eadb9d;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:12px 14px;display:flex}.ai-configure-notice p{margin:0;font-size:13px;line-height:1.5}.bank-import-options{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ai-import-advanced{border:1px solid var(--line);border-radius:10px;align-self:end}.ai-import-advanced>summary,.ai-draft-details>summary{min-height:44px;color:var(--brand);cursor:pointer;padding:11px 13px;font-size:12px;font-weight:700}.ai-import-advanced>summary:focus-visible,.ai-draft-details>summary:focus-visible{outline-offset:2px;outline:3px solid #2f7e7047}.ai-import-advanced>label{padding:0 12px 12px}.ai-byte-count.is-error{color:var(--error);font-weight:700}.ai-provider-warning{color:var(--brand);background:var(--income-soft);border:1px solid #c2ddd3;border-radius:10px;align-items:flex-start;gap:9px;padding:11px 12px;font-size:12px;line-height:1.55;display:flex}.ai-provider-warning svg{width:18px;min-width:18px;height:18px}.bank-import-form>.button-primary{justify-self:start}.ai-draft-review{border-top:1px solid var(--line-strong);margin-top:24px;padding-top:24px}.ai-draft-review-heading>span{color:var(--brand);background:var(--income-soft);border:1px solid #c2ddd3;border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:700}.ai-verification{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;margin-top:16px;padding:14px}.ai-verification-status{gap:3px;font-size:12px;line-height:1.5;display:grid}.ai-verification-status strong{color:var(--brand-strong);font-size:14px}.ai-verification.is-matched{background:var(--income-soft);border-color:#bcdccf}.ai-verification.is-mismatch{background:var(--warning-bg);border-color:#eadb9d}.ai-verification.is-mismatch .ai-verification-status{color:var(--warning)}.ai-verification-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;display:grid}.ai-verification-totals>div{background:#ffffff8c;border-radius:8px;min-width:0;padding:9px 10px}.ai-verification-totals dt{color:var(--muted);font-size:10px;font-weight:700}.ai-verification-totals dd{color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:13px;font-weight:750;overflow:hidden}.ai-verification-differences{border-top:1px solid #eadb9d;gap:6px;margin:10px 0 0;padding:10px 0 0;list-style:none;display:grid}.ai-verification-differences li{color:var(--warning);justify-content:space-between;gap:10px;font-size:11px;display:flex}.ai-verification-running{color:var(--muted);border-top:1px solid var(--line);margin:10px 0 0;padding-top:10px;font-size:11px;line-height:1.5}.ai-verification-running.is-mismatch{color:var(--warning);font-weight:700}.ai-draft-list{gap:12px;margin-top:16px;display:grid}.ai-draft-row{background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:14px}.ai-draft-row.is-selected{box-shadow:inset 3px 0 0 var(--brand);border-color:#8db9aa}.ai-draft-source{color:var(--muted);grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;padding-bottom:11px;font-size:11px;display:grid}.ai-draft-selection,.ai-draft-selection label{align-items:center;gap:8px;display:flex}.ai-draft-selection label{color:var(--muted);font-weight:700}.ai-draft-selection input{width:17px;min-width:17px;height:17px;accent-color:var(--brand);margin:0}.ai-draft-source q{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ai-draft-compact{color:var(--ink);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;margin:0;font-size:13px;display:grid}.ai-draft-compact strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-draft-flags{flex-wrap:wrap;grid-column:1/-1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ai-draft-flags li{color:var(--warning);background:var(--warning-bg);border-radius:999px;padding:3px 7px;font-weight:700}.ai-statement-transfer{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(170px,1fr) minmax(180px,260px) auto;align-items:end;gap:10px;margin-bottom:10px;padding:12px;display:grid}.ai-statement-transfer>div,.ai-statement-transfer label{gap:4px;display:grid}.ai-statement-transfer strong,.ai-statement-transfer label>span{color:var(--ink);font-size:12px;font-weight:700}.ai-statement-transfer small,.ai-statement-transfer p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.ai-statement-transfer .ai-transfer-blocked{color:var(--warning);font-weight:700}.ai-statement-transfer select{width:100%;min-height:40px}.ai-statement-transfer .form-error{color:var(--error);grid-column:1/-1}.ai-draft-fields{grid-template-columns:150px 130px 130px minmax(150px,1fr) minmax(150px,1fr) 44px;align-items:end;gap:10px;display:grid}.ai-draft-details{border-top:1px solid var(--line)}.ai-draft-details>summary{padding-inline:0}.ai-draft-details>.ai-draft-fields{padding-top:10px}.ai-remove-draft{color:var(--error)}.ai-draft-fields [aria-invalid=true]{border-color:var(--error)}.ai-draft-fields .field-error{color:var(--error);font-size:11px;font-weight:600;line-height:1.4}.ai-import-summary{margin-top:16px}.ai-import-actions{justify-content:flex-end;align-items:center;gap:14px;padding-top:16px;display:flex}.ai-import-actions>span{color:var(--muted);font-size:12px;font-weight:700}.ai-import-next{background:var(--income-soft);border:1px solid #bcdccf;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:16px;display:flex}.ai-import-next h4,.ai-import-next p{margin:0}.ai-import-next p{color:var(--muted);margin-top:4px;font-size:12px}.ai-import-next-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ai-import-reconcile-action{grid-template-columns:minmax(190px,260px) auto;align-items:end;gap:8px;width:100%;display:grid}.ai-import-reconcile-action label{color:var(--ink);gap:4px;font-size:12px;font-weight:700;display:grid}.ai-import-reconcile-action input{min-height:40px}.ai-import-reconcile-action small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.4}.ai-import-reconcile-action .field-error{color:var(--error);font-weight:700}.csv-import-form{gap:14px;padding-top:22px;display:grid}.csv-file-picker{color:var(--ink);background:var(--surface);border:1px dashed var(--line-strong);border-radius:12px;grid-template-columns:auto minmax(0,1fr) minmax(190px,280px);align-items:center;gap:14px;padding:16px;display:grid}.csv-file-picker>svg{width:24px;height:24px;color:var(--brand)}.csv-file-picker>span{gap:4px;min-width:0;display:grid}.csv-file-picker strong{font-size:13px}.csv-file-picker small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.45;overflow:hidden}.csv-file-picker input{min-width:0;color:var(--muted);font-size:11px}.csv-file-picker input::file-selector-button{min-height:38px;color:var(--brand-strong);background:var(--surface-soft);border:1px solid var(--line-strong);font:inherit;cursor:pointer;border-radius:9px;margin-right:9px;padding:8px 12px;font-weight:700}.csv-import-progress{color:var(--brand);align-items:center;gap:8px;margin:16px 0 0;font-size:12px;font-weight:700;display:flex}.csv-import-progress svg{width:18px;height:18px}.bank-csv-mapping{background:color-mix(in srgb, var(--surface-soft) 72%, var(--surface));border:1px solid var(--line-strong);border-radius:14px;margin-top:18px;padding:20px}.bank-csv-mapping-heading{align-items:flex-start;gap:12px;display:flex}.bank-csv-mapping-heading>svg{width:22px;min-width:22px;height:22px;color:var(--brand)}.bank-csv-mapping-heading h4,.bank-csv-mapping-heading p{margin:0}.bank-csv-mapping-heading h4{font-size:14px}.bank-csv-mapping-heading p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.55}.bank-csv-map-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.bank-csv-map-grid label{gap:6px;min-width:0;display:grid}.bank-csv-map-grid label>span{color:var(--muted);font-size:11px;font-weight:700}.bank-csv-map-grid select{width:100%;min-width:0;min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);font:inherit;border-radius:9px;padding:8px 34px 8px 10px;font-size:12px}.bank-csv-map-grid select:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 24%, transparent);outline-offset:2px}.bank-csv-flip-sign:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--brand) 24%, transparent);outline-offset:2px}.bank-csv-flip-sign{background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;display:flex}.bank-csv-flip-sign input{width:18px;min-width:18px;height:18px;accent-color:var(--brand);margin-top:1px}.bank-csv-flip-sign span{gap:3px;display:grid}.bank-csv-flip-sign strong{font-size:12px}.bank-csv-flip-sign small{color:var(--muted);font-size:11px;line-height:1.5}.bank-csv-sample{background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;max-height:210px;margin-top:16px;overflow:auto}.bank-csv-sample:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 24%, transparent);outline-offset:2px}.bank-csv-sample table{border-collapse:collapse;white-space:nowrap;width:100%;min-width:620px;font-size:11px}.bank-csv-sample caption{color:var(--muted);text-align:left;padding:10px 12px;font-weight:700}.bank-csv-sample th,.bank-csv-sample td{border-top:1px solid var(--line);text-align:left;text-overflow:ellipsis;max-width:240px;padding:8px 12px;overflow:hidden}.bank-csv-sample th{color:var(--muted);background:var(--surface-soft);font-weight:750}.bank-csv-map-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.bank-csv-map-actions>span{max-width:520px;color:var(--muted);font-size:11px;line-height:1.5}.bank-csv-map-actions .button svg{width:16px;height:16px}.csv-import-issues{color:var(--error);background:var(--expense-soft);border:1px solid #e9c5bd;border-radius:12px;margin-top:18px;padding:14px 16px}.csv-import-issues>div{align-items:center;gap:8px;display:flex}.csv-import-issues svg{width:18px;height:18px}.csv-import-issues h4{margin:0;font-size:13px}.csv-import-issues ul{gap:5px;margin:10px 0 0;padding-left:23px;font-size:12px;line-height:1.5;display:grid}.csv-import-review{border-top:1px solid var(--line-strong);margin-top:24px;padding-top:24px}.csv-import-summary{flex-wrap:wrap;gap:7px;margin-top:15px;display:flex}.csv-import-review-tools{align-items:center;gap:10px;display:flex}.csv-import-review-tools>span{color:var(--muted);font-size:12px;font-weight:700}.csv-import-review-tools .button{min-height:36px;padding:7px 11px;font-size:11px}.csv-import-summary span,.csv-import-status{color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.csv-import-summary .is-ready,.csv-import-status.is-new{color:var(--brand);background:var(--income-soft);border-color:#c2ddd3}.csv-import-summary .is-match,.csv-import-status.is-match_ready{color:var(--income);background:var(--income-soft);border-color:#b7d9cd}.csv-import-summary .is-possible,.csv-import-status.is-possible_duplicate{color:var(--warning);background:var(--warning-bg);border-color:#eadb9d}.csv-import-summary .is-blocked,.csv-import-status.is-id_conflict,.csv-import-status.is-account_invalid,.csv-import-status.is-category_invalid,.csv-import-status.is-category_mismatch,.csv-import-status.is-needs_review{color:var(--error);background:var(--expense-soft);border-color:#e9c5bd}.csv-import-list{gap:10px;margin-top:14px;display:grid}.csv-import-row{background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 16px;padding:14px;display:grid}.csv-import-row.is-possible_duplicate{border-color:#decf91}.csv-import-row.is-match_ready{border-color:#b7d9cd}.csv-import-select{align-items:center;gap:10px;min-width:0;display:flex}.csv-import-select input{width:18px;min-width:18px;height:18px;accent-color:var(--brand)}.csv-import-row-heading{gap:3px;min-width:0;display:grid}.csv-import-row-heading small{color:var(--muted);font-size:10px;font-weight:650}.csv-import-row-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.csv-import-status{text-align:center;justify-content:center;align-items:center;gap:5px;max-width:230px;display:inline-flex}.csv-import-status svg{width:13px;min-width:13px;height:13px}.csv-import-row dl{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding-top:11px;display:grid}.csv-import-row dl>div{min-width:0}.csv-import-row dt{color:var(--muted);font-size:10px;font-weight:650}.csv-import-row dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:12px;font-weight:650;overflow:hidden}.csv-import-row dd.csv-import-category{overflow:visible}.csv-import-category select{width:100%;min-height:36px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);font:inherit;border-radius:9px;padding:7px 30px 7px 9px}.csv-import-row dd.expense{color:var(--expense)}.csv-import-row dd.income{color:var(--income)}.csv-import-actions{justify-content:flex-end;align-items:center;gap:14px;padding-top:16px;display:flex}.csv-import-actions>span{color:var(--muted);font-size:12px;font-weight:700}@media (max-width:1080px){.transaction-toolbar{flex-wrap:wrap}.ai-draft-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-draft-category{grid-column:1/-1}.bank-csv-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.transaction-filter-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-filter-summary-item{min-height:62px;padding:9px 11px}.saved-transaction-views{padding:13px}.saved-transaction-views>summary,.saved-transaction-view-actions{flex-direction:column;width:100%}.saved-transaction-view-actions .button{width:100%}.saved-transaction-view-form,.saved-transaction-view-list{grid-template-columns:minmax(0,1fr)}.saved-transaction-view-form .button{width:100%}}@media (min-width:768px) and (max-width:1080px){.desktop-navigation button{justify-content:center;width:44px;padding:0}.desktop-navigation .nav-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@media (min-width:768px) and (max-width:960px){.add-button{width:44px;padding:0}.add-button span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@media (max-width:900px){.app-header,.app-main{width:min(100% - 40px,1120px)}.summary-card{min-height:156px;padding:22px}.summary-card strong{margin-top:24px;font-size:clamp(23px,3vw,30px)}.transactions-heading{grid-template-columns:1fr}.transaction-toolbar{justify-self:stretch;width:100%}.search-field{width:100%}.transaction-tag-filter{justify-self:start;min-height:40px}.transaction-row{grid-template-columns:44px minmax(150px,1fr) 135px minmax(120px,auto);padding-inline:20px}.account-transfers{margin:0 12px 14px}.account-transfers-heading{flex-direction:column;align-items:stretch;padding:14px}.account-transfers-heading .button{width:100%}.account-transfer-row{grid-template-rows:auto auto;grid-template-columns:38px minmax(0,1fr) auto;gap:4px 10px;min-height:88px;padding:12px 14px}.transfer-icon,.account-transfer-main{grid-row:1/3}.account-transfer-row time{grid-area:2/3;align-self:start;font-size:11px}.account-transfer-amount{grid-area:1/3;align-self:end}.desktop-navigation button{padding-inline:10px}.recurring-hero{flex-direction:column;align-items:stretch}.recurring-hero-actions{justify-content:flex-start}.recurring-rule{grid-template-columns:minmax(220px,1fr) auto}.recurring-rule-details{grid-template-columns:repeat(2,minmax(100px,1fr))}.recurring-rule-actions{flex-wrap:wrap;align-self:end}}@media (max-width:767px){.app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-header{width:auto;min-height:76px;padding-top:env(safe-area-inset-top);margin:0 16px}.brand{gap:9px}.brand-mark{border-radius:11px;width:38px;height:38px}.brand-mark svg{width:21px}.brand-copy strong{font-size:20px}.brand-copy small,.desktop-navigation{display:none}.header-actions{gap:6px}.app-header .add-button{display:none}.app-main{width:auto;margin:0 16px;padding:10px 0 24px}.status-banner{align-items:flex-start;margin-bottom:14px;padding:11px 12px}.status-banner button{min-width:max-content}.month-navigator{grid-template-columns:44px 1fr 44px;gap:6px;margin-bottom:16px}.month-picker{gap:7px;font-size:20px}.month-picker svg,.current-month-button{display:none}.summary-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.summary-card{border-radius:14px;min-height:116px;padding:16px}.summary-balance{grid-column:1/-1;min-height:142px;padding:20px}.summary-label{gap:6px;font-size:12px}.summary-label svg{width:16px}.summary-meta{margin-top:10px;font-size:12px}.summary-card strong,.summary-balance strong{margin-top:18px;font-size:clamp(19px,6.7vw,29px)}.summary-balance strong{margin-top:22px;font-size:clamp(29px,10vw,42px)}.ledger-backup-reminder{border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;margin-bottom:18px;padding:16px}.ledger-backup-reminder .button{grid-column:1/-1;width:100%}.category-spending-panel{border-radius:14px;margin-bottom:18px;padding:18px 16px}.category-spending-heading{gap:11px}.category-spending-heading-icon{flex-basis:38px;width:38px;height:38px}.category-spending-heading h2{font-size:18px}.recurring-forecast-total,.monthly-plan-rollup-item{min-height:50px;padding:9px 11px}.recurring-forecast-totals,.monthly-plan-rollup{grid-template-columns:minmax(0,1fr)}.recurring-forecast-total,.monthly-plan-rollup-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.recurring-forecast-total+.recurring-forecast-total,.monthly-plan-rollup-item+.monthly-plan-rollup-item{border-top:1px solid var(--line);border-left:0}.recurring-forecast-total dd,.monthly-plan-rollup-item dd{font-size:15px}.recurring-forecast-period{grid-template-columns:minmax(0,1fr)}.recurring-forecast-period-range{border-right:0;border-bottom:1px solid var(--line)}.cash-flow-trend-legend{justify-content:flex-start}.cash-flow-comparison dl{grid-template-columns:minmax(0,1fr)}.cash-flow-comparison dl>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;display:grid}.cash-flow-comparison dl>div+div{border-top:1px solid var(--line);border-left:0}.cash-flow-comparison dt{margin-bottom:0}.cash-flow-trend-chart{gap:4px;height:150px}.cash-flow-trend-chart button{gap:6px;padding-inline:1px}.cash-flow-trend-plot{grid-template-columns:repeat(2,minmax(0,13px));gap:2px}.net-worth-summary{grid-template-columns:minmax(0,1fr)}.net-worth-summary>div+div{border-top:1px solid var(--line);border-left:0}.net-worth-trend-list button{grid-template-columns:minmax(48px,auto) minmax(0,1fr);gap:5px 12px}.net-worth-bar-track{grid-area:2/1/auto/-1}.net-worth-trend-list strong{grid-area:1/2}.category-spending-row{gap:9px 12px;min-height:82px;padding-inline:4px}.account-balance-row{grid-template-columns:minmax(0,1fr);gap:12px}.account-balance-values{grid-area:3/1/auto/-1;gap:8px}.account-balance-unavailable{grid-column:1/-1}.account-balance-actions{grid-area:2/1}.account-balance-actions .button{white-space:normal;padding-inline:7px;font-size:12px}.statement-comparison{grid-template-columns:minmax(0,1fr);gap:10px}.transactions-panel{box-shadow:none;border-radius:14px}.account-register{padding:16px 14px 18px}.account-register-heading h2{font-size:21px}.account-register-heading{flex-wrap:wrap}.account-register-heading-actions{grid-template-columns:minmax(0,1fr);width:100%;margin-left:0;display:grid}.account-register-heading-actions .button{white-space:normal;justify-content:center}.account-register-summary{grid-template-columns:minmax(0,1fr)}.account-register-summary>div+div{border-top:1px solid var(--line);border-left:0}.account-reconciliation{padding:14px 12px}.account-reconciliation>header{display:grid}.account-reconciliation>header>span{width:fit-content}.account-reconciliation-range{grid-template-columns:minmax(0,1fr)}.account-reconciliation-range .button{width:100%}.account-reconciliation-balances{grid-template-columns:minmax(0,1fr);gap:10px}.account-reconciliation-complete-review .button{width:100%}.account-register-row{grid-template-rows:auto auto auto;grid-template-columns:38px minmax(0,1fr);gap:4px 10px;min-height:104px;padding:12px}.account-register-list li{grid-template-columns:minmax(0,1fr) 46px}.account-register-clearing-toggle{padding:0}.account-register-clearing-toggle span{display:none}.account-register-icon{grid-row:1/4}.account-register-main,.account-register-row time,.account-register-money{text-align:left;grid-column:2}.account-register-row time{grid-row:2}.account-register-money{text-align:left;flex-wrap:wrap;grid-row:3;justify-content:flex-start;align-items:baseline;gap:4px 10px;display:flex}.transactions-heading{grid-template-columns:1fr auto;min-height:74px;padding:14px 16px;display:grid}.transactions-heading h2{font-size:21px}.view-overview .view-all-button{display:flex}.view-overview .transaction-toolbar,.view-transactions .overview-region{display:none}.view-transactions .transactions-heading{grid-template-columns:1fr}.view-transactions .transaction-toolbar{grid-template-columns:1fr;gap:10px;display:grid}.transaction-toolbar>.search-field,.transaction-toolbar>.filter-group,.transaction-toolbar>.transaction-date-scope,.transaction-toolbar>.transaction-active-filters,.transaction-toolbar>.transaction-custom-range,.transaction-toolbar>.transaction-toolbar-disclosure,.transaction-toolbar>.transaction-toolbar-disclosure[open]{grid-area:auto/1}.search-field{width:100%}.filter-group{grid-template-columns:repeat(3,1fr);display:grid}.transaction-reference-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.transaction-date-scope,.transaction-sort-filter,.transaction-custom-range,.transaction-amount-filter{grid-column:1/-1}.transaction-custom-range{min-width:0}.transaction-reference-filters>.transaction-reference-filter:last-of-type{grid-column:1/-1}.transaction-more-filters-disclosure .transaction-reference-filters{grid-template-columns:minmax(0,1fr)}.transaction-more-filters-disclosure .transaction-reference-filter,.transaction-more-filters-disclosure .transaction-amount-filter{grid-column:1}.transaction-more-filters-disclosure .transaction-amount-filter{grid-template-columns:minmax(0,1fr)}.transaction-more-filters-disclosure .transaction-amount-filter .button{width:100%}.transaction-review-filters,.transaction-actions{flex-direction:column;align-items:stretch}.transaction-review-filters .button,.transaction-actions .button{width:100%}.transaction-preview-filter-notice{flex-direction:column;align-items:stretch}.transaction-preview-filter-notice .button{width:100%}.transaction-row{grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr) auto;gap:3px 11px;min-height:86px;padding:13px 14px}.transaction-bulk-toolbar,.transaction-bulk-toolbar.is-active{flex-direction:column;align-items:stretch;padding:12px 14px}.transaction-bulk-toolbar>.button,.transaction-bulk-buttons .button{width:100%}.transaction-bulk-buttons{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.transaction-bulk-category,.transaction-bulk-import-review{grid-column:1/-1;grid-template-columns:minmax(0,1fr)}.transaction-bulk-import-review small{grid-column:auto}.transaction-bulk-buttons>.button:first-child,.transaction-bulk-buttons>.button:last-child{grid-column:1/-1}.category-icon,.transaction-selection-indicator{grid-row:1/3;width:40px;height:40px}.transaction-main{grid-area:1/2/3;justify-content:center}.transaction-row time{grid-area:2/3;justify-self:end;font-size:11px}.transaction-amount{grid-area:1/3;align-self:end;font-size:14px}.transaction-tags{margin-top:-8px;padding:0 14px 13px 67px}.transaction-tags button{min-height:36px}.mobile-navigation{z-index:30;min-height:calc(64px + env(safe-area-inset-bottom));padding:5px max(6px, 4vw) env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #17483c14}.mobile-navigation button{min-width:0;min-height:54px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:650;display:flex}.mobile-navigation button.is-active{color:var(--brand)}.mobile-navigation .mobile-navigation-add{color:#fff;background:var(--brand);border:3px solid #fff;border-radius:50%;place-self:center;place-items:center;width:56px;min-width:56px;height:56px;min-height:56px;margin-top:-14px;display:grid;box-shadow:0 8px 20px #17483c42}.mobile-navigation .mobile-navigation-add:hover:not(:disabled){color:#fff;background:var(--brand-strong)}.mobile-navigation .mobile-navigation-add:disabled{opacity:.55}.mobile-navigation .mobile-navigation-add svg{width:25px;height:25px}.mobile-navigation svg{width:21px;height:21px}.dialog-backdrop{align-items:end;padding:0}.transaction-dialog{width:100%;max-height:min(84dvh,760px);padding-bottom:env(safe-area-inset-bottom);box-shadow:var(--shadow-dialog);border-bottom:0;border-left:0;border-right:0;border-radius:24px 24px 0 0}.dialog-header{padding:13px 16px 9px}.dialog-header h2{font-size:22px}.transaction-dialog form{gap:14px;padding:8px 16px 0}.amount-input-wrap input{font-size:clamp(38px,14vw,54px)}.form-grid{gap:10px}.dialog-actions{background:var(--surface);padding:8px 0 12px}.transaction-dialog-actions{grid-template-columns:1fr 1fr;display:grid}.save-shortcut-hint{display:none}.transfer-clearing-grid{grid-template-columns:1fr}.transfer-dialog-actions{grid-template-columns:1fr;display:grid}.transfer-dialog-actions .save-button{min-width:0}.recurring-page{gap:14px}.recurring-hero{border-radius:16px;gap:20px;padding:22px 18px}.recurring-hero h2{font-size:31px}.recurring-hero-actions{grid-template-columns:1fr 1fr;display:grid}.recurring-hero-actions .button{min-width:0;padding-inline:10px;font-size:12px}.recurring-status{align-items:flex-start;padding:11px 12px}.recurring-panel{box-shadow:none;border-radius:14px}.recurring-panel-heading{flex-direction:column;align-items:flex-start;min-height:74px;padding:14px}.recurring-panel-heading h3{font-size:20px}.recurring-transfer-panel-actions{justify-content:flex-start;width:100%}.recurring-transfer-panel-actions .button{flex:180px}.recurring-transfer-status{margin:12px 14px}.date-only-note{min-height:34px}.recurring-rule{grid-template-columns:1fr auto;gap:16px 12px;padding:16px 14px}.recurring-rule-icon{border-radius:12px;width:42px;min-width:42px;height:42px}.recurring-rule-title strong{font-size:15px}.recurring-rule-amount{min-width:auto}.recurring-rule-amount strong{font-size:16px}.recurring-rule-details{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px}.recurring-rule-actions{grid-column:1/-1;grid-template-columns:repeat(2,1fr);display:grid}.recurring-rule-actions .button{min-width:0;padding-inline:7px;font-size:12px}.rule-error{margin-top:-2px}.recurring-rule-dialog{max-height:min(90dvh,820px)}.confirmation-dialog{width:calc(100% - 28px);margin-bottom:max(14px, env(safe-area-inset-bottom));border-radius:18px;padding:26px 18px 18px}.settings-page{gap:14px}.settings-category-navigation{scroll-snap-type:x proximity;scrollbar-width:thin;display:flex;overflow-x:auto}.settings-category-button{scroll-snap-align:start;flex:none;min-width:max-content}.settings-category-content,.settings-category-pane{gap:14px}.settings-hero{border-radius:16px;gap:13px;padding:22px 18px}.settings-hero-icon{border-radius:14px;width:48px;min-width:48px;height:48px}.settings-hero h2{font-size:31px}.settings-panel{box-shadow:none;border-radius:14px;padding:20px 16px 16px}.settings-panel-heading h3{font-size:20px}.language-options{grid-template-columns:1fr;gap:10px}.reference-settings-grid,.emergency-fund-form fieldset,.emergency-fund-values{grid-template-columns:minmax(0,1fr)}.emergency-fund-values>div+div{border-top:1px solid var(--line);border-left:0}.emergency-fund-form-actions .button,.emergency-fund-manage,.emergency-fund-empty .button{width:100%}.reference-list{max-height:none;overflow-y:visible}}@media (max-width:430px){.summary-card:not(.summary-balance) strong{letter-spacing:-.035em;font-size:clamp(15px,4.35vw,17px)}.recurring-forecast-period-totals{grid-template-columns:minmax(0,1fr)}.recurring-forecast-period-total{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.recurring-forecast-period-total+.recurring-forecast-period-total{border-top:1px solid var(--line);border-left:0}.recurring-forecast-period-total dd{text-overflow:clip;overflow:visible}}@media (max-width:359px){.app-header,.app-main{margin-left:12px;margin-right:12px}.summary-card{padding:13px}.cash-flow-trend-panel{padding-left:12px;padding-right:12px}.cash-flow-trend-chart{gap:0}.summary-card strong{font-size:15px}.summary-balance strong{font-size:31px}.account-balance-values{grid-template-columns:minmax(0,1fr)}.account-balance-values div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.account-balance-values dt{margin-bottom:0}.account-balance-values dd{text-overflow:clip;overflow:visible}.form-grid{grid-template-columns:1fr}.mobile-navigation{padding-inline:8px}.mobile-navigation button{font-size:10px}.recurring-hero-actions{grid-template-columns:1fr}.recurring-rule{grid-template-columns:minmax(0,1fr)}.recurring-rule-amount{align-items:flex-start}.recurring-rule-details,.recurring-rule-actions,.rule-error{grid-column:1}.recurring-rule-actions{grid-template-columns:1fr}.recurring-rule-actions .button{width:100%}.recurring-transfer-panel-actions{grid-template-columns:1fr;display:grid}.recurring-transfer-panel-actions .button{width:100%}.recurring-form-grid,.confirmation-actions{grid-template-columns:1fr}}@media (max-width:767px){.view-transactions .ai-copilot-button,.view-transactions .csv-import-button,.view-transactions .export-button,.ai-settings-actions .button,.settings-update-actions .button,.settings-support-link,.bank-import-form>.button-primary{width:100%}.reference-row{flex-direction:column;align-items:stretch}.reference-row-actions .button{flex:1;min-height:44px}.reference-row-actions .reference-order-button{flex:0 0 44px;width:44px}.ledger-backup-actions,.ledger-backup-health-dates,.ledger-restore-metadata{grid-template-columns:minmax(0,1fr)}.ledger-backup-action>p{min-height:0}.ledger-restore-danger .button{width:100%}.bank-import-panel,.ai-copilot-panel{padding:18px 16px}.ai-copilot-section-heading,.ai-copilot-form-footer{flex-direction:column;align-items:stretch}.ai-copilot-import-shortcut,.ai-copilot-form-footer .button{width:100%}.ai-copilot-insights,.ai-copilot-conversation{padding:15px}.ai-configure-notice,.ai-draft-review-heading,.ai-import-actions,.ai-import-next,.csv-import-actions,.csv-import-review-tools{flex-direction:column;align-items:stretch}.bank-import-options,.ai-verification-totals,.ai-draft-fields,.ai-statement-transfer{grid-template-columns:minmax(0,1fr)}.ai-draft-category{grid-column:auto}.ai-draft-source{grid-template-columns:minmax(0,1fr);gap:4px}.ai-draft-selection{flex-wrap:wrap;justify-content:space-between}.ai-draft-source q{white-space:normal}.ai-draft-compact{grid-template-columns:minmax(0,1fr);gap:3px}.csv-file-picker{grid-template-columns:auto minmax(0,1fr)}.csv-file-picker input{grid-column:1/-1;width:100%}.csv-import-row{grid-template-columns:minmax(0,1fr)}.csv-import-status{justify-self:start}.csv-import-row dl{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}.csv-import-actions{align-items:stretch}.csv-import-actions .button{width:100%}.bank-csv-mapping{padding:16px 12px}.bank-csv-map-grid{grid-template-columns:minmax(0,1fr)}.bank-csv-map-actions{flex-direction:column;align-items:stretch}.bank-csv-map-actions .button,.ai-import-actions .button,.ai-import-next-actions,.ai-import-next-actions .button{width:100%}.ai-import-reconcile-action{grid-template-columns:minmax(0,1fr)}.ai-remove-draft{justify-self:end}}button:not(:disabled):not([aria-disabled=true]):active{transition-duration:80ms;transform:scale(.97)}@media (prefers-reduced-transparency:reduce){.desktop-navigation,.mobile-navigation{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.dialog-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a251fc7}}@media (prefers-contrast:more){.desktop-navigation,.mobile-navigation,.transaction-dialog{border-color:var(--brand-strong)}.mobile-navigation{background:#fff}.mobile-navigation button{color:#3f564e}.mobile-navigation .mobile-navigation-add{color:#fff;border-color:#fff}.dialog-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#061713d1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:not(:disabled):not([aria-disabled=true]):active{transform:none!important}}
