@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";
:root{--bg-primary:#030712;--bg-secondary:#090d16;--bg-glass:#11182799;--bg-glass-hover:#1f2937bf;--text-primary:#f3f4f6;--text-secondary:#d1d5db;--text-muted:#9ca3af;--brand-500:#10b981;--brand-400:#34d399;--brand-600:#059669;--brand-900:#10b98126;--accent-500:#f59e0b;--accent-400:#fbbf24;--accent-900:#f59e0b26;--danger-500:#ef4444;--danger-900:#ef444426;--info-500:#3b82f6;--info-900:#3b82f626;--border-default:#ffffff14;--border-hover:#ffffff29;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 16px #0006;--shadow-lg:0 16px 32px #00000080;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", var(--font-sans);--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--bg-primary);background-image:radial-gradient(at 0 0,#10b9810d 0,#0000 50%),radial-gradient(at 100% 100%,#f59e0b0a 0,#0000 50%);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:#fff3}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}button,input,select,textarea{color:inherit;font-family:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.gradient-text{background:linear-gradient(135deg,#10b981 0%,#fbbf24 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.spinner{border:3px solid #ffffff1a;border-top-color:var(--brand-500);border-radius:50%;width:40px;height:40px;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-default);width:100%;transition:all var(--transition-normal);background:#030712b3;position:fixed;top:0;left:0}.nav-inner{justify-content:space-between;align-items:center;height:70px;display:flex}.nav-logo{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:800;display:flex}.nav-logo-icon{background:linear-gradient(135deg, var(--brand-500) 0%, var(--brand-600) 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex;box-shadow:0 4px 10px #10b9814d}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);font-size:.95rem;font-weight:500}.nav-links a:hover{color:var(--brand-400)}.nav-cta{align-items:center;gap:1rem;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:center;border:1px solid #0000;justify-content:center;align-items:center;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--brand-500);color:#030712;box-shadow:0 4px 14px #10b9814d}.btn-primary:hover{background:var(--brand-400);transform:translateY(-1px);box-shadow:0 6px 20px #10b98166}.btn-primary:active{transform:translateY(0)}.btn-ghost{color:var(--text-primary);border-color:var(--border-default);background:0 0}.btn-ghost:hover{border-color:var(--border-hover);background:#ffffff0d}.btn-lg{border-radius:var(--radius-lg);padding:.85rem 1.75rem;font-size:1rem}.btn-sm{border-radius:var(--radius-sm);padding:.45rem 1rem;font-size:.82rem}.btn-icon{cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.btn-icon:hover{background-color:#ffffff14}.btn-danger{background:var(--danger-500);color:#fff}.btn-danger:hover{background:#ff5a5a}.hero{padding-top:150px;padding-bottom:80px;position:relative;overflow:hidden}.hero-bg{z-index:-1;opacity:.35;width:100%;height:100%;position:absolute;top:0;left:0}.hero-grid{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:50px 50px;width:200%;height:200%;position:absolute;top:-50%;left:-50%;transform:rotate(6deg)}.hero-content{grid-template-columns:1.2fr .8fr;align-items:center;gap:4rem;display:grid}.hero-badge{color:var(--brand-400);background:#10b9811a;border:1px solid #10b98133;border-radius:100px;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.85rem;font-weight:600;display:inline-block}.hero-title{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:1.5rem;font-size:3.5rem;font-weight:800;line-height:1.15}.hero-desc{color:var(--text-secondary);margin-bottom:2rem;font-size:1.15rem;line-height:1.6}.hero-actions{gap:1rem;display:flex}.hero-visual{justify-content:center;display:flex}.hero-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:380px;box-shadow:var(--shadow-lg), 0 20px 40px #0009;transition:transform var(--transition-normal);padding:2rem;transform:perspective(1000px)rotateY(-8deg)rotateX(4deg)}.hero-card:hover{transform:perspective(1000px)rotateY(0)rotateX(0)}.hero-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.hero-card-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.85rem}.hero-card-period{border-radius:var(--radius-sm);color:var(--text-secondary);background:#ffffff0f;padding:.25rem .6rem;font-size:.75rem}.hero-balance{font-family:var(--font-display);margin-bottom:.25rem;font-size:2.25rem;font-weight:700}.hero-balance-sub{color:var(--brand-400);margin-bottom:1.5rem;font-size:.75rem}.hero-stats{border-top:1px solid var(--border-default);grid-template-columns:1fr 1fr;gap:1rem;padding-top:1.25rem;display:grid}.hero-stat-label{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem}.hero-stat-value{font-size:1rem;font-weight:600}.hero-stat-value.income{color:var(--brand-400)}.hero-stat-value.expense{color:var(--danger-500)}.hero-stat-value.savings{color:var(--info-500)}.hero-stat-value.budget{color:var(--accent-500)}.platforms{background:var(--bg-secondary);border-y:1px solid var(--border-default);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);padding:3rem 0}.platforms-inner{flex-direction:column;align-items:center;display:flex}.platforms-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1.5rem;font-size:.85rem}.platforms-logos{flex-wrap:wrap;justify-content:center;gap:2.5rem;display:flex}.platform-item{font-family:var(--font-display);color:var(--text-secondary);border-radius:var(--radius-md);border:1px solid var(--border-default);transition:all var(--transition-fast);background:#ffffff05;align-items:center;gap:.6rem;padding:.5rem 1rem;font-size:1.05rem;font-weight:600;display:flex}.platform-item:hover{border-color:var(--border-hover);background:#ffffff0d;transform:translateY(-2px)}.platform-dot{border-radius:50%;width:8px;height:8px}.platform-dot.gcash{background-color:#0c5cfc}.platform-dot.maya{background-color:#3bca01}.platform-dot.gotyme{background-color:#ff6000}.platform-dot.bpi{background-color:#b31010}.platform-dot.bdo{background-color:#032b85}.features{padding:100px 0}.section-header{text-align:center;max-width:600px;margin:0 auto 4rem}.section-label{color:var(--brand-400);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.85rem;font-weight:700}.section-title{font-family:var(--font-display);margin-bottom:1rem;font-size:2.5rem;font-weight:800;line-height:1.2}.section-desc{color:var(--text-secondary);line-height:1.6}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.feature-card{background:var(--bg-glass);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--transition-normal);padding:2rem}.feature-card:hover{border-color:var(--border-hover);transform:translateY(-5px)}.feature-icon{border-radius:var(--radius-md);background:#ffffff0a;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1.25rem;font-size:1.35rem;display:flex}.feature-title{font-family:var(--font-display);margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.feature-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.55}.feature-icon.green{color:var(--brand-400);background:#10b9811a}.feature-icon.blue{color:#60a5fa;background:#3b82f61a}.feature-icon.amber{color:#fbbf24;background:#f59e0b1a}.feature-icon.rose{color:#fb7185;background:#f43f5e1a}.feature-icon.violet{color:#a78bfa;background:#8b5cf61a}.feature-icon.teal{color:#2dd4bf;background:#14b8a61a}.cta{padding:80px 0}.cta-card{border:1px solid var(--border-default);border-radius:var(--radius-xl);text-align:center;max-width:900px;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#10b9811f 0%,#f59e0b0d 100%);margin:0 auto;padding:4rem 2rem}.cta-title{font-family:var(--font-display);margin-bottom:1rem;font-size:2.25rem;font-weight:800}.cta-desc{color:var(--text-secondary);max-width:500px;margin:0 auto 2rem;font-size:1.1rem;line-height:1.6}.footer{border-top:1px solid var(--border-default);background:var(--bg-secondary);text-align:center;padding:2.5rem 0}.footer-text{color:var(--text-muted);font-size:.85rem}.footer-heart{color:var(--danger-500);animation:1.5s infinite heartbeat;display:inline-block}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.12)}70%{transform:scale(1)}}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative}.auth-card{background:var(--bg-glass);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg), 0 20px 40px #00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2.5rem}.auth-logo{font-family:var(--font-display);justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.75rem;font-weight:800;display:flex}.auth-title{font-family:var(--font-display);text-align:center;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--text-muted);text-align:center;margin-bottom:2rem;font-size:.9rem}.auth-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.88rem}.auth-footer a{color:var(--brand-400);font-weight:600}.auth-footer a:hover{text-decoration:underline}.form-group{flex-direction:column;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:.5rem;font-size:.82rem;font-weight:600}.form-input,.form-select{border:1px solid var(--border-default);border-radius:var(--radius-md);color:#fff;width:100%;transition:all var(--transition-fast);background:#ffffff0a;outline:none;padding:.75rem 1rem;font-size:.95rem}.form-input:focus,.form-select:focus{border-color:var(--brand-500);background:#ffffff14;box-shadow:0 0 0 3px #10b98126}.form-input::placeholder{color:#ffffff4d}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-error{color:#ef4444;font-size:.8rem;font-weight:500}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.form-submit{width:100%;margin-top:.5rem;padding:.8rem}.dashboard{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-default);z-index:90;height:100vh;transition:transform var(--transition-normal);flex-direction:column;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.sidebar-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.15rem;display:none}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1.5rem .75rem;display:flex;overflow-y:auto}.sidebar-link{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;border:1px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff08}.sidebar-link.active{background:var(--brand-900);color:var(--brand-400);border-color:#10b98126;font-weight:600}.sidebar-icon{font-size:1.15rem}.sidebar-footer{border-top:1px solid var(--border-default);padding:1rem .75rem}.sidebar-logout{text-align:left;background:0 0;border:none;width:100%}.sidebar-logout:hover{background:var(--danger-900);color:#ef4444}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:85;background:#030712b3;width:100vw;height:100vh;position:fixed;top:0;left:0}.dashboard-main{flex-direction:column;padding:2rem 2.5rem 3rem;display:flex;position:relative;overflow-y:auto}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2.25rem;display:flex}.dashboard-greeting{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.dashboard-subtitle{color:var(--text-muted);margin-top:.15rem;font-size:.9rem}.hamburger-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;background:#ffffff08;flex-direction:column;gap:4px;padding:.6rem;display:none}.hamburger-line{background-color:var(--text-primary);border-radius:1px;width:18px;height:2px}.dashboard-user-badge{border:1px solid var(--border-default);background:#ffffff05;border-radius:100px;align-items:center;gap:.75rem;padding:.5rem 1rem .5rem .5rem;display:flex}.user-avatar{background:linear-gradient(135deg, var(--brand-500), var(--accent-500));color:#030712;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;display:flex}.user-name{font-size:.8rem;font-weight:600}.user-plan{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:700}.dashboard-loading{background-color:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.dashboard-loading p{color:var(--text-muted);font-size:.9rem;font-weight:500}.summary-cards,.summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.summary-card{align-items:center;gap:1rem;padding:1.25rem;display:flex}.summary-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:flex}.summary-icon.green{background:var(--brand-900);color:var(--brand-400)}.summary-icon.red{background:var(--danger-900);color:#f87171}.summary-icon.amber{background:var(--accent-900);color:var(--accent-500)}.summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.summary-value{font-family:var(--font-display);letter-spacing:-.01em;margin:.1rem 0;font-size:1.5rem;font-weight:700}.summary-change{align-items:center;gap:2px;font-size:.72rem;font-weight:500;display:flex}.summary-change.up{color:var(--brand-400)}.summary-change.down{color:var(--danger-500)}.summary-change.neutral{color:var(--text-muted)}.quick-actions{margin-bottom:2.25rem}.section-title-sm{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:1rem;font-size:1.15rem;font-weight:700}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.action-card{border:1px solid var(--border-default);background:var(--bg-glass);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:all var(--transition-fast);flex-direction:column;align-items:flex-start;padding:1.25rem;display:flex}.action-card:hover{border-color:var(--brand-500);background:#10b9810a;transform:translateY(-2px)}.action-icon{margin-bottom:.75rem;font-size:1.5rem}.action-label{color:#fff;font-size:.95rem;font-weight:600}.action-desc{color:var(--text-muted);margin-top:.15rem;font-size:.72rem}.dashboard-two-col{grid-template-columns:1.2fr .8fr;gap:1.5rem;display:grid}.side-panels{flex-direction:column;gap:1.5rem;display:flex}.recent-section.glass-card,.budget-section.glass-card,.bills-section.glass-card{background:var(--bg-glass)!important;-webkit-backdrop-filter:blur(16px)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-md)!important;width:100%!important;transition:border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast)!important;padding:1.5rem!important;display:block!important}.recent-section.glass-card:hover,.budget-section.glass-card:hover,.bills-section.glass-card:hover{border-color:var(--border-hover)!important;box-shadow:var(--shadow-lg)!important}.empty-mini{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2.5rem 1rem;font-size:.85rem;display:flex}.txn-list{flex-direction:column;gap:.25rem;display:flex}.txn-row{border-radius:var(--radius-md);transition:all var(--transition-fast);background:#ffffff03;border:1px solid #0000;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.txn-row:hover{border-color:var(--border-default);background:#ffffff08}.txn-cat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 8px}.txn-info{flex:1;min-width:0}.txn-desc{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:500;overflow:hidden}.txn-meta{color:var(--text-muted);margin-top:.15rem;font-size:.75rem}.txn-amount{font-family:var(--font-mono);white-space:nowrap;font-size:.95rem;font-weight:600}.txn-amount.income{color:var(--brand-400)}.txn-amount.expense{color:#f87171}.budget-list{flex-direction:column;gap:1.15rem;display:flex}.budget-row{flex-direction:column;display:flex}.budget-header-row{justify-content:space-between;margin-bottom:.4rem;font-size:.85rem;display:flex}.budget-cat{color:var(--text-secondary);font-weight:500}.budget-spent{font-family:var(--font-mono);color:#fff;font-weight:600}.progress-bar{background:#ffffff0f;border-radius:100px;width:100%;height:6px;overflow:hidden}.progress-fill{border-radius:100px;height:100%;transition:width .4s ease-out}.bill-list{flex-direction:column;gap:.75rem;display:flex}.bill-row{border-radius:var(--radius-md);border:1px solid var(--border-default);background:#ffffff05;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.bill-name{color:#fff;font-size:.85rem;font-weight:500}.bill-due{color:var(--text-muted);margin-top:.15rem;font-size:.72rem}.bill-row .bill-due.overdue{color:var(--danger-500)}.bill-amount{font-family:var(--font-mono);font-size:.88rem;font-weight:600}.bill-row:hover{border-color:var(--border-hover)}.page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:.15rem;font-size:.85rem}.empty-state{text-align:center;border-radius:var(--radius-xl);flex-direction:column;justify-content:center;align-items:center;padding:5rem 2rem;display:flex}.empty-icon{filter:drop-shadow(0 4px 12px #ffffff0d);margin-bottom:1.5rem;font-size:3rem}.empty-title{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.35rem;font-weight:700}.empty-desc{color:var(--text-secondary);max-width:320px;font-size:.9rem;line-height:1.5}.wallet-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;display:grid}.wallet-card{flex-direction:column;gap:.75rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.wallet-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ffffff08 0%,#0000 60%);width:100%;height:100%;position:absolute;top:0;left:0}.wallet-card-header{justify-content:space-between;align-items:center;display:flex}.wallet-emoji{font-size:1.5rem}.wallet-type-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:#ffffff0f;border-radius:4px;padding:.25rem .5rem;font-size:.65rem;font-weight:700}.wallet-name{font-family:var(--font-display);color:#fff;margin-top:.25rem;font-size:1.15rem;font-weight:600}.wallet-balance{font-family:var(--font-display);margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.wallet-actions{border-top:1px solid var(--border-default);opacity:0;transition:all var(--transition-fast);justify-content:flex-end;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex;transform:translateY(4px)}.wallet-card:hover .wallet-actions{opacity:1;transform:translateY(0)}.savings-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.savings-card{flex-direction:column;padding:1.5rem;display:flex}.savings-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.savings-name{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.status-badge{text-transform:uppercase;border-radius:4px;padding:.2rem .5rem;font-size:.65rem;font-weight:700}.status-badge.completed{background:var(--brand-900);color:var(--brand-400)}.status-badge.paused{color:var(--text-muted);background:#ffffff14}.savings-amounts{align-items:baseline;gap:.4rem;margin-top:.25rem;display:flex}.savings-current{font-family:var(--font-display);font-size:1.5rem;font-weight:700}.savings-target{color:var(--text-muted);font-size:.75rem}.savings-meta{color:var(--text-muted);margin-bottom:1.25rem;font-size:.72rem}.savings-actions{border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;display:flex}.debt-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.debt-card{flex-direction:column;padding:1.5rem;display:flex}.debt-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.debt-creditor{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.debt-amounts{align-items:baseline;gap:.4rem;margin-top:.25rem;display:flex}.debt-remaining{font-family:var(--font-display);color:#fff;font-size:1.5rem;font-weight:700}.debt-total{color:var(--text-muted);font-size:.75rem}.debt-meta{color:var(--text-muted);grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;font-size:.72rem;display:grid}.debt-meta span{border-radius:var(--radius-sm);background:#ffffff05;padding:.25rem .5rem}.debt-actions{border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;display:flex}.bills-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.bill-card{flex-direction:column;padding:1.5rem;display:flex;position:relative}.bill-card.overdue{border-color:#ef444466}.bill-card.due-soon{border-color:#f59e0b66}.bill-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.bill-card-name{font-family:var(--font-display);color:#fff;font-size:1.15rem;font-weight:600}.bill-card-acct{font-family:var(--font-mono);background:#ffffff0d;border-radius:4px;gap:4px;margin-top:.25rem;padding:.15rem .4rem;font-size:.65rem;display:inline-flex}.acct-label{color:var(--text-muted)}.acct-number{color:var(--text-secondary)}.bill-card-meta{color:var(--text-muted);margin-top:.15rem;font-size:.72rem}.bill-card-amount{font-family:var(--font-display);margin:.75rem 0 .5rem;font-size:1.65rem;font-weight:700}.bill-card-due{color:var(--text-muted);border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;font-size:.75rem;display:flex}.due-badge{text-transform:uppercase;border-radius:4px;padding:.2rem .5rem;font-size:.68rem;font-weight:700}.due-badge.overdue{background:var(--danger-900);color:#fca5a5}.due-badge.soon{background:var(--accent-900);color:#fde047}.due-badge.normal{color:var(--text-secondary);background:#ffffff0d}.freq-badge{color:var(--text-muted);text-transform:uppercase;background:#ffffff0f;border-radius:4px;padding:.15rem .4rem;font-size:.68rem;font-weight:600}.filter-bar{gap:.5rem;margin-bottom:1.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.filter-btn{border:1px solid var(--border-default);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:#ffffff05;border-radius:100px;padding:.5rem 1rem;font-size:.85rem;font-weight:500}.filter-btn:hover{border-color:var(--border-hover);background:#ffffff0d}.filter-btn.active{background:var(--brand-500);color:#030712;border-color:var(--brand-500);font-weight:600}.txn-table{flex-direction:column;display:flex}.pagination{justify-content:space-between;align-items:center;margin-top:1.5rem;display:flex}.page-info{color:var(--text-muted);font-size:.85rem}.budget-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.budget-card{flex-direction:column;padding:1.5rem;display:flex}.budget-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.budget-card-cat{font-family:var(--font-display);align-items:center;gap:.6rem;font-size:1.15rem;font-weight:600;display:flex}.budget-amounts{align-items:baseline;gap:.4rem;display:flex}.budget-spent-amt{font-family:var(--font-display);font-size:1.5rem;font-weight:700}.budget-total-amt{color:var(--text-muted);font-size:.75rem}.budget-remaining{margin-top:.75rem;font-size:.72rem;font-weight:500}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;width:100vw;height:100vh;animation:fadeIn var(--transition-fast) forwards;background:#030712bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;top:0;left:0}.modal-content{border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-lg), 0 20px 40px #00000080;animation:scaleIn var(--transition-normal) cubic-bezier(.34, 1.56, .64, 1) forwards;background:#090d16;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.modal-body{padding:1.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.settings-section{padding:1.75rem}.settings-section-header{border-bottom:1px solid var(--border-default);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.settings-section-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.settings-section-desc{color:var(--text-muted);margin-top:.2rem;font-size:.8rem}.settings-toggle-wrap{align-items:center;gap:.75rem;display:flex}.settings-badge{border-radius:var(--radius-sm);padding:.25rem .6rem;font-size:.75rem;font-weight:600}.settings-badge.active{background:var(--brand-900);color:var(--brand-400)}.settings-warning{color:var(--accent-500);background:var(--accent-900);border-radius:var(--radius-md);border:1px solid #f59e0b26;padding:.75rem;font-size:.75rem;line-height:1.45}.toggle-switch{cursor:pointer;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{border:1px solid var(--border-default);background-color:#ffffff14;border-radius:24px;transition:all .4s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .4s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background-color:var(--brand-500)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.settings-body{flex-direction:column;gap:1.5rem;display:flex}.settings-disabled{opacity:.5;pointer-events:none}.settings-field{flex-direction:column;gap:.5rem;display:flex}.settings-field-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.reminder-days-grid{flex-wrap:wrap;gap:.5rem;display:flex}.reminder-day-chip{border:1px solid var(--border-default);cursor:pointer;transition:all var(--transition-fast);background:#ffffff08;border-radius:100px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.8rem;font-weight:500;display:inline-flex}.reminder-day-chip:hover{border-color:var(--border-hover);background:#ffffff0f}.reminder-day-chip.active{background:var(--brand-900);color:var(--brand-400);border-color:#10b98140;font-weight:600}.chip-check{font-size:.8rem;font-weight:700}.chip-close{cursor:pointer;opacity:.6}.chip-close:hover{opacity:1}.settings-summary{border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);background:#ffffff03;padding:1rem;font-size:.82rem;line-height:1.5}.settings-status-toast{background:var(--brand-500);color:#030712;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:2000;animation:slideUp var(--transition-normal) forwards;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;position:fixed;bottom:2rem;right:2rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.txn-notes-indicator{width:16px;height:16px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:#ffffff14;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;display:inline-flex;position:relative}.txn-notes-indicator:hover{color:var(--brand-500);border-color:var(--brand-500);background:#10b98126;transform:scale(1.15)}.txn-notes-indicator .tooltip-content{visibility:hidden;-webkit-backdrop-filter:blur(16px);width:220px;color:var(--text-secondary);text-align:left;border-radius:var(--radius-md);z-index:1000;box-shadow:var(--shadow-lg), 0 10px 30px #00000080;opacity:0;pointer-events:none;white-space:normal;background:#0f172af2;border:1px solid #ffffff26;padding:.75rem;font-family:inherit;font-size:.72rem;line-height:1.45;transition:opacity .2s,transform .2s cubic-bezier(.4,0,.2,1);position:absolute;bottom:130%;left:50%;transform:translate(-50%)}.txn-notes-indicator .tooltip-content:after{content:"";border:5px solid #0000;border-top-color:#0f172af2;margin-left:-5px;position:absolute;top:100%;left:50%}.txn-notes-indicator:hover .tooltip-content{visibility:visible;opacity:1;pointer-events:auto;transform:translate(-50%,-6px)}.ptr-indicator{transition:height var(--transition-fast) ease-out, opacity var(--transition-fast) ease-out;color:var(--brand-400);background:#ffffff03;justify-content:center;align-items:center;gap:.5rem;font-size:.8rem;display:flex;overflow:hidden}.ptr-spinner{font-size:1.15rem;font-weight:700}.ptr-spinning{animation:.8s linear infinite ptr-spin}.ptr-text{font-weight:500}@keyframes ptr-spin{to{transform:rotate(360deg)}}.wallet-card.glass-card{border:1px solid var(--border-default)!important;box-shadow:var(--shadow-md)!important;transition:all var(--transition-fast)!important;background:#111827a6!important;border-left-style:solid!important}.wallet-card.glass-card:hover{border-color:var(--border-hover)!important;box-shadow:var(--shadow-lg)!important;background:#1f2937cc!important;transform:translateY(-3px)!important}.wallet-actions{border-top:1px solid var(--border-default);transition:all var(--transition-fast);justify-content:flex-end;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex;opacity:.8!important;transform:none!important}.wallet-card:hover .wallet-actions{opacity:1!important}.modal-close{color:var(--text-muted);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.modal-close:hover{color:#fff;background:#ffffff14;transform:rotate(90deg)}.type-selector{flex-wrap:wrap;gap:.5rem;width:100%;display:flex}.type-option{border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;min-width:90px;transition:all var(--transition-fast);color:var(--text-secondary);background:#ffffff08;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.type-option:hover{border-color:var(--border-hover);color:#fff;background:#ffffff0f}.type-option.active,.type-option.active.income{background:var(--brand-900)!important;border-color:var(--brand-500)!important;color:var(--brand-400)!important}.type-option.active.expense{background:var(--danger-900)!important;border-color:var(--danger-500)!important;color:#f87171!important}.color-selector{flex-wrap:wrap;gap:.75rem;padding:.25rem 0;display:flex}.color-dot{cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);border:2px solid #0000;border-radius:50%;outline:none;box-shadow:0 4px 10px #0000004d}.color-dot:hover{transform:scale(1.15)}.color-dot.active{transform:scale(1.2);border-color:#fff!important;box-shadow:0 0 12px!important}@media (max-width:1024px){.dashboard-two-col{grid-template-columns:1fr}}@media (max-width:768px){.dashboard{grid-template-columns:1fr}.sidebar{z-index:100;width:280px;height:100vh;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:10px 0 30px #00000080}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close-btn{padding:.5rem;display:inline-flex}.hamburger-btn{display:flex}.dashboard-main{padding:1rem 1.25rem 2rem}.dashboard-header{margin-bottom:1.5rem}.nav-links{display:none}.hero-content{text-align:center;grid-template-columns:1fr;gap:3rem}.hero{padding-top:110px;padding-bottom:50px}.hero-badge{margin-left:auto;margin-right:auto}.hero-title{font-size:2.5rem}.hero-desc{font-size:1rem}.hero-actions{justify-content:center}.hero-card{transform:none!important}.cta-card{padding:3rem 1.5rem}.cta-title{font-size:1.75rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.page-header .btn{width:100%}.form-row{grid-template-columns:1fr;gap:0}.modal-overlay{align-items:flex-end;padding:0}.modal-content{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh;animation:slideUpModal var(--transition-normal) cubic-bezier(.32, .94, .6, 1) forwards;flex-direction:column;display:flex}.modal-body{flex:1;padding-bottom:3rem;overflow-y:auto}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}}
