@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&family=Playfair+Display:wght@700;900&display=swap";.morph-icon[data-v-ec6a2557]{display:block}.morph-path[data-v-ec6a2557]{transition:fill-opacity .18s ease,stroke-opacity .18s ease}.bottom-nav[data-v-728c6bd9]{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;display:flex;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--divider);padding:8px 16px calc(12px + var(--safe-area-bottom));box-shadow:0 -4px 24px #00000014;z-index:100}.nav-item[data-v-728c6bd9]{border:none;background:transparent;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px 8px;cursor:pointer;color:#999;opacity:.55;transition:color .2s cubic-bezier(.4,0,.2,1),opacity .2s ease,transform .15s ease;position:relative;border-radius:14px}.nav-item[data-v-728c6bd9]:hover{opacity:.78}.nav-item.active[data-v-728c6bd9]{color:#1a1a2e;opacity:1}.nav-item[data-v-728c6bd9]:active{transform:scale(.92)}.nav-indicator[data-v-728c6bd9]{width:18px;height:3px;border-radius:999px;background:transparent;margin-bottom:3px;transition:background-color .2s ease,transform .3s cubic-bezier(.4,0,.2,1),opacity .25s ease;transform:scaleX(.35);opacity:0}.nav-item.active .nav-indicator[data-v-728c6bd9]{background:#1a1a2e;transform:scaleX(1);opacity:1}.nav-icon[data-v-728c6bd9]{font-size:24px;line-height:1;transform-origin:center;transition:transform .35s cubic-bezier(.4,0,.2,1),filter .35s cubic-bezier(.4,0,.2,1);transform:scale(.96)}.nav-item:hover .nav-icon[data-v-728c6bd9]{transform:scale(1.01)}.nav-item.active .nav-icon[data-v-728c6bd9]{transform:translateY(-1px) scale(1.08);filter:drop-shadow(0 2px 4px rgba(26,26,46,.18))}.nav-label[data-v-728c6bd9]{font-size:11px;font-weight:500;letter-spacing:.2px}.nav-item.active .nav-label[data-v-728c6bd9]{font-weight:600}.fab-container[data-v-728c6bd9]{display:flex;align-items:center;justify-content:center;padding:0 8px}.fab[data-v-728c6bd9]{position:relative;width:56px;height:56px;background:#1a1a2e;border-radius:18px;border:4px solid #fff;color:#fff;transform:translateY(-28px);cursor:pointer;box-shadow:0 4px 14px #2d374859;display:flex;align-items:center;justify-content:center;z-index:101;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background-color .3s cubic-bezier(.4,0,.2,1)}.fab.open[data-v-728c6bd9]{background:#e53935}.fab[data-v-728c6bd9]:hover{transform:translateY(-28px) scale(1.04)}.fab[data-v-728c6bd9]:active{transform:translateY(-28px) scale(.95)}.fab-plus[data-v-728c6bd9]{position:relative;width:20px;height:20px;display:block;transition:transform .3s cubic-bezier(.4,0,.2,1)}.fab-plus.open[data-v-728c6bd9]{transform:rotate(45deg)}.fab-bar[data-v-728c6bd9]{position:absolute;top:50%;left:0;width:100%;height:2.5px;background:currentColor;border-radius:999px;transform:translateY(-50%)}.fab-bar.vertical[data-v-728c6bd9]{transform:translateY(-50%) rotate(90deg)}.bottom-nav button[data-v-728c6bd9]:focus-visible{outline:2px solid #1A1A2E;outline-offset:2px}.login-screen[data-v-26abf03e]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:linear-gradient(180deg,#0f172a,#111827);color:#fff}.login-bg[data-v-26abf03e]{position:absolute;inset:0;overflow:hidden;z-index:0}.shader-orb[data-v-26abf03e]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.8;animation:floatOrb-26abf03e 10s infinite alternate cubic-bezier(.45,.05,.55,.95);z-index:1;pointer-events:none}.orb-1[data-v-26abf03e]{width:600px;height:600px;background:#6366f1d9;top:-100px;left:-100px;animation:floatOrb-26abf03e 14s infinite alternate}.orb-2[data-v-26abf03e]{width:500px;height:500px;background:#4f46e5bf;bottom:-100px;right:-100px;animation:floatOrb-26abf03e 18s infinite alternate-reverse}.orb-3[data-v-26abf03e]{width:300px;height:300px;background:#10b98173;top:40%;left:60%;filter:blur(60px);animation:floatOrb-26abf03e 12s infinite alternate}@keyframes floatOrb-26abf03e{0%{transform:translate(0) scale(1)}to{transform:translate(50px,50px) scale(1.1)}}.login-card[data-v-26abf03e]{background:#0f172ad1;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(99,102,241,.45);padding:48px;border-radius:24px;width:100%;max-width:400px;text-align:center;box-shadow:0 20px 60px #000c;position:relative;z-index:100}.login-header[data-v-26abf03e]{text-align:center;margin-bottom:40px}.login-title[data-v-26abf03e]{font-family:Inter,sans-serif;font-size:30px;font-weight:700;color:#fff;margin-bottom:8px;letter-spacing:-.4px;text-transform:none}.login-subtitle[data-v-26abf03e]{font-size:16px;color:#fff9;margin-bottom:32px;line-height:1.4}.login-form[data-v-26abf03e]{margin-bottom:24px}.login-error[data-v-26abf03e]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px;margin-bottom:16px;color:#ef4444;font-size:13px;text-align:center}.form-group[data-v-26abf03e]{margin-bottom:16px}.login-input[data-v-26abf03e]{width:100%;padding:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:16px;outline:none;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.login-input[data-v-26abf03e]::placeholder{color:#888}.login-input[data-v-26abf03e]:focus{border-color:var(--accent-primary);background:#6366f114;box-shadow:0 0 0 4px #6366f12e}.auth-btn[data-v-26abf03e]{width:100%;padding:16px;background:var(--accent-primary);color:#fff;font-weight:600;border:none;border-radius:12px;cursor:pointer;font-size:16px;margin-top:10px;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}.auth-btn[data-v-26abf03e]:hover{background:var(--accent-secondary);transform:translateY(-2px);box-shadow:0 10px 20px #4f46e547}.auth-btn[data-v-26abf03e]:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-spinner[data-v-26abf03e]{display:inline-block;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top:3px solid white;width:20px;height:20px;animation:spin-26abf03e 1s linear infinite}@keyframes spin-26abf03e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.panel-skeleton[data-v-ef912b88]{padding:var(--space-card-x, 16px)}.sk[data-v-ef912b88]{position:relative;overflow:hidden;border-radius:10px;background:color-mix(in srgb,var(--bg-subtle) 88%,white);margin-bottom:10px}.sk[data-v-ef912b88]:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:shimmer-ef912b88 var(--dur-slow, .42s) var(--ease-standard, cubic-bezier(.2, .8, .2, 1)) infinite}.sk-head[data-v-ef912b88]{height:20px;width:48%}.sk-line[data-v-ef912b88]{height:12px;width:100%}.sk-line.short[data-v-ef912b88]{width:70%}.sk-block[data-v-ef912b88]{height:128px;border-radius:14px}@keyframes shimmer-ef912b88{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.sk[data-v-ef912b88]:after{animation:none}}.toast-container[data-v-f4583d98]{position:fixed;bottom:calc(var(--nav-height, 76px) + var(--safe-area-bottom, 0px) + 10px);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:calc(min(100vw,480px) - 20px);max-width:calc(100vw - 20px);box-sizing:border-box}.toast[data-v-f4583d98]{display:flex;align-items:center;gap:8px;padding:14px 16px;background:#1f2937;color:#fff;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 8px 24px #00000040;cursor:pointer;pointer-events:auto;white-space:normal;width:100%;min-width:0;position:relative;overflow:hidden}.toast-success[data-v-f4583d98]{background:#1f2937}.toast-error[data-v-f4583d98]{background:#ef4444}.toast-warning[data-v-f4583d98]{background:#f59e0b}.toast-info[data-v-f4583d98]{background:#3b82f6}.toast-celebration[data-v-f4583d98]{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.toast-icon[data-v-f4583d98]{font-size:16px}.toast-message[data-v-f4583d98]{flex:1;min-width:0;overflow-wrap:anywhere}.toast-action[data-v-f4583d98],.toast-close[data-v-f4583d98]{border:none;background:#ffffff29;color:#fff;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer}.toast-close[data-v-f4583d98]{padding:4px 6px;font-size:10px}.toast-progress[data-v-f4583d98]{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#ffffffe6;transform-origin:left center;animation:toastProgress-f4583d98 linear forwards}.toast:hover .toast-progress[data-v-f4583d98]{animation-play-state:paused}.toast-list-enter-active[data-v-f4583d98],.toast-list-leave-active[data-v-f4583d98]{transition:transform var(--dur-standard, .28s) var(--ease-standard, cubic-bezier(.2, .8, .2, 1)),opacity var(--dur-standard, .28s) var(--ease-standard, cubic-bezier(.2, .8, .2, 1))}.toast-list-enter-from[data-v-f4583d98]{opacity:0;transform:translateY(22px)}.toast-list-leave-to[data-v-f4583d98]{opacity:0;transform:translateY(-18px)}.toast-list-move[data-v-f4583d98]{transition:transform var(--dur-standard, .28s) var(--ease-standard, cubic-bezier(.2, .8, .2, 1))}@keyframes toastProgress-f4583d98{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion: reduce){.toast-list-enter-active[data-v-f4583d98],.toast-list-leave-active[data-v-f4583d98],.toast-list-move[data-v-f4583d98]{transition:none}.toast-progress[data-v-f4583d98]{animation:none}}:root{--primary-brand: #4F46E5;--primary-green: #4F46E5;--header-green: #4F46E5;--bg-primary: #F8FAFC;--bg-secondary: #FFFFFF;--bg-card: #FFFFFF;--bg-subtle: #F1F5F9;--bg-input: #FFFFFF;--text-primary: #111827;--text-secondary: #4B5563;--text-tertiary: #6B7280;--text-quaternary: #D1D5DB;--accent-primary: #4F46E5;--accent-secondary: #6366F1;--accent-green: #10B981;--accent-red: #EF4444;--accent-blue: #4F46E5;--accent-orange: #F59E0B;--accent-purple: #9C27B0;--income-color: #10B981;--income-green: #10B981;--income-bg: rgba(16, 185, 129, .12);--expense-color: #EF4444;--expense-red: #EF4444;--expense-bg: rgba(239, 68, 68, .12);--transfer-color: #64748B;--transfer-blue: #64748B;--transfer-bg: rgba(100, 116, 139, .12);--budget-indigo: #6366F1;--primary-gradient: linear-gradient(135deg, #4F46E5 0%, #6366F1 100%);--header-gradient: #0F172A;--income-gradient: linear-gradient(135deg, #10B981 0%, #34D399 100%);--expense-gradient: linear-gradient(135deg, #EF4444 0%, #F87171 100%);--fab-gradient: linear-gradient(135deg, #4F46E5, #6366F1);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 4px 6px -1px rgba(79, 70, 229, .08), 0 2px 4px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px -3px rgba(79, 70, 229, .1), 0 4px 6px -2px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--shadow-glow-green: 0 4px 15px rgba(16, 185, 129, .3);--shadow-glow-red: 0 4px 15px rgba(239, 68, 68, .3);--shadow-glow-fab: 0 8px 24px rgba(79, 70, 229, .4);--divider: #E2E8F0;--border-light: #E2E8F0;--border-color: #E5E5EA;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--border-radius-full: 9999px;--radius-full: 9999px;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 8px;--radius-xl: 20px;--radius-2xl: 24px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-xs: 11px;--font-sm: 12px;--font-md: 14px;--font-lg: 16px;--font-xl: 18px;--font-2xl: 24px;--font-3xl: 32px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--dur-fast: .22s;--dur-standard: .32s;--dur-slow: .42s;--ease-standard: cubic-bezier(.2, .8, .2, 1);--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.2, .8, .2, 1);--transition-slow: .5s cubic-bezier(.2, .8, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--focus-ring: 0 0 0 3px rgba(79, 70, 229, .25);--space-card-y: 14px;--space-card-x: 16px;--font-ui-label: 12px;--font-ui-body: 14px;--z-dropdown: 100;--z-modal: 1000;--z-toast: 10000;--z-splash: 99999;--header-height: 120px;--nav-height: 80px;--fab-size: 56px;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--nav-bg: rgba(255, 255, 255, .9)}:root{--card-bg-light: rgba(0, 0, 0, .02)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:12px 24px;border-radius:var(--border-radius-md);font-weight:var(--font-semibold);font-size:var(--font-md);transition:all var(--transition-normal);cursor:pointer;border:none;text-decoration:none}.btn-primary{background:var(--expense-gradient);color:#fff;box-shadow:var(--shadow-glow-red)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ff525266}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--divider)}.btn-secondary:hover{background:var(--bg-input)}.btn-success{background:var(--income-gradient);color:#fff;box-shadow:var(--shadow-glow-green)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:#ffffff1a}.btn-small{padding:6px 12px;font-size:var(--font-sm);border-radius:var(--border-radius-sm)}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--border-radius-full)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.form-input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--divider);border-radius:var(--border-radius-md);color:var(--text-primary);font-size:var(--font-md);transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--accent-primary)}.form-input::placeholder{color:var(--text-tertiary)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236B6B6B' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.card{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-md);border:1px solid var(--divider)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-lg);font-weight:var(--font-semibold)}.chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px 12px;background:var(--bg-input);border-radius:var(--border-radius-full);font-size:var(--font-sm);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;min-height:44px}.chip:hover{background:var(--bg-card)}.chip.active{background:var(--accent-primary);color:#fff}.tech-chip{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--bg-input);border-radius:var(--border-radius-lg);font-size:var(--font-md);font-weight:var(--font-medium);color:var(--text-secondary);transition:all var(--transition-normal);cursor:pointer;min-width:80px;min-height:44px}.tech-chip:hover{background:var(--bg-card)}.tech-chip.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 15px #6366f14d}.modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center}.modal-overlay.active{display:flex}.modal-content{background:var(--bg-secondary);border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--divider);position:sticky;top:0;background:var(--bg-secondary);z-index:1}.modal-title{font-size:var(--font-xl);font-weight:var(--font-semibold)}.modal-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-full);background:var(--bg-input);color:var(--text-secondary);font-size:var(--font-lg);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-card);color:var(--text-primary)}.modal-body{padding:var(--spacing-md)}.modal-footer{padding:var(--spacing-md);border-top:1px solid var(--divider);display:flex;gap:var(--spacing-sm)}.modal-fullscreen .modal-content{border-radius:0;max-height:100vh;height:100vh}.tabs{display:flex;background:var(--bg-input);border-radius:var(--border-radius-lg);padding:4px}.tab{flex:1;padding:10px 16px;text-align:center;font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast)}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--bg-card);color:var(--text-primary)}.type-tabs{display:flex;gap:var(--spacing-sm)}.type-tab{flex:1;padding:12px;text-align:center;font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--text-tertiary);background:var(--bg-input);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast)}.type-tab.income.active{background:var(--income-gradient);color:#fff}.type-tab.expense.active{background:var(--expense-gradient);color:#fff}.type-tab.transfer.active{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.transaction-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast)}.transaction-item:hover{background:var(--bg-input);transform:translate(4px)}.tx-icon{width:44px;height:44px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.tx-info{flex:1;min-width:0}.tx-category{font-size:var(--font-md);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-title{font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-amounts{text-align:right}.tx-amount{font-family:Space Mono,monospace;font-size:var(--font-md);font-weight:var(--font-semibold)}.tx-amount.income{color:var(--income-color)}.tx-amount.expense{color:var(--expense-color)}.category-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:background var(--transition-fast)}.category-item:hover{background:var(--card-bg-light)}.category-icon{width:40px;height:40px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;font-size:18px}.category-info{flex:1}.category-name{font-size:var(--font-md);font-weight:var(--font-medium)}.category-percent{font-size:var(--font-sm);color:var(--text-secondary)}.category-amount{font-family:Space Mono,monospace;font-size:var(--font-md);color:var(--text-secondary)}.progress-bar{height:4px;background:var(--bg-input);border-radius:var(--border-radius-full);margin-top:var(--spacing-xs);overflow:hidden}.progress-fill{height:100%;border-radius:var(--border-radius-full);transition:width var(--transition-slow)}.account-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--border-radius-md)}.account-item-left{display:flex;align-items:center;gap:var(--spacing-md)}.account-icon{width:40px;height:40px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;font-size:18px}.account-icon.cash{background:#4caf5026}.account-icon.card{background:#2196f326}.account-icon.savings{background:#9c27b026}.account-name{font-size:var(--font-md);font-weight:var(--font-medium)}.account-balance{font-family:Space Mono,monospace;font-size:var(--font-md);font-weight:var(--font-semibold)}.account-balance.positive{color:var(--income-color)}.account-balance.negative{color:var(--expense-color)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.empty-state-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.empty-state-title{font-size:var(--font-lg);font-weight:var(--font-semibold);margin-bottom:var(--spacing-xs)}.empty-state-text{font-size:var(--font-sm);color:var(--text-tertiary)}.toggle{position:relative;display:inline-block;width:44px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg-input);border-radius:var(--border-radius-full);transition:var(--transition-normal)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:var(--border-radius-full);transition:var(--transition-normal);box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle-slider{background:var(--accent-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.dropdown{position:relative}.dropdown-toggle{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer}.dropdown-menu{position:absolute;top:100%;left:0;min-width:150px;background:var(--bg-card);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--divider);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast);z-index:var(--z-dropdown)}.dropdown-menu.active{opacity:1;visibility:visible;transform:translateY(4px)}.dropdown-item{padding:10px 16px;font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.dropdown-item:hover{background:var(--card-bg-light);color:var(--text-primary)}.dropdown-item.active{color:var(--accent-primary)}.settings-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:background var(--transition-fast)}.settings-item:hover{background:var(--card-bg-light)}.settings-icon-container{width:40px;height:40px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;font-size:18px}.settings-content{flex:1}.settings-label{font-size:var(--font-md);font-weight:var(--font-medium)}.settings-sublabel{font-size:var(--font-sm);color:var(--text-tertiary)}.divider{height:1px;background:var(--divider);margin:var(--spacing-md) 0}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:var(--font-xs);font-weight:var(--font-bold);background:var(--accent-primary);color:#fff;border-radius:var(--border-radius-full)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 5px var(--accent-primary)}50%{box-shadow:0 0 20px var(--accent-primary)}}@keyframes syncPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}@keyframes toastSlideUp{0%{transform:translate(-50%,100px);opacity:0}10%{transform:translate(-50%);opacity:1}90%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,100px);opacity:0}}@keyframes skeleton{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes confettiFall{0%{transform:translateY(-100px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes numberPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes valueFlash{0%,to{background-color:transparent}50%{background-color:#4ecdc433}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes drop{0%{transform:translateY(-100vh) rotate(0);opacity:1}70%{transform:translateY(50px) rotate(360deg);opacity:1}85%{transform:translateY(-20px) rotate(400deg)}to{transform:translateY(0) rotate(420deg);opacity:1}}@keyframes morph{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(0);opacity:0}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease forwards}.animate-fade-out{animation:fadeOut var(--transition-normal) ease forwards}.animate-slide-up{animation:slideUp var(--transition-normal) ease forwards}.animate-slide-down{animation:slideDown var(--transition-normal) ease forwards}.animate-slide-in-right{animation:slideInRight var(--transition-normal) ease forwards}.animate-slide-out-right{animation:slideOutRight var(--transition-normal) ease forwards}.animate-scale-in{animation:scaleIn var(--transition-normal) ease forwards}.animate-scale-out{animation:scaleOut var(--transition-normal) ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-number{animation:numberPop .3s ease}.stagger-enter{opacity:0;transform:translateY(20px)}.stagger-enter-active,.transaction-item{animation:cardEntrance .3s ease forwards}.transaction-item:nth-child(1){animation-delay:0ms}.transaction-item:nth-child(2){animation-delay:50ms}.transaction-item:nth-child(3){animation-delay:.1s}.transaction-item:nth-child(4){animation-delay:.15s}.transaction-item:nth-child(5){animation-delay:.2s}.transaction-item:nth-child(n+6){animation-delay:.25s}.skeleton{background:linear-gradient(90deg,var(--bg-input) 25%,var(--bg-card) 50%,var(--bg-input) 75%);background-size:200% 100%;animation:skeleton 1.5s ease-in-out infinite;border-radius:var(--border-radius-md)}.value-updated{animation:valueFlash .6s ease}.celebrate{animation:shake .5s ease}.ripple-container{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:#ffffff4d;transform:scale(0);animation:ripple .6s linear;pointer-events:none}.sync-indicator{animation:syncPulse 1.5s ease-in-out infinite}.sync-indicator.syncing{animation:spin 1s linear infinite}.toast{animation:toastSlideUp 2.5s ease forwards}.confetti-piece{position:absolute;top:0;pointer-events:none}.modal-enter-active,.modal-leave-active{transition:all var(--transition-normal)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-content,.modal-leave-to .modal-content{transform:translateY(100%)}.page-slide-enter-active,.page-slide-leave-active{transition:all var(--transition-normal)}.page-slide-enter-from{opacity:0;transform:translate(100%)}.page-slide-leave-to{opacity:0;transform:translate(-100%)}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}.list-enter-active,.list-leave-active{transition:all .3s ease}.list-enter-from{opacity:0;transform:translate(-30px)}.list-leave-to{opacity:0;transform:translate(30px)}.pop-in-enter-active{animation:modalEnter .35s cubic-bezier(.34,1.56,.64,1)}.pop-in-leave-active{animation:modalExit .25s ease-in forwards}@keyframes modalEnter{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalExit{to{opacity:0;transform:scale(.95) translateY(5px)}}@keyframes tapFeedback{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.tap-feedback:active{animation:tapFeedback .15s ease}@keyframes iconBounce{0%{transform:scale(1)}30%{transform:scale(1.3)}50%{transform:scale(.9)}70%{transform:scale(1.1)}to{transform:scale(1)}}.icon-bounce{animation:iconBounce .4s cubic-bezier(.34,1.56,.64,1)}@keyframes cardLift{0%{transform:translateY(0);box-shadow:var(--shadow-sm)}to{transform:translateY(-4px);box-shadow:var(--shadow-lg)}}@keyframes tabUnderline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tab-underline-anim:after{animation:tabUnderline .3s cubic-bezier(.4,0,.2,1) forwards;transform-origin:center}@keyframes checkDraw{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:countUp .5s cubic-bezier(.16,1,.3,1) forwards}button:not(.fab):active,.btn:active{transform:scale(.97);transition:transform .1s ease}@keyframes viewSlide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.view-enter{animation:viewSlide .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state-icon{animation:float 3s ease-in-out infinite}@keyframes navPulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1.1)}}@keyframes numberSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.number-slide{animation:numberSlide .3s ease forwards}@media (hover: hover){.account-item:hover,.insight-card:hover,.recurring-rule-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);transition:all .2s cubic-bezier(.4,0,.2,1)}}@keyframes tooltipPop{0%{opacity:0;transform:scale(.8) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.tooltip-pop{animation:tooltipPop .2s cubic-bezier(.34,1.56,.64,1)}@keyframes badgeBounce{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.badge-bounce{animation:badgeBounce .5s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.tech-mode{--bg-primary: #FFFDE7 !important;--bg-card: #FFFDE7 !important;--bg-subtle: #FFF9C4 !important;--bg-input: #FFF9C4 !important;--primary-brand: #006837 !important;--header-green: #006837 !important;--text-primary: #006837 !important;--text-secondary: #004D29 !important;--text-tertiary: #2F6F48 !important;--divider: #A5D6A7 !important;--border-light: #A5D6A7 !important;--income-green: #006837 !important;--expense-red: #B42318 !important;--accent-red: #B42318 !important;--accent-primary: #006837 !important;--accent-secondary: #004D29 !important;--shadow-sm: none !important;--shadow-md: none !important;--shadow-lg: 0 4px 0px 0px rgba(0, 104, 55, .2) !important;--nav-bg: #FFFDE7 !important;background-color:var(--bg-primary)!important;color:var(--text-primary)!important}.tech-mode:before{display:none}.tech-mode body,.tech-mode .app-container,.tech-mode .main-content,.tech-mode .header,.tech-mode .summary-bar,.tech-mode .calendar-container,.tech-mode .view-tabs{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}.tech-mode ::selection{background:var(--primary-brand);color:var(--bg-primary)}.tech-mode .summary-bar{border-bottom:2px solid var(--primary-brand)!important;background:var(--bg-primary)!important}.tech-mode .summary-label{color:var(--text-secondary)!important;font-weight:600}.tech-mode .summary-value{color:var(--primary-brand)!important;font-weight:800}.tech-mode .view-tab{color:var(--text-tertiary)!important}.tech-mode .view-tab.active{color:var(--primary-brand)!important;background:transparent!important}.tech-mode .view-tab.active:after{background:var(--primary-brand)!important;height:3px}.tech-mode .action-btn,.tech-mode .btn-primary,.tech-mode .add-transaction-btn,.tech-mode .fab,.tech-mode .floating-action-button,.tech-mode .add-btn{background-color:var(--primary-brand)!important;color:#fff!important;border:2px solid var(--primary-brand)!important;box-shadow:4px 4px #0003!important}.tech-mode .category-item{color:var(--primary-brand)!important}.tech-mode .theme-text-amount{color:var(--primary-brand)!important;font-family:Space Mono,monospace!important}.tech-mode .theme-text-primary{color:var(--text-secondary)!important}.tech-mode .theme-icon{color:var(--primary-brand)!important;fill:var(--primary-brand)!important}.tech-mode .month-selector button,.tech-mode .month-selector span,.tech-mode .header-actions button{color:var(--primary-brand)!important}.tech-mode .expense-text,.tech-mode .text-expense,.tech-mode .tx-amount.expense,.tech-mode .meta-value.expense,.tech-mode .insight-value.up{color:var(--expense-red)!important}.tech-mode i,.tech-mode svg,.tech-mode .icon{color:var(--primary-brand);fill:var(--primary-brand);border-color:var(--primary-brand)}.tech-mode .btn-primary,.tech-mode .fab{color:#fff!important}.tech-mode .btn-primary svg,.tech-mode .fab svg{fill:#fff!important;color:#fff!important}.tech-mode .slider{background-color:#e2e8f0!important}.tech-mode .slider:before{background-color:var(--primary-brand)!important}.tech-mode input:checked+.slider{background-color:var(--primary-brand)!important}.tech-mode input:checked+.slider:before{background-color:#fff!important}.tech-mode .calendar-container{background-color:var(--bg-primary)!important;border-color:var(--primary-brand)}.tech-mode .stats-tab{color:#8e8e93!important;border-bottom:2px solid transparent!important}.tech-mode .stats-tab.active{color:var(--expense-red)!important;background:transparent!important;border-bottom-color:var(--expense-red)!important}.tech-mode .stats-tab.income-active{color:var(--income-green)!important;border-bottom-color:var(--income-green)!important}.tech-mode .stats-header-item.active{background:transparent!important;color:var(--expense-red)!important;font-weight:800}.tech-mode .stats-header-item.income-active{background:transparent!important;color:var(--income-green)!important;font-weight:800}.tech-mode .header{background:var(--bg-primary)!important;border-bottom:2px solid var(--primary-brand)!important;box-shadow:none!important}.tech-mode .transaction-item:hover,.tech-mode .settings-item:hover{background:#0068371a!important}.tech-mode .budget-popup-card{background:var(--bg-primary)!important;color:var(--primary-brand)!important;border:2px solid var(--primary-brand)!important;box-shadow:4px 4px 0 var(--primary-brand)!important;border-radius:0!important}.tech-mode input,.tech-mode select,.tech-mode textarea{background:transparent!important;color:var(--primary-brand)!important;border:2px solid var(--primary-brand)!important;border-radius:0!important;font-family:Space Mono,monospace!important}.tech-mode .form-input{background:transparent!important;color:var(--primary-brand)!important;border:2px solid var(--primary-brand)!important}.tech-mode .budget-pill{background:#0068371a!important;border-color:var(--primary-brand)!important;color:var(--primary-brand)!important;border-radius:0!important}.tech-mode .gauge-tick{stroke:var(--border-light)!important}.tech-mode .gauge-tick.active{stroke:var(--primary-brand)!important}.tech-mode .gauge-tick.active.over-budget{stroke:var(--expense-red)!important}.tech-mode .gauge-value,.tech-mode .budget-title{color:var(--text-primary)!important}.tech-mode .gauge-sub-row{color:var(--text-secondary)!important}.tech-mode .heatmap-cell[data-level="1"]{background:#00683733!important}.tech-mode .heatmap-cell[data-level="2"]{background:#00683766!important}.tech-mode .heatmap-cell[data-level="3"]{background:#006837b3!important}.tech-mode .heatmap-cell[data-level="4"]{background:#006837!important}.tech-mode .goal-progress-fill{background:var(--primary-brand)!important}.tech-mode .modal-content{background:var(--bg-primary)!important;border:2px solid var(--primary-brand)!important;border-radius:0!important;box-shadow:8px 8px #00683733!important}.tech-mode .modal-header{border-bottom:2px solid var(--primary-brand)!important;background:var(--bg-primary)!important}.tech-mode .modal-footer{border-top:2px solid var(--primary-brand)!important;background:var(--bg-primary)!important}.tech-mode .modal-close{border:2px solid var(--primary-brand)!important;color:var(--primary-brand)!important;background:transparent!important;border-radius:0!important}.tech-mode:after{display:none}.tech-mode .daily-view-container{background:var(--bg-primary)!important;color:var(--text-primary)!important}.tech-mode .daily-view-container .merged-summary-bar{background:var(--header-gradient, #0F172A)!important;border-radius:0 0 24px 24px!important}.tech-mode .daily-view-container .day-header{background:var(--bg-primary)!important}.tech-mode .daily-view-container .filter-chip{background:var(--bg-input)!important;color:var(--text-secondary)!important;border:1px solid var(--divider)!important}.tech-mode .daily-view-container .filter-chip.active{background:var(--primary-brand)!important;color:#fff!important;border-color:var(--primary-brand)!important}.tech-mode .daily-view-container .transaction-item{background:var(--bg-input)!important}.tech-mode .daily-view-container .transaction-item:hover,.tech-mode .daily-view-container .transaction-item:active{background:#00683714!important}.tech-mode .daily-view-container .tx-title,.tech-mode .daily-view-container .day-full-date{color:var(--text-primary)!important}.tech-mode .daily-view-container .tx-category-pill{background:#0068371a!important;color:var(--text-secondary)!important}.tech-mode .daily-view-container .tx-account,.tech-mode .daily-view-container .tx-dot,.tech-mode .daily-view-container .day-tx-count,.tech-mode .daily-view-container .tx-chevron{color:var(--text-tertiary)!important}.tech-mode .bottom-nav{background:var(--bg-primary)!important;border-top:2px solid var(--primary-brand)!important;box-shadow:none!important}.tech-mode .bottom-nav .nav-item{color:var(--text-tertiary)!important;opacity:.75!important}.tech-mode .bottom-nav .nav-item.active{color:var(--primary-brand)!important;opacity:1!important}.tech-mode .bottom-nav .nav-item.active .nav-indicator{background:var(--primary-brand)!important}.tech-mode .bottom-nav .fab{background:var(--primary-brand)!important;border:2px solid var(--primary-brand)!important;box-shadow:4px 4px #0003!important}.tech-mode .bottom-nav .fab.open{background:#e53935!important}body.toast-pulse .app-root{animation:appPulse .22s ease}@keyframes appPulse{0%{transform:scale(1)}45%{transform:scale(.997)}to{transform:scale(1)}}.app-root.desktop-host{max-width:min(1840px,calc(100vw - 16px));margin:8px auto;min-height:calc(100vh - 16px);border-radius:18px;overflow:hidden;border:1px solid rgba(148,163,184,.25);box-shadow:0 1px 3px #0000000f,0 8px 24px #00000014;background:#f8fafc}.app-root.desktop-host .view-content,.app-root.desktop-host .daily-view-container,.app-root.desktop-host .calendar-container,.app-root.desktop-host .monthly-view-container,.app-root.desktop-host .insights-container,.app-root.desktop-host .stats-container,.app-root.desktop-host .accounts-container,.app-root.desktop-host .settings-view{padding-bottom:24px!important}.main-content[data-v-29f5fcd8]{min-height:calc(100vh - var(--header-height) - var(--nav-height))}.fade-enter-active[data-v-29f5fcd8],.fade-leave-active[data-v-29f5fcd8]{transition:opacity .2s ease}.fade-enter-from[data-v-29f5fcd8],.fade-leave-to[data-v-29f5fcd8]{opacity:0}.desktop-shell[data-v-29f5fcd8]{min-height:100vh}.desktop-main[data-v-29f5fcd8]{min-width:0;display:flex;flex-direction:column}.desktop-content[data-v-29f5fcd8]{min-height:calc(100vh - 116px)}.desktop-nav-list[data-v-29f5fcd8]{display:grid;gap:6px}.desktop-rail-meta[data-v-29f5fcd8],.desktop-page-context[data-v-29f5fcd8]{display:none}@media (min-width: 1024px){.desktop-shell.active[data-v-29f5fcd8]{display:flex;min-height:calc(100vh - 16px)}.desktop-rail[data-v-29f5fcd8]{width:220px;min-width:220px;overflow:hidden;border-right:none;padding:20px 16px 16px;background:#0f172a;display:flex;flex-direction:column;gap:6px}.desktop-brand[data-v-29f5fcd8]{display:flex;align-items:center;gap:12px;padding:0 4px 20px;margin-bottom:4px;border-bottom:1px solid rgba(148,163,184,.12)}.desktop-brand-mark[data-v-29f5fcd8]{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;letter-spacing:.04em;color:#fff;background:linear-gradient(140deg,#2563eb,#0891b2);box-shadow:0 4px 12px #2563eb66;flex-shrink:0}.desktop-brand-copy[data-v-29f5fcd8]{opacity:1;pointer-events:auto}.desktop-brand-title[data-v-29f5fcd8]{font-size:15px;font-weight:700;color:#f1f5f9;line-height:1.15}.desktop-brand-subtitle[data-v-29f5fcd8]{display:none}.desktop-nav-list[data-v-29f5fcd8]{margin-top:8px}.desktop-nav-item[data-v-29f5fcd8]{width:100%;border:none;border-radius:999px;background:transparent;color:#94a3b8;min-height:40px;display:flex;align-items:center;gap:12px;padding:8px 16px;transition:background-color .2s ease,color .2s ease;text-align:left;cursor:pointer}.desktop-nav-item[data-v-29f5fcd8]:hover{background:#94a3b814;color:#e2e8f0}.desktop-nav-item.active[data-v-29f5fcd8]{background:#3b82f62e;color:#fff;font-weight:700}.desktop-nav-icon[data-v-29f5fcd8]{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.desktop-nav-label[data-v-29f5fcd8]{font-size:13px;font-weight:600;opacity:1;pointer-events:auto}.desktop-nav-hint[data-v-29f5fcd8]{display:none}.desktop-add-btn[data-v-29f5fcd8]{margin-top:auto;width:100%;min-height:42px;border:none;border-radius:10px;padding:8px 12px;background:linear-gradient(140deg,#2563eb,#0891b2);color:#fff;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;text-align:left;cursor:pointer;transition:opacity .2s ease,transform .15s ease}.desktop-add-btn[data-v-29f5fcd8]:hover{opacity:.92;transform:translateY(-1px)}.desktop-add-btn span[data-v-29f5fcd8]{opacity:1;pointer-events:auto}.desktop-add-plus[data-v-29f5fcd8]{font-size:18px;line-height:1;flex-shrink:0}.desktop-add-key[data-v-29f5fcd8]{margin-left:auto;font-size:10px;font-family:Space Mono,monospace;color:#fff9}.desktop-main[data-v-29f5fcd8]{flex:1;min-width:0;display:flex;flex-direction:column}.desktop-content[data-v-29f5fcd8]{min-height:calc(100vh - 16px);overflow-y:auto;padding:28px 32px}.main-content[data-v-29f5fcd8]{min-height:auto}@keyframes syncDotPulse-29f5fcd8{0%,to{opacity:1}50%{opacity:.4}}}.header[data-v-0397f151]{flex-shrink:0;background:#0f172af2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 4px;position:relative;overflow:hidden;border-radius:0;box-shadow:none;z-index:100}.header-top[data-v-0397f151]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;position:relative;z-index:1}.header-left-area[data-v-0397f151],.month-selector[data-v-0397f151]{display:flex;align-items:center;gap:8px}.month-nav-btn[data-v-0397f151]{background:transparent;border:none;color:#c7c7cc;font-size:20px;cursor:pointer;width:32px;height:32px;border-radius:9999px;transition:color .2s cubic-bezier(.4,0,.2,1),transform .15s ease;display:flex;align-items:center;justify-content:center;padding:0}.month-nav-btn[data-v-0397f151]:hover{color:#fff;background:#ffffff14}.month-button[data-v-0397f151]{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:auto!important;padding:0 6px!important;font-size:18px!important;font-weight:700;letter-spacing:-.3px;color:#fff!important;border-radius:10px!important}.sync-chip[data-v-0397f151]{display:inline-grid;place-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.18);width:28px;height:28px;padding:0;color:#10b981;background:#ffffff0f}.sync-cloud[data-v-0397f151]{width:15px;height:15px;stroke:currentColor;transition:transform .2s ease,color .2s ease}.visually-hidden[data-v-0397f151]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sync-chip.is-idle[data-v-0397f151]{color:#10b981}.sync-chip.is-syncing[data-v-0397f151]{color:#60a5fa}.sync-chip.is-syncing .sync-cloud[data-v-0397f151]{animation:syncPulse-0397f151 1.6s ease-in-out infinite}.sync-chip.is-pending[data-v-0397f151]{color:#f59e0b}.sync-chip.is-offline[data-v-0397f151]{color:#94a3b8}.sync-chip.is-error[data-v-0397f151]{color:#ef4444}.sync-chip.is-offline[data-v-0397f151],.sync-chip.is-pending[data-v-0397f151],.sync-chip.is-error[data-v-0397f151]{border-color:#fff3;background:#ffffff14}@keyframes syncPulse-0397f151{0%{transform:scale(1);box-shadow:0 0 #60a5fa47}45%{transform:scale(1.08)}70%{box-shadow:0 0 0 6px #60a5fa03}to{transform:scale(1);box-shadow:0 0 #60a5fa00}}.header-actions[data-v-0397f151]{display:flex;gap:4px}.header-action-btn[data-v-0397f151]{background:transparent;border:none;color:#fff;cursor:pointer;min-width:40px;min-height:40px;padding:0;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,opacity .2s ease,background-color .2s ease}.header-action-btn[data-v-0397f151]:hover{opacity:.92;background:#ffffff14}.header-action-btn[data-v-0397f151]:active{transform:scale(.85);opacity:.7}.view-tabs[data-v-0397f151]{position:relative;display:flex;background:transparent;border-radius:20px;padding:4px;margin-top:4px;border:1px solid rgba(255,255,255,.12);overflow:hidden}.tab-pill[data-v-0397f151]{position:absolute;left:4px;top:4px;height:32px;background:#ffffff1f;border-radius:20px;transition:transform .35s cubic-bezier(.4,0,.2,1),width .25s ease;pointer-events:none}.view-tab[data-v-0397f151]{border:none;flex:1;padding:8px 4px;text-align:center;font-size:14px;font-weight:500;border-radius:0;cursor:pointer;transition:color .2s ease,border-color .2s ease;color:#ffffff80;position:relative;background:transparent;box-shadow:none;text-transform:capitalize;z-index:1}.view-tab[data-v-0397f151]:hover{color:#c7c7cc}.view-tab.active[data-v-0397f151]{background:transparent;color:#fff;font-weight:700;box-shadow:none}.header button[data-v-0397f151]:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}@media (max-width: 390px){.sync-chip[data-v-0397f151]{width:26px;height:26px}}.category-glyph[data-v-0696bdf6]{display:block;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35))}.day-group[data-v-5886e3a1]{margin-bottom:8px;background:transparent}.day-header[data-v-5886e3a1]{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;position:sticky;top:0;z-index:5;padding:12px 0 6px;background:#f7f8fa;cursor:pointer}.day-header-left[data-v-5886e3a1]{display:flex;flex-direction:column;flex:1;min-width:0}.day-full-date[data-v-5886e3a1]{font-size:14px;font-weight:700;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-tx-count[data-v-5886e3a1]{font-size:12px;color:#999}.day-header-right[data-v-5886e3a1]{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.day-total-expense[data-v-5886e3a1]{font-size:14px;font-weight:600;color:#e53935;font-variant-numeric:tabular-nums}.day-transactions[data-v-5886e3a1]{background:transparent}.swipe-wrapper[data-v-5886e3a1]{position:relative;overflow:hidden;border-radius:14px;margin-bottom:10px;box-shadow:0 1px 4px #0000000d;opacity:0;transform:translateY(12px)}.swipe-wrapper.visible[data-v-5886e3a1]{animation:cardFadeUp-5886e3a1 .25s ease-out forwards;animation-delay:var(--stagger-delay, 0ms)}.swipe-actions-left[data-v-5886e3a1],.swipe-actions-right[data-v-5886e3a1]{position:absolute;top:0;bottom:0;display:flex;align-items:center;opacity:0;transition:opacity .15s ease}.swipe-actions-left[data-v-5886e3a1]{left:0;width:90px;justify-content:center;background:linear-gradient(135deg,#1565c0,#1e88e5)}.swipe-actions-right[data-v-5886e3a1]{right:0;width:90px;justify-content:center;background:linear-gradient(135deg,#e53935,#ef5350)}.swipe-action-btn[data-v-5886e3a1]{display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;font-size:20px;transition:transform .12s ease}.swipe-wrapper.ready-right .edit-action[data-v-5886e3a1],.swipe-wrapper.ready-left .delete-action[data-v-5886e3a1]{transform:scale(1.1)!important}.swipe-wrapper.active .swipe-actions-left[data-v-5886e3a1],.swipe-wrapper.active .swipe-actions-right[data-v-5886e3a1]{opacity:1}.swipe-label[data-v-5886e3a1]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.transaction-item[data-v-5886e3a1]{display:flex;align-items:center;padding:14px 16px;background:#fff;cursor:pointer;transition:background .15s ease;border-left:4px solid transparent;position:relative;z-index:1}.transaction-item.expense[data-v-5886e3a1]{border-left-color:#e53935}.transaction-item.income[data-v-5886e3a1]{border-left-color:#2e7d32}.transaction-item.transfer[data-v-5886e3a1]{border-left-color:#1565c0}.transaction-item[data-v-5886e3a1]:hover,.transaction-item[data-v-5886e3a1]:active{background:#f8f8fb}.tx-icon[data-v-5886e3a1]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid transparent;margin-right:12px;flex-shrink:0;transform:scale(0)}.swipe-wrapper.visible .tx-icon[data-v-5886e3a1]{animation:iconPop-5886e3a1 .4s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:calc(var(--stagger-delay, 0ms) + 80ms)}.tx-info[data-v-5886e3a1]{flex:1;min-width:0}.tx-title[data-v-5886e3a1]{font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-subtitle[data-v-5886e3a1]{display:flex;align-items:center;gap:6px;min-width:0}.tx-category-pill[data-v-5886e3a1]{background:#f0f0f5;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:500;color:#555;white-space:nowrap}.tx-dot[data-v-5886e3a1]{color:#999}.tx-account[data-v-5886e3a1]{font-size:11px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-amounts[data-v-5886e3a1]{text-align:right;margin-left:10px}.tx-amount[data-v-5886e3a1]{font-size:16px;font-weight:700;letter-spacing:.3px;font-variant-numeric:tabular-nums}.tx-amount.income[data-v-5886e3a1]{color:#2e7d32}.tx-amount.expense[data-v-5886e3a1]{color:#e53935}.tx-amount.transfer[data-v-5886e3a1]{color:#1565c0}.tx-chevron[data-v-5886e3a1]{margin-left:10px;color:#c7c7cc;font-size:20px;line-height:1;flex-shrink:0}@keyframes cardFadeUp-5886e3a1{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes iconPop-5886e3a1{0%{transform:scale(0)}70%{transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.swipe-wrapper[data-v-5886e3a1]{opacity:1;transform:none;animation:none}.tx-icon[data-v-5886e3a1]{transform:none;animation:none!important}}.daily-view-container[data-v-53d4fb9e]{flex:1;display:flex;flex-direction:column;padding:0 16px 104px;overflow-y:auto;background:#f7f8fa}.merged-summary-bar[data-v-53d4fb9e]{position:sticky;top:0;z-index:8;flex-shrink:0;padding:16px 16px 18px;background:var(--header-gradient, #0F172A);border-bottom:none;border-radius:0 0 24px 24px;margin:0 -16px;transition:padding .2s ease,border-radius .2s ease}.merged-summary-bar.compact[data-v-53d4fb9e]{padding:12px 16px 14px;border-radius:0 0 20px 20px}.merged-summary-bar.compact .summary-date[data-v-53d4fb9e]{font-size:14px;margin-bottom:10px}.summary-date[data-v-53d4fb9e]{font-size:16px;font-weight:600;color:#ffffffd9;margin-bottom:16px;letter-spacing:-.2px;transition:font-size .2s ease,margin .2s ease}.summary-stats-row[data-v-53d4fb9e]{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.summary-stat[data-v-53d4fb9e]{flex:1;display:flex;flex-direction:column;gap:4px;cursor:default}.summary-stat[data-v-53d4fb9e]:first-child{align-items:flex-start;text-align:left}.summary-stat[data-v-53d4fb9e]:last-child{align-items:flex-end;text-align:right}.summary-stat.dominant[data-v-53d4fb9e]{align-items:center;text-align:center}.stat-label[data-v-53d4fb9e]{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#fff6;font-weight:600}.stat-value[data-v-53d4fb9e]{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.2px;color:#ffffffb3;line-height:1.2}.summary-stat.dominant .stat-value[data-v-53d4fb9e]{font-size:32px;font-weight:800;color:#fff;letter-spacing:-.4px}.stat-value.expense[data-v-53d4fb9e]{color:#ff8a80}.stat-value.no-spend[data-v-53d4fb9e]{font-size:13px;font-style:italic;font-weight:500;color:#ffffffb8;letter-spacing:0}.summary-stat.tappable[data-v-53d4fb9e]{cursor:pointer;transition:transform .15s cubic-bezier(.34,1.56,.64,1),opacity .15s ease;-webkit-tap-highlight-color:transparent}.summary-stat.tappable[data-v-53d4fb9e]:active{transform:scale(.92);opacity:.7}.month-progress-wrap[data-v-53d4fb9e]{margin-top:10px;padding:8px 10px 9px;border-radius:10px;border:1px solid rgba(148,163,184,.25);background:#33415575}.month-progress-top[data-v-53d4fb9e]{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.month-progress-title[data-v-53d4fb9e]{display:inline-flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#cbd5e1f2;font-weight:600}.pace-title-icon[data-v-53d4fb9e]{width:20px;height:20px;border-radius:999px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.month-progress-values[data-v-53d4fb9e]{font-size:12px;line-height:1;color:#f8fafcfc;font-weight:700;font-variant-numeric:tabular-nums}.month-progress-of[data-v-53d4fb9e]{color:#cbd5e1e0;font-weight:500;font-size:11px}.month-progress-track[data-v-53d4fb9e]{margin-top:8px;width:100%;height:6px;border-radius:3px;background:#ffffff26;overflow:hidden;position:relative}.month-progress-fill[data-v-53d4fb9e]{position:absolute;left:0;top:0;bottom:0;min-width:2px;border-radius:3px;background:#4caf50;transition:width .5s ease}.month-progress-fill.near[data-v-53d4fb9e]{background:#ff9800}.month-progress-fill.over[data-v-53d4fb9e]{background:#e53935}.month-progress-marker[data-v-53d4fb9e]{position:absolute;top:0;bottom:0;width:2px;transform:translate(-1px);background:repeating-linear-gradient(to bottom,#ffffff8c 0px 2px,#fff0 2px 4px)}.month-progress-meta[data-v-53d4fb9e]{margin-top:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#cbd5e1f0}.month-progress-wrap.over .month-progress-meta[data-v-53d4fb9e]{color:#fee2e2fa}.budget-mode-chip[data-v-53d4fb9e]{margin-top:8px;font-size:11px;color:#cbd5e1f0}.budget-guidance-chip[data-v-53d4fb9e]{margin-top:12px;font-size:13px;font-weight:500;color:#e0e0e0;background:#4caf501a;border:1px solid rgba(76,175,80,.2);border-radius:12px;padding:12px 16px;line-height:1.4;letter-spacing:.1px;display:flex;align-items:center;gap:10px}.budget-guidance-chip.over[data-v-53d4fb9e]{color:#ffdcdc;background:#e539351f;border-color:#e5393559}.guidance-icon[data-v-53d4fb9e]{width:24px;height:24px;border-radius:999px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.guidance-text[data-v-53d4fb9e]{flex:1}.section-heading[data-v-53d4fb9e]{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;margin:12px -16px 8px;padding:4px 16px 2px}.section-heading[data-v-53d4fb9e]::-webkit-scrollbar{display:none}.filter-chip[data-v-53d4fb9e]{display:inline-flex;align-items:center;gap:7px;border:none;border-radius:20px;padding:7px 13px;font-size:13px;font-weight:500;color:#555;background:#f0f0f5;white-space:nowrap;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .15s ease}.filter-chip.active[data-v-53d4fb9e]{background:#1a1a2e;color:#fff}.filter-chip-icon[data-v-53d4fb9e]{width:19px;height:19px;border-radius:999px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.filter-chip-label[data-v-53d4fb9e]{line-height:1}.filter-chip[data-v-53d4fb9e]:active{transform:scale(.96)}.transactions-shell[data-v-53d4fb9e]{padding-bottom:8px}.empty-state[data-v-53d4fb9e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 20px;text-align:center}.empty-state-icon[data-v-53d4fb9e]{font-size:48px;margin-bottom:16px}.empty-state-title[data-v-53d4fb9e]{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state-actions[data-v-53d4fb9e]{display:flex;gap:10px;margin-top:12px}.empty-action-btn[data-v-53d4fb9e]{border:1px solid var(--divider);background:var(--bg-card);color:var(--text-primary);border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer}.empty-action-btn.primary[data-v-53d4fb9e]{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.load-more-btn[data-v-53d4fb9e]{width:100%;margin-top:12px;border:1px solid #E7E7EC;background:#fff;color:#1a1a2e;border-radius:12px;padding:12px 14px;font-weight:600}@media (min-width: 1024px){.daily-view-container[data-v-53d4fb9e]{padding:0 20px 24px;background:transparent}.merged-summary-bar[data-v-53d4fb9e]{margin:0;border-radius:0 0 18px 18px;background:linear-gradient(145deg,#1e293b,#1e3a5f 55%,#1a3848);padding:20px 24px 22px;box-shadow:0 4px 16px #0f172a1f}.merged-summary-bar.compact[data-v-53d4fb9e]{padding:16px 24px 18px;border-radius:0 0 16px 16px}.summary-date[data-v-53d4fb9e]{font-size:15px;font-weight:700;color:#ffffffe6;letter-spacing:-.01em}.summary-stats-row[data-v-53d4fb9e]{gap:16px}.stat-value[data-v-53d4fb9e]{font-size:22px;font-weight:700}.summary-stat.dominant .stat-value[data-v-53d4fb9e]{font-size:36px;font-weight:800;letter-spacing:-.03em}.stat-label[data-v-53d4fb9e]{font-size:10px;letter-spacing:.1em;color:#ffffff73}.month-progress-wrap[data-v-53d4fb9e]{margin-top:14px;padding:10px 14px 12px;border-radius:14px;background:#33415580;border-color:#94a3b833}.month-progress-track[data-v-53d4fb9e]{height:8px;border-radius:4px}.budget-guidance-chip[data-v-53d4fb9e]{margin-top:14px;border-radius:14px;padding:14px 18px;font-size:13px;background:#4caf5014;border-color:#4caf502e}.section-heading[data-v-53d4fb9e]{margin:16px 0 10px;padding:4px 0;gap:10px}.filter-chip[data-v-53d4fb9e]{padding:8px 16px;font-size:13px;border-radius:12px;transition:all .2s ease}.filter-chip[data-v-53d4fb9e]:hover:not(.active){background:#e2e8f0;transform:translateY(-1px)}.filter-chip.active[data-v-53d4fb9e]{background:#1e293b;box-shadow:0 2px 8px #0f172a33}.transactions-shell[data-v-53d4fb9e]{padding-bottom:0}.load-more-btn[data-v-53d4fb9e]{border-radius:14px;transition:all .2s ease}.load-more-btn[data-v-53d4fb9e]:hover{background:#f1f5f9;border-color:#6366f14d;transform:translateY(-1px)}}.view-content[data-v-e8d0033f]{padding-bottom:80px}.bento-header[data-v-e8d0033f],.bento-grid[data-v-e8d0033f],.bento-tabs[data-v-e8d0033f],.home-desktop-kpis[data-v-e8d0033f]{display:none}.home-kpi-card[data-v-e8d0033f]{border:1px solid rgba(148,163,184,.22);border-radius:14px;background:linear-gradient(180deg,#ffffffeb,#f8fafce6);padding:12px}.home-kpi-label[data-v-e8d0033f]{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:700}.home-kpi-value[data-v-e8d0033f]{margin-top:6px;font-family:Space Mono,monospace;font-size:20px;font-weight:700;color:#0f172a}.home-kpi-value.expense[data-v-e8d0033f]{color:#b91c1c}.home-kpi-value.warning[data-v-e8d0033f]{color:#b45309}.home-kpi-meta[data-v-e8d0033f]{margin-top:6px;font-size:11px;color:#64748b}.home-desktop-side[data-v-e8d0033f]{display:none}.desktop-card[data-v-e8d0033f]{background:linear-gradient(180deg,#fffffff5,#f8fafceb);border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:13px;box-shadow:0 8px 18px #0f172a14}.desktop-card+.desktop-card[data-v-e8d0033f]{margin-top:12px}.desktop-card-title[data-v-e8d0033f]{font-size:11px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.07em}.desktop-card-head[data-v-e8d0033f]{display:flex;align-items:center;justify-content:space-between;gap:10px}.desktop-card-subtitle[data-v-e8d0033f]{margin-top:6px;font-size:12px;color:#64748b}.desktop-dismiss-btn[data-v-e8d0033f]{border:1px solid rgba(148,163,184,.35);background:#f1f5f9e6;color:#334155;border-radius:999px;font-size:11px;font-weight:700;padding:4px 10px}.desktop-action-row[data-v-e8d0033f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.desktop-action-btn[data-v-e8d0033f]{min-height:34px;border-radius:10px;border:1px solid rgba(148,163,184,.28);background:#f1f5f9eb;color:#0f172a;font-size:12px;font-weight:700;transition:border-color .14s ease,background-color .14s ease,transform .12s ease}.desktop-action-btn[data-v-e8d0033f]:hover{background:#e0e7ff;border-color:#6366f16b}.desktop-metric-row[data-v-e8d0033f]{margin-top:9px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#475569}.desktop-metric-row strong[data-v-e8d0033f]{color:#0f172a;font-family:Space Mono,monospace;font-size:12px}.desktop-progress-track[data-v-e8d0033f]{margin-top:10px;height:8px;border-radius:999px;background:#94a3b838;overflow:hidden}.desktop-progress-fill[data-v-e8d0033f]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#0ea5e9)}.desktop-progress-fill.over[data-v-e8d0033f]{background:linear-gradient(90deg,#dc2626,#f97316)}.desktop-shortcut-row[data-v-e8d0033f]{margin-top:8px;display:flex;justify-content:space-between;font-size:11px;color:#475569}.desktop-card-meta[data-v-e8d0033f]{margin-top:6px;font-size:11px;color:#475569}.active-filters-bar[data-v-e8d0033f]{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fffffff2;border-bottom:1px solid var(--divider)}.pill-list[data-v-e8d0033f]{display:flex;gap:6px;flex-wrap:wrap}.filter-pill[data-v-e8d0033f]{font-size:11px;padding:5px 8px;border-radius:999px;background:var(--bg-subtle);border:1px solid var(--divider);color:var(--text-secondary)}.clear-filters-btn[data-v-e8d0033f]{margin-left:8px;border:none;font-size:12px;font-weight:600;color:var(--accent-primary);background:transparent;cursor:pointer}.results-count[data-v-e8d0033f]{font-size:11px;color:var(--text-tertiary);margin-left:auto}.tab-shared-enter-active[data-v-e8d0033f],.tab-shared-leave-active[data-v-e8d0033f]{transition:opacity .2s cubic-bezier(.2,.8,.2,1),transform .2s cubic-bezier(.2,.8,.2,1)}.tab-shared-enter-from[data-v-e8d0033f]{opacity:0;transform:translate(10px)}.tab-shared-leave-to[data-v-e8d0033f]{opacity:0;transform:translate(-10px)}@media (prefers-reduced-motion: reduce){.tab-shared-enter-active[data-v-e8d0033f],.tab-shared-leave-active[data-v-e8d0033f]{transition:none}}@media (min-width: 1024px){.home-view[data-v-e8d0033f]{padding:0;--home-desk-pad: 16px}.home-desktop-kpis[data-v-e8d0033f],.home-desktop-side[data-v-e8d0033f]{display:none!important}.home-primary-panel[data-v-e8d0033f] .header{display:none}.bento-header[data-v-e8d0033f]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.bento-header-left[data-v-e8d0033f]{display:flex;flex-direction:column;gap:4px}.bento-title[data-v-e8d0033f]{font-size:28px;font-weight:800;color:#0f172a;letter-spacing:-.03em;line-height:1.1;margin:0}.bento-month-nav[data-v-e8d0033f]{display:flex;align-items:center;gap:4px}.bento-month-arrow[data-v-e8d0033f]{width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:#64748b;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s ease}.bento-month-arrow[data-v-e8d0033f]:hover{background:#94a3b81a;color:#0f172a}.bento-month-label[data-v-e8d0033f]{border:none;background:transparent;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .1s ease}.bento-month-label[data-v-e8d0033f]:hover{background:#94a3b81a;color:#0f172a}.bento-header-right[data-v-e8d0033f]{display:flex;align-items:center;gap:10px;padding-top:4px}.bento-search-btn[data-v-e8d0033f]{width:40px;height:40px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#fff;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .14s ease}.bento-search-btn[data-v-e8d0033f]:hover{border-color:#2563eb4d;color:#2563eb;box-shadow:0 2px 8px #2563eb14}.bento-add-btn[data-v-e8d0033f]{height:40px;padding:0 18px;border:none;border-radius:12px;background:#2563eb;color:#fff;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .14s ease}.bento-add-btn[data-v-e8d0033f]:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.bento-add-plus[data-v-e8d0033f]{font-size:16px;font-weight:400}.bento-grid[data-v-e8d0033f]{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-bottom:20px}.bento-card[data-v-e8d0033f]{background:#fff;border:1px solid rgba(148,163,184,.1);border-radius:16px;padding:20px;box-shadow:0 1px 2px #00000008;transition:box-shadow .14s ease}.bento-card[data-v-e8d0033f]:hover{box-shadow:0 2px 8px #0000000f}.bento-card-head[data-v-e8d0033f]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.bento-card-title[data-v-e8d0033f]{font-size:13px;font-weight:700;color:#0f172a;letter-spacing:-.01em}.bento-card-metric[data-v-e8d0033f]{font-size:12px;font-weight:600;color:#64748b;font-family:Space Mono,monospace}.bento-empty[data-v-e8d0033f]{padding:24px 0;text-align:center;font-size:13px;color:#94a3b8}.bento-pace[data-v-e8d0033f]{grid-column:1 / 6;grid-row:1}.bento-sparkline-wrap[data-v-e8d0033f]{margin:8px 0 12px}.bento-sparkline[data-v-e8d0033f]{width:100%;height:80px;display:block}.bento-pace-badge[data-v-e8d0033f]{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.bento-pace-badge.on-track[data-v-e8d0033f]{color:#166534;background:#dcfce7d9}.bento-pace-badge.near[data-v-e8d0033f]{color:#b45309;background:#fef3c7e6}.bento-pace-badge.over[data-v-e8d0033f]{color:#b91c1c;background:#fee2e2e0}.bento-pace-metrics[data-v-e8d0033f]{display:flex;flex-direction:column;gap:6px}.bento-pace-big[data-v-e8d0033f]{font-size:36px;font-weight:800;color:#0f172a;letter-spacing:-.03em;line-height:1.1}.bento-pace-big span[data-v-e8d0033f]{font-size:14px;font-weight:500;color:#64748b;letter-spacing:0}.bento-pace-row[data-v-e8d0033f]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#64748b;padding:4px 0}.bento-pace-row strong[data-v-e8d0033f]{color:#0f172a;font-family:Space Mono,monospace;font-size:12px}.bento-categories[data-v-e8d0033f]{grid-column:6 / 13;grid-row:1}.bento-cat-list[data-v-e8d0033f]{display:flex;flex-direction:column;gap:10px;margin-top:12px}.bento-cat-row[data-v-e8d0033f]{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:10px}.bento-cat-name[data-v-e8d0033f]{font-size:13px;font-weight:600;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bento-cat-bar-track[data-v-e8d0033f]{height:6px;border-radius:999px;background:#94a3b814;overflow:hidden}.bento-cat-bar-fill[data-v-e8d0033f]{height:100%;border-radius:inherit;transition:width .28s ease}.bento-cat-amount[data-v-e8d0033f]{font-size:12px;font-weight:600;color:#475569;font-family:Space Mono,monospace;white-space:nowrap}.bento-tabs[data-v-e8d0033f]{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.bento-tab[data-v-e8d0033f]{min-width:112px;padding:10px 16px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#fff;color:#64748b;font-size:13px;font-weight:700;cursor:pointer;transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .14s ease,border-color .14s ease,color .14s ease}.bento-tab[data-v-e8d0033f]:hover{color:#1e293b;border-color:#2563eb5c;transform:translateY(-1px);box-shadow:0 6px 14px #2563eb1f}.bento-tab.active[data-v-e8d0033f]{color:#0b3b93;border-color:#2563eb7a;background:linear-gradient(180deg,#fff,#eef4ff);font-weight:700;box-shadow:0 8px 16px #2563eb24}.home-desktop-layout[data-v-e8d0033f]{display:block}.home-primary-panel[data-v-e8d0033f]{min-width:0;background:#ffffffeb;border:1px solid rgba(148,163,184,.1);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px #00000008}.home-primary-panel .view-content[data-v-e8d0033f]{padding-bottom:16px}.active-filters-bar[data-v-e8d0033f]{top:0;z-index:8;padding:8px 16px}.home-primary-panel[data-v-e8d0033f] .daily-view-container{padding:0 var(--home-desk-pad);padding-bottom:24px}.home-primary-panel[data-v-e8d0033f] .merged-summary-bar{margin:0 calc(-1 * var(--home-desk-pad));padding:12px var(--home-desk-pad) 14px;border-radius:0 0 16px 16px}.home-primary-panel[data-v-e8d0033f] .summary-date{margin-bottom:10px;font-size:14px}.home-primary-panel[data-v-e8d0033f] .stat-value{font-size:18px}.home-primary-panel[data-v-e8d0033f] .summary-stat.dominant .stat-value{font-size:28px}.home-primary-panel[data-v-e8d0033f] .month-progress-wrap{margin-top:8px;padding:7px 8px}.home-primary-panel[data-v-e8d0033f] .budget-guidance-chip{margin-top:8px;padding:9px 12px;font-size:12px}.home-primary-panel[data-v-e8d0033f] .section-heading{margin:8px calc(-1 * var(--home-desk-pad)) 6px;padding:2px var(--home-desk-pad) 0}.home-primary-panel[data-v-e8d0033f] .filter-chip{padding:6px 10px;font-size:12px;border-radius:16px}.home-primary-panel[data-v-e8d0033f] .load-more-btn{margin-top:8px;border-radius:10px;padding:10px 12px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,#f8fafc,#f2f5fb);background-attachment:fixed;color:var(--text-primary);line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body:before{content:"";position:fixed;inset:-20%;background:radial-gradient(circle at 22% 15%,rgba(79,70,229,.09) 0%,transparent 45%),radial-gradient(circle at 75% 12%,rgba(99,102,241,.08) 0%,transparent 44%),radial-gradient(circle at 60% 80%,rgba(16,185,129,.06) 0%,transparent 42%);filter:blur(56px);opacity:.8;z-index:-2;pointer-events:none}h1,h2,h3,h4,h5,h6{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:var(--font-bold);line-height:1.2;letter-spacing:-.02em}h1{font-size:var(--font-3xl)}h2{font-size:var(--font-2xl)}h3{font-size:var(--font-xl)}h4{font-size:var(--font-lg)}p{font-size:var(--font-md);color:var(--text-secondary)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;outline:none;border:none;background:transparent}input:focus,textarea:focus,select:focus{outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;box-shadow:var(--focus-ring)}button{cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--accent-primary);color:#fff}#app{max-width:none;margin:0;min-height:100vh;position:relative}.app-root{max-width:480px;margin:0 auto;min-height:100vh;position:relative;background:var(--bg-primary)}.hidden{display:none!important}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:Space Mono,monospace}.text-income{color:var(--income-color)}.text-expense{color:var(--expense-color)}.text-positive{color:var(--accent-green)}.text-negative{color:var(--accent-red)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.currency{font-family:Space Mono,monospace;font-weight:var(--font-semibold)}.currency.income{color:var(--income-color)}.currency.expense{color:var(--expense-color)}
