html{color-scheme:light dark;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #002f65);--mat-sys-on-tertiary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-tertiary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-tertiary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#005cbb, #abc7ff);--mat-sys-tertiary-container: light-dark(#d7e3ff, #00458f);--mat-sys-tertiary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-tertiary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Arial, sans-serif;--mat-sys-body-large-font: Arial, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Arial, sans-serif;--mat-sys-body-medium-font: Arial, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Arial, sans-serif;--mat-sys-body-small-font: Arial, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Arial, sans-serif;--mat-sys-display-large-font: Arial, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Arial, sans-serif;--mat-sys-display-medium-font: Arial, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Arial, sans-serif;--mat-sys-display-small-font: Arial, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Arial, sans-serif;--mat-sys-headline-large-font: Arial, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Arial, sans-serif;--mat-sys-headline-medium-font: Arial, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Arial, sans-serif;--mat-sys-headline-small-font: Arial, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Arial, sans-serif;--mat-sys-label-large-font: Arial, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 600;--mat-sys-label-medium: 500 .75rem / 1rem Arial, sans-serif;--mat-sys-label-medium-font: Arial, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 600;--mat-sys-label-small: 500 .688rem / 1rem Arial, sans-serif;--mat-sys-label-small-font: Arial, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Arial, sans-serif;--mat-sys-title-large-font: Arial, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Arial, sans-serif;--mat-sys-title-medium-font: Arial, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Arial, sans-serif;--mat-sys-title-small-font: Arial, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--background: light-dark(#fafafa, #0a0a0a);--foreground: light-dark(#171717, #ededed);--card: light-dark(#ffffff, #111111);--muted: light-dark(#f2f2f2, #1f1f1f);--muted-foreground: light-dark(#606060, #a3a3a3);--border: light-dark(#dedede, #333333);--primary: var(--foreground);--primary-foreground: var(--card);--ring: light-dark(#0068d6, #52a8ff);--danger: light-dark(#b42318, #ff8a80);--danger-background: light-dark(#fff0ee, #321310);--warning: light-dark(#805500, #ffd166);--warning-background: light-dark(#fff8e5, #30270f);--success: light-dark(#176b3a, #8ce8af);--success-background: light-dark(#edf9f0, #102a19);--shadow-card: 0 1px 2px #00000008, 0 2px 4px #00000004;--shadow-overlay: 0 4px 8px #00000012, 0 12px 32px #00000018;--mat-sys-surface: var(--background);--mat-sys-surface-dim: var(--muted);--mat-sys-surface-bright: var(--card);--mat-sys-surface-variant: var(--muted);--mat-sys-surface-tint: transparent;--mat-sys-on-surface: var(--foreground);--mat-sys-on-surface-variant: var(--muted-foreground);--mat-sys-surface-container: var(--card);--mat-sys-surface-container-lowest: var(--card);--mat-sys-surface-container-low: var(--muted);--mat-sys-surface-container-high: var(--muted);--mat-sys-surface-container-highest: var(--muted);--mat-sys-primary: var(--primary);--mat-sys-on-primary: var(--primary-foreground);--mat-sys-primary-container: var(--muted);--mat-sys-on-primary-container: var(--foreground);--mat-sys-secondary: var(--success);--mat-sys-on-secondary: var(--background);--mat-sys-secondary-container: var(--success-background);--mat-sys-on-secondary-container: var(--success);--mat-sys-tertiary: var(--warning);--mat-sys-on-tertiary: var(--background);--mat-sys-tertiary-container: var(--warning-background);--mat-sys-on-tertiary-container: var(--warning);--mat-sys-error: var(--danger);--mat-sys-on-error: var(--background);--mat-sys-error-container: var(--danger-background);--mat-sys-on-error-container: var(--danger);--mat-sys-outline: var(--muted-foreground);--mat-sys-outline-variant: var(--border);--mat-sys-inverse-surface: var(--foreground);--mat-sys-inverse-on-surface: var(--background);--mat-sys-inverse-primary: var(--background);--mat-sys-level1: var(--shadow-card);--mat-sys-level2: var(--shadow-overlay);--mat-card-elevated-container-color: var(--card);--mat-card-elevated-container-shape: 8px;--mat-card-elevated-container-elevation: var(--shadow-card);--mat-card-filled-container-color: var(--muted);--mat-card-filled-container-shape: 8px;--mat-card-outlined-container-color: var(--card);--mat-card-outlined-container-shape: 8px;--mat-card-outlined-outline-color: var(--border);--mat-card-title-text-size: 1rem;--mat-card-subtitle-text-size: .875rem;--mat-card-subtitle-text-color: var(--muted-foreground);--mat-button-filled-container-shape: 6px;--mat-button-outlined-container-shape: 6px;--mat-button-protected-container-shape: 6px;--mat-button-text-container-shape: 6px;--mat-button-tonal-container-shape: 6px;--mat-button-filled-horizontal-padding: 16px;--mat-button-outlined-horizontal-padding: 16px;--mat-button-filled-container-height: 40px;--mat-button-outlined-container-height: 40px;--mat-button-protected-container-height: 40px;--mat-button-text-container-height: 40px;--mat-button-filled-label-text-size: .875rem;--mat-button-outlined-label-text-size: .875rem;--mat-button-outlined-outline-color: var(--border);--mat-form-field-outlined-container-shape: 6px;--mat-dialog-container-shape: 12px;--mat-menu-container-shape: 8px;--mat-menu-container-elevation-shadow: var(--shadow-overlay)}html,body{min-height:100%}body{margin:0;font-family:Arial,sans-serif;font-size:.875rem;background:var(--background);color:var(--foreground)}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:600;line-height:1.3}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}p{margin:.5rem 0;line-height:1.5}.text-primary{color:var(--foreground)}.text-secondary,.text-disabled{color:var(--muted-foreground)}.surface{background:var(--mat-sys-surface);color:var(--foreground)}.surface-container{background:var(--mat-sys-surface-container);color:var(--foreground)}.surface-container-low{background:var(--mat-sys-surface-container-low);color:var(--foreground)}.surface-container-high{background:var(--mat-sys-surface-container-high);color:var(--foreground)}.surface-dim{background:var(--mat-sys-surface-dim);color:var(--foreground)}.surface-bright{background:var(--mat-sys-surface-bright);color:var(--foreground)}.primary{background:var(--mat-sys-primary);color:var(--mat-sys-on-primary)}.primary-container{background:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}.mat-chip-primary{--mat-chip-elevated-container-color: var(--mat-sys-primary-container);--mat-chip-label-text-color: var(--mat-sys-on-primary-container)}.secondary{background:var(--mat-sys-secondary);color:var(--mat-sys-on-secondary)}.secondary-container{background:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container)}.mat-chip-secondary{--mat-chip-elevated-container-color: var(--mat-sys-secondary-container);--mat-chip-label-text-color: var(--mat-sys-on-secondary-container)}.tertiary{background:var(--mat-sys-tertiary);color:var(--mat-sys-on-tertiary)}.tertiary-container{background:var(--mat-sys-tertiary-container);color:var(--mat-sys-on-tertiary-container)}.mat-chip-tertiary{--mat-chip-elevated-container-color: var(--mat-sys-tertiary-container);--mat-chip-label-text-color: var(--mat-sys-on-tertiary-container)}.error{background:var(--mat-sys-error);color:var(--mat-sys-on-error)}.error-container{background:var(--mat-sys-error-container);color:var(--mat-sys-on-error-container)}.mat-chip-error{--mat-chip-elevated-container-color: var(--mat-sys-error-container);--mat-chip-label-text-color: var(--mat-sys-on-error-container)}.mat-chip-surface{--mat-chip-elevated-container-color: var(--muted);--mat-chip-label-text-color: var(--foreground)}.amount-item{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px;padding:12px;background:var(--muted);border-radius:6px}.amount-label{font-size:.75rem;color:var(--muted-foreground);font-weight:500}.amount-value{font-size:.875rem;color:var(--foreground);font-weight:600}.amount-item-error{background:var(--danger-background)}.amount-item-error .amount-label,.amount-item-error .amount-value{color:var(--danger)}.shadow,.elevation-0{box-shadow:none}.shadow-elevation-1,.elevation-1{box-shadow:var(--shadow-card)}.shadow-elevation-2,.elevation-2,.shadow-elevation-3,.elevation-3{box-shadow:var(--shadow-overlay)}body{line-height:1.5;-webkit-font-smoothing:antialiased}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.amount-value,.expense-amount{font-variant-numeric:tabular-nums}.data-error{color:var(--mat-sys-on-error-container);background:var(--mat-sys-error-container);padding:16px;border-radius:8px}.skip-link{position:fixed;top:-100px;left:16px;padding:12px 16px;background:var(--card);color:var(--foreground);z-index:1100}.skip-link:focus{top:12px}#main-content{scroll-margin-top:80px}@media(pointer:coarse){button,a[mat-button]{min-height:44px}input,select,textarea{font-size:16px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:80px;-webkit-tap-highlight-color:light-dark(rgba(0,0,0,.0941176471),rgba(255,255,255,.1411764706))}body{padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}button,a{min-height:24px}button:not(:disabled),a{cursor:pointer}button:disabled{cursor:not-allowed}select{background:var(--card);color:var(--foreground)}h1,h2,h3,h4{text-wrap:balance;scroll-margin-top:80px}.mat-mdc-dialog-content{overscroll-behavior:contain}.budget-section-header,.expense-section-header,.budget-actions{flex-wrap:wrap;gap:12px}.budget-card-header .header-left{flex-wrap:wrap;min-width:0;gap:8px}.budget-name,.expense-name,.user-email,.users-table td{overflow-wrap:anywhere}.amount-value,.amount-display,.amount-cell{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.form-error{color:var(--mat-sys-error);font-size:.875rem}.extraction-badge{display:inline-block;vertical-align:baseline;padding:1px 6px;margin-inline-start:6px;border-radius:4px;background:var(--muted);color:var(--muted-foreground);font-size:.75rem;font-weight:400;line-height:1.5;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.button-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-inline-end:8px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(pointer:coarse){button,a[mat-icon-button],a[mat-flat-button],a[mat-stroked-button],a[mat-menu-item]{min-height:44px;min-width:44px}}@media(max-width:480px){.budget-section-header,.expense-section-header{align-items:flex-start}.budget-actions{width:100%}.budget-actions>*{flex:1}}@media(prefers-reduced-motion:reduce){.button-spinner{animation:none}}
