:root{font-family:Inter,system-ui,Arial,sans-serif;color-scheme:dark;color:var(--text);--bg: #0f172a;--surface: rgba(10, 18, 37, .55);--surface-nav: rgba(10, 18, 37, .6);--surface-auth: rgba(10, 18, 37, .72);--surface-input: rgba(15, 23, 42, .65);--surface-row: rgba(10, 18, 37, .45);--surface-muted: rgba(10, 18, 37, .5);--surface-stat: rgba(15, 23, 42, .55);--border: rgba(255, 255, 255, .07);--border-nav: rgba(255, 255, 255, .08);--border-auth: rgba(255, 255, 255, .09);--border-input: rgba(148, 163, 184, .14);--text: #f5f7fb;--text-input: #f8fafc;--gradient-top: rgba(59, 130, 246, .16)}[data-theme=light]{color-scheme:light;--bg: #f1f5f9;--surface: rgba(255, 255, 255, .78);--surface-nav: rgba(255, 255, 255, .88);--surface-auth: rgba(255, 255, 255, .9);--surface-input: rgba(248, 250, 252, .95);--surface-row: rgba(255, 255, 255, .7);--surface-muted: rgba(255, 255, 255, .65);--surface-stat: rgba(255, 255, 255, .7);--border: rgba(0, 0, 0, .07);--border-nav: rgba(0, 0, 0, .09);--border-auth: rgba(0, 0, 0, .09);--border-input: rgba(100, 116, 139, .28);--text: #0f172a;--text-input: #0f172a;--gradient-top: rgba(59, 130, 246, .06)}[data-theme=light] body{background:radial-gradient(circle at top,var(--gradient-top),transparent 35%),var(--bg);color:var(--text)}[data-theme=light] .card h3,[data-theme=light] .settings-title,[data-theme=light] .auth-title{color:#0f172a}[data-theme=light] .app-nav-links a{color:#475569}[data-theme=light] .app-nav-links a:hover{color:#0f172a}[data-theme=light] .app-nav-links a.active{color:#b8860b;background:#b4820a14;border-color:#b4820a47}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;width:100%}body{background:radial-gradient(circle at top,var(--gradient-top),transparent 35%),var(--bg);color:var(--text)}button,input,select{font:inherit}img{display:block;max-width:100%}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 25% 60%,rgba(59,130,246,.1),transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(139,92,246,.07),transparent 45%)}.auth-logo{width:72px;height:72px;object-fit:contain;margin-bottom:20px;filter:drop-shadow(0 0 18px rgba(255,215,0,.35))}.login-logo{width:72px;height:72px;object-fit:contain;margin-bottom:24px;filter:drop-shadow(0 0 20px rgba(255,215,0,.4));transition:filter .3s ease}.login-logo:hover{filter:drop-shadow(0 0 28px rgba(255,215,0,.6))}.auth-card{position:relative;width:100%;max-width:420px;background:var(--surface-auth);border:1px solid var(--border-auth);border-radius:24px;padding:44px 36px 36px;box-shadow:0 24px 60px #00000073,0 1px #ffffff0f inset;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;align-items:center;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;left:60px;right:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(96,165,250,.5),transparent)}.auth-eyebrow{margin:0 0 10px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#60a5fa}.auth-title{margin:0 0 8px;font-size:1.8rem;font-weight:800;letter-spacing:-.04em;text-align:center;background:linear-gradient(135deg,#f1f5f9,#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{margin-bottom:28px;color:#64748b;text-align:center;line-height:1.6;font-size:.93rem}.auth-forgot-link{align-self:flex-end;font-size:.82rem;color:#60a5fa;text-decoration:none;margin-top:-6px;transition:color .2s ease}.auth-forgot-link:hover{color:#93c5fd}.auth-form{display:flex;flex-direction:column;gap:14px;width:100%}.auth-form label,.transaction-form label,.budget-input-group{display:flex;flex-direction:column;gap:8px;color:#cbd5e1}.auth-form input,.transaction-form input,.transaction-form select,.filter-select,.search-input,.budget-input-group input{width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--border-input);background:var(--surface-input);color:var(--text-input);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.auth-form input::placeholder{color:#475569}.auth-form input:focus,.transaction-form input:focus,.transaction-form select:focus,.filter-select:focus,.search-input:focus,.budget-input-group input:focus{border-color:#60a5fa99;box-shadow:0 0 0 3px #60a5fa1f,0 0 14px #60a5fa14}.auth-error{margin:0;color:#fca5a5;font-size:.95rem}.auth-waking{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;background:#fbbf2414;border:1px solid rgba(251,191,36,.2)}.auth-waking-spinner{flex-shrink:0;margin-top:2px;width:16px;height:16px;border-radius:50%;border:2px solid rgba(251,191,36,.25);border-top-color:#fbbf24;animation:spin .8s linear infinite}.auth-waking-text{display:flex;flex-direction:column;gap:2px}.auth-waking-title{font-size:.85rem;font-weight:600;color:#fbbf24}.auth-waking-sub{font-size:.78rem;color:#92400e;color:#fbbf24b3;line-height:1.4}.auth-switch-button{margin-top:14px;width:100%;border:1px solid rgba(148,163,184,.14);border-radius:12px;padding:12px 16px;background:#ffffff08;color:#64748b;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-switch-button:hover{background:#ffffff12;border-color:#94a3b840;color:#94a3b8}.dashboard{min-height:100vh;max-width:1200px;margin:0 auto;padding:40px 24px;display:flex;flex-direction:column}.app-nav{position:sticky;top:16px;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding:10px 16px;background:var(--surface-nav);border:1px solid var(--border-nav);border-radius:18px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 4px 24px #00000059,0 1px #ffffff0d inset;overflow:visible}.app-nav:before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.55),transparent);pointer-events:none}.app-nav-left{display:flex;align-items:center;gap:20px}.app-nav-links{display:flex;gap:4px}.app-nav-links a{display:flex;align-items:center;gap:6px;color:#94a3b8;text-decoration:none;font-size:.875rem;font-weight:500;padding:7px 13px;border-radius:10px;border:1px solid transparent;transition:color .2s ease,background .2s ease,border-color .2s ease}.app-nav-links a svg{opacity:.6;transition:opacity .2s ease;flex-shrink:0}.app-nav-links a:hover{color:#e2e8f0;background:#ffffff0f;border-color:var(--border-nav)}.app-nav-links a:hover svg{opacity:1}.app-nav-links a.active{color:#d4af37;background:#d4af371a;border-color:#d4af374d;box-shadow:0 0 14px #d4af371a}.app-nav-links a.active svg{opacity:1}.app-nav-right{display:flex;align-items:center;gap:12px}.hero{display:flex;align-items:center;justify-content:center;text-align:center;margin-bottom:30px}.hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-logo{width:96px;height:96px;object-fit:contain;margin-bottom:14px;filter:drop-shadow(0 0 18px rgba(59,130,246,.24));transition:transform .2s ease}.hero-logo:hover{transform:scale(1.04)}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:#93c5fd}.hero h1{margin:0;font-size:2.9rem;letter-spacing:-.04em}.subtext{margin-top:10px;max-width:720px;color:#cbd5e1;line-height:1.6;font-size:1.02rem}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:20px;margin-bottom:24px}.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px;margin-bottom:22px;min-width:0}.bottom-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-bottom:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 24px #00000040,0 1px #ffffff0a inset;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00000059,0 1px #ffffff0d inset}.card h3{margin-top:0;margin-bottom:18px;font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:#f1f5f9}.card-label{margin:0 0 8px;color:#94a3b8;font-size:.92rem}.summary-card h2{margin:0;font-size:1.8rem}.transaction-form{display:flex;flex-direction:column;gap:14px}.transaction-form label{font-size:.95rem}.primary-button{width:100%;border:none;border-radius:12px;padding:12px 16px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primary-button.btn-auto{width:auto;padding:8px 16px;font-size:.875rem}.primary-button:hover{opacity:.95;transform:translateY(-1px)}.primary-button:disabled{opacity:.7;cursor:not-allowed}.edit-mode{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.insight-list{display:flex;flex-direction:column;gap:14px}.insight-item{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:12px;margin-bottom:10px;border:1px solid transparent;border-left-width:3px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .2s ease,box-shadow .2s ease}.insight-item p{margin:0;line-height:1.55;font-size:.92rem}.insight-icon{font-size:1rem;line-height:1.4;flex-shrink:0}.insight-item.positive{background:#22c55e12;border-color:#22c55e1f;border-left-color:#22c55e;box-shadow:inset 3px 0 12px #22c55e0d}.insight-item.warning{background:#f59e0b12;border-color:#f59e0b1f;border-left-color:#f59e0b;box-shadow:inset 3px 0 12px #f59e0b0d}.insight-item.danger{background:#ef444412;border-color:#ef44441f;border-left-color:#ef4444;box-shadow:inset 3px 0 12px #ef44440d}.transactions-card{margin-top:4px}.section-header{margin-bottom:12px}.transactions-list{display:flex;flex-direction:column;gap:8px}.transaction-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--surface-row);border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.transaction-info{flex:1;min-width:0}.transaction-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.transaction-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}.transaction-actions{display:flex;align-items:center;gap:6px}.icon-button{border:none;border-radius:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .15s ease;flex-shrink:0}.icon-button.edit-icon{background:#3b82f61f;color:#93c5fd}.icon-button.edit-icon:hover{background:#3b82f63d;transform:translateY(-1px)}.icon-button.delete-icon{background:#ef44441a;color:#fca5a5}.icon-button.delete-icon:hover{background:#ef444438;transform:translateY(-1px)}.delete-button{border:none;border-radius:10px;padding:8px 12px;background:#ef444424;color:#fca5a5;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:5px}.delete-button:hover{background:#ef444438}.edit-button{border:none;border-radius:10px;padding:8px 12px;background:#3b82f624;color:#93c5fd;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:5px}.edit-button:hover{background:#3b82f638}.merchant{margin:0;font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.category-badge{display:inline-block;padding:3px 9px;border-radius:999px;background:#3b82f626;color:#93c5fd;border:1px solid rgba(59,130,246,.22);font-size:.74rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.category-badge[data-category=Food]{background:#22c55e1f;color:#86efac;border-color:#22c55e38}.category-badge[data-category=Transport]{background:#8b5cf61f;color:#c4b5fd;border-color:#8b5cf638}.category-badge[data-category=Bills]{background:#f59e0b1f;color:#fcd34d;border-color:#f59e0b38}.category-badge[data-category=Entertainment]{background:#ec48991f;color:#f9a8d4;border-color:#ec489938}.transaction-date{font-size:.74rem;color:#64748b;letter-spacing:.01em;white-space:nowrap}.amount{margin:0;font-weight:700;font-size:1.05rem;letter-spacing:-.01em;white-space:nowrap;color:#f1f5f9}.empty-state{color:#94a3b8}.chart-card{margin-bottom:20px}.chart-wrapper{width:100%;height:320px}.recharts-cartesian-grid line{stroke:#94a3b814}.recharts-xAxis .recharts-cartesian-axis-tick-value,.recharts-yAxis .recharts-cartesian-axis-tick-value{fill:#cbd5e1b8;font-size:12px}.recharts-tooltip-wrapper .recharts-default-tooltip{background:#0a1225e0!important;border:1px solid rgba(148,163,184,.18)!important;border-radius:12px!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;box-shadow:0 8px 24px #00000059!important;padding:10px 14px!important}.recharts-tooltip-label{color:#94a3b8!important;font-size:.82rem!important;margin-bottom:4px!important}.recharts-tooltip-item{color:#e2e8f0!important;font-weight:600!important;font-size:.92rem!important}.chart-card,.transactions-card{width:100%}.filter-bar{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.filter-bar-top,.filter-bar-bottom{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.custom-dropdown{position:relative;flex:1;min-width:130px;max-width:220px}.custom-dropdown.disabled{opacity:.5;pointer-events:none}.dropdown-trigger{width:100%;display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:10px;border:1px solid var(--border-input);background:var(--surface-input);color:var(--text);font:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;text-align:left;white-space:nowrap;overflow:hidden}.dropdown-trigger:hover{border-color:#60a5fa73;background:var(--surface-row)}.custom-dropdown.open .dropdown-trigger{border-color:#60a5fa99;box-shadow:0 0 0 3px #60a5fa1f}.dropdown-icon{display:flex;align-items:center;color:#60a5fa;flex-shrink:0}.dropdown-label{flex:1;overflow:hidden;text-overflow:ellipsis}.dropdown-chevron{flex-shrink:0;color:#64748b;transition:transform .2s ease}.custom-dropdown.open .dropdown-chevron{transform:rotate(180deg)}.dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:200;background:#0f1e38;border:1px solid rgba(96,165,250,.22);border-radius:12px;padding:6px;box-shadow:0 12px 40px #00000073,0 2px 8px #0000004d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:dropdownIn .15s ease;min-width:100%}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:8px;border:none;background:transparent;color:#cbd5e1;font:inherit;font-size:.875rem;font-weight:500;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.dropdown-item:hover{background:#3b82f61f;color:#f1f5f9}.dropdown-item.selected{background:#3b82f62e;color:#93c5fd;font-weight:600}.dropdown-check{color:#60a5fa;flex-shrink:0}.search-wrapper{position:relative;flex:1;min-width:160px;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:#64748b;pointer-events:none}.search-input{width:100%;padding:9px 36px 9px 34px;border-radius:10px;border:1px solid var(--border-input);background:var(--surface-input);color:var(--text);font:inherit;font-size:.875rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search-input:focus{border-color:#60a5fa99;box-shadow:0 0 0 3px #60a5fa1f}.search-input::placeholder{color:#475569}.search-clear{position:absolute;right:10px;border:none;background:transparent;color:#64748b;cursor:pointer;display:flex;align-items:center;padding:2px;border-radius:4px}.search-clear:hover{color:#94a3b8}.date-chip-group{display:flex;align-items:center;gap:4px;background:var(--surface-row);border:1px solid var(--border);border-radius:10px;padding:4px}.date-chip-icon{color:#64748b;margin:0 4px 0 2px;flex-shrink:0}.date-chip{padding:5px 12px;border-radius:7px;border:none;background:transparent;color:#64748b;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;letter-spacing:.02em}.date-chip:hover{background:#94a3b81a;color:#94a3b8}.date-chip.active{background:#3b82f633;color:#93c5fd}[data-theme=light] .dropdown-panel{background:#fff;border-color:#2563eb33;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f}[data-theme=light] .dropdown-item{color:#334155}[data-theme=light] .dropdown-item:hover{background:#2563eb12;color:#0f172a}[data-theme=light] .dropdown-item.selected{background:#2563eb1a;color:#1d4ed8}[data-theme=light] .dropdown-check{color:#2563eb}[data-theme=light] .dropdown-trigger{color:#0f172a}[data-theme=light] .dropdown-icon{color:#2563eb}[data-theme=light] .search-input{color:#0f172a}[data-theme=light] .search-input::placeholder{color:#94a3b8}[data-theme=light] .date-chip-group{background:#fffc;border-color:#0000001a}[data-theme=light] .date-chip{color:#64748b}[data-theme=light] .date-chip.active{background:#2563eb1f;color:#1d4ed8}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;align-items:center;min-width:0}.cancel-button{margin-top:10px;border:1px solid #475569;border-radius:12px;padding:12px 16px;background:transparent;color:#cbd5e1;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.cancel-button:hover{background:#94a3b814}.budget-card{margin-bottom:24px;padding:24px}.budget-grid{display:grid;grid-template-columns:320px 1fr;gap:20px;align-items:end}.budget-input-side{display:flex;flex-direction:column;gap:12px}.budget-input-group{font-size:.95rem}.budget-stats{display:flex;flex-direction:column;gap:8px;color:#cbd5e1}.budget-stats p{margin:0}.budget-progress{margin-top:18px;width:100%;height:14px;border-radius:999px;background:#94a3b824;overflow:hidden}.budget-progress-bar{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1)}.budget-progress-bar.green{background:#22c55e}.budget-progress-bar.yellow{background:#f59e0b}.budget-progress-bar.red{background:#ef4444}.budget-percent{margin-top:10px;color:#94a3b8}.mobile-top-bar{display:none;align-items:center;justify-content:space-between;padding:10px 16px;margin-bottom:16px;background:var(--surface-nav);border:1px solid var(--border-nav);border-radius:16px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 4px 20px #0000004d;position:sticky;top:12px;z-index:100}.mobile-top-bar:before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.5),transparent);pointer-events:none}.mobile-top-actions{display:flex;align-items:center;gap:8px}.mobile-avatar-wrap{position:relative}.mobile-avatar{display:flex;align-items:center;background:none;border:none;padding:0;cursor:pointer;text-decoration:none}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--surface-nav);border-top:1px solid var(--border-nav);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 -4px 24px #0000004d;padding:8px 0 calc(8px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center}.mob-tab{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:6px 4px;text-decoration:none;color:#64748b;font-size:.68rem;font-weight:600;letter-spacing:.02em;border-radius:12px;transition:color .15s ease;-webkit-tap-highlight-color:transparent}.mob-tab svg{transition:transform .15s ease}.mob-tab:active svg{transform:scale(.88)}.mob-tab.active{color:#d4af37}.mob-tab.active svg{filter:drop-shadow(0 0 6px rgba(212,175,55,.5))}[data-theme=light] .mobile-top-bar{box-shadow:0 2px 16px #0000001a}[data-theme=light] .mobile-bottom-nav{box-shadow:0 -2px 16px #00000014}[data-theme=light] .mob-tab{color:#94a3b8}[data-theme=light] .mob-tab.active{color:#b8860b}@media(max-width:900px){.summary-grid,.content-grid,.bottom-grid,.budget-grid{grid-template-columns:1fr}.app-nav{display:none}.mobile-top-bar,.mobile-bottom-nav{display:flex}.main-content{padding-bottom:80px}.hero{min-height:auto;margin-bottom:28px}.hero h1{font-size:2.4rem}.hero-logo{width:76px;height:76px}.filter-row{flex-direction:column;align-items:stretch}.transaction-row{align-items:flex-start}.filter-select{width:100%}}.filter-chip{border:1px solid var(--border);border-radius:999px;padding:10px 14px;background:transparent;color:var(--text);font-weight:600;cursor:pointer;transition:all .2s ease}.filter-chip:hover{background:#94a3b814;border-color:#475569}.filter-chip.active{background:#3b82f62e;color:#93c5fd;border-color:#60a5fa73;box-shadow:0 0 16px #60a5fa2e,0 0 0 1px #60a5fa1a inset;text-shadow:0 0 10px rgba(147,197,253,.4)}.secondary-button{margin-top:10px;background:transparent;border:1px solid #3b82f6;color:#3b82f6;padding:10px;border-radius:8px;cursor:pointer;transition:.2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.secondary-button:hover{background:#3b82f6;color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-hero{text-align:center;margin:3rem auto 2rem;max-width:760px;margin-bottom:40px}.dashboard-hero .hero-content{display:flex;flex-direction:column;align-items:center}.dashboard-hero .hero-logo{width:76px;height:76px;object-fit:contain;margin-bottom:1rem;filter:drop-shadow(0 0 18px rgba(59,130,246,.24))}.dashboard-hero .eyebrow{color:#60a5fa;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;margin-bottom:.75rem}.dashboard-hero h1{font-size:clamp(2.8rem,6vw,5rem);line-height:1;margin:0;letter-spacing:-.06em}.hero-subtitle{margin:1rem auto 0;color:#94a3b8;font-size:1.05rem;max-width:620px;line-height:1.6}.signed-in-text{margin-top:1.4rem;color:#cbd5e1;font-size:.9rem}.metric-value{margin:4px 0;font-size:2rem;font-weight:700;letter-spacing:-.03em}.metric-sub{margin:0;font-size:.85rem;color:#64748b}.ai-card{padding:24px}.ai-header{margin-bottom:18px}.insight-eyebrow{margin-bottom:4px;font-size:.72rem}.ai-header h3{margin:0;font-size:1.3rem}.ai-insight{border:1px solid transparent;border-left-width:3px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .2s ease,box-shadow .2s ease}.ai-insight:hover{transform:translateY(-2px)}.ai-insight.positive{background:#22c55e12;border-color:#22c55e1f;border-left-color:#22c55e;box-shadow:inset 3px 0 14px #22c55e0f}.ai-insight.warning{background:#f59e0b12;border-color:#f59e0b1f;border-left-color:#f59e0b;box-shadow:inset 3px 0 14px #f59e0b0f}.ai-insight.danger{background:#ef444412;border-color:#ef44441f;border-left-color:#ef4444;box-shadow:inset 3px 0 14px #ef44440f}.metric-value{text-shadow:0 0 10px rgba(59,130,246,.25)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:2rem}.stat-card{position:relative;background:var(--surface-stat);border:1px solid var(--border);border-radius:18px;padding:1.5rem;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.stats-grid .stat-card:nth-child(1):before,.stats-grid .stat-card:nth-child(2):before,.stats-grid .stat-card:nth-child(3):before{content:"";position:absolute;top:0;left:16px;right:16px;height:2px;border-radius:0 0 4px 4px}.stats-grid .stat-card:nth-child(1):before{background:linear-gradient(90deg,transparent,#3b82f6,transparent)}.stats-grid .stat-card:nth-child(2):before{background:linear-gradient(90deg,transparent,#8b5cf6,transparent)}.stats-grid .stat-card:nth-child(3):before{background:linear-gradient(90deg,transparent,#f59e0b,transparent)}.stats-grid .stat-card:nth-child(1):hover{border-color:#3b82f659;box-shadow:0 8px 32px #3b82f626,0 2px 8px #0000004d;transform:translateY(-4px)}.stats-grid .stat-card:nth-child(2):hover{border-color:#8b5cf659;box-shadow:0 8px 32px #8b5cf626,0 2px 8px #0000004d;transform:translateY(-4px)}.stats-grid .stat-card:nth-child(3):hover{border-color:#f59e0b59;box-shadow:0 8px 32px #f59e0b26,0 2px 8px #0000004d;transform:translateY(-4px)}.stat-icon-row{display:flex;align-items:center;justify-content:space-between}.stat-icon{opacity:.55;flex-shrink:0}.stat-icon.positive{color:#34d399;opacity:.75}.stat-icon.danger{color:#f87171;opacity:.75}.stat-label{color:#64748b;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.stat-value{font-size:2rem;font-weight:700;margin:.6rem 0 .3rem;letter-spacing:-.03em;color:#f1f5f9}.stats-grid .stat-card:nth-child(1) .stat-value{text-shadow:0 0 20px rgba(59,130,246,.35)}.stats-grid .stat-card:nth-child(2) .stat-value{text-shadow:0 0 20px rgba(139,92,246,.35)}.stats-grid .stat-card:nth-child(3) .stat-value{text-shadow:0 0 20px rgba(245,158,11,.3)}.stat-sub{font-size:.82rem;color:#475569}.budget-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem}.budget-input-section{display:flex;flex-direction:column;gap:1rem}.budget-label{font-size:.85rem;color:#94a3b8}.budget-input{width:100%;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--border-input);background:var(--surface-input);color:var(--text-input);font-size:1rem;outline:none}.budget-input:focus{border-color:#60a5faa6;box-shadow:0 0 0 3px #3b82f62e}.budget-button{margin-top:.25rem}.budget-stats{display:flex;flex-direction:column;gap:.9rem;padding:1.1rem;border-radius:14px;background:#0a122580;border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.budget-row{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;color:#cbd5e1}.budget-row span{color:#94a3b8}.positive{color:#22c55e}.danger{color:#ef4444}@media(max-width:760px){.budget-grid{grid-template-columns:1fr}}.progress-track{width:100%;height:10px;background:#94a3b814;border-radius:999px;overflow:hidden;margin-top:1.5rem}.progress-fill{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1)}.positive-fill{background:linear-gradient(90deg,#16a34a,#22c55e);box-shadow:0 0 12px #22c55e80}.warning-fill{background:linear-gradient(90deg,#d97706,#f59e0b);box-shadow:0 0 12px #f59e0b80}.danger-fill{background:linear-gradient(90deg,#dc2626,#ef4444);box-shadow:0 0 12px #ef444480}.budget-caption{margin-top:.75rem;color:#94a3b8;font-size:.9rem}.add-cat-budget-form{display:flex;flex-direction:column;gap:.75rem;padding:16px;border-radius:12px;background:#3b82f60d;border:1px solid rgba(59,130,246,.15);margin-bottom:1.25rem}.primary-button,.secondary-button,.cancel-button,.edit-button,.delete-button,.filter-chip,.filter-select,.search-input,.budget-input{transition:all .2s ease}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #3b82f647}.secondary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 24px #3b82f62e}.edit-button:hover,.delete-button:hover,.cancel-button:hover,.filter-chip:hover{transform:translateY(-1px)}.transaction-row:hover{transform:translate(4px);background:#0f172abf;border-color:#60a5fa47;box-shadow:0 4px 20px #3b82f61a}.insight-item:hover{transform:translateY(-1px)}.app-nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.nav-logo{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,215,0,.4));transition:transform .25s ease,filter .25s ease}.nav-title{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#f5e576,#d4af37,#9a7020);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:opacity .2s ease}.app-nav-brand:hover .nav-logo{transform:scale(1.1);filter:drop-shadow(0 0 12px rgba(255,215,0,.6))}.app-nav-brand:hover .nav-title{opacity:.85}.skeleton:after{content:"";position:absolute;top:0;left:-150px;width:150px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:shimmer 1.4s infinite}.skeleton{position:relative;overflow:hidden;background:#94a3b814}.skeleton:after{content:"";position:absolute;top:0;left:-150px;height:100%;width:150px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(300%)}}.skeleton-text{height:12px;border-radius:6px;background:#94a3b833;margin-bottom:8px}.skeleton-text.short{width:120px}.skeleton-text.long{width:180px}.report-card,.report-card .section-header{margin-bottom:24px}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.report-item{min-height:90px;padding:16px;border-radius:16px;background:var(--surface-stat);border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;cursor:default;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.report-item:hover{transform:translateY(-3px);border-color:#60a5fa40;box-shadow:0 8px 28px #3b82f61a,0 2px 8px #0000004d}.report-item span{display:block;margin-bottom:10px;color:#475569;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;white-space:nowrap}.report-item strong{display:block;color:#e2e8f0;font-size:1.15rem;font-weight:700;line-height:1.25}.report-item.highlight{background:linear-gradient(135deg,#3b82f626,#0f172a99);border:1px solid rgba(59,130,246,.3)}[data-theme=light] .report-item.highlight{background:linear-gradient(135deg,#3b82f614,#f1f5f9e6);border:1px solid rgba(59,130,246,.25)}.status{font-weight:700}.status.on-track{color:#22c55e}.status.getting-close{color:#f59e0b}.status.over-budget{color:#ef4444}@media(max-width:760px){.report-item span{white-space:normal}}@media(max-width:1100px){.report-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}.recurring-badge{margin:6px 0 0;display:inline-block;padding:5px 9px;border-radius:999px;background:#60a5fa1f;color:#93c5fd;font-size:.75rem;font-weight:600;text-transform:capitalize}.summary-grid .summary-card{position:relative;overflow:hidden}.summary-grid .summary-card:before{content:"";position:absolute;top:0;left:16px;right:16px;height:2px;border-radius:0 0 4px 4px}.summary-grid .summary-card:nth-child(1):before{background:linear-gradient(90deg,transparent,#3b82f6,transparent)}.summary-grid .summary-card:nth-child(2):before{background:linear-gradient(90deg,transparent,#8b5cf6,transparent)}.summary-grid .summary-card:nth-child(3):before{background:linear-gradient(90deg,transparent,#22c55e,transparent)}.summary-grid .summary-card:nth-child(4):before{background:linear-gradient(90deg,transparent,#f59e0b,transparent)}.summary-grid .summary-card:nth-child(5):before{background:linear-gradient(90deg,transparent,#ec4899,transparent)}.summary-grid .summary-card h2{font-size:2.2rem;font-weight:700;letter-spacing:-.04em;margin:0}.summary-grid .summary-card:nth-child(1) h2{text-shadow:0 0 18px rgba(59,130,246,.4)}.summary-grid .summary-card:nth-child(2) h2{text-shadow:0 0 18px rgba(139,92,246,.4)}.summary-grid .summary-card:nth-child(3) h2{text-shadow:0 0 18px rgba(34,197,94,.35)}.summary-grid .summary-card:nth-child(4) h2{text-shadow:0 0 18px rgba(245,158,11,.35)}.summary-grid .summary-card:nth-child(5) h2{text-shadow:0 0 18px rgba(236,72,153,.35)}.chart-section-label{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#60a5fa;margin-bottom:4px}.section-header h3{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:#f1f5f9}.settings-page{display:flex;flex-direction:column;gap:20px;width:100%;padding-top:8px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-full{grid-column:1 / -1}.settings-hero{margin-bottom:4px}.settings-title{margin:4px 0 6px;font-size:2rem;font-weight:800;letter-spacing:-.04em;color:#f1f5f9}.settings-subtitle{margin:0;color:#94a3b8;font-size:.95rem}.settings-card{display:flex;flex-direction:column;gap:18px}.settings-profile-row{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}.settings-profile-info{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px}.settings-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.settings-avatar-btn{position:relative;width:80px;height:80px;border-radius:50%;border:2px solid var(--border);background:#3b82f626;cursor:pointer;overflow:hidden;padding:0;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease;-webkit-tap-highlight-color:transparent}.settings-avatar-btn:hover{border-color:#3b82f6}.settings-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.settings-avatar-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2rem;font-weight:700;color:#3b82f6}.settings-avatar-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;opacity:0;border-radius:50%;transition:opacity .2s ease}.settings-avatar-btn:hover .settings-avatar-overlay{opacity:1}.settings-avatar-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;pointer-events:none}.settings-avatar-remove{font-size:.72rem;color:#f87171;background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.settings-signout-btn{display:flex;align-items:center;gap:7px;margin-left:auto;padding:9px 18px;border-radius:10px;border:1px solid rgba(248,113,113,.35);background:#f8717114;color:#f87171;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease;flex-shrink:0;align-self:flex-start}.settings-signout-btn:hover{background:#f8717129;border-color:#f8717199}@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.settings-full{grid-column:1}.settings-profile-row{flex-direction:column;align-items:center;text-align:center}.settings-profile-info{align-items:center;width:100%}.settings-signout-btn{margin-left:0;align-self:center}.settings-avatar-btn{width:96px;height:96px}.settings-avatar-initial{font-size:2.4rem}.settings-inline-edit{flex-wrap:wrap}.settings-inline-input{min-width:0;width:100%;height:44px;font-size:1rem}.inline-edit-btn{width:44px;height:44px}.inline-edit-trigger{opacity:1;width:36px;height:36px;border-radius:8px;background:#94a3b814}input[type=date].settings-inline-input{height:44px;padding:0 12px}.pref-row{flex-direction:column;align-items:flex-start;gap:12px}.currency-options,.page-options{flex-wrap:wrap}}.settings-section-heading{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:#e2e8f0;margin:0 0 10px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-value-row{display:flex;align-items:center;gap:8px}.settings-value-placeholder{color:#64748b;font-style:italic}.inline-edit-trigger{background:none;border:none;padding:4px;border-radius:6px;color:#64748b;cursor:pointer;display:flex;align-items:center;opacity:0;transition:opacity .15s,color .15s}.settings-row:hover .inline-edit-trigger{opacity:1}.inline-edit-trigger:hover{color:#3b82f6}.settings-inline-edit{display:flex;align-items:center;gap:6px}.settings-inline-input{height:32px;padding:0 10px;border-radius:8px;border:1px solid rgba(59,130,246,.5);background:#3b82f60f;color:var(--text);font-size:.9rem;outline:none;min-width:160px}.settings-inline-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.inline-edit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;border:none;cursor:pointer;flex-shrink:0}.inline-edit-btn.confirm{background:#22c55e26;color:#22c55e}.inline-edit-btn.confirm:hover{background:#22c55e40}.inline-edit-btn.cancel{background:#94a3b81f;color:#94a3b8}.inline-edit-btn.cancel:hover{background:#94a3b833}.settings-label{font-size:.82rem;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.settings-value{font-size:.95rem;color:#e2e8f0;font-weight:500}.settings-section-desc{margin:-6px 0 2px;color:#94a3b8;font-size:.87rem;line-height:1.6}.settings-form{display:flex;flex-direction:column;gap:14px}.settings-form label{display:flex;flex-direction:column;gap:7px;font-size:.9rem;color:#94a3b8}.form-field-label{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;color:#94a3b8}.settings-form input{width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--border-input);background:var(--surface-input);color:var(--text-input);outline:none;font:inherit;transition:border-color .2s ease,box-shadow .2s ease}.settings-form input:focus{border-color:#60a5fa99;box-shadow:0 0 0 3px #60a5fa1f}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:4px 0}.pref-row-stack{flex-direction:column;align-items:flex-start}.pref-label-group{display:flex;align-items:flex-start;gap:10px}.pref-icon{color:#60a5fa;flex-shrink:0;margin-top:2px}.pref-icon.muted{color:#64748b}.pref-title{margin:0;font-size:.92rem;font-weight:600;color:#e2e8f0}.pref-desc{margin:2px 0 0;font-size:.8rem;color:#64748b;line-height:1.4}.currency-options{display:flex;gap:6px;flex-wrap:wrap}.currency-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:transparent;color:#94a3b8;cursor:pointer;transition:all .15s ease;min-width:52px}.currency-chip:hover{border-color:#60a5fa66;background:#3b82f614}.currency-chip.active{border-color:#60a5fa99;background:#3b82f629;color:#93c5fd;box-shadow:0 0 0 1px #60a5fa33 inset}.currency-symbol{font-size:1rem;font-weight:700;line-height:1}.currency-code{font-size:.65rem;letter-spacing:.06em;font-weight:600}.page-options{display:flex;gap:6px;flex-wrap:wrap}.page-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:10px;border:1px solid var(--border);background:transparent;color:#94a3b8;font-size:.83rem;font-weight:600;cursor:pointer;transition:all .15s ease}.page-chip:hover{border-color:#60a5fa66;background:#3b82f614}.page-chip.active{border-color:#60a5fa99;background:#3b82f629;color:#93c5fd}.threshold-control{display:flex;align-items:center;gap:12px;width:100%;margin-top:4px}.threshold-slider{flex:1;accent-color:#3b82f6;height:4px;cursor:pointer}.threshold-value{font-size:.92rem;font-weight:700;color:#93c5fd;min-width:36px;text-align:right}.toggle-switch{position:relative;width:44px;height:24px;border-radius:999px;border:none;background:#64748b59;cursor:pointer;transition:background .2s ease;flex-shrink:0;padding:0}.toggle-switch.on{background:#2563eb}.toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s ease;display:block}.toggle-switch.on .toggle-thumb{transform:translate(20px)}.danger-zone-card{border-color:#ef44442e}.danger-zone-title{color:#fca5a5!important}.danger-button{padding:11px 20px;border-radius:12px;border:1px solid rgba(239,68,68,.45);background:#ef44441a;color:#fca5a5;font-weight:600;font:inherit;cursor:pointer;transition:all .2s ease;width:100%}.danger-button:hover:not(:disabled){background:#ef444433;border-color:#ef4444a6;box-shadow:0 0 16px #ef444426}.danger-button:disabled{opacity:.6;cursor:not-allowed}.settings-danger-actions{display:flex;flex-direction:column;gap:10px}.categories-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.categories-empty{font-size:.85rem;color:#64748b;margin:0}.category-chip-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:10px;background:#ffffff0a;border:1px solid var(--border)}.category-chip-name{font-size:.88rem;font-weight:500;color:#e2e8f0}.category-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:#64748b;cursor:pointer;padding:0;flex-shrink:0;transition:color .15s,background .15s}.category-remove-btn:hover:not(:disabled){color:#fca5a5;background:#ef44441f}.category-remove-btn:disabled{opacity:.4;cursor:not-allowed}.add-category-form{display:flex;gap:8px;align-items:center}.add-category-input{flex:1;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:#ffffff0d;color:#e2e8f0;font-size:.88rem;font:inherit;outline:none;transition:border-color .15s}.add-category-input:focus{border-color:#60a5fa80}.add-category-input::placeholder{color:#475569}.add-category-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:10px;border:1px solid rgba(96,165,250,.35);background:#3b82f61f;color:#93c5fd;font-size:.85rem;font-weight:600;font:inherit;cursor:pointer;white-space:nowrap;transition:all .15s}.add-category-btn:hover:not(:disabled){background:#3b82f638;border-color:#60a5fa8c}.add-category-btn:disabled{opacity:.4;cursor:not-allowed}.nav-avatar-wrap{position:relative}.nav-avatar-btn{display:flex;align-items:center;justify-content:center;background:none;border:2px solid transparent;border-radius:50%;padding:0;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.nav-avatar-btn:hover,.nav-avatar-btn[aria-expanded=true]{border-color:#d4af37;box-shadow:0 0 0 3px #d4af372e}.nav-avatar-img{border-radius:50%;object-fit:cover;display:block;flex-shrink:0}.nav-avatar-initial{border-radius:50%;background:linear-gradient(135deg,#d4af37,#9a7020);color:#0a0a0a;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:0}.nav-user-menu{position:absolute;top:calc(100% + 12px);right:0;min-width:224px;background:var(--surface-nav);border:1px solid var(--border-nav);border-radius:16px;box-shadow:0 12px 40px #0006;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:10px 8px;z-index:400;animation:fadeInScale .15s ease}.nav-user-menu-header{display:flex;align-items:center;gap:12px;padding:6px 10px 10px}.nav-user-menu-info{overflow:hidden}.nav-user-menu-name{font-size:1rem;font-weight:700;color:var(--text);margin:0 0 2px;text-transform:uppercase;letter-spacing:.05em}.nav-user-menu-email{font-size:.72rem;color:#64748b;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-menu-divider{height:1px;background:var(--border-nav);margin:6px 0}.nav-user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:9px;font-size:.855rem;font-weight:500;color:var(--text);text-decoration:none;background:none;border:none;cursor:pointer;transition:background .15s ease;text-align:left}.nav-user-menu-item:hover{background:#94a3b81a}.nav-user-menu-item.active{color:#d4af37;background:#d4af3714}.nav-user-menu-item.signout{color:#f87171}.nav-user-menu-item.signout:hover{background:#f871711a}[data-theme=light] .nav-user-menu{box-shadow:0 8px 32px #0000001f}.app-nav-user{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:20px;border:1px solid transparent;text-decoration:none;transition:background .2s ease,border-color .2s ease}.app-nav-user:hover,.app-nav-user.active{background:#ffffff0d;border-color:#ffffff14}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#d4af37,#9a7020);color:#0a0a0a;font-size:.82rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:0}.user-avatar-img{object-fit:cover;background:none}.user-email{color:#64748b;font-size:.82rem;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.app-nav-user:hover .user-email,.app-nav-user.active .user-email{color:#94a3b8}.nav-logout{padding:7px 13px;border-radius:10px;border:1px solid rgba(248,113,113,.2);background:transparent;color:#94a3b8;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.nav-logout:hover{background:#f8717114;border-color:#f8717166;color:#f87171}.theme-toggle{width:34px;height:34px;border-radius:10px;border:1px solid var(--border-nav, rgba(255, 255, 255, .08));background:transparent;color:#94a3b8;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.theme-toggle:hover{background:#ffffff12;color:#e2e8f0}[data-theme=light] .theme-toggle{color:#64748b;border-color:#00000017}[data-theme=light] .theme-toggle:hover{background:#0000000d;color:#0f172a}[data-theme=light] .signed-in-text{color:#475569}[data-theme=light] .stat-value{color:#0f172a;text-shadow:none}[data-theme=light] .stat-label{color:#475569}[data-theme=light] .stat-sub{color:#64748b}[data-theme=light] .hero-subtitle{color:#475569}[data-theme=light] .chart-section-label{color:#3b82f6}[data-theme=light] .section-eyebrow,[data-theme=light] .card-eyebrow,[data-theme=light] .empty-state,[data-theme=light] .insight-item{color:#475569}[data-theme=light] .stat-card{border-color:#0000001a;box-shadow:0 2px 12px #0000000f}[data-theme=light] .stats-grid .stat-card:nth-child(1) .stat-value,[data-theme=light] .stats-grid .stat-card:nth-child(2) .stat-value,[data-theme=light] .stats-grid .stat-card:nth-child(3) .stat-value{text-shadow:none}[data-theme=light] .report-item{border-color:#00000014;box-shadow:0 1px 6px #0000000d}[data-theme=light] .report-item label,[data-theme=light] .report-item span:first-child{color:#64748b}[data-theme=light] .budget-stats{background:#f1f5f9e6;border-color:#00000014}[data-theme=light] .budget-row{color:#334155}[data-theme=light] .budget-row span,[data-theme=light] .budget-label{color:#475569}[data-theme=light] .settings-title{color:#0f172a}[data-theme=light] .settings-subtitle{color:#475569}[data-theme=light] .settings-section-heading{color:#0f172a}[data-theme=light] .settings-label{color:#475569}[data-theme=light] .settings-value{color:#0f172a}[data-theme=light] .settings-section-desc{color:#475569}[data-theme=light] .settings-row{border-bottom-color:#0000000f}[data-theme=light] .settings-form label,[data-theme=light] .form-field-label{color:#475569}[data-theme=light] .pref-title{color:#0f172a}[data-theme=light] .pref-desc{color:#64748b}[data-theme=light] .pref-icon{color:#2563eb}[data-theme=light] .currency-chip{color:#475569;border-color:#0000001f}[data-theme=light] .currency-chip:hover{background:#2563eb12}[data-theme=light] .currency-chip.active{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb66}[data-theme=light] .page-chip{color:#475569;border-color:#0000001f}[data-theme=light] .page-chip:hover{background:#2563eb12}[data-theme=light] .page-chip.active{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb66}[data-theme=light] .threshold-value{color:#2563eb}[data-theme=light] .toggle-switch{background:#00000026}[data-theme=light] .toggle-switch.on{background:#2563eb}[data-theme=light] .category-chip-row{background:#00000008;border-color:#0000001a}[data-theme=light] .category-chip-name{color:#1e293b}[data-theme=light] .add-category-input{background:#0000000a;color:#1e293b;border-color:#0000001f}[data-theme=light] .add-category-input::placeholder{color:#94a3b8}[data-theme=light] .pref-title{color:#1e293b}[data-theme=light] .transaction-row{background:#ffffffd1;border-color:#00000012}[data-theme=light] .transaction-row:hover{background:#fffffff2;border-color:#3b82f64d;box-shadow:0 2px 12px #3b82f614}[data-theme=light] .merchant{color:#0f172a}[data-theme=light] .transaction-date{color:#64748b}[data-theme=light] .amount{color:#0f172a}[data-theme=light] .transaction-note{color:#64748b}[data-theme=light] .icon-button.edit-icon{background:#3b82f61a;color:#2563eb}[data-theme=light] .icon-button.delete-icon{background:#ef444414;color:#dc2626}[data-theme=light] .bulk-action-bar{background:#3b82f612}.bulk-select-header{display:flex;align-items:center;margin-bottom:8px}.bulk-checkbox-label{display:flex;align-items:center;gap:8px;font-size:.84rem;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.bulk-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.row-checkbox{display:flex;align-items:center;flex-shrink:0}.row-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.transaction-row.selected{border-color:#60a5fa59;background:#3b82f60f}.bulk-action-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#3b82f61a;border:1px solid rgba(96,165,250,.3);margin-bottom:12px;flex-wrap:wrap}.bulk-count{font-size:.88rem;font-weight:600;color:#93c5fd;flex:1}.bulk-delete-btn{width:auto!important;padding:7px 16px!important}.type-toggle{display:flex;gap:0;border-radius:10px;overflow:hidden;border:1px solid var(--border-nav);margin-bottom:4px}.type-btn{flex:1;padding:8px 12px;border:none;background:transparent;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .18s ease}.type-btn.active.expense{background:#f8717126;color:#f87171}.type-btn.active.income{background:#34d39926;color:#34d399}.income-badge{display:inline-block;font-size:.7rem;padding:2px 7px;border-radius:20px;background:#34d39926;color:#34d399;font-weight:600;margin-left:6px;vertical-align:middle}.amount.positive{color:#34d399}.transaction-note{font-size:.78rem;color:#64748b;margin-top:2px;font-style:italic}.filter-chip-group{display:flex;gap:4px}.manage-categories{margin-top:16px;border-top:1px solid var(--border-nav);padding-top:14px}.manage-categories summary{font-size:.875rem;font-weight:600;color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:10px}.category-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.category-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#cbd5e1}.category-add{display:flex;gap:8px}.category-add input{flex:1;padding:6px 10px;border-radius:8px;border:1px solid var(--border-nav);background:var(--surface-input, rgba(255,255,255,.05));color:inherit;font-size:.875rem}.primary-button.small,.delete-button.small{padding:5px 10px;font-size:.8rem}.mom-table{display:flex;flex-direction:column;gap:0}.mom-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:8px 0;font-size:.78rem;font-weight:600;color:#64748b;border-bottom:1px solid var(--border-nav);text-transform:uppercase;letter-spacing:.05em}.mom-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:10px 0;font-size:.875rem;border-bottom:1px solid rgba(255,255,255,.04);align-items:center}.mom-cat{font-weight:500;color:#cbd5e1}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:4px}.achievement-card{background:#ffffff0a;border:1px solid var(--border-nav);border-radius:14px;padding:16px 12px;text-align:center;transition:transform .2s ease}.achievement-card:hover{transform:translateY(-2px)}.achievement-emoji{font-size:2rem;display:block;margin-bottom:8px}.achievement-label{font-size:.85rem;font-weight:700;color:#e2e8f0;margin-bottom:4px}.achievement-desc{font-size:.75rem;color:#64748b}.skip-nav{position:absolute;top:-100%;left:8px;padding:8px 14px;background:var(--surface-nav);border:1px solid var(--border-nav);border-radius:8px;color:#e2e8f0;font-size:.875rem;font-weight:600;text-decoration:none;z-index:200;transition:top .15s}.skip-nav:focus{top:8px}.page-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:#64748b;font-size:.95rem}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.analytics-kpi-card{background:var(--surface-stat, var(--surface));border:1px solid var(--border);border-radius:16px;padding:18px 20px 14px;transition:transform .2s ease,box-shadow .2s ease}.analytics-kpi-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.kpi-label{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8}.kpi-icon{color:#64748b;flex-shrink:0}.kpi-icon.danger{color:#f87171}.kpi-icon.warning{color:#fbbf24}.kpi-icon.positive{color:#34d399}.kpi-value{font-size:1.5rem;font-weight:700;color:var(--text);margin:0 0 4px;line-height:1.2}.kpi-value.kpi-danger{color:#f87171}.kpi-value.kpi-positive{color:#34d399}.kpi-sub{font-size:.72rem;color:#64748b;margin:0}.analytics-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.analytics-tooltip{background:var(--surface-nav);border:1px solid var(--border-nav);border-radius:10px;padding:10px 14px;box-shadow:0 8px 24px #0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.analytics-tooltip-label{font-size:.75rem;color:#94a3b8;margin:0 0 4px;font-weight:500}.analytics-tooltip-value{font-size:.95rem;font-weight:700;color:var(--text);margin:0}.analytics-legend-label{font-size:.78rem;color:var(--text)}@media(max-width:900px){.analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}.analytics-charts-row{grid-template-columns:1fr}}@media(max-width:480px){.analytics-kpi-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.kpi-value{font-size:1.2rem}}.landing-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 60% 0%,rgba(59,130,246,.18) 0%,transparent 55%),radial-gradient(ellipse at 10% 80%,rgba(212,175,55,.08) 0%,transparent 40%),#0b1120;color:#f5f7fb;overflow-x:hidden}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;position:sticky;top:0;z-index:50;background:#0b1120b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}.landing-nav-brand{display:flex;align-items:center;gap:10px}.landing-nav-logo{width:32px;height:32px}.landing-nav-title{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:#f5f7fb}.landing-nav-actions{display:flex;align-items:center;gap:12px}.landing-nav-signin{font-size:.9rem;font-weight:500;color:#94a3b8;text-decoration:none;padding:8px 16px;border-radius:10px;transition:color .15s,background .15s}.landing-nav-signin:hover{color:#f5f7fb;background:#ffffff0f}.landing-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 24px;border-radius:12px;background:linear-gradient(135deg,#d4af37,#f0c94a);color:#0b1120;font-weight:700;font-size:.92rem;text-decoration:none;border:none;cursor:pointer;transition:opacity .15s,transform .15s,box-shadow .15s;box-shadow:0 4px 20px #d4af3747;white-space:nowrap}.landing-cta-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 8px 28px #d4af3761}.landing-cta-btn-sm{padding:9px 18px;font-size:.87rem}.landing-cta-btn-lg{padding:14px 32px;font-size:1rem}.landing-ghost-btn{display:inline-flex;align-items:center;padding:11px 24px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:transparent;color:#e2e8f0;font-weight:600;font-size:.92rem;text-decoration:none;transition:border-color .15s,background .15s}.landing-ghost-btn:hover{border-color:#ffffff4d;background:#ffffff0f}.landing-hero-split{position:relative;display:flex;align-items:center;gap:56px;padding:80px 60px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box;min-height:calc(100vh - 65px)}.landing-hero-glow{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:700px;height:400px;background:radial-gradient(ellipse,rgba(59,130,246,.14) 0%,transparent 70%);pointer-events:none}.landing-hero-left{flex:1;min-width:0}.landing-hero-right{flex:0 0 400px;width:400px}.landing-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1px solid rgba(212,175,55,.35);background:#d4af3714;color:#d4af37;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:24px}.landing-headline{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;line-height:1.12;letter-spacing:-.03em;margin:0 0 20px;color:#f5f7fb}.landing-headline-accent{background:linear-gradient(135deg,#d4af37,#f0c94a,#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-subhead{font-size:1rem;color:#94a3b8;line-height:1.65;margin:0 0 28px;max-width:480px}.landing-highlights{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:10px}.landing-highlight-item{display:flex;align-items:center;gap:10px;font-size:.88rem;color:#94a3b8}.landing-highlight-check{flex-shrink:0;width:20px;height:20px;border-radius:6px;background:#60a5fa1f;border:1px solid rgba(96,165,250,.2);display:flex;align-items:center;justify-content:center;color:#60a5fa}.landing-hero-stats{display:flex;flex-direction:row;gap:12px}.landing-stat-card{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-stat-card-alt{background:#3b82f614;border-color:#60a5fa33}.landing-stat-value{font-size:1.5rem;font-weight:800;color:#f5f7fb;letter-spacing:-.02em}.landing-stat-value-sm{font-size:1.1rem}.landing-stat-value-green{font-size:1.4rem;font-weight:800;color:#4ade80;letter-spacing:-.02em}.landing-stat-label{font-size:.75rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.landing-stat-amount{font-size:.82rem;color:#93c5fd;font-weight:500}.landing-stat-bar{margin-top:8px;height:5px;border-radius:99px;background:#ffffff1a;overflow:hidden}.landing-stat-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#3b82f6,#60a5fa)}.landing-stat-pct{font-size:.75rem;color:#60a5fa;font-weight:600}.landing-features{padding:80px 40px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box;text-align:center}.landing-section-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#d4af37;margin-bottom:12px}.landing-section-title{font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:800;letter-spacing:-.025em;color:#f5f7fb;margin:0 0 56px}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;text-align:left}.landing-feature-card{padding:28px 24px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);transition:border-color .2s,background .2s,transform .2s}.landing-feature-card:hover{border-color:#60a5fa40;background:#3b82f60f;transform:translateY(-2px)}.landing-feature-icon{width:52px;height:52px;border-radius:14px;background:#3b82f61f;border:1px solid rgba(96,165,250,.2);display:flex;align-items:center;justify-content:center;color:#93c5fd;margin-bottom:18px}.landing-feature-title{font-size:1.05rem;font-weight:700;color:#f5f7fb;margin:0 0 10px}.landing-feature-desc{font-size:.88rem;color:#64748b;line-height:1.65;margin:0}.landing-cta-banner{position:relative;padding:64px 40px;border-radius:24px;background:linear-gradient(135deg,#3b82f61f,#d4af3714);border:1px solid rgba(255,255,255,.1);text-align:center;overflow:hidden;max-width:1120px;margin:20px auto 60px;box-sizing:border-box}.landing-cta-banner-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(59,130,246,.1) 0%,transparent 65%);pointer-events:none}.landing-cta-banner-title{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;color:#f5f7fb;letter-spacing:-.025em;margin:0 0 14px;position:relative}.landing-cta-banner-sub{font-size:1rem;color:#94a3b8;margin:0 0 32px;position:relative}.landing-footer{margin-top:auto;padding:32px 40px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.landing-footer-brand{display:flex;align-items:center;gap:8px}.landing-footer-logo{width:22px;height:22px;opacity:.7}.landing-footer-name{font-size:.88rem;font-weight:600;color:#64748b}.landing-footer-copy{font-size:.82rem;color:#475569;margin:0}[data-theme=light] .landing-page{background:radial-gradient(ellipse at 60% 0%,rgba(59,130,246,.1) 0%,transparent 55%),radial-gradient(ellipse at 10% 80%,rgba(212,175,55,.06) 0%,transparent 40%),#f1f5f9;color:#0f172a}[data-theme=light] .landing-nav{background:#f1f5f9d9;border-bottom-color:#00000012}[data-theme=light] .landing-nav-title,[data-theme=light] .landing-headline,[data-theme=light] .landing-feature-title,[data-theme=light] .landing-cta-banner-title{color:#0f172a}[data-theme=light] .landing-nav-signin{color:#64748b}[data-theme=light] .landing-nav-signin:hover{color:#0f172a;background:#0000000d}[data-theme=light] .landing-subhead,[data-theme=light] .landing-cta-banner-sub{color:#475569}[data-theme=light] .landing-stat-card{background:#ffffffd9;border-color:#00000014}[data-theme=light] .landing-stat-value{color:#0f172a}[data-theme=light] .landing-feature-card{background:#ffffffbf;border-color:#00000012}[data-theme=light] .landing-feature-card:hover{background:#fffffff2;border-color:#3b82f633}[data-theme=light] .landing-feature-desc{color:#475569}[data-theme=light] .landing-ghost-btn{border-color:#0003;color:#1e293b}[data-theme=light] .landing-ghost-btn:hover{background:#0000000d}[data-theme=light] .landing-cta-banner{background:linear-gradient(135deg,#3b82f614,#d4af370f);border-color:#00000014}[data-theme=light] .landing-footer{border-top-color:#00000012}@media(max-width:960px){.landing-nav{padding:16px 24px}.landing-hero-split{flex-direction:column;padding:56px 24px 48px;gap:40px;min-height:unset}.landing-hero-right{flex:unset;width:100%;max-width:420px}.landing-hero-stats{overflow-x:auto;padding-bottom:4px}.landing-stat-card{min-width:160px;flex-shrink:0}.landing-features{padding:60px 24px}.landing-footer{padding:24px}}@media(max-width:500px){.landing-headline{font-size:2rem}.landing-features-grid{grid-template-columns:1fr}}.login-split{display:flex;min-height:100vh}.login-split-left{flex:0 0 420px;background:radial-gradient(ellipse at 20% 20%,rgba(59,130,246,.2) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(212,175,55,.1) 0%,transparent 45%),#080f1e;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;padding:0;position:relative;overflow:hidden}.login-split-left:after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent,rgba(96,165,250,.4) 40%,rgba(212,175,55,.3) 60%,transparent)}.login-split-left-inner{display:flex;flex-direction:column;padding:40px 44px;height:100%}.login-split-brand{display:flex;align-items:center;gap:10px;margin-bottom:56px}.login-split-logo{width:36px;height:36px;filter:drop-shadow(0 0 12px rgba(212,175,55,.4))}.login-split-name{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:#f5f7fb}.login-split-headline{font-size:2rem;font-weight:800;line-height:1.18;letter-spacing:-.03em;color:#f5f7fb;margin:0 0 16px}.login-split-sub{font-size:.9rem;color:#64748b;line-height:1.65;margin:0 0 36px}.login-features-list{list-style:none;padding:0;margin:0 0 auto;display:flex;flex-direction:column;gap:14px}.login-feature-item{display:flex;align-items:center;gap:10px;font-size:.88rem;color:#94a3b8}.login-feature-check{flex-shrink:0;width:22px;height:22px;border-radius:6px;background:#60a5fa1f;border:1px solid rgba(96,165,250,.2);display:flex;align-items:center;justify-content:center;color:#60a5fa}.login-split-quote{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06)}.login-quote-text{font-size:.85rem;color:#64748b;font-style:italic;line-height:1.55;margin:0 0 6px}.login-quote-author{font-size:.78rem;color:#475569;margin:0}.login-split-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;position:relative;background:radial-gradient(ellipse at 70% 10%,rgba(59,130,246,.07) 0%,transparent 45%),#0b1120}.login-back-link-light{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:500;color:#475569;text-decoration:none;margin-bottom:32px;padding:6px 0;transition:color .15s;width:fit-content}.login-back-link-light:hover{color:#94a3b8}.login-back-link-mobile{display:none;align-items:center;gap:6px;font-size:.82rem;font-weight:500;color:#64748b;text-decoration:none;margin-bottom:16px;padding:6px 10px;border-radius:8px;transition:color .15s,background .15s;align-self:flex-start}.login-back-link-mobile:hover{color:#f5f7fb;background:#ffffff0f}.auth-shell-embedded{min-height:unset;padding:0;background:none;width:100%;max-width:420px}.auth-shell-embedded .auth-card{box-shadow:none;border:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}.auth-shell-embedded .auth-card:before{display:none}[data-theme=light] .login-split-left{background:radial-gradient(ellipse at 20% 20%,rgba(59,130,246,.08) 0%,transparent 50%),#1e293b;border-right-color:#0000001f}[data-theme=light] .login-split-right{background:#f1f5f9}[data-theme=light] .login-back-link-mobile{color:#94a3b8}@media(max-width:820px){.login-split{flex-direction:column}.login-split-left{display:none}.login-split-right{min-height:100vh;justify-content:center}.login-back-link-mobile{display:inline-flex}}input[type=date]{color-scheme:dark}[data-theme=light] input[type=date]{color-scheme:light}.recurring-inline{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:#93c5fd;background:#60a5fa1a;border:1px solid rgba(96,165,250,.18);border-radius:999px;padding:2px 8px 2px 6px;white-space:nowrap;text-transform:capitalize;vertical-align:middle;letter-spacing:.01em}.cat-budget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.cat-budget-card{border-radius:14px;border:1px solid var(--border);background:var(--surface-muted);padding:16px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;outline:none}.cat-budget-card:hover,.cat-budget-card:focus-visible{border-color:#60a5fa59;background:#3b82f60d;transform:translateY(-1px)}.cat-budget-card-editing{border-color:#60a5fa80;background:#3b82f60f;cursor:default;transform:none}.cat-budget-card-editing:hover{transform:none}.cat-budget-card-top{display:flex;align-items:center;gap:8px}.cat-budget-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%}.cat-budget-name{flex:1;font-size:.88rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-budget-spent{font-size:.82rem;font-weight:600;color:#94a3b8;white-space:nowrap}.cat-budget-track{margin:0}.cat-budget-footer{display:flex;align-items:center;justify-content:space-between}.cat-budget-pct{font-size:.78rem;font-weight:700;color:#60a5fa}.cat-budget-limit{font-size:.75rem;color:#475569}.cat-budget-unset{font-size:.75rem;color:#475569;margin:0;font-style:italic}.cat-budget-edit{display:flex;flex-direction:column;gap:8px}.cat-budget-edit-actions{display:flex;gap:8px}.cat-budget-edit-actions .primary-button{flex:1;padding:8px 12px;font-size:.82rem}.ghost-btn{padding:8px 12px;border-radius:10px;border:1px solid var(--border-input);background:transparent;color:#64748b;font-size:.82rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.ghost-btn:hover{color:var(--text);border-color:#94a3b859}.share-page{max-width:900px;margin:0 auto;padding:48px 24px 64px;display:flex;flex-direction:column;gap:24px}.share-header{text-align:center;margin-bottom:8px}.share-title{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.03em;margin:8px 0 6px}.share-subtitle{font-size:.88rem;color:#64748b;margin:0}.share-stats{margin:0}.share-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.share-chart-card,.share-category-list{display:flex;flex-direction:column}.share-cat-rows{display:flex;flex-direction:column;gap:14px;margin-top:8px;overflow-y:auto;max-height:300px}.share-cat-row{display:flex;flex-direction:column;gap:5px}.share-cat-header{display:flex;align-items:center;gap:8px}.share-cat-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%}.share-cat-name{flex:1;font-size:.85rem;font-weight:600}.share-cat-amount{font-size:.85rem;font-weight:600;color:#94a3b8}.share-cat-pct{font-size:.72rem;color:#64748b;padding-left:18px}.share-transactions-card h3{margin-bottom:16px}.share-footer{text-align:center;font-size:.82rem;color:#475569;padding-top:8px}.share-footer a{color:#60a5fa;text-decoration:none}.share-footer a:hover{text-decoration:underline}@media(max-width:640px){.share-charts-row{grid-template-columns:1fr}.cat-budget-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:400px){.cat-budget-grid{grid-template-columns:1fr}}.empty-state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center;gap:10px}.empty-state-icon{width:72px;height:72px;border-radius:20px;background:#60a5fa14;border:1px solid rgba(96,165,250,.14);display:flex;align-items:center;justify-content:center;color:#475569;margin-bottom:6px}.empty-state-title{font-size:.95rem;font-weight:700;color:var(--text);margin:0}.empty-state-sub{font-size:.82rem;color:#64748b;margin:0;max-width:280px;line-height:1.5}.empty-state-action{margin-top:6px}@keyframes sk-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sk-card{position:relative;overflow:hidden;background:#94a3b812!important;border-color:transparent!important;box-shadow:none!important;pointer-events:none;-webkit-user-select:none;user-select:none}.sk-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);animation:sk-shimmer 1.5s ease-in-out infinite}.sk-block{border-radius:6px;background:#94a3b826}.sk-circle{border-radius:50%;background:#94a3b826}.sk-row{display:flex;align-items:center;justify-content:space-between}.sk-chart{border-radius:16px;padding:20px;display:flex;align-items:flex-end}.sk-chart-bars{display:flex;align-items:flex-end;gap:8px;width:100%;height:100%;padding:8px;box-sizing:border-box}.sk-bar{flex:1;border-radius:4px 4px 0 0;background:#94a3b81f}.sk-insight-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.sk-insight-row:last-child{border-bottom:none}.sk-report-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.sk-report-row:last-child{border-bottom:none}[data-theme=light] .sk-card{background:#94a3b81a!important}[data-theme=light] .sk-card:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%)}[data-theme=light] .sk-block,[data-theme=light] .sk-circle,[data-theme=light] .sk-bar{background:#94a3b833}.category-label-row{display:flex;align-items:center;gap:8px}.ai-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;letter-spacing:.03em;padding:2px 7px;border-radius:20px;background:#8b5cf62e;color:#a78bfa;border:1px solid rgba(139,92,246,.28);white-space:nowrap}.ai-badge--loading{animation:ai-pulse 1.2s ease-in-out infinite;color:#94a3b8;background:#94a3b81a;border-color:#94a3b833}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.45}}[data-theme=light] .ai-badge{background:#8b5cf61a;color:#7c3aed;border-color:#8b5cf633}html,body,#root{margin:0;width:100%;min-width:320px;min-height:100%}body{background:radial-gradient(circle at top,rgba(59,130,246,.16),transparent 35%),#0f172a;color:#f5f7fb;font-family:Inter,system-ui,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
