.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden;padding:var(--spacing-xl)}.auth-card{background:#101012d9;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.08);padding:var(--spacing-2xl);border-radius:var(--radius-2xl);box-shadow:0 24px 80px #0009,0 4px 16px #0000004d;width:100%;max-width:440px;position:relative;z-index:1}[data-theme=light] .auth-card{background:#ffffffe0;border-color:#00000012;box-shadow:0 8px 40px #0000001a,0 2px 8px #0000000f}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;opacity:.2}.auth-card h1{color:var(--text-primary);margin-bottom:var(--spacing-sm);text-align:center;font-size:2rem;font-weight:800;letter-spacing:-.04em;line-height:1.1;position:relative;display:inline-block;width:100%}.auth-card h1:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:50px;height:2px;background:var(--accent-primary);border-radius:1px;opacity:.5}.auth-card h2{color:var(--text-primary);margin-bottom:var(--spacing-2xl);text-align:center;font-size:1.5rem;font-weight:500;letter-spacing:-.01em}.form-group{margin-bottom:var(--spacing-xl)}.form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--text-secondary);font-weight:500;font-size:.8125rem;letter-spacing:.08em}.form-group input{width:100%;padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:.9375rem;color:var(--text-primary);transition:all var(--transition-base);font-family:inherit;font-weight:400}.form-group input::placeholder{color:var(--text-tertiary);opacity:.4}.form-group input:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-hover);box-shadow:0 0 0 2px #34d3990f}.form-group .error{color:var(--accent-danger);font-size:.8125rem;margin-top:var(--spacing-xs);display:block;font-weight:400}.consent-label{display:flex!important;align-items:flex-start!important;justify-content:flex-start;gap:.5rem;text-align:left;font-weight:400!important;letter-spacing:normal!important;text-transform:none!important;margin-bottom:0!important}.consent-label input[type=checkbox]{width:16px;height:16px;min-width:16px;margin-top:2px;accent-color:var(--accent-primary)}.consent-required{color:var(--accent-danger);font-weight:700}.error-message{background:#ef44440f;color:var(--accent-danger);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);text-align:center;font-size:.875rem;font-weight:400;border:1px solid rgba(239,68,68,.15)}.success-message{background:#34d3990f;color:var(--accent-foreground);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);text-align:center;font-size:.875rem;font-weight:400;border:1px solid rgba(52,211,153,.15);line-height:1.5}.auth-subtitle{color:var(--text-secondary);font-size:.875rem;text-align:center;margin-bottom:var(--spacing-xl);line-height:1.5}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-lg);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);font-family:inherit;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.google-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-secondary);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.google-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.google-icon{flex-shrink:0}.auth-divider{display:flex;align-items:center;margin:var(--spacing-xl) 0;gap:var(--spacing-lg)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-primary)}.auth-divider span{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.auth-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl)}.auth-spinner{width:32px;height:32px;border:3px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.auth-loading p{color:var(--text-secondary);font-size:.9375rem}.submit-btn{width:100%;background:#30d158;color:var(--on-accent);border:none;padding:var(--spacing-lg);border-radius:var(--radius-lg);font-size:.9375rem;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;margin-top:var(--spacing-lg);position:relative;overflow:hidden;font-family:inherit}.submit-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);background-size:200% 100%;background-position:-100% 0;animation:authBtnShimmer 3.5s ease-in-out infinite}@keyframes authBtnShimmer{0%{background-position:-100% 0}60%{background-position:200% 0}to{background-position:200% 0}}.submit-btn:hover:not(:disabled){background:#34d85e;transform:translateY(-1px);box-shadow:0 8px 24px #30d1584d}.submit-btn:active:not(:disabled){transform:translateY(0);transition-duration:.1s}.submit-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.auth-link{text-align:center;margin-top:var(--spacing-xl);color:var(--text-secondary);font-size:.875rem;font-weight:400}.auth-link a{color:var(--accent-foreground);text-decoration:none;font-weight:500;transition:all var(--transition-base);position:relative;display:inline-block}.auth-link a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent-primary);transition:width var(--transition-base);border-radius:1px;opacity:.5}.auth-link a:hover{color:var(--accent-secondary)}.auth-link a:hover:after{width:100%}@media (max-width: 768px){.auth-container{padding:var(--spacing-lg)}.auth-card{padding:var(--spacing-xl);border-radius:var(--radius-xl)}.auth-card h1{font-size:1.75rem}.auth-card h2{font-size:1.25rem;margin-bottom:var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-lg)}.form-group input{padding:var(--spacing-md);font-size:1rem}.submit-btn{padding:var(--spacing-md);font-size:.9375rem}}@media (max-width: 480px){.auth-container{padding:var(--spacing-md);align-items:flex-start;padding-top:15vh}.auth-card{padding:var(--spacing-lg);border-radius:var(--radius-lg)}.auth-card h1{font-size:1.5rem}.auth-card h2{font-size:1.125rem;margin-bottom:var(--spacing-lg)}.form-group label{font-size:.75rem}.form-group input{padding:.875rem;font-size:1rem}.auth-link{font-size:.8125rem}}.auth-split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-split-left{position:relative;background:var(--bg-secondary);padding:3rem;display:flex;flex-direction:column;justify-content:center;overflow:hidden}[data-theme=light] .auth-split-left{background:#fff}.auth-split-orb{position:absolute;border-radius:50%;pointer-events:none;opacity:.12}[data-theme=light] .auth-split-orb{opacity:.08}.auth-split-orb--1{width:400px;height:400px;top:-100px;right:-100px;background:radial-gradient(circle,#30d158,transparent 70%)}.auth-split-orb--2{width:300px;height:300px;bottom:-80px;left:-80px;background:radial-gradient(circle,#64d2ff,transparent 70%)}.auth-split-brand{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:2.5rem}.auth-split-headline{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.25;color:var(--text-primary);margin-bottom:1rem}.auth-split-subtitle{font-size:1rem;color:var(--text-secondary);line-height:1.65;margin-bottom:2rem;max-width:380px}.auth-split-features{list-style:none;display:flex;flex-direction:column;gap:.75rem}.auth-split-features li{display:flex;align-items:center;gap:.625rem;font-size:.9375rem;color:var(--text-secondary)}.auth-split>.auth-container{border-radius:0;min-height:100vh}.auth-split .form-group input:focus{box-shadow:0 0 0 3px #30d1581f}@media (max-width: 900px){.auth-split{grid-template-columns:1fr}.auth-split-left{display:none}.auth-split>.auth-container{min-height:100vh}}.verify-email-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--spacing-xl);position:relative;overflow:hidden}.verify-email-page:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(ellipse 55% 45% at 50% 0%,rgba(48,209,88,.12) 0%,transparent 55%);pointer-events:none}[data-theme=light] .verify-email-page:before{background:radial-gradient(ellipse 55% 45% at 50% 0%,rgba(48,209,88,.14) 0%,transparent 55%)}.verify-email-card{position:relative;z-index:1;background:#101012d9;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--spacing-2xl) var(--spacing-xl);max-width:480px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}[data-theme=light] .verify-email-card{background:#ffffffe0;border-color:#00000012;box-shadow:0 8px 40px #0000001a,0 2px 8px #0000000f}.verify-email-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;opacity:.35}.verify-email-icon{margin-bottom:var(--spacing-lg);color:var(--accent-foreground);display:flex;align-items:center;justify-content:center}.verify-email-icon svg{stroke:currentColor}.verify-email-icon--success{color:var(--accent-foreground)}.verify-email-icon--error{color:var(--accent-danger)}.verify-email-spinner{width:48px;height:48px;border:3px solid var(--border-secondary);border-top-color:var(--accent-primary);border-radius:50%;margin:0 auto;animation:verify-email-spin .75s linear infinite}@keyframes verify-email-spin{to{transform:rotate(360deg)}}.verify-email-card h1{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);margin:0 0 var(--spacing-sm)}.verify-email-subtitle{color:var(--text-secondary);font-size:1rem;margin:0 0 var(--spacing-sm);line-height:1.55}.verify-email-address{color:var(--accent-foreground);font-size:1.05rem;margin:0 0 var(--spacing-md);font-weight:600}.verify-email-hint{color:var(--text-tertiary);font-size:.875rem;margin:0 0 var(--spacing-xl);line-height:1.45}.verify-email-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.verify-email-resend{padding:var(--spacing-md) var(--spacing-xl);background:var(--accent-primary);color:#000;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.verify-email-resend:hover:not(:disabled){background:var(--accent-primary-dark);box-shadow:0 8px 24px #30d15847}.verify-email-resend:active:not(:disabled){transform:translateY(1px)}.verify-email-resend:disabled{opacity:.55;cursor:not-allowed}.verify-email-logout{padding:var(--spacing-sm) var(--spacing-xl);background:transparent;color:var(--text-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);font-size:.9375rem;font-weight:500;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.verify-email-logout:hover{border-color:var(--border-accent);color:var(--text-primary);background:var(--bg-hover)}.verify-email-error{color:var(--accent-danger);font-size:.875rem;margin-top:var(--spacing-md)}.view-skeleton{padding:clamp(16px,4vw,40px);color:var(--text-secondary)}.view-skeleton-title,.view-skeleton-chart,.view-skeleton-cards i{display:block;border-radius:var(--radius-md);background:var(--bg-hover);animation:skeleton-pulse 1.4s ease-in-out infinite alternate}.view-skeleton-title{width:45%;height:32px;margin:20px 0}.view-skeleton-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.view-skeleton-cards i{height:100px}.view-skeleton-chart{height:220px;margin-top:24px}@keyframes skeleton-pulse{0%{opacity:.45}to{opacity:.9}}@media (max-width: 480px){.view-skeleton-cards{grid-template-columns:1fr}.view-skeleton-cards i{height:64px}}@media (prefers-reduced-motion: reduce){.view-skeleton *{animation:none}}.eb-container{display:flex;align-items:center;justify-content:center;min-height:320px;padding:var(--spacing-xl)}.eb-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--spacing-2xl);max-width:440px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}.eb-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.eb-section{font-size:.8125rem;color:var(--text-tertiary);margin-bottom:var(--spacing-sm)}.eb-message{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:var(--spacing-xl);word-break:break-word}.eb-actions{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.eb-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.25rem;border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none}.eb-btn-primary{background:var(--accent-primary);color:var(--on-accent)}.eb-btn-primary:hover{background:var(--accent-primary-dark);transform:translateY(-1px);color:var(--on-accent)}.eb-btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-secondary)}.eb-btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-gutter:stable;overflow-x:clip}:root{color-scheme:dark;--bg-primary: #171A18;--bg-secondary: #1C201D;--bg-tertiary: #2B302C;--bg-card: #202522;--bg-hover: #292F2A;--bg-elevated: #252B27;--accent-primary: #30d158;--accent-success: #30d158;--accent-primary-dark: #25b84a;--accent-secondary: #99B7C6;--accent-tertiary: #B1A7C3;--accent-danger: #E39C96;--accent-warning: #D6B17A;--text-primary: #E8ECE9;--text-secondary: #B5BEB7;--text-tertiary: #A1ACA4;--text-muted: #97A39A;--border-primary: #353D37;--border-secondary: #48534B;--border-accent: rgba(48,209,88,.22);--shadow-xs: 0 1px 2px rgba(0,0,0,.12);--shadow-sm: 0 2px 7px rgba(0,0,0,.14);--shadow-md: 0 5px 18px rgba(0,0,0,.16);--shadow-lg: 0 12px 30px rgba(0,0,0,.18);--shadow-xl: 0 18px 45px rgba(0,0,0,.22);--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--logo-bg: #FFFFFF;--logo-fg: #0B1220;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--transition-fast: .2s cubic-bezier(.25, .1, .25, 1);--transition-base: .3s cubic-bezier(.25, .1, .25, 1);--transition-slow: .4s cubic-bezier(.25, .1, .25, 1);--ease-spring: cubic-bezier(.22, 1, .36, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--glass-bg: rgba(32,37,34,.94);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(16px);--glow-primary: 0 0 28px rgba(48,209,88,.06);--glow-cyan: none;--glow-purple: none;--shadow-2xl: 0 24px 55px rgba(0,0,0,.24);--skeleton-base: #2B332D;--skeleton-shine: #354038;--spacing-4xl: 5rem;--spacing-5xl: 7rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2.25rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.7;--duration-instant: 90ms;--duration-fast: .15s;--duration-base: .22s;--duration-slow: .32s;--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-color: var(--accent-foreground);--accent-foreground: #91C5A0;--accent-soft: #283B2D;--chart-expense: #9AADBA;--chart-income: #91BBA0;--on-accent: #10351B;--on-danger: #351916;--surface-subtle: #232925;--accent-action: var(--accent-primary);--accent-action-hover: var(--accent-primary-dark);--on-accent-action: var(--on-accent);--color-danger: var(--accent-danger);--color-danger-subtle: color-mix(in srgb, var(--accent-danger) 16%, transparent);--color-warning: var(--accent-warning);--color-warning-subtle: color-mix(in srgb, var(--accent-warning) 16%, transparent);--color-success: var(--accent-foreground);--accent: var(--accent-primary);--accent-primary-hover: var(--accent-primary-dark);--border: var(--border-primary);--border-subtle: var(--border-primary);--bg-input: var(--surface-subtle);--border-input: var(--border-secondary);--font-mono: "Fira Code", "Courier New", monospace}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}[data-theme=light]{color-scheme:light;--bg-primary: #F5F6F4;--bg-secondary: #FFFFFF;--bg-tertiary: #EDF0EB;--bg-card: #FFFFFF;--bg-hover: #F0F3EE;--bg-elevated: #FFFFFF;--text-primary: #252B28;--text-secondary: #626B65;--text-tertiary: #69736C;--text-muted: #67716A;--border-primary: #E2E6E1;--border-secondary: #C6CEC7;--border-accent: #B4D6BC;--shadow-xs: 0 1px 2px rgba(37,43,40,.03);--shadow-sm: 0 2px 7px rgba(37,43,40,.04);--shadow-md: 0 5px 18px rgba(37,43,40,.045);--shadow-lg: 0 12px 30px rgba(37,43,40,.055);--shadow-xl: 0 18px 45px rgba(37,43,40,.07);--shadow-2xl: 0 24px 55px rgba(37,43,40,.08);--logo-bg: #0B1220;--logo-fg: #FFFFFF;--glass-bg: rgba(255,255,255,.94);--glass-border: rgba(0, 0, 0, .07);--skeleton-base: #E6EBE4;--skeleton-shine: #F1F4EF;--surface-subtle: #FAFBF9;--accent-foreground: #287640;--accent-soft: #EDF5EE;--accent-success: #287640;--accent-danger: #AE443F;--accent-warning: #8D661F;--accent-secondary: #506F81;--accent-tertiary: #766786;--chart-expense: #657D8B;--chart-income: #568463;--on-danger: #FFFFFF;--accent-action: #287640;--accent-action-hover: #1F5F33;--on-accent-action: #FFFFFF}[data-theme=light] .navbar{background:#fbfbfdcc;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px #0000000d}body{font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);line-height:1.65;overflow-x:clip;font-weight:400;letter-spacing:-.01em}code{font-family:Fira Code,Courier New,monospace}#root{min-height:100vh;background:var(--bg-primary);position:relative}#root:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:60px 60px}[data-theme=light] #root:before{background-image:linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}::selection{background:#30d15833;color:var(--text-primary)}*:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes spin{to{transform:rotate(360deg)}}html{scroll-behavior:smooth}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:var(--spacing-2xl);color:var(--text-secondary);font-size:.875rem;font-weight:500;letter-spacing:.05em}.loading:before{content:"";width:18px;height:18px;border:2px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.error{color:var(--accent-danger);text-align:center;padding:var(--spacing-lg);font-size:.875rem;font-weight:500;background:#ef44440f;border:1px solid rgba(239,68,68,.12);border-radius:var(--radius-md);margin:var(--spacing-lg) 0}.recharts-tooltip-wrapper{outline:none}.recharts-default-tooltip,.recharts-tooltip{background:var(--bg-card)!important;border:1px solid var(--border-primary)!important;border-radius:var(--radius-md)!important;box-shadow:0 4px 12px #00000026!important;padding:var(--spacing-sm) var(--spacing-md)!important}.recharts-tooltip-label{color:var(--text-primary)!important;font-weight:600!important;margin-bottom:var(--spacing-xs)!important;font-size:.875rem!important}.recharts-tooltip-item{color:var(--text-primary)!important;font-size:.875rem!important}.recharts-tooltip-item-name{color:var(--text-secondary)!important}.recharts-tooltip-item-value{color:var(--text-primary)!important;font-weight:600!important}.recharts-default-tooltip .recharts-tooltip-label,.recharts-default-tooltip .recharts-tooltip-item{color:var(--text-primary)!important}.recharts-default-tooltip .recharts-tooltip-item-name{color:var(--text-secondary)!important}.recharts-default-tooltip .recharts-tooltip-item-value{color:var(--text-primary)!important}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}@keyframes skeletonPulse{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeletonPulse 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.interactive-card{cursor:pointer;transition:transform .25s var(--ease-spring),box-shadow .25s ease,border-color .25s ease}.interactive-card:hover{transform:translateY(-3px)}.interactive-card:active{transform:translateY(-1px);transition-duration:.1s}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.layout-page-enter{animation:pageEnter .35s var(--ease-out-expo) both}button:active,a.landing-btn:active{transform:scale(.97);transition-duration:.1s!important}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:3px}:where(.stat-card-value,.reports-kpi-value,.tx-details-row strong,.table-row){font-variant-numeric:tabular-nums}.tx-details-modal{max-height:90dvh;overflow-y:auto}.tx-details-actions{flex-wrap:wrap;gap:var(--spacing-sm, .5rem)}.tx-details-actions button{white-space:normal;min-height:2.75rem}.decision-explanation{margin-block:var(--spacing-md, 1rem);padding:var(--spacing-md, 1rem);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.decision-explanation summary{cursor:pointer;font-weight:600}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.query-state-stale{margin:0 0 .5rem;font-size:.8rem;line-height:1.4;color:var(--text-secondary)}.query-state-stale-retry{padding:0;border:0;background:none;color:var(--text-primary);font-size:.8rem;text-decoration:underline;cursor:pointer}.spendment-icon{display:inline-block;flex-shrink:0;vertical-align:middle;transition:transform .16s ease,opacity .16s ease}@media (hover: hover) and (pointer: fine){:where(button,a):not(:disabled):hover>.spendment-icon{transform:translateY(-1px)}}:where(button,a):not(:disabled):active>.spendment-icon{transform:scale(.93)}@media (prefers-reduced-motion: reduce){.spendment-icon,:where(button,a):not(:disabled):hover>.spendment-icon,:where(button,a):not(:disabled):active>.spendment-icon{transition:none;transform:none}}:root{--table-cell-padding-y: .625rem;--table-cell-padding-x: .75rem;--table-cell-padding-y-compact: .375rem;--table-cell-padding-x-compact: .5rem;--table-font-size: var(--font-size-base, .875rem);--table-header-font-size: var(--font-size-xs, .75rem)}.ui-table{width:100%;border-collapse:collapse;font-size:var(--table-font-size)}.ui-table th{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);text-align:left;font-size:var(--table-header-font-size);font-weight:var(--font-weight-semibold, 600);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ui-table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);color:var(--text-primary);border-bottom:1px solid var(--border-primary);vertical-align:middle}.ui-table--compact th,.ui-table--compact td{padding:var(--table-cell-padding-y-compact) var(--table-cell-padding-x-compact);font-size:var(--font-size-sm, .8125rem)}.ui-table :is(th,td)[data-numeric]{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}:root{--page-width-form: 45rem;--page-width-content: 56rem;--page-width-data: 90rem;--page-padding-block: clamp(1.25rem, 2.5vw, 2rem);--page-padding-inline: clamp(1rem, 2.5vw, 2rem)}.page{width:100%;min-width:0;box-sizing:border-box;margin-inline:auto;padding:var(--page-padding-block) var(--page-padding-inline) calc(var(--page-padding-block) * 2);max-width:var(--page-width-content)}.page--form{max-width:var(--page-width-form)}.page--data{max-width:var(--page-width-data)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.page-header-main{min-width:0;flex:1 1 20rem}.page-title{margin:0;font-size:clamp(1.5rem,2.5vw,var(--font-size-2xl));font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:-.02em;color:var(--text-primary)}.page-subtitle{margin:.375rem 0 0;font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-secondary)}.page-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs)}@keyframes pageIn{0%{opacity:0}to{opacity:1}}.page{animation:pageIn var(--duration-slow) var(--ease-out-expo) backwards}@media (prefers-reduced-motion: reduce){.page{animation:none}}.page--full{max-width:none}:where(.reports-page,.admin-page)>.page-header{margin-bottom:0}.action-button{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.action-primary{background:var(--accent-primary);color:var(--on-accent);position:relative;overflow:hidden}.action-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.action-primary:hover:before{left:100%}.action-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #34d3994d,0 0 0 1px #34d39933}.action-secondary{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary)}.action-secondary:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.action-primary-small{padding:.5rem 1rem;background:var(--accent-primary);color:var(--on-accent);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all var(--transition-base)}.action-primary-small:hover{transform:translateY(-1px);box-shadow:0 4px 12px #34d3994d,0 0 0 1px #34d39933}.action-secondary-small{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.action-secondary-small:hover{background:var(--bg-hover);border-color:var(--border-secondary)}@media (max-width: 768px){.action-button{width:100%;padding:.875rem 1.25rem;text-align:center}}@media (max-width: 480px){.action-button{padding:.75rem 1rem;font-size:.875rem}}.time-filter-slider{display:flex;align-items:center;background:#ffffff0a;border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:4px;gap:2px;position:relative;box-shadow:0 1px 2px #0000001a;overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;min-width:0}[data-theme=light] .time-filter-slider{background:#00000008}.time-filter-slider button{padding:.5rem 1rem;background:transparent;border:none;border-radius:10px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);font-family:inherit;white-space:nowrap;position:relative;z-index:1;flex:1 1 auto;min-width:max-content;min-height:44px;outline:none;letter-spacing:-.01em}.time-filter-slider button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;z-index:2}.time-filter-slider button:hover:not(.active){color:var(--text-primary);background:#ffffff0f}[data-theme=light] .time-filter-slider button:hover:not(.active){background:#0000000a}.time-filter-slider button.active{color:var(--text-primary);background:#ffffff1f;font-weight:600;box-shadow:0 1px 2px #00000026}[data-theme=light] .time-filter-slider button.active{background:#fff;box-shadow:var(--shadow-xs)}@media (max-width: 768px){.time-filter-slider{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:3px;gap:4px;max-width:100%;flex-wrap:nowrap}.time-filter-slider::-webkit-scrollbar{display:none}.time-filter-slider button{min-height:36px;padding:.5rem .875rem;font-size:.75rem;flex:0 0 auto;min-width:auto;white-space:nowrap}}@media (max-width: 480px){.time-filter-slider{padding:2px;gap:3px}.time-filter-slider button{min-height:36px;padding:.4rem .625rem;font-size:.6875rem;white-space:nowrap}}
