:root{--bg-primary: #f9f9f9;--bg-secondary: #ffffff;--bg-tertiary: #eef2f6;--text-primary: #101828;--text-secondary: #4a5565;--border-color: #e5e7eb;--accent-color: #001338;--accent-hover: #1a365d;--on-accent: #ffffff;--accent-text: #001338;--on-accent-text: #ffffff;--on-danger-text: #ffffff;--state-active-bg: rgba(0, 0, 0, .05);--on-solid: #ffffff;--on-solid-muted: rgba(255, 255, 255, .85);--on-solid-overlay: rgba(255, 255, 255, .2);--success-solid: #15803d;--success-solid-hover: #166534;--success-text: #166534;--success-bg: #dcfce7;--success-border: #86efac;--danger-solid: #c62828;--danger-solid-hover: #b71c1c;--danger-text: #b91c1c;--danger-bg: #fee2e2;--danger-border: #fca5a5;--warning-solid: #b45309;--warning-solid-hover: #92400e;--warning-text: #92400e;--warning-bg: #fef3c7;--warning-border: #fcd34d;--info-solid: #1d4ed8;--info-solid-hover: #1e40af;--info-text: #1e40af;--info-bg: #dbeafe;--info-border: #93c5fd;--color-income: var(--success-text);--color-expense: var(--danger-text);--color-warning: var(--warning-text);--success-color: var(--success-solid);--success-hover: var(--success-solid-hover);--danger-default: var(--danger-solid);--danger-hover: var(--danger-solid-hover);--msg-incoming: #eef2f6;--msg-outgoing: #25d366;--msg-text-incoming: #101828;--msg-text-outgoing: #08331b;--scrim: rgba(0, 0, 0, .6);--gradient-blue: linear-gradient(135deg, #1d4ed8, #1e40af);--gradient-green: linear-gradient(135deg, #047857, #0f766e);--gradient-purple: linear-gradient(135deg, #7e22ce, #4338ca);--gradient-amber: linear-gradient(135deg, #b45309, #c2410c);--gradient-teal: linear-gradient(135deg, #0f766e, #115e59);--gradient-rose: linear-gradient(135deg, #be123c, #9f1239);--gradient-brand: linear-gradient(135deg, #4c8dff, #35d5a1);--glow-blue: rgba(76, 141, 255, .2);--glow-green: rgba(54, 211, 153, .18);--console-bg: #111827;--console-bg-hover: #1f2937;--console-overlay: rgba(17, 24, 39, .8);--console-text: #d1d5db;--console-muted: #9ca3af;--console-scroll-thumb: #4b5563;--console-scroll-thumb-hover: #6b7280;--console-error: #f87171;--console-info: #60a5fa;--console-info-border: #1e3a8a;--console-info-bg: rgba(30, 58, 138, .3);--console-warn: #fbbf24;--console-warn-border: #78350f;--console-warn-bg: rgba(120, 53, 15, .3);--console-error-border: #7f1d1d;--console-error-bg: rgba(127, 29, 29, .3);--chart-1: #3b82f6;--chart-2: #10b981;--chart-3: #f59e0b;--chart-4: #ef4444;--chart-5: #8b5cf6;--chart-6: #06b6d4;--chart-7: #84cc16;--chart-8: #ec4899;--chart-point: #ffffff}.dark-theme{--bg-primary: #05070c;--bg-secondary: #001338;--bg-tertiary: #17223f;--text-primary: #f9fafb;--text-secondary: #99a1af;--border-color: #1a365d;--accent-color: #155dfc;--accent-hover: #1447e6;--accent-text: #8fb0ff;--on-accent-text: #05070c;--on-danger-text: #05070c;--state-active-bg: rgba(255, 255, 255, .1);--success-text: #4ade80;--success-bg: #052e1a;--success-border: #166534;--danger-text: #f87171;--danger-bg: #3b0d12;--danger-border: #991b1b;--warning-text: #fbbf24;--warning-bg: #3a2306;--warning-border: #92400e;--info-solid: #2563eb;--info-solid-hover: #1d4ed8;--info-text: #60a5fa;--info-bg: #0b1f4a;--info-border: #1e40af;--msg-incoming: #17223f;--msg-text-incoming: #f9fafb}:root{--font-family-base: Roboto, "Helvetica Neue", sans-serif;--font-family-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--font-size-display: 1.75rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.5}:root{--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem}:root{--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 999px}:root{--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 20px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px rgba(0, 0, 0, .5);--shadow-ring-success: 0 0 0 4px color-mix(in srgb, var(--success-solid) 20%, transparent);--blur-sm: blur(4px);--blur-md: blur(8px);--blur-lg: blur(10px);--z-dropdown: 10;--z-modal: 1000}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--easing-standard: ease;--easing-out: ease-out}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0s;--duration-base: 0s;--duration-slow: 0s;--duration-slower: 0s}}:root{--breakpoint-sm: 600px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/roboto-latin-300-normal.woff2) format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/roboto-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/roboto-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/roboto-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/material-icons-latin-400-normal.woff2) format("woff2")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:var(--font-size-xl);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;font-feature-settings:"liga"}html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--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 Roboto;--mat-sys-body-large-font: Roboto;--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 Roboto;--mat-sys-body-medium-font: Roboto;--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 Roboto;--mat-sys-body-small-font: Roboto;--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 Roboto;--mat-sys-display-large-font: Roboto;--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 Roboto;--mat-sys-display-medium-font: Roboto;--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 Roboto;--mat-sys-display-small-font: Roboto;--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 Roboto;--mat-sys-headline-large-font: Roboto;--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 Roboto;--mat-sys-headline-medium-font: Roboto;--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 Roboto;--mat-sys-headline-small-font: Roboto;--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 Roboto;--mat-sys-label-large-font: Roboto;--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: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--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: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--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 Roboto;--mat-sys-title-large-font: Roboto;--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 Roboto;--mat-sys-title-medium-font: Roboto;--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 Roboto;--mat-sys-title-small-font: Roboto;--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}.dark-theme{--mat-sys-background: #121316;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #2f3033;--mat-sys-inverse-primary: #005cbb;--mat-sys-inverse-surface: #e3e2e6;--mat-sys-on-background: #e3e2e6;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #002f65;--mat-sys-on-primary-container: #d7e3ff;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #283041;--mat-sys-on-secondary-container: #dae2f9;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #e3e2e6;--mat-sys-on-surface-variant: #e0e2ec;--mat-sys-on-tertiary: #0001ac;--mat-sys-on-tertiary-container: #e0e0ff;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #8e9099;--mat-sys-outline-variant: #44474e;--mat-sys-primary: #abc7ff;--mat-sys-primary-container: #00458f;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #bec6dc;--mat-sys-secondary-container: #3e4759;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #121316;--mat-sys-surface-bright: #38393c;--mat-sys-surface-container: #1f2022;--mat-sys-surface-container-high: #292a2c;--mat-sys-surface-container-highest: #343537;--mat-sys-surface-container-low: #1a1b1f;--mat-sys-surface-container-lowest: #0d0e11;--mat-sys-surface-dim: #121316;--mat-sys-surface-tint: #abc7ff;--mat-sys-surface-variant: #44474e;--mat-sys-tertiary: #bec2ff;--mat-sys-tertiary-container: #0000ef;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--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-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}:root{--mat-sys-background: var(--bg-primary);--mat-sys-on-background: var(--text-primary);--mat-sys-surface: var(--bg-secondary);--mat-sys-on-surface: var(--text-primary);--mat-sys-surface-variant: var(--bg-tertiary);--mat-sys-on-surface-variant: var(--text-secondary);--mat-sys-surface-container-lowest: var(--bg-secondary);--mat-sys-surface-container-low: var(--bg-secondary);--mat-sys-surface-container: var(--bg-secondary);--mat-sys-surface-container-high: var(--bg-tertiary);--mat-sys-surface-container-highest: var(--bg-tertiary);--mat-sys-outline: var(--text-secondary);--mat-sys-outline-variant: var(--border-color);--mat-sys-primary: var(--accent-text);--mat-sys-on-primary: var(--on-accent-text);--mat-sys-error: var(--danger-text);--mat-sys-on-error: var(--on-danger-text);--mat-app-background-color: var(--bg-primary);--mat-app-surface-color: var(--bg-secondary);--mat-app-text-color: var(--text-primary);--mat-app-text-secondary-color: var(--text-secondary);--mat-app-border-color: var(--border-color)}.dark-theme{--mat-sys-background: var(--bg-primary);--mat-sys-on-background: var(--text-primary);--mat-sys-surface: var(--bg-secondary);--mat-sys-on-surface: var(--text-primary);--mat-sys-surface-variant: var(--bg-tertiary);--mat-sys-on-surface-variant: var(--text-secondary);--mat-sys-surface-container-lowest: var(--bg-secondary);--mat-sys-surface-container-low: var(--bg-secondary);--mat-sys-surface-container: var(--bg-secondary);--mat-sys-surface-container-high: var(--bg-tertiary);--mat-sys-surface-container-highest: var(--bg-tertiary);--mat-sys-outline: var(--text-secondary);--mat-sys-outline-variant: var(--border-color);--mat-sys-primary: var(--accent-text);--mat-sys-on-primary: var(--on-accent-text);--mat-sys-error: var(--danger-text);--mat-sys-on-error: var(--on-danger-text);--mat-app-background-color: var(--bg-primary);--mat-app-surface-color: var(--bg-secondary);--mat-app-text-color: var(--text-primary);--mat-app-text-secondary-color: var(--text-secondary);--mat-app-border-color: var(--border-color)}.mat-primary.mat-mdc-button-base{--mat-button-filled-container-color: var(--mat-sys-primary);--mat-button-filled-label-text-color: var(--mat-sys-on-primary);--mat-button-filled-state-layer-color: var(--mat-sys-on-primary);--mat-button-filled-ripple-color: color-mix( in srgb, var(--mat-sys-on-primary) 12%, transparent );--mat-button-text-label-text-color: var(--mat-sys-primary);--mat-button-text-state-layer-color: var(--mat-sys-primary);--mat-button-text-ripple-color: color-mix( in srgb, var(--mat-sys-primary) 12%, transparent );--mat-button-outlined-label-text-color: var(--mat-sys-primary);--mat-button-outlined-state-layer-color: var(--mat-sys-primary);--mat-button-outlined-ripple-color: color-mix( in srgb, var(--mat-sys-primary) 12%, transparent );--mat-icon-button-icon-color: var(--mat-sys-primary);--mat-icon-button-state-layer-color: var(--mat-sys-primary);--mat-icon-button-ripple-color: color-mix( in srgb, var(--mat-sys-primary) 12%, transparent )}.mat-primary.mat-icon{--mat-icon-color: var(--mat-sys-primary)}.mat-primary.mat-mdc-progress-spinner{--mat-progress-spinner-active-indicator-color: var(--mat-sys-primary)}.mat-accent.mat-mdc-button-base{--mat-button-filled-container-color: var(--mat-sys-tertiary);--mat-button-filled-label-text-color: var(--mat-sys-on-tertiary);--mat-button-filled-state-layer-color: var(--mat-sys-on-tertiary);--mat-button-filled-ripple-color: color-mix( in srgb, var(--mat-sys-on-tertiary) 12%, transparent );--mat-button-text-label-text-color: var(--mat-sys-tertiary);--mat-button-text-state-layer-color: var(--mat-sys-tertiary);--mat-button-text-ripple-color: color-mix( in srgb, var(--mat-sys-tertiary) 12%, transparent );--mat-button-outlined-label-text-color: var(--mat-sys-tertiary);--mat-button-outlined-state-layer-color: var(--mat-sys-tertiary);--mat-button-outlined-ripple-color: color-mix( in srgb, var(--mat-sys-tertiary) 12%, transparent );--mat-icon-button-icon-color: var(--mat-sys-tertiary);--mat-icon-button-state-layer-color: var(--mat-sys-tertiary);--mat-icon-button-ripple-color: color-mix( in srgb, var(--mat-sys-tertiary) 12%, transparent )}.mat-accent.mat-icon{--mat-icon-color: var(--mat-sys-tertiary)}.mat-accent.mat-mdc-progress-spinner{--mat-progress-spinner-active-indicator-color: var(--mat-sys-tertiary)}.mat-warn.mat-mdc-button-base{--mat-button-filled-container-color: var(--mat-sys-error);--mat-button-filled-label-text-color: var(--mat-sys-on-error);--mat-button-filled-state-layer-color: var(--mat-sys-on-error);--mat-button-filled-ripple-color: color-mix( in srgb, var(--mat-sys-on-error) 12%, transparent );--mat-button-text-label-text-color: var(--mat-sys-error);--mat-button-text-state-layer-color: var(--mat-sys-error);--mat-button-text-ripple-color: color-mix( in srgb, var(--mat-sys-error) 12%, transparent );--mat-button-outlined-label-text-color: var(--mat-sys-error);--mat-button-outlined-state-layer-color: var(--mat-sys-error);--mat-button-outlined-ripple-color: color-mix( in srgb, var(--mat-sys-error) 12%, transparent );--mat-icon-button-icon-color: var(--mat-sys-error);--mat-icon-button-state-layer-color: var(--mat-sys-error);--mat-icon-button-ripple-color: color-mix( in srgb, var(--mat-sys-error) 12%, transparent )}.mat-warn.mat-icon{--mat-icon-color: var(--mat-sys-error)}.mat-warn.mat-mdc-progress-spinner{--mat-progress-spinner-active-indicator-color: var(--mat-sys-error)}.mat-icon.mat-primary,.mat-icon.mat-accent,.mat-icon.mat-warn{color:var(--mat-icon-color)}.u-flex{display:flex}.u-col{flex-direction:column}.u-wrap{flex-wrap:wrap}.u-grow{flex:1 1 auto}.u-grow-1{flex:1}.u-items-center{align-items:center}.u-items-start{align-items:flex-start}.u-justify-between{justify-content:space-between}.u-justify-center{justify-content:center}.u-justify-end{justify-content:flex-end}.u-center{display:flex;justify-content:center;padding:var(--space-5)}.u-gap-1{gap:var(--space-1)}.u-gap-2{gap:var(--space-2)}.u-gap-3{gap:var(--space-3)}.u-gap-4{gap:var(--space-4)}.u-gap-6{gap:var(--space-6)}.u-m-0{margin:0}.u-mt-1{margin-top:var(--space-1)}.u-mt-2{margin-top:var(--space-2)}.u-mt-4{margin-top:var(--space-4)}.u-mt-6{margin-top:var(--space-6)}.u-mt-8{margin-top:var(--space-8)}.u-mb-2{margin-bottom:var(--space-2)}.u-mb-4{margin-bottom:var(--space-4)}.u-mb-5{margin-bottom:var(--space-5)}.u-mb-6{margin-bottom:var(--space-6)}.u-mr-2{margin-right:var(--space-2)}.u-mr-4{margin-right:var(--space-4)}.u-pt-6{padding-top:var(--space-6)}.u-p-4{padding:var(--space-4)}.u-p-8{padding:var(--space-8)}.u-w-full{width:100%}.u-h-full{height:100%}.u-min-w-field{min-width:12.5rem}.u-w-field-sm{width:6.25rem}.u-max-w-cell{max-width:18.75rem}.u-scroll-y{overflow-y:auto}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-text-xs{font-size:var(--font-size-xs)}.u-text-sm{font-size:var(--font-size-sm)}.u-muted{color:var(--text-secondary)}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-income{color:var(--color-income)}.u-expense{color:var(--color-expense)}.u-warning{color:var(--color-warning)}.u-surface{background-color:var(--bg-primary)}.btn,.btn-primary,.btn-danger,.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);min-height:2.75rem;border:var(--space-px) solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-base) var(--easing-standard),border-color var(--duration-base) var(--easing-standard)}.btn:disabled,.btn-primary:disabled,.btn-danger:disabled,.btn-outline:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent-color);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--danger-solid);color:var(--on-solid)}.btn-danger:hover:not(:disabled){background:var(--danger-solid-hover)}.btn-outline{background:transparent;border-color:var(--border-color);color:var(--text-primary)}.btn-outline:hover:not(:disabled){background:var(--bg-tertiary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);color:var(--text-secondary);text-align:center}.empty-hint{padding:var(--space-4) 0;color:var(--text-secondary);font-style:italic;text-align:center}.page-header{margin-bottom:var(--space-6)}.page-header h1{margin:0;color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.page-header p{margin:var(--space-2) 0 0;color:var(--text-secondary)}.page-header-split{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.mat-mdc-icon-button{min-width:2.75rem;min-height:2.75rem}.accent-emerald,.accent-amber,.accent-blue{color:var(--on-solid)}.accent-emerald mat-card-subtitle,.accent-emerald .stat-value,.accent-amber mat-card-subtitle,.accent-amber .stat-value,.accent-blue mat-card-subtitle,.accent-blue .stat-value{color:var(--on-solid)!important}.accent-emerald{background:var(--gradient-green)}.accent-amber{background:var(--gradient-amber)}.accent-blue{background:var(--gradient-blue)}.error{margin-bottom:var(--space-4);color:var(--danger-text);font-size:var(--font-size-sm)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.table-responsive table{width:100%;min-width:37.5rem}.success-snackbar{--mdc-snackbar-container-color: var(--success-solid);--mdc-snackbar-supporting-text-color: var(--on-solid);--mat-snack-bar-button-color: var(--on-solid)}.error-snackbar{--mdc-snackbar-container-color: var(--danger-solid);--mdc-snackbar-supporting-text-color: var(--on-solid);--mat-snack-bar-button-color: var(--on-solid)}.error-banner,.warning-banner{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:var(--space-px) solid var(--danger-border);background:var(--danger-bg);color:var(--text-primary)}.warning-banner{border-color:var(--border-color);background:var(--bg-tertiary)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;font-family:var(--font-family-base);background-color:var(--bg-primary);color:var(--text-primary)}
