@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-primary:#f3fbf7;--bg-secondary:#fff;--bg-warm:#e9f8f1;--bg-tertiary:#f7fcf9;--brand-navy:#102a43;--primary:#047857;--primary-glow:#dff7ec;--secondary:#4f46e5;--secondary-glow:#4f46e512;--accent:#d6a63a;--success:#10b981;--success-glow:#dcfce7;--success-dark:#064e3b;--warning:#f59e0b;--warning-glow:#fef3c7;--danger:#ef4444;--danger-glow:#fee2e2;--success-text:#047857;--danger-text:#ef4444;--gold:#d6a63a;--gold-glow:#fff7df;--text-main:#0f172a;--text-muted:#475569;--text-dark:#64748b;--text-active:var(--primary);--border-color:#dbeee5;--border-glow:#ecfdf5;--shadow-sm:0 1px 3px #0478570a;--shadow-md:0 10px 30px #0f172a0f;--shadow-lg:0 18px 45px #04785714;--glass-bg:#fff;--glass-border:#d8e7df;--glass-shadow:0 18px 45px #04785714;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--radius-sm:10px;--radius-md:20px;--radius-lg:22px;--radius-full:9999px;--glass-card-px:1.5rem;--checklist-row-px:1.25rem;--unpaid-block-bg:#eefaf4;--bg-sidebar:#d5eedf;--border-sidebar:#bedfcb}:root[data-theme=dark]{--bg-primary:#070b16;--bg-secondary:#0d1426d9;--bg-warm:#14121a;--bg-tertiary:#1a243bd9;--unpaid-block-bg:#ffffff0d;--brand-navy:#f8fafc;--primary:#4f46e5;--primary-glow:#4f46e533;--secondary:#9333ea;--secondary-glow:#9333ea26;--accent:#06b6d4;--success:#10b981;--success-glow:#10b98126;--success-dark:#34d399;--warning:#f59e0b;--warning-glow:#f59e0b26;--danger:#ff5964;--danger-glow:#ff596426;--success-text:#34d399;--danger-text:#ff8b94;--gold:#f59e0b;--gold-glow:#f59e0b26;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-dark:#475569;--text-active:#fff;--border-color:#ffffff12;--border-glow:#4f46e533;--shadow-sm:0 4px 6px -1px #0000004d;--shadow-md:0 10px 15px -3px #00000080;--shadow-lg:0 20px 25px -5px #0009;--glass-bg:#0f172acc;--glass-border:#ffffff14;--glass-shadow:0 16px 40px #0009;--bg-sidebar:#0d1426d9;--border-sidebar:#ffffff12}:root[data-theme=dark] body{background-color:#070b16;background-image:radial-gradient(circle at 50% 0,#4f46e526 0%,#0000 60%),radial-gradient(circle at 90% 80%,#9333ea1f 0%,#0000 50%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}:root[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg-primary)}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--bg-tertiary)}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--text-dark)}:root[data-theme=dark] .form-input{background:#ffffff08}:root[data-theme=dark] .form-input:focus{background:#ffffff0f}:root[data-theme=dark] .btn-secondary:hover{background:#1c2740}:root[data-theme=dark] .nav-link:hover{background:#ffffff0a}:root[data-theme=dark] .custom-table tr:hover td{background:#ffffff04}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}.form-input{border-color:var(--border-color);color:var(--text-main);background:#00000005}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#fff}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-dark)}.nav-link:hover{background:var(--bg-tertiary)}.nav-link.active{color:var(--primary);background:var(--primary-glow)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0000;background-image:radial-gradient(circle at 100% 0,#10b9811a,#0000 32%),radial-gradient(circle at 0 100%,#d6a63a14,#0000 28%),linear-gradient(#f7fcf9 0%,#f3fbf7 45%,#fff 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full);border:2px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background:var(--text-dark)}.desktop-sidebar::-webkit-scrollbar{width:6px}.desktop-sidebar::-webkit-scrollbar-track{background:#00000005}.desktop-sidebar::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}.desktop-sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-dark)}.desktop-sidebar{color:#fff!important;background:radial-gradient(circle at 0 0,#10b9812e,#0000 32%),linear-gradient(#064e3b 0%,#053b2d 100%)!important;border-right:1px solid #053725!important}.desktop-sidebar h2,.desktop-sidebar h2 svg{color:#fff!important}.desktop-sidebar div,.desktop-sidebar nav{border-color:#06402b!important}.sidebar-profile-card{color:#fff!important;background-color:#ffffff14!important;border-color:#ffffff1a!important}.sidebar-profile-card span{color:#fff!important}.sidebar-profile-card span:nth-child(2){color:#a7eed2!important}.sidebar-profile-card .animate-pulse{color:#34d399!important}.desktop-sidebar .nav-link,.desktop-sidebar .nav-link svg{color:#a7eed2!important}.desktop-sidebar .nav-link:hover{color:#fff!important;background:#ffffff0f!important}.desktop-sidebar .nav-link:hover svg{color:#fff!important}.desktop-sidebar .nav-link.active{color:#fff!important;background:#ffffff1f!important;border-left:3px solid #10b981!important;font-weight:700!important}.desktop-sidebar .nav-link.active svg{color:#fff!important}.desktop-sidebar .sidebar-pin-btn{color:#a7eed2!important}.desktop-sidebar .sidebar-pin-btn:hover{color:#fff!important}.desktop-sidebar span{color:#a7eed2!important}:root[data-theme=dark] .desktop-sidebar{background:var(--bg-sidebar)!important;border-right:1px solid var(--border-sidebar)!important;color:var(--text-main)!important}:root[data-theme=dark] .desktop-sidebar h2,:root[data-theme=dark] .desktop-sidebar h2 svg{color:var(--text-main)!important}:root[data-theme=dark] .desktop-sidebar div,:root[data-theme=dark] .desktop-sidebar nav{border-color:var(--border-sidebar)!important}:root[data-theme=dark] .desktop-sidebar .sidebar-profile-card{background-color:var(--bg-tertiary)!important;border-color:var(--border-sidebar)!important}:root[data-theme=dark] .desktop-sidebar .sidebar-profile-card span{color:var(--text-main)!important}:root[data-theme=dark] .desktop-sidebar .sidebar-profile-card span:nth-child(2),:root[data-theme=dark] .desktop-sidebar .nav-link,:root[data-theme=dark] .desktop-sidebar .nav-link svg{color:var(--text-muted)!important}:root[data-theme=dark] .desktop-sidebar .nav-link:hover{color:var(--text-active)!important;background:#ffffff0a!important}:root[data-theme=dark] .desktop-sidebar .nav-link.active{background:var(--primary-glow)!important;color:var(--primary)!important;border-left:3px solid var(--primary)!important}:root[data-theme=dark] .desktop-sidebar span{color:var(--text-muted)!important}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);max-width:100%;transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);padding:1.5rem}.glass-card:hover{box-shadow:0 12px 30px #0f172a0a, 0 0 20px var(--primary-glow);border-color:#1a8cff40;transform:translateY(-2px)}:root[data-theme=dark] .glass-card:hover{box-shadow:inset 0 1px 1px #ffffff26, 0 12px 40px 0 #00000080, 0 0 20px var(--primary-glow);border-color:#1a8cff59}.grad-primary{background:linear-gradient(135deg, var(--primary), var(--secondary))}.grad-success{background:linear-gradient(135deg,#17cf63,#14b8aa)}.grad-danger{background:linear-gradient(135deg,#ee2b3b,#e61a80)}.grad-gold{background:linear-gradient(135deg,#f9b11f,#f96b06)}.grad-success-dark{background:linear-gradient(135deg,#127d39,#095340)}.grad-warning-dark{background:linear-gradient(135deg,#9b5608,#682008)}.form-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-main);font-family:var(--font-sans);transition:all var(--transition-fast);background:#ffffff08;padding:.75rem 1rem;font-size:1rem}.form-input option{background-color:var(--bg-secondary);color:var(--text-main)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#ffffff0f;outline:none}.form-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.btn{border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-normal);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), #0073e6);color:#fff;box-shadow:0 4px 15px var(--primary-glow)}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px #1a8cff4d}.btn-secondary{background:var(--bg-tertiary);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--text-dark);background:#292e3d}.btn-danger{background:linear-gradient(135deg, var(--danger), #d41121);color:#fff;box-shadow:0 4px 15px var(--danger-glow)}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ee2b3b4d}.btn-icon{border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;padding:0}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.25rem;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-glow);color:#13ec6d;border:1px solid #17cf6333}.badge-danger{background:var(--danger-glow);color:#f65563;border:1px solid #ee2b3b33}.badge-primary{background:var(--primary-glow);color:#4ca6ff;border:1px solid #1a8cff33}.badge-warning{color:#fab938;background:#f9b11f1f;border:1px solid #f9b11f33}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}@keyframes mobileFadeIn{0%{opacity:0}to{opacity:1}}.mobile-fade-in{animation:mobileFadeIn var(--transition-normal) forwards}.container{max-width:1400px;margin:0 auto;padding:1.5rem}.grid-dashboard{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;display:grid}.flex-between{justify-content:space-between;align-items:center;display:flex}.title-grad{background:linear-gradient(135deg, var(--text-main) 30%, var(--text-muted) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.nav-link{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;display:flex}.nav-link:hover{color:var(--text-main);background:#ffffff0a}.nav-link.active{color:var(--text-active);background:var(--primary-glow);border-left:3px solid var(--primary)}.tabs-container{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-color);gap:.5rem;padding:.25rem;display:flex}.tab-btn{color:var(--text-muted);font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;padding:.5rem 1rem;font-weight:600}.tab-btn.active{background:var(--bg-tertiary);color:var(--text-main);box-shadow:var(--shadow-sm)}.custom-table-container{border-radius:var(--radius-sm);border:1px solid var(--border-color);width:100%;max-width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{background:var(--bg-secondary);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:1rem;font-size:.85rem;font-weight:600}.custom-table td{border-bottom:1px solid var(--border-color);color:var(--text-main);white-space:nowrap;padding:1rem}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover td{background:#ffffff04}.num-pos{color:var(--success)}.num-neg{color:var(--danger)}.num-pos,.num-neg,.num-tabular,.balance,.amount,.price,.avg-price,.yield,.card-num,.total-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.glass-card.card-success{background:var(--success-glow)!important;border-color:#16a36e1f!important}.glass-card.card-danger{background:var(--danger-glow)!important;border-color:#e11d481f!important}.glass-card.card-warning{background:var(--warning-glow)!important;border-color:#d977061f!important}.glass-card.card-primary{background:var(--primary-glow)!important;border-color:#2563eb1f!important}.glass-card.card-gold{background:var(--gold-glow)!important;border-color:#c99a3d1f!important}.glass-card.card-warm{background:var(--bg-warm)!important;border-color:#c99a3d26!important}:root[data-theme=dark] .glass-card.card-warm{background:var(--bg-warm)!important;border-color:#fbbf2426!important}.glass-card.card-networth{color:#fff!important;background:linear-gradient(135deg,#2563eb 0%,#6d5dfb 100%)!important;border:none!important;box-shadow:0 14px 36px #2563eb26!important}.glass-card.card-networth .networth-title-primary{color:#fffffff2!important}.glass-card.card-networth .networth-title-sub{color:#fff9!important}.glass-card.card-networth h2{color:#fff!important}.glass-card.card-networth .networth-desc{color:#ffffffd9!important}.glass-card.card-networth .networth-bg-icon{color:#ffffff0f!important}.glass-card.card-assets{background:linear-gradient(180deg, #fff 0%, var(--success-glow) 100%)!important;color:var(--success-dark)!important;box-shadow:var(--shadow-md)!important;border:1px solid #cdefe0!important}.glass-card.card-assets h2.num-pos,.glass-card.card-assets .assets-title-primary{color:var(--success-dark)!important}.glass-card.card-assets .assets-title-sub{color:var(--text-soft)!important}.glass-card.card-assets .assets-desc{color:var(--text-soft)!important;border-top:1px solid var(--border-color)!important}.glass-card.card-assets .assets-desc strong{color:var(--text-main)!important}.glass-card.card-liabilities{background:linear-gradient(180deg, #fff 0%, var(--danger-glow) 100%)!important;color:var(--danger)!important;box-shadow:var(--shadow-md)!important;border:1px solid #f8cdd6!important}.glass-card.card-liabilities h2.num-neg,.glass-card.card-liabilities .liabilities-title-primary{color:var(--danger)!important}.glass-card.card-liabilities .liabilities-title-sub{color:var(--text-soft)!important}.glass-card.card-liabilities .liabilities-desc{color:var(--text-soft)!important;border-top:1px solid var(--border-color)!important}.glass-card.card-liabilities .liabilities-desc strong{color:var(--text-main)!important}.glass-card.card-cashflow-surplus{color:#fff!important;background:linear-gradient(135deg,#0f7a4f 0%,#16a36e 100%)!important;border:none!important;box-shadow:0 14px 36px #16a36e26!important}.glass-card.card-cashflow-deficit{color:#fff!important;background:linear-gradient(135deg,#d97706 0%,#e11d48 100%)!important;border:none!important;box-shadow:0 14px 36px #e11d4826!important}.glass-card.card-cashflow-surplus .cf-title-primary,.glass-card.card-cashflow-deficit .cf-title-primary{color:#fffffff2!important}.glass-card.card-cashflow-surplus .cf-title-sub,.glass-card.card-cashflow-deficit .cf-title-sub{color:#fff9!important}.glass-card.card-cashflow-surplus .cf-amount,.glass-card.card-cashflow-deficit .cf-amount{color:#fff!important;text-shadow:0 2px 4px #0000001a!important}.glass-card.card-cashflow-surplus .cf-badge,.glass-card.card-cashflow-deficit .cf-badge{color:#fff!important;background:#ffffff26!important;border:1px solid #fff3!important}.glass-card.card-cashflow-surplus .cf-footer,.glass-card.card-cashflow-deficit .cf-footer{color:#fffc!important;border-top:1px solid #ffffff26!important}.glass-card.card-cashflow-surplus .cf-footer-val,.glass-card.card-cashflow-deficit .cf-footer-val{color:#fff!important}.glass-card.card-cashflow-surplus .cf-footer-sep,.glass-card.card-cashflow-deficit .cf-footer-sep{color:#ffffff4d!important}.glass-card.card-cashflow-surplus .cf-bg-icon,.glass-card.card-cashflow-deficit .cf-bg-icon{color:#ffffff0f!important}:root[data-theme=dark] .glass-card.card-networth{color:#fff!important;background:linear-gradient(135deg,#17223b 0%,#2563eb 100%)!important;border:none!important}:root[data-theme=dark] .glass-card.card-networth .networth-title-primary{color:#fffffff2!important}:root[data-theme=dark] .glass-card.card-networth .networth-title-sub{color:#fff9!important}:root[data-theme=dark] .glass-card.card-networth .networth-desc{color:#ffffffd9!important}:root[data-theme=dark] .glass-card.card-networth .networth-bg-icon{color:#ffffff0f!important}:root[data-theme=dark] .glass-card.card-assets{background:var(--success-glow)!important;color:var(--success)!important;border:1px solid #34d39926!important}:root[data-theme=dark] .glass-card.card-assets h2.num-pos,:root[data-theme=dark] .glass-card.card-assets .assets-title-primary{color:var(--success)!important}:root[data-theme=dark] .glass-card.card-assets .assets-title-sub,:root[data-theme=dark] .glass-card.card-assets .assets-desc{color:var(--text-muted)!important}:root[data-theme=dark] .glass-card.card-assets .assets-desc strong{color:var(--text-main)!important}:root[data-theme=dark] .glass-card.card-liabilities{background:var(--danger-glow)!important;color:var(--danger)!important;border:1px solid #f43f5e26!important}:root[data-theme=dark] .glass-card.card-liabilities h2.num-neg,:root[data-theme=dark] .glass-card.card-liabilities .liabilities-title-primary{color:var(--danger)!important}:root[data-theme=dark] .glass-card.card-liabilities .liabilities-title-sub,:root[data-theme=dark] .glass-card.card-liabilities .liabilities-desc{color:var(--text-muted)!important}:root[data-theme=dark] .glass-card.card-liabilities .liabilities-desc strong{color:var(--text-main)!important}:root[data-theme=dark] .glass-card.card-cashflow-surplus{color:#fff!important;background:linear-gradient(135deg,#16a36e 0%,#0d9488 100%)!important;border:none!important}:root[data-theme=dark] .glass-card.card-cashflow-deficit{color:#fff!important;background:linear-gradient(135deg,#d97706 0%,#e11d48 100%)!important;border:none!important}.metric-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.checklist-grid-row{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (width<=1024px){.checklist-grid-row{grid-template-columns:1fr}}.checklist-row-container{align-items:flex-start;gap:.75rem;width:100%;display:flex}.checklist-row-content{flex-direction:column;flex:1;min-width:0;display:flex}.checklist-row-header{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.checklist-row-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .5rem;width:100%;margin-top:.25rem;display:flex}.checklist-row-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.meta-sep{color:var(--text-dark)}.verbose-label{display:inline}.category-card-header{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.settings-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}@media (width<=768px){:root{--glass-card-px:.75rem;--checklist-row-px:.5rem}.metric-row{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.container{padding:.75rem!important}.desktop-only,.verbose-label{display:none!important}.checklist-row-desc{word-break:break-word;max-width:60%;font-size:.88rem!important}.checklist-row-amount-container span{font-size:.9rem!important}.checklist-row-meta{gap:.15rem .35rem!important;font-size:.68rem!important}.meta-sep{margin:0 .05rem}.checklist-row-extra{word-break:break-word;font-size:.68rem!important}.category-card-header{flex-direction:column;align-items:flex-start;gap:.25rem}.category-title{line-height:1.3;white-space:normal!important;text-overflow:clip!important;max-width:none!important;font-size:.9rem!important;overflow:visible!important}.category-totals{text-align:left;flex-shrink:0;font-size:.75rem!important}.custom-table th,.custom-table td{padding:.6rem .8rem!important;font-size:.8rem!important}.settings-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.charts-grid{grid-template-columns:1fr!important;gap:1rem!important}}.timeline-grid{grid-template-columns:repeat(12,1fr);gap:.65rem;width:100%;margin-bottom:1.5rem;display:grid}@media (width<=1300px){.timeline-grid{grid-template-columns:repeat(6,1fr)}}@media (width<=768px){.timeline-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}}@media (width<=480px){.timeline-grid{grid-template-columns:repeat(3,1fr);gap:.4rem}}.nav-text-container{align-items:center;gap:.25rem;display:flex}.nav-thai-label{opacity:.75;color:var(--text-muted);font-size:.72rem;font-weight:400}@media (width<=991px){.nav-text-container{flex-direction:column;align-items:flex-start;gap:.05rem}.nav-thai-label{margin-left:0;font-size:.68rem}}.sidebar-profile-card:hover{background:#ffffff0a!important}:root[data-theme=light] .sidebar-profile-card:hover{background:#0000000a!important}@keyframes pulse{0%,to{opacity:.6;transform:scale(.98)}50%{opacity:1;transform:scale(1)}}.animate-pulse{animation:2s ease-in-out infinite pulse}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.installment-fixed-left{width:250px}@media (width<=768px){.installment-fixed-left{width:170px}}.timeline-block:hover{z-index:10;cursor:pointer;transform:scale(1.18)}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#1a8cff4d transparent}.custom-scrollbar::-webkit-scrollbar{height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#1a8cff4d;border-radius:99px;transition:background .15s}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--primary)}.bento-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.bento-col-2{grid-column:span 2}.bento-col-3{grid-column:span 3}.bento-col-4{grid-column:span 4}@media (width<=1199px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-col-2,.bento-col-3,.bento-col-4{grid-column:span 2}}@media (width<=768px){.bento-grid{grid-template-columns:1fr}.bento-col-2,.bento-col-3,.bento-col-4{grid-column:span 1}}.about-bento-grid{grid-template-columns:1.1fr .9fr;gap:1.5rem;margin-bottom:2rem;display:grid}@media (width<=991px){.about-bento-grid{grid-template-columns:1fr}}.welcome-btn-hover{transition:all .2s cubic-bezier(.4,0,.2,1)}.welcome-btn-hover:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 24px #2563eb66!important}.welcome-btn-hover:active{transform:translateY(0)}.welcome-google-btn-hover{transition:all .2s cubic-bezier(.4,0,.2,1)}.welcome-google-btn-hover:hover{transform:translateY(-2px);background:#ffffff1a!important;border-color:#ffffff4d!important}.welcome-google-btn-hover:active{transform:translateY(0)}.glow-border{position:relative}.glow-border:after{content:"";border-radius:inherit;-webkit-mask-composite:destination-out;pointer-events:none;background:linear-gradient(135deg,#4f46e566,#9333ea66) border-box;border:1px solid #0000;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.modal-h4{align-items:center;gap:.25rem;margin-bottom:.5rem;padding-bottom:.25rem;font-size:.85rem;font-weight:700;display:flex}.modal-h4 svg{width:14px;height:14px;transition:width .15s,height .15s}.modal-h4.success-h4{color:var(--success);border-bottom:1px solid #16a36e33}.modal-h4.primary-h4{color:var(--primary);border-bottom:1px solid #2563eb33}.modal-h4.gold-h4{color:#e4c27f;border-bottom:1px solid #e4c27f33}.modal-h4.muted-h4{color:var(--text-muted);border-bottom:1px solid #ffffff1a}.modal-h4.danger-h4{color:var(--danger);border-bottom:1px solid #f43f5e33}.modal-h4.warning-h4{color:var(--warning);border-bottom:1px solid #f59e0b33}.modal-h4.purple-h4{color:#a78bfa;border-bottom:1px solid #a78bfa33}.modal-table{border-collapse:collapse;width:100%;font-size:.8rem}.modal-tr{border-bottom:1px solid #ffffff08}.modal-td-name{color:var(--text-main);padding:.35rem 0}.modal-td-actions{text-align:right;padding:.35rem 0}.modal-actions-group{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.text-success-amount{color:var(--success);font-weight:700}.text-danger-amount{color:var(--danger);font-weight:700}.modal-btn-edit{cursor:pointer;color:var(--text-muted);opacity:.7;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:auto;height:auto;padding:2px;transition:all .15s;display:inline-flex}.modal-btn-edit:hover{opacity:1;color:var(--text-main)}.modal-btn-edit svg,.modal-btn-delete svg{width:12px;height:12px;transition:width .15s,height .15s}.modal-btn-delete{cursor:pointer;color:var(--danger);opacity:.7;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:auto;height:auto;padding:2px;transition:all .15s;display:inline-flex}.modal-btn-delete:hover{opacity:1;color:var(--danger-text)}.modal-summary-row{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;display:flex}.modal-summary-label{color:var(--text-main);font-size:.85rem;font-weight:700}.modal-summary-value{font-size:1.25rem;font-weight:800}@media (width<=768px){.modal-h4{gap:.35rem;margin-bottom:.75rem;padding-bottom:.4rem;font-size:.98rem}.modal-h4 svg{width:16px;height:16px}.modal-h4.success-h4{color:var(--success-text);border-bottom:1px solid #16a36e40}.modal-h4.primary-h4{border-bottom:1px solid #2563eb40}.modal-h4.gold-h4{border-bottom:1px solid #e4c27f40}.modal-h4.muted-h4{border-bottom:1px solid #ffffff26}.modal-h4.danger-h4{color:var(--danger-text);border-bottom:1px solid #f43f5e40}.modal-h4.warning-h4{border-bottom:1px solid #f59e0b40}.modal-h4.purple-h4{border-bottom:1px solid #a78bfa40}.modal-table{font-size:.96rem}.modal-tr{border-bottom:1px solid #ffffff0a}.modal-td-name{padding:.65rem 0;font-weight:500}.modal-td-actions{padding:.65rem 0}.text-success-amount{color:var(--success-text)}.text-danger-amount{color:var(--danger-text)}.modal-actions-group{gap:.85rem}.modal-btn-edit{opacity:1;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;width:36px;height:36px}.modal-btn-edit svg{width:15px;height:15px}.modal-btn-delete{color:var(--danger-text);opacity:1;background:#ff59641a;border:1px solid #ff596433;border-radius:50%;width:36px;height:36px}.modal-btn-delete svg{width:15px;height:15px;color:var(--danger-text)}.modal-summary-row{margin-top:1.75rem;padding-top:1.25rem}.modal-summary-label{font-size:.98rem}.modal-summary-value{font-size:1.35rem}select,select.form-input,.form-input select,.form-control select,.modal-content select,#category-select,#account-select,#to-account-select,option,optgroup{-webkit-text-size-adjust:100%!important;padding:.3rem .5rem!important;font-size:.72rem!important;font-weight:500!important;line-height:1.25!important}select.form-input{height:auto!important;padding:.4rem 1.8rem .4rem .55rem!important;font-size:.72rem!important}option,select option,#category-select option,#account-select option,#to-account-select option{margin:0!important;padding:.3rem .5rem!important;font-size:.72rem!important;font-weight:500!important}}.tour-highlight{transition:transform .2s,box-shadow .2s;transform:scale(1.02);z-index:1100!important;pointer-events:none!important;background-color:var(--bg-secondary)!important;border:2px dashed #eab308!important;position:relative!important;box-shadow:0 0 0 9999px #000000bf,0 0 20px #eab308!important}.tour-highlight-sidebar{z-index:1100!important;background-color:#eab3081a!important;border-left:3px solid #eab308!important;position:relative!important;box-shadow:0 0 15px #eab30880!important}@keyframes tourGlow{0%,to{box-shadow:0 0 0 9999px #000000bf,0 0 10px #eab308}50%{box-shadow:0 0 0 9999px #000000b3,0 0 25px #eab308}}.tour-highlight.pulse-spotlight{animation:2s ease-in-out infinite tourGlow}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-bottom-nav{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-color);z-index:999;height:66px;padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000014}.mobile-bottom-nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-family:inherit;transition:all .2s;display:flex}.mobile-bottom-nav-item span{font-size:.65rem;font-weight:600}.mobile-bottom-nav-item:hover,.mobile-bottom-nav-item:focus{color:var(--text-main)}.mobile-bottom-nav-item.active{color:var(--primary)!important}.mobile-bottom-nav-item.active svg{transition:transform .2s;transform:translateY(-2px)}.trash-btn-hover:hover{transition:all .15s;transform:scale(1.15);color:var(--danger)!important}.mobile-carousel-container{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;align-items:stretch;gap:1rem;width:100%;margin-bottom:.25rem;display:flex;overflow-x:auto}.mobile-carousel-container::-webkit-scrollbar{display:none}.mobile-carousel-card{scroll-snap-align:start;box-sizing:border-box;flex-direction:column;flex:0 0 100%;display:flex}.carousel-indicators{justify-content:center;gap:.35rem;margin-top:-.1rem;margin-bottom:.25rem;display:flex}.carousel-dot{background:var(--text-muted);opacity:.3;border-radius:50%;width:6px;height:6px;transition:all .2s cubic-bezier(.4,0,.2,1)}.carousel-dot.active{background:var(--primary);opacity:1;border-radius:3px;width:14px}.vault-card-hover:hover{transform:translateY(-8px)scale(1.02)rotateX(4deg);border-color:#fbbf24b3!important;box-shadow:0 20px 40px #0009,0 0 35px #f59e0b66!important}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:12s linear infinite spinSlow}
