.expenses-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--size-menu-min),1fr));align-items:end;gap:var(--space-3);margin-bottom:var(--space-4)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--size-menu-min),1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.month-card .month-category-list{margin:0}.expense-detail{overflow-wrap:anywhere}.manual-expense-form,.settings-form{display:grid;gap:var(--space-4)}.settings-form .form-submit{justify-self:start}.budget-current{font-weight:var(--font-weight-medium)}.budget-options{display:grid;gap:var(--space-3);justify-items:start;padding-top:var(--space-4);border-top:var(--hairline) solid var(--color-border)}.deletion-list{margin:0 0 0 var(--space-5)}@media (max-width: 600px){.settings-form .form-submit{justify-self:stretch}}.pending-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}@media (max-width: 600px){.expenses-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.expenses-filters .filter-action{grid-column:1 / -1}.summary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.categories-list{list-style:none;padding:0;margin:0 0 var(--space-5)}.categories-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:var(--hairline) solid var(--color-border);overflow-wrap:anywhere}.chart-container{height:var(--size-chart);position:relative}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.budget-progress{padding:var(--space-3) var(--space-5);margin-bottom:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--elevation-1)}.budget-progress:empty{display:none}.budget-progress.budget-over{background:var(--color-danger-soft)}.budget-progress-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);font-weight:var(--font-weight-bold)}.budget-progress-percent{font-variant-numeric:tabular-nums}.budget-over .budget-progress-percent{color:var(--color-danger)}.budget-progress-track{height:var(--size-progress-track);background:var(--color-border);border-radius:var(--radius-pill);overflow:hidden;margin:var(--space-2) 0}.budget-progress-fill{height:100%;background:var(--color-brand);border-radius:var(--radius-pill)}.budget-reached .budget-progress-fill{background:var(--color-warning)}.budget-over .budget-progress-fill{background:var(--color-danger)}.budget-progress-note{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.budget-over .budget-progress-note{color:var(--color-danger);font-weight:var(--font-weight-bold)}.month-by-category:empty{display:none}.month-category-list{list-style:none;margin:0;padding:0}.month-category-list li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:var(--hairline) solid var(--color-border)}.month-category-list li span:last-child{font-variant-numeric:tabular-nums}.month-by-category .month-note{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.range-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.range-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.range-note-text{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.range-body{display:flex;gap:var(--space-6);align-items:center;margin-top:var(--space-4)}.range-body[hidden]{display:none}.range-chart{position:relative;flex:0 0 var(--size-donut);height:var(--size-donut)}.range-summary{flex:1 1 auto;min-width:0}.range-total{display:flex;justify-content:space-between;margin:0 0 var(--space-2);font-weight:var(--font-weight-bold)}.range-category-list{list-style:none;margin:0;padding:0}.range-category-list li{display:grid;grid-template-columns:var(--size-swatch) minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:var(--hairline) solid var(--color-border)}.range-category-list .range-swatch{width:var(--size-swatch);height:var(--size-swatch);border-radius:var(--radius-sm)}.range-category-list .range-name{overflow-wrap:anywhere}.range-category-list .range-amount,.range-category-list .range-percent{font-variant-numeric:tabular-nums;text-align:right}.range-category-list .range-percent{min-width:var(--size-percent-col);color:var(--color-text-muted)}@media (max-width: 600px){.range-body{flex-direction:column;align-items:stretch}.range-chart{flex-basis:auto;width:100%;height:var(--size-donut-mobile);margin:0 auto}}.privacy-card{overflow-wrap:anywhere}.privacy-card .privacy-title{margin-bottom:var(--space-3)}.privacy-card .privacy-paragraph{margin-bottom:var(--space-3);line-height:var(--line-height-base)}.danger-zone{overflow-wrap:anywhere}.chart-container,.range-chart{position:relative;width:100%;max-width:100%}@media (max-width: 600px){.chart-container{height:var(--size-chart-mobile)}.range-form{flex-direction:column;align-items:stretch}.range-field{flex:1 1 auto;width:100%}}.first-expense-notice{margin:var(--space-3) 0;overflow-wrap:anywhere}@media (max-width: 600px){#forwarding-tab .source-accounts-list li{flex-direction:column;align-items:flex-start}#verification-link,#verification-refresh,#source-account-add{width:100%}}.onboarding-status{display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding-status:not(:has(:not([hidden]))){display:none}.copyable{display:block;padding:var(--space-2) var(--space-3);font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface-container);border-radius:var(--radius-sm);overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}.copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.copy-status{font-size:var(--font-size-sm);color:var(--color-text-muted)}.copy-status:empty{display:none}.source-account-form{display:grid;gap:var(--space-3)}.source-accounts-list{list-style:none;margin:0 0 var(--space-4);padding:0}.source-accounts-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:var(--hairline) solid var(--color-border)}.source-account-email{overflow-wrap:anywhere;min-width:0}@media (max-width: 600px){.source-accounts-list li{flex-direction:column;align-items:flex-start}}.fab{position:fixed;right:calc(var(--space-6) + env(safe-area-inset-right));bottom:calc(var(--space-6) + env(safe-area-inset-bottom));z-index:var(--z-fab);display:inline-flex;align-items:center;justify-content:center;width:var(--size-fab);height:var(--size-fab);padding:0;color:var(--color-on-brand);background:var(--color-brand);border:0;border-radius:var(--radius-lg);box-shadow:var(--elevation-3);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--motion-duration-short) var(--motion-easing-standard),transform var(--motion-duration-short) var(--motion-easing-standard)}.fab:hover{box-shadow:var(--elevation-2)}.fab:active{transform:scale(.96)}.fab:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}.fab-icon{width:var(--size-icon);height:var(--size-icon)}@media (max-width: 600px){.fab{right:calc(var(--space-4) + env(safe-area-inset-right));bottom:calc(var(--size-nav-bar) + var(--space-4) + env(safe-area-inset-bottom))}:root.keyboard-open .fab{display:none}}@media (prefers-reduced-motion: reduce){.fab{transition:none}}.nav-rail,.nav-bar{margin:0;padding:0;list-style:none}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);width:100%;min-height:var(--size-touch);padding:var(--space-1) 0;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label);color:var(--color-text-muted);background:transparent;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.nav-indicator{display:inline-flex;align-items:center;justify-content:center;width:var(--size-fab);height:var(--size-nav-indicator);border-radius:var(--radius-pill);transition:background-color var(--motion-duration-short) var(--motion-easing-standard)}.nav-icon{width:var(--size-icon);height:var(--size-icon)}.nav-label{max-width:100%;text-align:center;overflow-wrap:anywhere;line-height:var(--line-height-tight)}.nav-item:hover .nav-indicator{background:var(--color-surface-container-highest)}.nav-item[aria-current=page],.nav-item--active{color:var(--color-brand)}.nav-item[aria-current=page] .nav-indicator,.nav-item--active .nav-indicator{background:var(--color-secondary-container)}.nav-item:focus-visible{outline:none}.nav-item:focus-visible .nav-indicator{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}.nav-rail{position:fixed;top:calc(var(--size-top-bar) + env(safe-area-inset-top));bottom:0;left:0;z-index:var(--z-nav);display:flex;flex-direction:column;gap:var(--space-3);width:calc(var(--size-rail) + env(safe-area-inset-left));padding:var(--space-3) 0 var(--space-3) env(safe-area-inset-left);background:var(--color-surface);border-right:var(--hairline) solid var(--color-border);overflow-y:auto;overscroll-behavior:contain}.nav-bar{display:none}.nav-sheet-list{display:grid;gap:var(--space-1);margin:0;padding:0;list-style:none}.nav-sheet-item{display:flex;align-items:center;gap:var(--space-4);width:100%;min-height:var(--size-touch);padding:0 var(--space-3);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);text-align:left;background:transparent;border:0;border-radius:var(--radius-pill);cursor:pointer}.nav-sheet-item:hover{background:var(--color-surface-container-highest)}.nav-sheet-item[aria-current=page]{color:var(--color-brand);background:var(--color-secondary-container)}.nav-sheet-item:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}@media (max-width: 600px){.nav-rail{display:none}.nav-bar{position:fixed;right:0;bottom:0;left:0;z-index:var(--z-nav);display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:center;height:calc(var(--size-nav-bar) + env(safe-area-inset-bottom));padding:0 var(--space-1) env(safe-area-inset-bottom);background:var(--color-surface-container);box-shadow:var(--elevation-2)}.nav-bar .nav-indicator{width:var(--size-switch-width)}:root.keyboard-open .nav-bar{display:none}}@media (prefers-reduced-motion: reduce){.nav-indicator{transition:none}}:root.modal-open{overflow:hidden}.modal{width:min(var(--size-dialog-max),calc(100% - var(--space-8)));max-width:none;max-height:var(--size-dialog-max-height);margin:auto;padding:0;color:var(--color-text);background:transparent;border:0;overflow:visible}.modal::backdrop{background:color-mix(in srgb,var(--color-scrim) var(--scrim-opacity),transparent)}.modal[open]{animation:modal-in var(--motion-duration-medium) var(--motion-easing-emphasized)}.modal-surface{display:flex;flex-direction:column;max-height:var(--size-dialog-max-height);color:var(--color-text);background:var(--color-surface-container-high);border-radius:var(--radius-xl);box-shadow:var(--elevation-3);overflow:hidden}.modal-handle{display:none}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-4) var(--space-3) 0 var(--space-6)}.modal-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);overflow-wrap:anywhere}.modal-body{display:grid;gap:var(--space-4);padding:var(--space-4) var(--space-6) var(--space-6);overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere}.modal-body>p{margin:0}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2)}@keyframes modal-in{0%{opacity:0;transform:scale(.96)}}@media (max-width: 600px){.modal{width:100%;max-height:var(--size-dialog-max-height);margin:auto 0 0}.modal[open]{animation:sheet-in var(--motion-duration-medium) var(--motion-easing-emphasized)}.modal-surface{border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom)}.modal-handle{display:block;width:var(--space-8);height:var(--space-1);margin:var(--space-3) auto 0;background:var(--color-border-strong);border-radius:var(--radius-pill)}.modal-header{padding-top:var(--space-2)}.modal-body{padding:var(--space-3) var(--space-4) var(--space-6)}.modal-actions .btn{flex:1 1 auto}}@keyframes sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion: reduce){.modal[open]{animation:none}}.top-app-bar{position:fixed;top:0;right:0;left:0;z-index:var(--z-top-bar);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);color:var(--color-on-top-bar);background:var(--color-top-bar);box-shadow:var(--elevation-1)}.top-app-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);height:var(--size-top-bar);padding:0 var(--space-2) 0 var(--space-4)}.top-app-bar-title{margin:0;min-width:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-app-bar-actions{display:flex;align-items:center;flex:none}.top-app-bar .top-app-bar-account{color:var(--color-on-top-bar)}.top-app-bar .top-app-bar-account:focus-visible{outline-color:var(--color-on-top-bar)}.menu-anchor{position:relative}.menu{position:absolute;top:100%;right:0;z-index:var(--z-fab);min-width:var(--size-menu-min);margin-top:var(--space-1);padding:var(--space-2) 0;color:var(--color-text);background:var(--color-surface-container);border-radius:var(--radius-sm);box-shadow:var(--elevation-2)}.menu-header{margin:0;padding:var(--space-2) var(--space-4) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);border-bottom:var(--hairline) solid var(--color-border);overflow-wrap:anywhere}.menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--size-touch);padding:0 var(--space-4);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text);text-align:left;background:transparent;border:0;cursor:pointer}.menu-item:hover{background:var(--color-surface-container-high)}.menu-item:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:calc(-1 * var(--focus-ring-width))}.menu-item-icon{flex:none;width:var(--size-icon);height:var(--size-icon);color:var(--color-text-muted)}.menu-sheet .menu-header{padding:0 0 var(--space-3)}.menu-sheet .menu-item{padding:0 var(--space-2);border-radius:var(--radius-sm)}.data-list{min-width:0;color:var(--color-text);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);overflow:hidden}.data-list-table{width:100%;border-collapse:collapse}.data-list-head th{padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label);text-align:left;color:var(--color-text-muted);background:var(--color-surface-container)}.data-list-cell{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);vertical-align:middle;overflow-wrap:anywhere;border-top:var(--hairline) solid var(--color-border)}.data-list-cell--end{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-list-cell--primary{font-weight:var(--font-weight-medium)}.data-list-row:hover{background:var(--color-surface-container)}.data-list-row--muted{color:var(--color-text-muted)}@media (max-width: 600px){.data-list-head{position:absolute;width:var(--hairline);height:var(--hairline);margin:calc(-1 * var(--hairline));overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.data-list-table,.data-list-table tbody,.data-list-row,.data-list-cell{display:block}.data-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border-top:var(--hairline) solid var(--color-border)}.data-list-row:first-child{border-top:0}.data-list-cell{grid-column:1 / -1;display:flex;justify-content:space-between;gap:var(--space-3);padding:0;border-top:0;text-align:right;white-space:normal}.data-list-cell:before{content:attr(data-label);flex:none;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);text-align:left}.data-list-cell>*{min-width:0}.data-list-cell--primary{font-size:var(--font-size-base);text-align:left}.data-list-cell--no-label{justify-content:flex-end}.data-list-cell--no-label:before{content:none}}.empty-state{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.empty-state-icon{width:var(--size-spinner-lg);height:var(--size-spinner-lg)}.empty-state-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text)}.empty-state-text{margin:0;max-width:var(--size-form-max);font-size:var(--font-size-sm)}.empty-state-action{margin-top:var(--space-2)}.loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.loading--inline{display:inline-flex;padding:0}.loading-spinner{flex:none;width:var(--size-spinner);height:var(--size-spinner);border:var(--border-width-strong) solid var(--color-brand);border-right-color:transparent;border-radius:50%;animation:loading-spin var(--motion-duration-spin) linear infinite}@keyframes loading-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion: reduce){.loading-spinner{animation:none;border-right-color:var(--color-brand);opacity:.6}}.stat-card{display:grid;gap:var(--space-1);min-width:0;padding:var(--space-4);color:var(--color-text);background:var(--color-surface-container);border-radius:var(--radius-lg)}.stat-card>p{margin:0}.stat-card-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.stat-card-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-card-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.status-chip{display:inline-flex;align-items:center;gap:var(--space-1);max-width:100%;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);overflow-wrap:anywhere}.status-chip-icon{flex:none;width:var(--size-switch-thumb);height:var(--size-switch-thumb)}.status-chip--neutral{color:var(--color-text);background:var(--color-surface-container-highest)}.status-chip--success{color:var(--color-success);background:var(--color-success-soft)}.status-chip--warning{color:var(--color-warning);background:var(--color-warning-soft)}.status-chip--danger{color:var(--color-danger);background:var(--color-danger-soft)}.status-chip--info{color:var(--color-info);background:var(--color-info-soft)}.segmented{display:inline-flex;max-width:100%;border:var(--hairline) solid var(--color-border-strong);border-radius:var(--radius-pill);overflow:hidden}.segmented-option{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);flex:1 1 0;min-width:0;min-height:var(--size-control);padding:0 var(--space-3);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);background:transparent;border:0;border-left:var(--hairline) solid var(--color-border-strong);cursor:pointer;transition:background-color var(--motion-duration-short) var(--motion-easing-standard)}.segmented-option:first-child{border-left:0}.segmented-option:hover{background:var(--color-surface-container)}.segmented-option:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:calc(-1 * var(--focus-ring-width))}.segmented-check{display:none;flex:none;width:var(--size-icon-sm);height:var(--size-icon-sm)}.segmented-option[aria-checked=true]{color:var(--color-text);background:var(--color-secondary-container)}.segmented-option[aria-checked=true] .segmented-check{display:inline}@media (pointer: coarse){.segmented-option{min-height:var(--size-touch)}}@media (max-width: 600px){.segmented{display:flex}.segmented-option{padding:0 var(--space-2);font-size:var(--font-size-xs)}}@media (prefers-reduced-motion: reduce){.segmented-option{transition:none}}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--size-touch)}.switch-label{display:grid;gap:var(--space-1);color:var(--color-text);cursor:pointer}.switch-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.switch{position:relative;flex:none;display:inline-flex;width:var(--size-switch-width);height:var(--size-switch-height)}.switch-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.switch-track{display:flex;align-items:center;width:100%;height:100%;padding:0 var(--space-1);background:var(--color-surface-container-highest);border:var(--border-width-strong) solid var(--color-border-strong);border-radius:var(--radius-pill);transition:background-color var(--motion-duration-short) var(--motion-easing-standard)}.switch-thumb{display:inline-flex;align-items:center;justify-content:center;width:var(--size-switch-thumb);height:var(--size-switch-thumb);margin-left:var(--space-1);color:transparent;background:var(--color-border-strong);border-radius:50%;transition:transform var(--motion-duration-short) var(--motion-easing-emphasized),width var(--motion-duration-short) var(--motion-easing-emphasized),height var(--motion-duration-short) var(--motion-easing-emphasized)}.switch-icon{width:var(--size-switch-thumb);height:var(--size-switch-thumb)}.switch-input:checked+.switch-track{background:var(--color-brand);border-color:var(--color-brand);justify-content:flex-end}.switch-input:checked+.switch-track .switch-thumb{width:var(--size-switch-thumb-on);height:var(--size-switch-thumb-on);margin-left:0;color:var(--color-brand);background:var(--color-on-brand)}.switch-input:focus-visible+.switch-track{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}.switch-input:disabled{cursor:not-allowed}.switch-input:disabled+.switch-track{background:var(--color-surface-container);border-color:var(--color-border)}.switch-input:disabled+.switch-track .switch-thumb{background:var(--color-text-disabled)}.switch-row:has(.switch-input:disabled) .switch-label{color:var(--color-text-disabled);cursor:not-allowed}@media (prefers-reduced-motion: reduce){.switch-track,.switch-thumb{transition:none}}
