@import"https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&family=Space+Grotesk:wght@300..700&display=swap";:root{--primary: #10b981;--primary-hover: #059669;--primary-light: #e6fdf0;--surface-dark: #0A1911;--bg-color: #F8FAFC;--sidebar-bg: #ffffff;--text-main: #111827;--text-muted: #6b7280;--card-bg: #ffffff;--border-color: #e5e7eb;--input-bg: #ffffff;--sidebar-link-hover: #f3f4f6;--sidebar-link-active-bg: #e6fdf0;--header-bg: rgba(255, 255, 255, .8);--radius-md: 8px;--radius-sm: 4px;--radius-lg: 12px;--font-heading: "Cormorant Garamond", serif;--font-body: "Outfit", sans-serif;--font-data: "Space Grotesk", sans-serif;--font-family: var(--font-body);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--transition-speed: .3s}[data-theme=dark]{--bg-color: #0f172a;--sidebar-bg: #1e293b;--text-main: #f8fafc;--text-muted: #94a3b8;--card-bg: #1e293b;--border-color: #334155;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .3);--input-bg: #0f172a;--sidebar-link-hover: #334155;--sidebar-link-active-bg: #064e3b;--header-bg: rgba(30, 41, 59, .8)}*{box-sizing:border-box;margin:0;padding:0}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}html,body{overflow-x:hidden;max-width:100%}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}a{text-decoration:none;color:inherit}button{background:none;border:none;cursor:pointer;font-family:var(--font-body)}ul{list-style:none}.font-data{font-family:var(--font-data)}.hero-value,.evo-stat-value,.cf-v3-metric-value,.cf-txn-amount,.metric-value-large,.trend-percentage,.stat-value,.total-amount,.balance-amount,.currency-symbol,.allocation-value,.avg-amount,.table-amount,.card-value,.amounts-cell,.cc-outstanding,.cc-balance-limit,.goal-amount,.essentials-amount{font-family:var(--font-data);font-weight:600}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-right{text-align:right}.text-left{text-align:left}.text-center{text-align:center}.cursor-pointer{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent;font-family:var(--font-body)}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 4px 12px #10b98133}.btn-secondary{background-color:var(--primary-light);color:var(--primary)}.btn-secondary:hover{background-color:#d1fae5}.btn-outline{background-color:transparent;border-color:var(--border-color);color:var(--text-main)}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}.btn-ghost{background-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background-color:var(--sidebar-link-hover);color:var(--text-main)}.btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-container{background-color:var(--bg-color);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;margin:16px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.modal-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-main)}.modal-body{padding:20px 24px}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:0 24px 20px}.btn-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.btn-close:hover{color:var(--text-main)}.btn{padding:10px 20px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-outline{background:transparent;border:1px solid #cbd5e1;color:var(--text-main);padding:10px 20px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer}.btn-outline:hover{background:var(--sidebar-link-hover)}.form-group,.form-group-full{display:flex;flex-direction:column;gap:6px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label,.form-group-full label{font-size:.8rem;font-weight:600;color:var(--text-main)}.form-group label span,.form-group-full label span{color:#f87171;margin-left:2px}.form-group input,.form-group-full input,.form-group select,.form-group-full select,.select-wrapper select,.custom-select-wrapper select{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-family:var(--font-body);color:var(--text-main);background-color:var(--card-bg);width:100%;box-sizing:border-box}.form-group input:focus,.form-group-full input:focus,.form-group select:focus,.form-group-full select:focus,.select-wrapper select:focus,.custom-select-wrapper select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.form-group input::placeholder,.form-group-full input::placeholder,.form-group textarea::placeholder,.form-group-full textarea::placeholder{color:var(--text-muted);font-weight:400}.select-wrapper,.custom-select-wrapper,.input-with-icon{position:relative;width:100%}.select-wrapper select,.custom-select-wrapper select{appearance:none;cursor:pointer;padding-right:36px}.select-icon,.input-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.input-with-symbol{position:relative;display:flex;align-items:center;width:100%}.input-with-symbol .currency-symbol{position:absolute;left:10px;color:#94a3b8;font-size:.9rem;font-weight:600;pointer-events:none;z-index:1}.input-with-symbol input{padding-left:32px!important}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:8px}input[type=date]{position:relative}input[type=date]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}.update-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);display:flex;align-items:center;gap:12px;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:12px 16px;box-shadow:0 8px 24px #0000001f;z-index:9999;opacity:0;transition:transform .3s ease,opacity .3s ease;max-width:420px;width:calc(100% - 32px)}.update-toast-visible{transform:translate(-50%) translateY(0);opacity:1}.update-toast-text{font-family:var(--font-body, "Outfit", sans-serif);font-size:.875rem;font-weight:500;color:var(--text-main, #111827);flex:1}.update-toast-btn{font-family:var(--font-body, "Outfit", sans-serif);font-size:.8rem;font-weight:600;color:#fff;background:var(--primary, #10b981);border:none;border-radius:8px;padding:6px 16px;cursor:pointer;white-space:nowrap;transition:background .2s}.update-toast-btn:hover{background:var(--primary-hover, #059669)}.update-toast-dismiss{background:none;border:none;color:var(--text-muted, #6b7280);font-size:1rem;cursor:pointer;padding:4px;line-height:1}.update-toast-dismiss:hover{color:var(--text-main, #111827)}[data-theme=dark] .update-toast{background:var(--card-bg);border-color:var(--border-color);box-shadow:0 8px 24px #0000004d}@media(max-width:767px){.update-toast{bottom:80px}}.info-tooltip-icon{position:relative;display:inline-flex;align-items:center;cursor:pointer;color:#3b82f6;opacity:.8;margin-left:4px;vertical-align:middle}.info-tooltip-icon:hover{opacity:1}.info-tooltip-fixed{position:fixed;width:240px;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 14px;font-size:.75rem;font-weight:400;color:var(--text-muted);line-height:1.5;box-shadow:0 4px 16px #0000001f;z-index:9999;pointer-events:none;white-space:normal;text-transform:none;letter-spacing:normal}[data-theme=dark] .info-tooltip-fixed{background:#1f2937;border-color:#374151;color:#9ca3af}@media(max-width:767px){.info-tooltip-fixed{width:220px}}.profile-guard-btn{position:relative;display:inline-block;cursor:not-allowed}.profile-guard-btn>button,.profile-guard-btn>a{pointer-events:none;opacity:.45;cursor:not-allowed}.profile-guard-btn:after{content:"Switch to a profile to add items";position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1e293b;color:#fff;font-size:11px;font-family:var(--font-body);padding:5px 10px;border-radius:6px;white-space:nowrap;z-index:9999;pointer-events:none;opacity:0;transition:opacity .15s}.profile-guard-btn:hover:after{opacity:1}[data-theme=dark] .profile-guard-btn:after{background:#334155}.layout-container{display:flex;flex-direction:column;height:100vh;width:100%;max-width:100vw;position:relative;background-color:var(--bg-color);overflow:hidden}.top-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--bg-color);border-bottom:1px solid var(--border-color)}.top-header-left{display:flex;align-items:center;gap:12px}.top-logo{display:flex;align-items:center;gap:10px;text-decoration:none}.logo-icon-neon{width:36px;height:36px;background-color:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #10b98133}.logo-monogram{font-family:Cormorant Garamond,serif;font-weight:700;font-size:18px;color:#fff;letter-spacing:-.05em;line-height:1}.logo-text-neon{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1}.logo-text-flow{color:var(--primary)}.logo-text-track{color:var(--text-main)}.hamburger-btn{color:var(--text-main);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center}.mobile-only,.mobile-tablet-only{display:flex}.mobile-avatar-wrapper{position:relative}.mobile-header-avatar{width:28px;height:28px;font-size:.65rem}.mobile-avatar-dropdown{top:calc(100% + 12px);left:0;right:auto}.mobile-notification-bell-wrapper{display:none}@media(max-width:1023px){.top-header{position:sticky;top:0;justify-content:center}.top-header .hamburger-btn{position:absolute;left:16px;z-index:2}.top-header .mobile-theme-toggle{position:absolute;right:52px;z-index:2}.top-header .mobile-avatar-wrapper{position:absolute;right:16px;z-index:2}}@media(max-width:767px){.mobile-notification-bell-wrapper{display:block;position:absolute;right:84px;z-index:2}.top-header .mobile-theme-toggle,.mobile-notification-bell-wrapper .notification-bell-btn,.top-header .mobile-avatar-wrapper .mobile-header-avatar{width:32px;height:32px}.top-header .mobile-theme-toggle{right:48px}.mobile-notification-bell-wrapper{right:80px}}.top-nav-pills{display:none}.top-header-right{display:none;align-items:center;gap:8px}.icon-btn{width:36px;height:36px;border-radius:8px;background-color:transparent;border:1px solid transparent;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all .2s}.icon-btn:hover{border-color:var(--border-color);background-color:var(--sidebar-link-hover);color:var(--text-main)}.micro-avatar{width:32px;height:32px;font-size:.75rem;background:linear-gradient(135deg,#f472b6,#a78bfa);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;border:none;cursor:pointer;transition:transform .15s}.micro-avatar:hover{transform:scale(1.05)}.micro-avatar.has-photo{padding:0;background:none;overflow:hidden}.avatar-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-dropdown-wrapper{position:relative}.avatar-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 30px #0000001f;min-width:220px;padding:8px;z-index:110;animation:dropdownFade .15s ease}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-info{padding:10px 12px;display:flex;align-items:center;gap:10px}.dropdown-avatar-photo{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.dropdown-avatar-initials{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f472b6,#a78bfa);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem;flex-shrink:0}.dropdown-user-name{font-size:.85rem;font-weight:600;color:var(--text-main)}.dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:all .15s;width:100%;border:none;background:none;cursor:pointer;font-family:inherit}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-main)}.dropdown-item-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:inherit}.dropdown-signout{color:#f87171}.dropdown-signout:hover{background:#fef2f2;color:#dc2626}[data-theme=dark] .dropdown-signout:hover{background:#ef44441a}.drawer-overlay{position:fixed;inset:0;background-color:#0006;z-index:90}.mobile-drawer{position:fixed;top:56px;left:0;right:0;background:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:0 8px 30px #0000001f;z-index:95;padding:8px 12px 16px;max-height:calc(100vh - 136px);overflow-y:auto;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .2s ease}.mobile-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 8px}.mobile-drawer-title{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.mobile-drawer-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.mobile-drawer-close:hover{background:var(--bg-hover);color:var(--text-main)}.mobile-drawer-nav{display:flex;flex-direction:column;gap:2px}.mobile-drawer-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--text-muted);font-weight:600;font-size:.9rem;text-decoration:none;transition:all .15s;border:none;background:none;cursor:pointer;font-family:inherit;width:100%;text-align:left}.mobile-drawer-link:hover{background:var(--bg-hover);color:var(--text-main)}.mobile-drawer-link.active{background:var(--primary-light);color:var(--primary)}[data-theme=dark] .mobile-drawer-link.active{background:#10b9811a;color:#10b981}.mobile-drawer-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px}.mobile-drawer-divider{height:1px;background:var(--border-color);margin:8px 12px}.mobile-drawer-section-label{font-size:.65rem;font-weight:800;color:var(--text-muted);letter-spacing:1.5px;margin:4px 0 4px 12px;text-transform:uppercase;opacity:.6}.mobile-drawer-signout{color:#f87171}.mobile-drawer-signout:hover{background:#fef2f2;color:#dc2626}[data-theme=dark] .mobile-drawer-signout:hover{background:#ef44441a}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;padding:6px 8px 2px;z-index:50;padding-bottom:env(safe-area-inset-bottom);background:#ffffffb8;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-top:1px solid rgba(255,255,255,.3);border-radius:20px 20px 0 0;box-shadow:0 -4px 30px #0000000f}[data-theme=dark] .bottom-nav{background:#0f1723b8;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -4px 30px #0000004d}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text-muted);font-size:.6rem;font-weight:600;letter-spacing:.04em;text-decoration:none;padding:6px 14px;border-radius:14px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;background:none;border:none;cursor:pointer}.bottom-nav-item.active{color:var(--primary);background:#10b9811f}[data-theme=dark] .bottom-nav-item.active{background:#10b98126;color:#34d399}.bottom-nav-item.active svg{transform:scale(1.1);transition:transform .25s cubic-bezier(.4,0,.2,1)}.bottom-nav-item.add-button{color:var(--primary);transform:translateY(-18px);background:none;padding:0;font-size:.65rem;gap:4px}.bottom-nav-item.add-button.active{background:none}.bottom-nav-item.add-button .add-button-icon{background:var(--primary);color:#fff;border-radius:16px;padding:14px;box-shadow:0 4px 20px #10b98173;transition:box-shadow .25s ease,transform .25s ease;outline:5px solid var(--bg-color)}.bottom-nav-item.add-button:active .add-button-icon{transform:scale(.95)}[data-theme=dark] .bottom-nav-item.add-button .add-button-icon{box-shadow:0 4px 24px #10b98180,0 0 8px #10b98133}.main-content{flex:1;min-height:0;display:flex;flex-direction:column;min-width:0;width:100%;max-width:100vw;padding-bottom:80px;overflow-y:auto;overflow-x:hidden}.content-inner{padding:0;flex:1;display:flex;flex-direction:column}@media(min-width:768px){.mobile-only{display:none}.mobile-drawer{display:none!important}.drawer-overlay{display:none}.top-header{padding:0 24px}.top-nav-pills{display:flex;align-items:center;gap:2px;background:var(--bg-hover);padding:4px;border-radius:12px}.top-nav-pill{padding:7px 14px;border-radius:8px;font-size:.8rem;font-weight:600;color:var(--text-muted);text-decoration:none;transition:all .2s;white-space:nowrap}.top-nav-pill:hover{background:var(--card-bg);color:var(--text-main)}.top-nav-pill.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #10b98140}[data-theme=dark] .top-nav-pill.active{background:var(--primary);color:#fff}[data-theme=dark] .top-nav-pills{background:#ffffff0d}[data-theme=dark] .top-nav-pill:hover{background:#ffffff14}.top-header-right{display:flex;gap:12px}.top-header-right .avatar-dropdown-wrapper,.top-header-right .theme-toggle{display:none}}@media(min-width:1024px){.mobile-tablet-only{display:none}.top-header-right .avatar-dropdown-wrapper{display:block}.bottom-nav{display:none}.main-content{padding-bottom:0}.top-header{padding:14px 48px}.top-nav-pill{padding:8px 18px;font-size:.85rem}}[data-theme=dark] .top-header{background-color:var(--bg-color);border-bottom-color:var(--border-color)}[data-theme=dark] .avatar-dropdown-menu{background:var(--card-bg);border-color:var(--border-color);box-shadow:0 8px 30px #0006}[data-theme=dark] .mobile-drawer{background:var(--card-bg);border-bottom-color:var(--border-color);box-shadow:0 8px 30px #0006}[data-theme=dark] .logo-text-track{color:#f3f4f6}.floating-mic-btn{position:fixed;bottom:90px;right:20px;width:48px;height:48px;border-radius:50%;border:none;background:#8b5cf6;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #8b5cf666;z-index:49;transition:all .2s}.floating-mic-btn:hover{transform:scale(1.08);box-shadow:0 6px 20px #8b5cf680}.floating-mic-btn:active{transform:scale(.95)}@media(min-width:1024px){.floating-mic-btn{bottom:32px;right:32px}}.add-sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.add-sheet-panel{background:var(--card-bg);border-radius:20px 20px 0 0;width:100%;max-width:500px;padding:24px 24px calc(24px + env(safe-area-inset-bottom));animation:sheetSlideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.add-sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.add-sheet-header h3{font-size:1.15rem;font-weight:700;color:var(--text-main);margin:0}.add-sheet-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s}.add-sheet-close:hover{background:var(--bg-color)}.add-sheet-options{display:flex;flex-direction:column;gap:8px}.add-sheet-option{display:flex;align-items:center;gap:16px;padding:16px;border-radius:14px;border:1px solid var(--border-color);background:var(--bg-color);cursor:pointer;transition:all .15s;width:100%;text-align:left}.add-sheet-option:hover{border-color:var(--primary);background:var(--card-bg)}.add-sheet-option:active{transform:scale(.98)}.add-sheet-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-sheet-icon.green{background:#10b9811a;color:#10b981}.add-sheet-icon.orange{background:#f59e0b1a;color:#f59e0b}.add-sheet-icon.blue{background:#3b82f61a;color:#3b82f6}.add-sheet-text{display:flex;flex-direction:column;gap:2px}.add-sheet-label{font-size:.95rem;font-weight:600;color:var(--text-main)}.add-sheet-desc{font-size:.75rem;color:var(--text-muted)}[data-theme=dark] .add-sheet-overlay{background:#000000b3}.add-sheet-header-actions{display:flex;align-items:center;gap:8px}.add-sheet-mic-btn{width:36px;height:36px;border-radius:50%;border:none;background:#8b5cf61a;color:#8b5cf6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.add-sheet-mic-btn:hover{background:#8b5cf633}.voice-modal-overlay{position:fixed;inset:0;background:#0009;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.voice-modal{background:var(--card-bg);border-radius:20px;width:100%;max-width:400px;box-shadow:0 20px 60px #0003;animation:onboardingSlideUp .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.voice-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.voice-modal-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-main)}.voice-modal-body{padding:24px;display:flex;flex-direction:column;align-items:center;gap:20px}.voice-mic-btn{width:80px;height:80px;border-radius:50%;border:none;background:var(--bg-color);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;position:relative}.voice-mic-btn.listening{background:#ef44441a;color:#f87171;animation:voicePulse 1.5s ease-in-out infinite}@keyframes voicePulse{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 16px #ef444400}}.voice-mic-label{font-size:.8rem;color:var(--text-muted);font-weight:500}.voice-transcript{width:100%;text-align:center}.voice-transcript-label{font-size:.65rem;font-weight:700;letter-spacing:.5px;color:var(--text-muted)}.voice-transcript p{margin:6px 0 0;font-size:1rem;font-weight:600;color:var(--text-main);font-style:italic}.voice-error{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.15);border-radius:10px;font-size:.8rem;color:#f87171;width:100%}.voice-parsed{width:100%}.voice-parsed-label{font-size:.65rem;font-weight:700;letter-spacing:.5px;color:var(--text-muted);display:block;margin-bottom:8px}.voice-parsed-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.voice-parsed-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.voice-parsed-key{color:var(--text-muted);font-weight:500}.voice-parsed-badge{font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:12px;text-transform:uppercase}.voice-parsed-badge.expense{background:#ef44441a;color:#f87171}.voice-parsed-badge.income{background:#10b9811a;color:#10b981}.voice-parsed-amount{font-family:var(--font-data);font-weight:700;color:var(--text-main)}.voice-modal-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:12px}.voice-hint{font-size:.8rem;color:var(--text-muted);text-align:center;width:100%}.voice-btn-retry{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid var(--border-color);border-radius:10px;background:transparent;color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.voice-btn-retry:hover{background:var(--bg-color)}.voice-btn-confirm{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:10px;background:var(--primary);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.voice-btn-confirm:hover{background:var(--primary-hover)}[data-theme=dark] .voice-modal-overlay{background:#000000bf}.ai-chat-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.ai-chat-panel{width:100%;max-width:480px;height:75vh;background:var(--bg);border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:chatSlideUp .3s ease-out;overflow:hidden}@keyframes chatSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.ai-chat-drag-handle{width:36px;height:4px;background:var(--border-color);border-radius:2px;margin:8px auto 0;flex-shrink:0}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;flex-shrink:0}.ai-chat-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--text-main)}.ai-chat-sparkle{color:#8b5cf6}.ai-chat-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center}.ai-chat-close:hover{color:var(--text-main);background:var(--sidebar-link-hover)}.ai-chat-messages{flex:1;overflow-y:auto;padding:8px 16px 16px;display:flex;flex-direction:column;gap:10px}.ai-chat-bubble{max-width:85%;padding:10px 14px;border-radius:16px;font-size:.85rem;line-height:1.5;word-wrap:break-word}.ai-chat-bubble p{margin:0 0 4px}.ai-chat-bubble p:last-child{margin-bottom:0}.ai-msg{align-self:flex-start;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-main);border-bottom-left-radius:4px}.user-msg{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px}.ai-tx-card{margin-top:8px;padding:12px;background:var(--bg);border:1px solid var(--border-color);border-radius:12px}.ai-tx-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ai-tx-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 10px;border-radius:10px}.ai-tx-badge.expense{background:#ef44441a;color:#f87171}.ai-tx-badge.income{background:#10b9811a;color:var(--primary)}.ai-tx-amount{font-size:1.1rem;font-weight:700;font-family:var(--font-data);color:var(--text-main)}.ai-tx-detail{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.78rem;color:var(--text-muted);margin-bottom:10px}.ai-tx-desc{color:var(--text-main);font-weight:500}.ai-tx-date{font-family:var(--font-data)}.ai-tx-actions{display:flex;gap:8px}.ai-tx-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.ai-tx-btn.primary{background:var(--primary);color:#fff}.ai-tx-btn.primary:hover{background:var(--primary-hover)}.ai-tx-btn.outline{background:transparent;border:1px solid var(--border-color);color:var(--text-main)}.ai-tx-btn.outline:hover{border-color:var(--primary);color:var(--primary)}.ai-tx-done-badge{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:.72rem;font-weight:600;color:var(--primary)}.ai-chat-typing{display:flex;gap:4px;padding:4px 0}.ai-chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typingDot 1.2s infinite}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.ai-chat-input-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--border-color);background:var(--bg);flex-shrink:0}.ai-chat-input{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:24px;background:var(--card-bg);font-size:.85rem;color:var(--text-main);outline:none;transition:border-color .2s}.ai-chat-input::placeholder{color:var(--text-muted)}.ai-chat-input:focus{border-color:var(--primary)}.ai-chat-send-btn{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.ai-chat-send-btn:hover{background:var(--primary-hover)}.ai-chat-mic-btn{width:40px;height:40px;border-radius:50%;background:#8b5cf6;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.ai-chat-mic-btn:hover{background:#7c3aed}.ai-chat-mic-btn.listening{animation:voicePulse 1.5s infinite}[data-theme=dark] .ai-chat-overlay{background:#000000b3}[data-theme=dark] .ai-chat-panel{background:var(--bg)}[data-theme=dark] .ai-tx-card{background:var(--card-bg);border-color:var(--border-color)}@media(min-width:768px){.ai-chat-overlay{align-items:center}.ai-chat-panel{height:70vh;max-height:700px;border-radius:20px;margin:0 16px}}.profile-dropdown-wrapper{position:relative;flex-shrink:0}.profile-dropdown-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-main);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.profile-dropdown-btn:hover{border-color:var(--primary);background:var(--primary-light)}.profile-dropdown-chevron{transition:transform .2s ease;color:var(--text-muted)}.profile-dropdown-chevron.open{transform:rotate(180deg)}.profile-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:200;padding:4px;animation:fadeInUp .15s ease}.profile-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:7px;background:transparent;color:var(--text-main);font-family:var(--font-body);font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s ease;text-align:left}.profile-dropdown-item:hover{background:#0000000a}.profile-dropdown-item.active{background:var(--primary-light);color:var(--primary);font-weight:600}.profile-dropdown-emoji{font-size:1rem}[data-theme=dark] .profile-dropdown-btn{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .profile-dropdown-btn:hover{border-color:var(--primary);background:#10b9811a}[data-theme=dark] .profile-dropdown-menu{background:var(--card-bg);border-color:var(--border-color);box-shadow:0 8px 24px #0000004d}[data-theme=dark] .profile-dropdown-item:hover{background:#ffffff0f}[data-theme=dark] .profile-dropdown-item.active{background:#10b98126;color:#6ee7b7}.dropdown-section-label{font-family:var(--font-body);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:8px 12px 4px}.dropdown-item-active{background:var(--primary-light)!important;color:var(--primary)!important;font-weight:600!important}[data-theme=dark] .dropdown-item-active{background:#10b98126!important;color:#6ee7b7!important}.mobile-profile-menu{right:0;left:auto}.chip-dropdown-wrapper{position:relative}.active-profile-chip{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:none;transition:opacity .15s}.active-profile-chip:hover{opacity:.8}.chip-chevron{transition:transform .2s;flex-shrink:0}.chip-chevron.open{transform:rotate(180deg)}.chip-profile-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:6px;z-index:200;display:flex;flex-direction:column;gap:2px}.chip-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-main);font-size:.85rem;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background .12s}.chip-dropdown-item:hover{background:var(--sidebar-link-hover)}.chip-dropdown-item.active{background:#10b9811a;color:var(--primary);font-weight:600}.chip-dropdown-emoji{font-size:1rem}.active-profile-chip .chip-emoji{font-size:13px;line-height:1}.active-profile-chip .chip-name{font-family:var(--font-body)}.chip-individual{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary)}.chip-all-profiles{background:#fb923c1f;border:1px solid rgba(251,146,60,.3);color:#c2410c}[data-theme=dark] .chip-individual{background:#ffffff0f;border-color:#ffffff1a;color:var(--text-muted)}[data-theme=dark] .chip-all-profiles{background:#fb923c26;border-color:#fb923c4d;color:#fb923c}.profile-strip-wrapper{position:relative;flex-shrink:0}.profile-context-strip{display:flex;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:500;width:100%;text-align:left;font-family:inherit;border:none;border-radius:0;cursor:pointer;transition:filter .15s}.profile-context-strip:hover{filter:brightness(.97)}[data-theme=dark] .profile-context-strip:hover{filter:brightness(1.1)}.profile-context-strip .strip-emoji{font-size:13px;line-height:1}.profile-context-strip .strip-label{font-family:var(--font-body);font-weight:600}.profile-context-strip .strip-separator{opacity:.5}.profile-context-strip .strip-sub{font-family:var(--font-body);opacity:.8}.strip-chevron{margin-left:auto;opacity:.6;flex-shrink:0;transition:transform .2s ease}.strip-chevron.open{transform:rotate(180deg)}.strip-all-profiles{background:#fb923c14;border-bottom:1px solid rgba(251,146,60,.2);color:#c2410c}.strip-single-profile{background:var(--bg-hover);border-bottom:1px solid var(--border-color);color:var(--text-secondary)}[data-theme=dark] .strip-all-profiles{background:#fb923c1a;border-bottom-color:#fb923c33;color:#fb923c}[data-theme=dark] .strip-single-profile{background:#ffffff08;border-bottom-color:#ffffff12;color:var(--text-muted)}.strip-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--border-color);border-top:none;border-radius:0 0 12px 12px;box-shadow:0 8px 20px #0000001f;z-index:300;overflow:hidden}.strip-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;font-size:13px;font-weight:500;font-family:var(--font-body);color:var(--text-main);background:none;border:none;cursor:pointer;text-align:left;transition:background .15s}.strip-dropdown-item:hover{background:var(--bg-hover)}.strip-dropdown-item.active{color:var(--primary);font-weight:600;background:var(--primary-light)}.strip-dropdown-emoji{font-size:15px;line-height:1}[data-theme=dark] .strip-dropdown{background:var(--card-bg);border-color:var(--border-color);box-shadow:0 8px 24px #00000059}[data-theme=dark] .strip-dropdown-item:hover{background:#ffffff0f}[data-theme=dark] .strip-dropdown-item.active{background:#10b98126;color:#6ee7b7}@media(min-width:768px){.strip-single-profile{display:none}}.notification-bell-btn{position:relative}.notification-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;background-color:#ef4444;color:#fff;font-family:var(--font-data);font-size:10px;font-weight:700;line-height:16px;text-align:center;border-radius:999px;border:2px solid var(--card-bg);box-sizing:content-box;pointer-events:none}[data-theme=dark] .notification-badge{border-color:var(--sidebar-bg)}.notification-panel{position:fixed;z-index:1000;max-height:calc(100vh - 120px);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 20px 40px -12px #00000040,0 8px 16px -6px #0000001f;display:flex;flex-direction:column;overflow:hidden;animation:notif-panel-pop .14s ease-out}@keyframes notif-panel-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.notification-panel-header h3{margin:0;font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--text-main)}.notification-mark-all{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:4px 8px;font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease}.notification-mark-all:hover{background-color:var(--primary-light)}.notification-panel-list{flex:1 1 auto;overflow-y:auto;padding:4px 0;min-height:0}.notification-row{position:relative;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 16px 12px 22px;background:none;border:none;border-bottom:1px solid var(--border-color);text-align:left;cursor:pointer;transition:background-color .15s ease;font-family:var(--font-body)}.notification-row:last-child{border-bottom:none}.notification-row:hover{background-color:var(--sidebar-link-hover)}.notification-row.is-unread{background-color:var(--primary-light)}[data-theme=dark] .notification-row.is-unread{background-color:#10b98114}.notification-row.is-unread:hover{background-color:#10b98126}.notification-unread-dot{position:absolute;top:20px;left:10px;width:6px;height:6px;border-radius:999px;background-color:var(--primary)}.notification-row-icon{flex:0 0 auto;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.notification-row-icon.tone-danger{background-color:#fee2e2;color:#dc2626}.notification-row-icon.tone-warn{background-color:#fef3c7;color:#d97706}.notification-row-icon.tone-positive{background-color:var(--primary-light);color:var(--primary)}.notification-row-icon.tone-info{background-color:#dbeafe;color:#2563eb}[data-theme=dark] .notification-row-icon.tone-danger{background-color:#ef444426;color:#f87171}[data-theme=dark] .notification-row-icon.tone-warn{background-color:#f59e0b26;color:#fbbf24}[data-theme=dark] .notification-row-icon.tone-positive{background-color:#10b98126;color:#34d399}[data-theme=dark] .notification-row-icon.tone-info{background-color:#2563eb26;color:#60a5fa}.notification-row-content{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.notification-row-title{font-size:13px;font-weight:600;color:var(--text-main);line-height:1.3}.notification-row.is-read .notification-row-title{font-weight:500;color:var(--text-muted)}.notification-row-body{font-size:12px;color:var(--text-muted);line-height:1.4}.notification-row-time{margin-top:2px;font-family:var(--font-data);font-size:10px;color:var(--text-muted);opacity:.8}.notification-row-dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);color:var(--text-muted);opacity:0;transition:opacity .15s ease,background-color .15s ease;cursor:pointer}.notification-row:hover .notification-row-dismiss,.notification-row:focus-within .notification-row-dismiss{opacity:1}.notification-row-dismiss:hover{background-color:var(--border-color);color:var(--text-main)}@media(hover:none){.notification-row-dismiss{opacity:.6}}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;text-align:center;color:var(--text-muted)}.notification-empty svg{opacity:.5}.notification-empty-title{margin:4px 0 0;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text-main)}.notification-empty-body{margin:0;font-family:var(--font-body);font-size:12px;color:var(--text-muted)}@media(min-width:768px){.notification-panel{width:380px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf4,#ecfdf5,#f8fafc);padding:20px}[data-theme=dark] .login-page{background:linear-gradient(135deg,#022c22,#064e3b,#111827)}.login-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 60px #00000014;padding:40px 36px;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:28px}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 16px}.login-logo-badge{width:48px;height:48px;background-color:var(--primary);border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #10b98140}.login-logo-monogram{font-family:Cormorant Garamond,serif;font-weight:700;font-size:24px;color:#fff;letter-spacing:-.05em;line-height:1}.login-logo-wordmark{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:600;letter-spacing:-.025em;line-height:1}.login-logo-flow{color:var(--primary)}.login-logo-track{color:var(--text-main)}[data-theme=dark] .login-logo-track{color:#f3f4f6}.login-header h1{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;color:var(--text-main);margin:0 0 6px}.login-subtitle{font-size:.9rem;color:var(--text-muted);margin:0;line-height:1.5}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);color:var(--text-main);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .2s,box-shadow .2s}.btn-google:hover{background-color:var(--sidebar-link-hover, #f9fafb);box-shadow:0 2px 8px #0000000f}.login-divider{display:flex;align-items:center;gap:12px;margin:24px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background-color:var(--border-color)}.login-divider span{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:.82rem;font-weight:600;color:var(--text-main)}.login-field input{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9rem;font-family:inherit;color:var(--text-main);background-color:var(--card-bg);outline:none;transition:border-color .2s;box-sizing:border-box}.login-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10b98114}.login-field input::placeholder{color:var(--text-muted)}.forgot-password-link{background:none;border:none;color:var(--primary);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;padding:0;align-self:flex-end;margin-top:2px}.forgot-password-link:hover{text-decoration:underline}.login-error{color:#f87171;font-size:.82rem;margin:0;padding:8px 12px;background:#fef2f2;border-radius:var(--radius-md)}[data-theme=dark] .login-error{background:#ef44441a}.login-success{color:var(--primary);font-size:.82rem;margin:0;padding:8px 12px;background:#f0fdf4;border-radius:var(--radius-md)}[data-theme=dark] .login-success{background:#10b9811a}.btn-login{width:100%;padding:12px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .2s,transform .1s}.btn-login:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.btn-login:disabled{opacity:.6;cursor:not-allowed}.login-toggle{text-align:center;font-size:.85rem;color:var(--text-muted);margin:24px 0 0}.btn-switch{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;font-size:.85rem;font-family:inherit;padding:0;margin-left:4px}.btn-switch:hover{text-decoration:underline}.login-legal{text-align:center;font-size:.75rem;color:var(--text-muted);margin:16px 0 0;line-height:1.6}.login-legal a{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}.login-legal a:hover{color:var(--primary)}@media(max-width:480px){.login-card{padding:32px 24px;border-radius:16px}}.oj-container{position:fixed;inset:0;z-index:2000;background:var(--bg-color);overflow:hidden;display:flex;flex-direction:column}.oj-track{display:flex;width:500%;flex:1;transition:transform .5s cubic-bezier(.4,0,.2,1)}.oj-screen{width:20%;height:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;position:relative}.oj-screen-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:480px;flex:1;gap:24px}.oj-dots{display:flex;justify-content:center;gap:8px;padding:20px 0;padding-bottom:max(20px,env(safe-area-inset-bottom));flex-shrink:0}.oj-dot{width:8px;height:8px;border-radius:50%;background:var(--border-color);transition:all .3s ease}.oj-dot.active{background:var(--primary);width:24px;border-radius:4px}.oj-screen-welcome{background:linear-gradient(135deg,#10b981,#059669);position:relative}.oj-screen-welcome:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.oj-welcome-icon{width:72px;height:72px;border-radius:20px;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;animation:ojPulse 2s ease-in-out infinite}@keyframes ojPulse{0%,to{transform:scale(1);box-shadow:0 0 #ffffff4d}50%{transform:scale(1.05);box-shadow:0 0 20px 4px #ffffff26}}.oj-welcome-title{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;color:#fff;text-align:center;line-height:1.2;margin:0}.oj-welcome-subtitle{font-size:clamp(.95rem,2.5vw,1.1rem);color:#ffffffd9;text-align:center;line-height:1.6;margin:0;max-width:360px}.oj-currency-group{width:100%;max-width:320px}.oj-currency-label{font-size:.8rem;font-weight:600;color:#fffc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:block}.oj-currency-select{width:100%;padding:14px 44px 14px 16px;border:1px solid rgba(255,255,255,.3);border-radius:12px;font-size:1rem;color:#fff;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .2s,background .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.oj-currency-select:focus{outline:none;border-color:#fff9;background:#fff3}.oj-currency-select option{color:var(--text-main);background:var(--card-bg)}.oj-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;padding:16px 32px;border:none;border-radius:14px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s;font-family:var(--font-body)}.oj-btn-primary:active{transform:scale(.97)}.oj-btn-white{background:#fff;color:#059669;box-shadow:0 4px 16px #0000001a}.oj-btn-white:hover{background:#f0fdf4;box-shadow:0 6px 20px #00000026}.oj-btn-green{background:var(--primary);color:#fff;box-shadow:0 4px 16px #10b9814d}.oj-btn-green:hover{background:var(--primary-hover);box-shadow:0 6px 20px #10b98166}.oj-btn-back{position:absolute;top:20px;left:20px;display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background .2s,color .2s;font-family:var(--font-body);z-index:1}.oj-btn-back:hover{background:#0000000d;color:var(--text-main)}.oj-btn-back-light{color:#ffffffb3}.oj-btn-back-light:hover{background:#ffffff1a;color:#fff}.oj-info-title{font-size:clamp(1.35rem,4vw,1.75rem);font-weight:700;color:var(--text-main);text-align:center;margin:0;line-height:1.3}.oj-info-subtitle{font-size:clamp(.9rem,2.5vw,1rem);color:var(--text-muted);text-align:center;line-height:1.6;margin:0;max-width:360px}.oj-preview-card{width:100%;max-width:360px;border-radius:20px;padding:clamp(20px,3vw,28px);position:relative;overflow:hidden;color:#fff}.oj-preview-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.oj-preview-card-green{background:linear-gradient(135deg,#10b981,#059669)}.oj-preview-card-red{background:linear-gradient(135deg,#991b1b,#dc2626)}.oj-preview-card-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.85;margin-bottom:12px;position:relative}.oj-mockup-pie-container{display:flex;align-items:center;gap:20px;position:relative}.oj-mockup-pie{width:100px;height:100px;border-radius:50%;background:conic-gradient(#3b82f6 0deg 162deg,#10b981 162deg 252deg,#f59e0b 252deg 306deg,#8b5cf6 306deg 360deg);position:relative;flex-shrink:0}.oj-mockup-pie:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669)}.oj-mockup-pie-legend{display:flex;flex-direction:column;gap:6px}.oj-mockup-legend-item{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:500;opacity:.9}.oj-mockup-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.oj-mockup-debts{display:flex;flex-direction:column;gap:14px;position:relative}.oj-mockup-debt-item{display:flex;flex-direction:column;gap:6px}.oj-mockup-debt-label{display:flex;justify-content:space-between;font-size:.8rem;font-weight:500;opacity:.9}.oj-mockup-debt-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.oj-mockup-debt-fill{height:100%;background:#fff;border-radius:4px;transition:width .8s ease-out}.oj-icon-row{display:flex;gap:16px;justify-content:center}.oj-icon-badge{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary);transition:transform .2s}.oj-icon-badge:hover{transform:scale(1.1)}.oj-icon-badge-red{background:#fef2f2;color:#dc2626}.oj-form-card{width:100%;max-width:400px;background:var(--card-bg);border-radius:20px;padding:clamp(20px,3vw,28px);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.oj-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.oj-form-group:last-child{margin-bottom:0}.oj-form-label{font-size:.8rem;font-weight:600;color:var(--text-main);text-transform:uppercase;letter-spacing:.5px}.oj-form-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:10px;font-size:1rem;color:var(--text-main);background:var(--bg-color);transition:border-color .2s,box-shadow .2s;box-sizing:border-box;font-family:var(--font-body)}.oj-form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b9811a}.oj-form-input::placeholder{color:var(--text-muted);opacity:.6}.oj-input-with-prefix{position:relative;display:flex;align-items:center}.oj-currency-prefix{position:absolute;left:16px;color:var(--text-muted);font-weight:600;font-family:var(--font-data);pointer-events:none;z-index:1}.oj-input-with-prefix .oj-form-input{padding-left:36px;font-family:var(--font-data)}.oj-savings-badge{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;margin-top:8px;font-size:.9rem;font-weight:600;font-family:var(--font-data);animation:ojFadeIn .3s ease}@keyframes ojFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.oj-savings-badge-good{background:#ecfdf5;color:#059669}.oj-savings-badge-ok{background:#fffbeb;color:#d97706}.oj-savings-badge-low{background:#fef2f2;color:#dc2626}.oj-screen-celebration{background:linear-gradient(135deg,#10b981,#06b6d4);position:relative;overflow:hidden}.oj-screen-celebration:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.oj-celebration-title{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;color:#fff;text-align:center;margin:0;line-height:1.2}.oj-celebration-subtitle{font-size:clamp(.95rem,2.5vw,1.1rem);color:#ffffffd9;text-align:center;line-height:1.6;margin:0;max-width:360px}.oj-summary-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.oj-summary-badge{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:12px;background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.85rem;font-weight:600}.oj-feature-tiles{display:flex;gap:12px;width:100%;max-width:400px}.oj-feature-tile{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border-radius:16px;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center}.oj-feature-tile-icon{width:40px;height:40px;border-radius:12px;background:#fff3;display:flex;align-items:center;justify-content:center;color:#fff}.oj-feature-tile-label{font-size:.75rem;font-weight:600;color:#ffffffe6;line-height:1.3}.oj-confetti-container{position:absolute;inset:0;pointer-events:none;overflow:hidden}.oj-confetti-piece{position:absolute;width:8px;height:8px;border-radius:2px;opacity:0;animation:ojConfettiFall 3.5s ease-in-out forwards}@keyframes ojConfettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.oj-dots-light .oj-dot{background:#ffffff4d}.oj-dots-light .oj-dot.active{background:#fff}[data-theme=dark] .oj-icon-badge{background:#10b98126}[data-theme=dark] .oj-icon-badge-red{background:#dc262626}[data-theme=dark] .oj-form-card{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .oj-form-input{background:var(--input-bg);border-color:var(--border-color)}[data-theme=dark] .oj-savings-badge-good{background:#10b98126;color:#34d399}[data-theme=dark] .oj-savings-badge-ok{background:#d9770626;color:#fbbf24}[data-theme=dark] .oj-savings-badge-low{background:#dc262626;color:#f87171}[data-theme=dark] .oj-btn-back:hover{background:#ffffff0d}@media(min-width:768px){.oj-screen{padding:40px 32px}.oj-mockup-pie{width:120px;height:120px}.oj-mockup-pie:after{width:64px;height:64px}.oj-feature-tiles{max-width:480px}}@media(min-width:1024px){.oj-screen{padding:48px 40px}.oj-welcome-icon{width:80px;height:80px;border-radius:22px}.oj-feature-tile{padding:20px 16px}}.lock-screen{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-color, #0f1117);padding:24px;gap:24px}.lock-header{display:flex;flex-direction:column;align-items:center;gap:8px}.lock-logo{width:56px;height:56px;border-radius:16px;background:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.lock-logo-text{font-size:1.2rem;font-weight:800;color:#fff;font-family:var(--font-body)}.lock-title{font-size:1.4rem;font-weight:700;color:var(--text-main);margin:0}.lock-subtitle{font-size:.9rem;color:var(--text-muted);margin:0}.lock-dots{display:flex;gap:16px;padding:16px 0}.lock-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--text-muted);background:transparent;transition:all .15s ease}.lock-dot.filled{background:var(--primary);border-color:var(--primary)}.lock-dots.shake{animation:lock-shake .4s ease}@keyframes lock-shake{0%,to{transform:translate(0)}20%{transform:translate(-12px)}40%{transform:translate(12px)}60%{transform:translate(-8px)}80%{transform:translate(8px)}}.lock-error{color:#f87171;font-size:.85rem;font-weight:500;margin:0;min-height:20px}.lock-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:280px;width:100%}.lock-key{width:100%;aspect-ratio:1.4;max-height:64px;border-radius:14px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);font-size:1.4rem;font-weight:600;font-family:var(--font-data);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;min-height:56px}.lock-key:active{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(.95)}.lock-key-action{color:var(--text-muted);background:transparent;border-color:transparent}.lock-key-action:active{background:#ef44441a;color:#f87171;border-color:transparent}.lock-forgot-btn{background:none;border:none;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;padding:8px 16px;margin-top:8px}.lock-forgot-btn:hover{color:var(--primary);text-decoration:underline}[data-theme=light] .lock-screen{background:var(--bg-color, #f8fafc)}[data-theme=light] .lock-key{background:#fff;border-color:#e2e8f0}[data-theme=light] .lock-key:active{background:var(--primary);color:#fff}
