:root{--bg: #f2f2f7;--bg-alt: #e8e8ed;--surface: #ffffff;--border: rgba(0,0,0,.06);--accent: #9a6e3a;--accent-hover: #7a5228;--accent-light: #f5e8d5;--accent-strong: #7a5228;--heading: #1c1c1e;--text: #3a3a3c;--muted: #8e8e93;--shadow-xs: 0 1px 4px rgba(0,0,0,.05);--shadow-sm: 0 2px 12px rgba(0,0,0,.07);--shadow-md: 0 4px 24px rgba(0,0,0,.09);--shadow-lg: 0 8px 40px rgba(0,0,0,.12);--shadow-xl: 0 16px 60px rgba(0,0,0,.15);--glass-bg: rgba(255,255,255,.55);--glass-bg-strong: rgba(255,255,255,.7);--glass-border: rgba(255,255,255,.6);--glass-blur: blur(24px) saturate(180%);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}#features,#about{scroll-margin-top:5rem}@keyframes pageIn{0%{opacity:0}to{opacity:1}}body{animation:pageIn .25s ease forwards}body.page-leaving{animation:none!important;opacity:0;transition:opacity .2s ease}[data-animate]{opacity:0;transform:translateY(36px);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out)}[data-animate=fade-left]{transform:translate(40px) translateY(0)}[data-animate].is-visible{opacity:1;transform:none}[data-animate-delay="100"].is-visible{transition-delay:.1s}[data-animate-delay="150"].is-visible{transition-delay:.15s}[data-animate-delay="200"].is-visible{transition-delay:.2s}[data-animate-delay="250"].is-visible{transition-delay:.25s}header{position:fixed;top:0;left:0;right:0;z-index:100;background:#ffffffb8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06);overflow:visible}header.scrolled{background:#ffffffe0;box-shadow:0 1px #00000014}header nav{max-width:1200px;margin:0 auto;padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between;overflow:visible}.logo-img{height:62px;width:auto;display:block}footer .logo-img{height:72px}.logo{font-size:1.3rem;font-weight:800;color:var(--accent);letter-spacing:-.02em;text-decoration:none}.nav-links{list-style:none;display:flex;align-items:center;gap:1.25rem}.nav-links a{text-decoration:none;color:var(--text);font-size:.82rem;font-weight:500;transition:color .2s var(--ease-in-out);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:2px;background:var(--accent);border-radius:99px;transform:scaleX(0);transition:transform .22s var(--ease-out);transform-origin:left}.nav-links a:hover{color:var(--accent)}.nav-links a:hover:after{transform:scaleX(1)}.nav-links a.btn,.nav-links a.btn:hover{color:#fff}.nav-hamburger{display:none;background:none;border:1.5px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer;color:var(--heading);font-size:1.1rem;line-height:1;flex-shrink:0}.nav-hamburger:hover{background:var(--surface)}@media(max-width:860px){.app-page .nav-hamburger{display:flex;align-items:center;justify-content:center}.app-page .nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 8px 24px #0000001a;flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 0;z-index:999}.app-page .nav-links.nav-open{display:flex}.app-page .nav-links li{width:100%}.app-page .nav-links li a,.app-page .nav-links li span.nav-active{display:block;padding:.75rem 1.5rem;font-size:.92rem;border-bottom:1px solid var(--border);color:var(--heading);text-decoration:none;width:100%;box-sizing:border-box}.app-page .nav-links li span.nav-active{color:var(--accent);font-weight:600}.app-page .nav-links li a:hover{background:var(--bg)}.app-page .nav-links .nav-user{flex-direction:row;flex-wrap:wrap;gap:.5rem;padding:.75rem 1.5rem;align-items:center;border-bottom:none}}.btn{display:inline-block;padding:.75rem 1.75rem;background:linear-gradient(135deg,#b08050,#8a6030);color:#fff;border-radius:10px;text-decoration:none;font-weight:600;font-size:.95rem;border:none;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px #78501e38,0 1px 2px #78501e24;transition:background .22s var(--ease-in-out),transform .18s var(--ease-spring),box-shadow .22s var(--ease-in-out)}.btn:hover{background:linear-gradient(135deg,#9a7040,#7c5028);transform:translateY(-2px);box-shadow:0 6px 24px #643c144d,0 2px 6px #643c1429}.btn:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px #643c142e}.btn--success{background:linear-gradient(135deg,#5a9e6a,#3d7a50)!important;box-shadow:0 4px 16px #32825047!important;transform:scale(1.02)!important}@keyframes toastIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.95)}}.tx-toast{position:fixed;bottom:2rem;right:2rem;z-index:9999;pointer-events:none;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.tx-toast-item{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;border-radius:14px;font-size:.88rem;font-weight:600;color:#fff;box-shadow:0 6px 24px #0000002e,0 2px 8px #0000001a;animation:toastIn .3s var(--ease-spring) both;white-space:nowrap}.tx-toast-item--income{background:linear-gradient(135deg,#3d8a50,#2d6e3e)}.tx-toast-item--expense{background:linear-gradient(135deg,#c44a3a,#a03028)}.tx-toast-item--edit{background:linear-gradient(135deg,#a07848,#7c5a30)}.tx-toast-item.is-leaving{animation:toastOut .25s var(--ease-in-out) both}@media(max-width:500px){.tx-toast{bottom:1rem;right:1rem;left:1rem;align-items:stretch}.tx-toast-item{justify-content:center}}.btn-small{padding:.5rem 1.1rem;font-size:.85rem;border-radius:8px}.hero{background:#fff;min-height:100vh;display:flex;align-items:center;padding:0 2rem;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;right:-10%;top:50%;transform:translateY(-50%);width:65vw;height:90vh;background:radial-gradient(ellipse at center,rgba(160,120,72,.07) 0%,transparent 70%);pointer-events:none}.hero-container{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:10rem 0 6rem}.hero-text{display:flex;flex-direction:column;gap:1.5rem}.hero-eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:#a078481a;padding:.35rem .9rem;border-radius:999px;width:fit-content}.hero-headline{font-size:clamp(3.5rem,6vw,5.5rem);font-weight:900;line-height:1.05;letter-spacing:-.04em;color:var(--heading)}.hl{position:relative;display:inline-block;color:var(--accent)}.hl:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--accent) 0%,rgba(154,110,58,.25) 100%)}.hero-subtext{font-size:1.15rem;color:var(--text);line-height:1.7;max-width:400px}.hero-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:.5rem}.hero-btn{padding:.9rem 2.25rem;font-size:1rem;border-radius:50px}.hero-learn{font-size:.95rem;font-weight:600;color:var(--accent);text-decoration:none;display:flex;align-items:center;gap:.35rem;transition:gap .2s var(--ease-out)}.hero-learn:hover{gap:.6rem}.hero-arrow{display:inline-block;transition:transform .2s var(--ease-out)}.hero-learn:hover .hero-arrow{transform:translateY(3px)}.hero-visual{position:relative;display:flex;justify-content:center;align-items:center}.hero-mockup-wrap{position:relative;perspective:1400px}.hero-mockup{width:480px;background:#fff;border-radius:18px;box-shadow:0 2px 4px #0000000a,0 8px 24px #00000014,0 24px 60px #0000001f,0 60px 120px #0000001a;transform:rotateX(6deg) rotateY(-14deg);animation:heroFloat 7s ease-in-out infinite;transform-style:preserve-3d;will-change:transform;border:1px solid rgba(0,0,0,.06);transition:transform .1s linear}@keyframes heroFloat{0%,to{transform:rotateX(6deg) rotateY(-14deg) translateY(0)}50%{transform:rotateX(6deg) rotateY(-14deg) translateY(-14px)}}.mockup-glow{position:absolute;inset:10% -5%;background:radial-gradient(ellipse,rgba(154,110,58,.32) 0%,rgba(154,110,58,.12) 45%,transparent 70%);filter:blur(60px);z-index:-1;animation:heroFloat 7s ease-in-out infinite}.mockup-titlebar{background:#f3f3f3;border-bottom:1px solid rgba(0,0,0,.07);border-radius:18px 18px 0 0;padding:.6rem 1rem;display:flex;align-items:center;gap:.85rem}.mockup-dots{display:flex;gap:6px}.mdot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.mdot--red{background:#ff5f57}.mdot--yellow{background:#ffbd2e}.mdot--green{background:#28c840}.mockup-url{font-size:.72rem;color:#999;font-weight:500;letter-spacing:.01em}.mockup-body{padding:1.1rem 1.1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.mockup-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.mockup-stat-card{border-radius:10px;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.2rem}.mockup-stat-card--income{background:#edf7f0}.mockup-stat-card--expense{background:#fdf0ed}.mockup-stat-card--balance{background:#a0784814}.msc-label{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#999}.msc-value{font-size:.95rem;font-weight:700;letter-spacing:-.02em;color:#1d1d1f}.mockup-chart{background:#fafafa;border-radius:10px;padding:.75rem}.mockup-chart-bars{display:flex;align-items:flex-end;gap:4px;height:60px}.mbar{flex:1;height:var(--h);background:linear-gradient(to top,var(--accent),#c8a070);border-radius:3px 3px 0 0;opacity:.75;animation:barGrow 1s var(--ease-out) both}.mbar:nth-child(odd){opacity:.55}.mbar:nth-child(4){opacity:.85;background:linear-gradient(to top,var(--accent),#b08040)}@keyframes barGrow{0%{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}.mockup-txlist{display:flex;flex-direction:column;gap:.45rem}.mockup-tx{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;background:#fafafa;border-radius:8px}.mtx-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mtx-dot--green{background:#28a745}.mtx-dot--red{background:#dc3545}.mtx-dot--amber{background:#e0943a}.mtx-dot--blue{background:#4a7fc1}.mtx-name{flex:1;font-size:.72rem;color:#3a3a3a;font-weight:500}.mtx-amt{font-size:.72rem;font-weight:700;letter-spacing:-.01em}.mtx-amt--income{color:#28a745}.mtx-amt--expense{color:#dc3545}.features{background:var(--surface);padding:3.5rem 2rem}.features-container{max-width:1100px;margin:0 auto}.features-header{text-align:center;margin-bottom:1.75rem}.features-header h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.03em;color:var(--heading);margin-bottom:.6rem}.features-header p{font-size:1.05rem;color:var(--muted)}.features-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.features-bento .fc-large{grid-column:span 2}.feature-card{border-radius:14px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;position:relative;cursor:default;min-height:150px;transform-style:preserve-3d;transition:box-shadow .3s var(--ease-out),transform .15s linear;will-change:transform}.feature-card:hover{box-shadow:0 12px 40px #64461e2e,0 0 0 1.5px #9a6e3a33;transform:translateY(-5px)}.fc-amber{background:#f5e6cf;border:1px solid #dfc9a8}.fc-dark{background:#f5eac4;border:1px solid #d8cc94}.fc-green{background:#e8e2d8;border:1px solid #ccc4b4}.fc-indigo{background:#e8e0c0;border:1px solid #ccc094}.fc-slate{background:#eddcbf;border:1px solid #d4b888}.fc-rose{background:#f0e4d8;border:1px solid #dcc8b0}.fc-mint{background:#e0ece4;border:1px solid #b8d4bc}.fc-horizontal{flex-direction:row;align-items:center;gap:1.25rem}.fc-horizontal .fc-content{flex:1}.fc-horizontal .fc-visual{flex:1;justify-content:center}.fc-content{display:flex;flex-direction:column;gap:.35rem;z-index:1}.fc-icon{width:36px;height:36px;background:#64461e1a;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:.25rem}.fc-icon svg{width:22px;height:22px}.feature-card h3{font-size:1rem;font-weight:700;color:var(--heading);letter-spacing:-.02em}.feature-card p{font-size:.81rem;color:var(--text);line-height:1.6}.fc-deco{position:absolute;bottom:-8px;right:4px;width:5.5rem;height:5.5rem;opacity:.12;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;overflow:hidden}.fc-deco svg{width:100%;height:100%}.fc-visual{flex:1;display:flex;flex-direction:column;gap:.3rem;margin-top:.25rem}.fv-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.fv-dot--green{background:#28a745}.fv-dot--red{background:#d9372a}.fv-dot--amber{background:#d4820a}.fv-dot--blue{background:#3a7fc1}.fv-form-group{display:flex;flex-direction:column;gap:3px}.fv-form-row{display:flex;gap:.6rem}.fv-form-row .fv-form-group{flex:1}.fv-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.fv-input{background:#64461e12;border:1px solid rgba(100,70,30,.18);border-radius:7px;padding:.45rem .65rem;font-size:.78rem;color:var(--heading);font-weight:500}.fv-input--mono{font-weight:700;letter-spacing:-.01em}.fv-input--cat{color:var(--accent)}.fv-submit{margin-top:.25rem;padding:.55rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.78rem;font-weight:700;cursor:default;font-family:inherit;letter-spacing:.01em}.fv-tx-row{display:flex;align-items:center;gap:.55rem;padding:.4rem .6rem;background:#64461e0d;border-radius:8px;border:1px solid rgba(100,70,30,.08)}.fv-tx-meta{flex:1;display:flex;flex-direction:column;gap:1px}.fv-tx-name{font-size:.75rem;font-weight:600;color:var(--heading)}.fv-tx-date{font-size:.65rem;color:var(--muted)}.fv-tx-val{font-size:.75rem;font-weight:700;letter-spacing:-.01em;flex-shrink:0}.fv-tx-val--income{color:#1e7e34}.fv-tx-val--expense{color:#c0392b}.fv-kpi-row{display:flex;align-items:center;background:#64461e0d;border:1px solid rgba(100,70,30,.1);border-radius:10px;padding:.65rem .75rem;gap:0}.fv-kpi{flex:1;display:flex;flex-direction:column;gap:2px;text-align:center}.fv-kpi-divider{width:1px;height:28px;background:#64461e26;flex-shrink:0}.fv-kpi-num{font-size:.9rem;font-weight:800;letter-spacing:-.02em;color:var(--heading)}.fv-kpi-num--income{color:#1e7e34}.fv-kpi-num--expense{color:#c0392b}.fv-kpi-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.fv-progress{display:flex;flex-direction:column;gap:5px}.fv-progress-header{display:flex;justify-content:space-between;font-size:.7rem;font-weight:600;color:var(--text)}.fv-progress-track{height:8px;background:#64461e1f;border-radius:99px;overflow:hidden}.fv-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#c8a060);border-radius:99px}.fv-progress-remain{font-size:.65rem;color:var(--muted)}.fv-hbar-row{display:flex;align-items:center;gap:.5rem}.fv-hbar-label{font-size:.7rem;font-weight:600;color:var(--text);width:62px;flex-shrink:0}.fv-hbar-track{flex:1;height:7px;background:#64461e1a;border-radius:99px;overflow:hidden}.fv-hbar-fill{height:100%;border-radius:99px;background:var(--accent)}.fv-hbar-fill--2{background:#b88a50}.fv-hbar-fill--3{background:#c09860}.fv-hbar-fill--4{background:#cca870}.fv-hbar-fill--5{background:#d8b888}.fv-hbar-val{font-size:.68rem;font-weight:700;color:var(--heading);width:36px;text-align:right;flex-shrink:0}.fc-visual--search{gap:.55rem}.fv-search-bar{display:flex;align-items:center;gap:.5rem;background:#64461e12;border:1px solid rgba(100,70,30,.2);border-radius:8px;padding:.45rem .75rem;height:34px}.fv-search-text{font-size:.75rem;color:var(--heading);font-weight:500;flex:1}.fv-search-cursor{width:1.5px;height:13px;background:var(--accent);border-radius:1px;animation:blink 1.1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.fv-filter-chips{display:flex;gap:.4rem;flex-wrap:wrap}.fv-chip{font-size:.65rem;font-weight:600;padding:.2rem .6rem;border-radius:99px;background:#64461e12;color:var(--text);border:1px solid rgba(100,70,30,.15)}.fv-chip--on{background:#a078482e;color:var(--accent);border-color:#a0784859}.fv-result{display:flex;align-items:center;gap:.55rem;padding:.38rem .6rem;background:#64461e0d;border-radius:7px;border:1px solid rgba(100,70,30,.07)}.fv-result-count{font-size:.65rem;color:var(--muted);text-align:right;padding-top:.15rem}.fc-visual--goals{display:flex;flex-direction:column;gap:.65rem}.fv-goal-item{display:flex;align-items:center;gap:.75rem;background:#ffffff8c;border-radius:12px;padding:.55rem .8rem;border:1px solid rgba(160,130,80,.15)}.fv-goal-ring-wrap{position:relative;flex-shrink:0}.fv-ring-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800}.fv-goal-info{display:flex;flex-direction:column;gap:.1rem}.fv-goal-name{font-size:.8rem;font-weight:700;color:var(--heading)}.fv-goal-sub{font-size:.68rem;color:var(--muted)}.fc-visual--recurring{display:flex;flex-direction:column;gap:.45rem}.fv-rec-item{display:flex;align-items:center;gap:.55rem;padding:.4rem .65rem;background:#ffffff8c;border-radius:9px;border:1px solid rgba(100,130,100,.15)}.fv-rec-icon{font-size:.9rem;color:var(--accent);flex-shrink:0;width:1.2rem;text-align:center}.fv-rec-auto{font-size:.7rem;font-weight:600;color:#3a7a3a;text-align:center;padding:.3rem;background:#3c8c3c12;border-radius:8px;margin-top:.1rem}.how-it-works{padding:7rem 2rem;background:linear-gradient(160deg,#ede0cc,#f5e8d4);position:relative;overflow:hidden}.how-it-works:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(154,110,58,.18) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.hiw-container{max-width:1100px;margin:0 auto;position:relative;z-index:1}.hiw-header{text-align:center;margin-bottom:4rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.hiw-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);background:#c8943a1f;border:1px solid rgba(200,148,58,.25);padding:.3rem .9rem;border-radius:999px;width:fit-content}.hiw-header h2{font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--heading);letter-spacing:-.035em;line-height:1.1;margin:0}.hiw-header p{font-size:1rem;color:var(--text);margin:0}.hiw-steps{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:start;gap:0}.hiw-step{background:var(--surface);border:1.5px solid var(--border);border-radius:24px;padding:2.25rem;display:flex;flex-direction:column;gap:1.1rem;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,border-color .3s,transform .3s var(--ease-out)}.hiw-step:after{content:attr(data-step);position:absolute;bottom:-1.5rem;right:.5rem;font-size:8rem;font-weight:900;line-height:1;color:#9a6e3a12;letter-spacing:-.04em;pointer-events:none;-webkit-user-select:none;user-select:none}.hiw-step:hover{box-shadow:var(--shadow-lg);border-color:#9a6e3a59;transform:translateY(-5px)}.hiw-step-top{display:flex;align-items:center;justify-content:space-between}.hiw-icon{width:48px;height:48px;border-radius:14px;background:#c8943a1f;border:1px solid rgba(200,148,58,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hiw-icon svg{width:36px;height:36px}.hiw-badge{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#c8943ab3;background:#c8943a1a;border:1px solid rgba(200,148,58,.2);padding:.2rem .55rem;border-radius:999px}.hiw-step h3{font-size:1.05rem;font-weight:700;color:var(--heading);letter-spacing:-.02em;margin:0}.hiw-step p{font-size:.87rem;color:var(--text);line-height:1.72;margin:0}.hiw-arrow{display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#9a6e3a80;margin-top:3.5rem;letter-spacing:0}@media(max-width:750px){.hiw-steps{grid-template-columns:1fr;gap:.75rem}.hiw-arrow{transform:rotate(90deg);margin:0;font-size:1.2rem}}.social-proof{padding:7rem 2rem;background:linear-gradient(160deg,#f5ead8,#ede0c8);position:relative;overflow:hidden}.social-proof:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(154,110,58,.12) 0%,transparent 70%);pointer-events:none}.sp-container{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:4rem;position:relative;z-index:1}.sp-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.75rem}.sp-count-wrap{display:flex;flex-direction:column;align-items:center;gap:.5rem}.sp-big-num{font-size:clamp(4.5rem,10vw,7.5rem);font-weight:900;line-height:1;letter-spacing:-.05em;color:var(--heading);display:block}.sp-big-plus{color:var(--accent)}.sp-big-label{font-size:1.05rem;color:var(--text);letter-spacing:0}.sp-stars-row{display:flex;align-items:center;gap:.65rem;background:#fff9;border:1px solid rgba(154,110,58,.2);padding:.5rem 1.25rem;border-radius:999px}.sp-stars{color:#d4940a;font-size:1rem;letter-spacing:3px}.sp-stars-label{font-size:.82rem;color:var(--text)}.sp-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;width:100%}.sp-card{background:var(--surface);border:1.5px solid var(--border);border-radius:22px;padding:2rem;display:flex;flex-direction:column;gap:1.25rem;position:relative;box-shadow:var(--shadow-xs);transition:box-shadow .3s,border-color .3s,transform .3s var(--ease-out)}.sp-card:hover{box-shadow:var(--shadow-lg);border-color:#9a6e3a4d;transform:translateY(-5px)}.sp-card--featured{border-color:#9a6e3a59;background:linear-gradient(135deg,#fffdf9,#fff8ee)}.sp-quote-mark{font-size:3.5rem;line-height:1;color:#9a6e3a2e;font-family:Georgia,serif;position:absolute;top:.75rem;left:1.5rem}.sp-quote{font-size:.95rem;color:var(--text);line-height:1.75;padding-top:1.75rem;margin:0;flex:1}.sp-author{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.sp-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent-light),rgba(154,110,58,.2));color:var(--accent);font-size:.85rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid rgba(154,110,58,.25)}.sp-author-info{display:flex;flex-direction:column;gap:.1rem;flex:1}.sp-name{font-size:.85rem;font-weight:700;color:var(--heading)}.sp-role{font-size:.75rem;color:var(--muted)}.sp-rating{color:#d4940a;font-size:.75rem;letter-spacing:1px;flex-shrink:0}.sp-cta{margin-top:1rem}.sp-cta-btn{padding:.95rem 2.75rem;font-size:1rem;border-radius:50px;background:linear-gradient(135deg,#c8943a,#a07030);border:none;box-shadow:0 4px 24px #c8943a4d}.sp-cta-btn:hover{background:linear-gradient(135deg,#d4a040,#b07838);box-shadow:0 6px 32px #c8943a73;transform:translateY(-2px)}@media(max-width:800px){.sp-testimonials{grid-template-columns:1fr}}.about{background:#f5f5f7;padding:7rem 2rem;position:relative;overflow:hidden}.about-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.about-orb--1{width:560px;height:560px;background:radial-gradient(circle,rgba(160,120,72,.1) 0%,transparent 65%);top:-120px;right:-100px;animation:orbFloat1 14s ease-in-out infinite}.about-orb--2{width:420px;height:420px;background:radial-gradient(circle,rgba(160,120,72,.07) 0%,transparent 65%);bottom:-60px;left:-80px;animation:orbFloat2 18s ease-in-out infinite}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}35%{transform:translate(-40px,35px) scale(1.04)}70%{transform:translate(25px,-25px) scale(.97)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(35px,-45px) scale(1.06)}}.about-container{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:4rem;position:relative;z-index:1}.about-intro{text-align:center;max-width:720px;margin:0 auto}.about-intro h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.03em;color:#1d1d1f;margin-bottom:1rem}.about-intro p{font-size:1.1rem;color:#6e6e73;line-height:1.75}.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#00000014;border-radius:20px;overflow:hidden}.about-stat{background:#fff;padding:2.5rem 2rem;display:flex;flex-direction:column;gap:.5rem;text-align:center}.astat-n{font-size:2.75rem;font-weight:800;letter-spacing:-.04em;color:var(--accent)}.astat-l{font-size:.85rem;color:#6e6e73;line-height:1.5}.strike-word{position:relative;display:inline;white-space:nowrap}.strike-word:after{content:"";position:absolute;left:0;top:52%;width:100%;height:3px;background:var(--accent);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.22,1,.36,1) .55s}.about-intro.is-visible .strike-word:after{transform:scaleX(1)}@keyframes statPop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}.astat-n.pop{animation:statPop .35s cubic-bezier(.34,1.56,.64,1)}.weekly-digest{background:linear-gradient(135deg,var(--surface) 0%,#f8f0e5 100%);border:1px solid rgba(200,180,155,.6);border-radius:20px;padding:1.3rem 1.6rem;display:flex;flex-direction:column;gap:.9rem;grid-column:1 / -1;box-shadow:var(--shadow-xs);animation:fadeSlideUp .35s var(--ease-out) both}.digest-header{display:flex;align-items:center;justify-content:space-between}.digest-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.digest-range{font-size:.8rem;color:var(--muted)}.digest-stats{display:flex;gap:2rem}.digest-stat{display:flex;flex-direction:column;gap:.15rem}.digest-stat-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.digest-stat-value{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--heading)}.digest-income{color:#2d7a3a}.digest-expense{color:#b33a2b}.digest-highlights{display:flex;flex-wrap:wrap;gap:.5rem}.digest-chip{background:var(--bg-alt);border:1px solid var(--border);border-radius:99px;padding:.3rem .75rem;font-size:.78rem;color:var(--text)}.digest-chip b{color:var(--heading)}.networth-section{display:flex;flex-direction:column;gap:1.25rem}.networth-header{display:flex;align-items:center;justify-content:space-between}.networth-total{font-size:1.8rem;font-weight:800;letter-spacing:-.03em}.networth-positive{color:#2d7a3a}.networth-negative{color:#b33a2b}.nw-bar-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.nw-bar-label{font-size:.78rem;color:var(--muted);width:70px;flex-shrink:0;text-align:right}.nw-bar-track{flex:1;background:var(--bg-alt);border-radius:99px;height:10px;overflow:hidden}.nw-bar-fill{height:100%;border-radius:99px;transition:width .5s ease;min-width:4px}.nw-bar-fill--assets{background:#2d7a3a}.nw-bar-fill--liabilities{background:#b33a2b}.networth-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.networth-col{display:flex;flex-direction:column;gap:.75rem}.networth-col-header{display:flex;align-items:center;justify-content:space-between}.networth-col-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.networth-col-title--assets{color:#2d7a3a}.networth-col-title--liabilities{color:#b33a2b}.networth-col-total{font-size:1rem;font-weight:700;color:var(--heading)}.networth-items{display:flex;flex-direction:column;gap:.4rem;min-height:40px}.nw-item{display:flex;align-items:center;gap:.5rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem}.nw-item-name{flex:1;font-size:.88rem;color:var(--text)}.nw-item-value{font-size:.88rem;font-weight:600;color:var(--heading)}.nw-delete-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.7rem;padding:.1rem .3rem;border-radius:4px;transition:color .15s,background .15s}.nw-delete-btn:hover{color:#b33a2b;background:#fdf0ed}.nw-empty{font-size:.82rem;color:var(--muted);font-style:italic}.networth-add-form{display:flex;gap:.5rem;flex-wrap:wrap}.networth-add-form input{flex:1;min-width:100px;padding:.5rem .75rem;border:1.5px solid var(--border);border-radius:8px;font-size:.85rem;color:var(--heading);background:var(--bg);font-family:inherit;transition:border-color .15s}.networth-add-form input:focus{outline:none;border-color:var(--accent)}@media(max-width:600px){.networth-columns{grid-template-columns:1fr}.digest-stats{gap:1rem}}.month-picker{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:.3rem .75rem}.month-nav-btn{background:none;border:none;cursor:pointer;color:var(--accent);font-size:1.1rem;padding:.1rem .3rem;border-radius:50%;transition:background .15s;line-height:1}.month-nav-btn:hover:not(:disabled){background:var(--accent-light)}.month-nav-btn:disabled{cursor:default}.month-label{font-size:.9rem;font-weight:600;color:var(--heading);min-width:130px;text-align:center}.budget-alert{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.25rem;border-radius:14px;font-size:.88rem;font-weight:500;margin-bottom:.5rem;animation:alertSlideDown .3s var(--ease-out) both}.budget-alert--warn{background:#fef9ec;border:1px solid #f0d060;color:#7a5c00}.budget-alert--danger{background:#fdf0ed;border:1px solid #f5c8be;color:#b33a2b}.budget-alert-close{background:none;border:none;cursor:pointer;font-size:.9rem;color:inherit;opacity:.6;flex-shrink:0;padding:.1rem .3rem}.budget-alert-close:hover{opacity:1}.month-recap{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:16px;font-size:.88rem;font-weight:500;margin-bottom:.5rem;animation:alertSlideDown .3s var(--ease-out) both;background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow-xs)}.month-recap-icon{font-size:1.6rem;line-height:1;flex-shrink:0}.month-recap-body{flex:1}.month-recap-title{font-weight:700;font-size:.93rem;color:var(--heading);margin-bottom:.15rem}.month-recap-tip{font-size:.82rem;color:var(--muted)}.month-recap--success{background:linear-gradient(135deg,#edf9ee,#d8f0dc);border-color:#a8d8b0}.month-recap--missed{background:linear-gradient(135deg,#fdf4f0,#f8e8e4);border-color:#e8bdb5}.recurring-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin-bottom:.25rem;width:fit-content}.recurring-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.recurring-toggle-label{font-size:.85rem;color:var(--muted);-webkit-user-select:none;user-select:none}.recurring-toggle:hover .recurring-toggle-label{color:var(--text)}.tx-recurring-badge{display:inline-block;margin-left:.4rem;font-size:.75rem;color:var(--accent);font-weight:700;vertical-align:middle;opacity:.8}.stats-section{margin-top:4rem;display:flex;flex-direction:column;gap:2rem}.stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.75rem 1.5rem;text-align:center;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .2s,transform .2s}.stat-card:hover{box-shadow:0 6px 20px #64461e1a;transform:translateY(-2px)}.stat-number{font-size:2.4rem;font-weight:800;color:var(--accent);letter-spacing:-.03em;line-height:1}.stat-label{font-size:.84rem;color:var(--text);line-height:1.5}.charts-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.75rem;text-align:left;display:flex;flex-direction:column;gap:.4rem}.chart-title{font-size:1rem;font-weight:700;color:var(--heading);margin:0}.chart-subtitle{font-size:.8rem;color:var(--muted);margin:0 0 1rem}.bar-chart{display:flex;flex-direction:column;gap:.7rem;margin-top:.5rem}.bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.28rem}.bar-label{font-size:.8rem;font-weight:600;color:var(--heading)}.bar-value{font-size:.75rem;font-weight:700;color:var(--muted)}.bar-track{height:7px;background:#00000012;border-radius:99px;overflow:hidden}.bar-fill{height:100%;border-radius:99px;transform:scaleX(0);transform-origin:left;transition:transform .75s cubic-bezier(.4,0,.2,1)}.charts-row.is-visible .bar-fill{transform:scaleX(1)}.bar-row:nth-child(1) .bar-fill{transition-delay:.05s}.bar-row:nth-child(2) .bar-fill{transition-delay:.17s}.bar-row:nth-child(3) .bar-fill{transition-delay:.29s}.bar-row:nth-child(4) .bar-fill{transition-delay:.41s}.bar-row:nth-child(5) .bar-fill{transition-delay:.53s}.bar-row:nth-child(6) .bar-fill{transition-delay:.65s}.donut-wrap{display:flex;align-items:center;gap:1.5rem;margin-top:.75rem}.donut-figure{position:relative;width:116px;height:116px;flex-shrink:0}.donut-svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-arc{animation-duration:.85s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:both;animation-play-state:paused}.charts-row.is-visible .donut-arc{animation-play-state:running}.donut-arc--1{animation-name:donutArc1;animation-delay:.05s}.donut-arc--2{animation-name:donutArc2;animation-delay:.35s}.donut-arc--3{animation-name:donutArc3;animation-delay:.6s}@keyframes donutArc1{0%{stroke-dasharray:0 238.76}to{stroke-dasharray:76.4 162.36}}@keyframes donutArc2{0%{stroke-dasharray:0 238.76}to{stroke-dasharray:57.3 181.46}}@keyframes donutArc3{0%{stroke-dasharray:0 238.76}to{stroke-dasharray:105.1 133.66}}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;pointer-events:none}.donut-center-num{font-size:1.45rem;font-weight:800;color:var(--heading);letter-spacing:-.03em}.donut-center-lbl{font-size:.6rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.donut-legend{display:flex;flex-direction:column;gap:.55rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text)}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.trend-svg{width:100%;height:120px;margin-top:.25rem;overflow:visible}.trend-line--main{stroke-dasharray:420;stroke-dashoffset:420;animation:trendDraw 1.3s cubic-bezier(.4,0,.2,1) .15s both;animation-play-state:paused}.trend-line--flat{opacity:0;animation:trendFadeIn .5s ease 1.1s both;animation-play-state:paused}.trend-area{opacity:0;animation:trendFadeIn .6s ease .9s both;animation-play-state:paused}.charts-row.is-visible .trend-line--main,.charts-row.is-visible .trend-line--flat,.charts-row.is-visible .trend-area{animation-play-state:running}@keyframes trendDraw{to{stroke-dashoffset:0}}@keyframes trendFadeIn{to{opacity:1}}.trend-dot{opacity:0;transform-box:fill-box;transform-origin:center;animation:dotPop .3s var(--ease-spring) both;animation-play-state:paused}.charts-row.is-visible .trend-dot{animation-play-state:running}@keyframes dotPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.trend-labels{display:flex;justify-content:space-between;font-size:.67rem;color:var(--muted);font-weight:500;margin-top:.3rem}.trend-legend{display:flex;gap:1.25rem;margin-top:.6rem}.legend-line{display:inline-block;width:20px;height:2.5px;border-radius:99px;flex-shrink:0}.legend-line--dashed{background:none!important;border-top:2px dashed #c8a070;height:0;margin-top:1px}.chart-card{background:linear-gradient(145deg,var(--surface) 0%,#f8f2ea 100%);border:1px solid rgba(200,180,155,.5);border-radius:20px;padding:1.5rem 1.5rem 1.25rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-sm)}@media(max-width:900px){.stats-cards{grid-template-columns:repeat(2,1fr)}.charts-row{grid-template-columns:1fr}}@media(max-width:540px){.stats-cards{grid-template-columns:1fr 1fr}.stat-number{font-size:1.9rem}}footer{background:#f5f5f7;border-top:1px solid rgba(0,0,0,.07);padding:3rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}.footer-tagline{font-size:.9rem;color:var(--muted);max-width:400px;line-height:1.6}.footer-copy{font-size:.8rem;color:var(--muted);margin-top:.25rem}.app-page{background:var(--bg);position:relative}.app-page:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(480px circle at 12% 8%,rgba(154,110,58,.2),transparent 60%),radial-gradient(420px circle at 92% 18%,rgba(0,122,255,.14),transparent 60%),radial-gradient(460px circle at 20% 85%,rgba(29,185,84,.13),transparent 60%),radial-gradient(400px circle at 88% 90%,rgba(245,232,213,.55),transparent 60%)}.app-layout{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:5.5rem 2rem 5rem;display:flex;flex-direction:column;gap:1.75rem}.app-layout>*:nth-child(1){animation-delay:.04s}.app-layout>*:nth-child(2){animation-delay:.08s}.app-layout>*:nth-child(3){animation-delay:.13s}.app-layout>*:nth-child(4){animation-delay:.18s}.app-layout>*:nth-child(5){animation-delay:.23s}.app-layout>*:nth-child(6){animation-delay:.28s}.welcome-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.6rem;border-radius:20px;border:none;animation:fadeSlideUp .3s var(--ease-out) both}.welcome-bar--user,.welcome-bar--guest{background:var(--surface);box-shadow:var(--shadow-sm);border:none}.welcome-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.welcome-greeting{font-size:.88rem;color:var(--muted);white-space:nowrap}.welcome-bar--user .welcome-email{font-size:.88rem;font-weight:600;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.welcome-bar--guest .welcome-email{font-size:.88rem;color:#8a6020}.welcome-date{font-size:.82rem;color:var(--muted);white-space:nowrap;flex-shrink:0}@media(max-width:480px){.welcome-date{display:none}.welcome-bar{padding:.75rem 1rem}}.nav-active{font-size:.9rem;font-weight:600;color:var(--accent)}.dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.stat-card--income{animation-delay:.06s}.stat-card--expenses{animation-delay:.12s}.stat-card--balance{animation-delay:.18s}.weekly-digest{animation:fadeSlideUp .38s var(--ease-out) .22s both}.pie-chart-card{animation:fadeSlideUp .38s var(--ease-out) .26s both}.budget-card{animation:fadeSlideUp .38s var(--ease-out) .3s both}.pie-chart-card{grid-column:1 / -1;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:24px;padding:1.6rem 2rem;box-shadow:var(--shadow-sm);animation:fadeSlideUp .38s var(--ease-out) both}.pie-chart-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:1.5rem}.pie-chart-inner{max-width:560px;margin:0 auto}.pie-chart-inner canvas{max-height:280px}.budget-card{grid-column:1 / -1;background:linear-gradient(135deg,#fff9,#f5ede08c);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(200,180,155,.5);border-radius:20px;padding:1.3rem 1.75rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem;animation:fadeSlideUp .38s var(--ease-out) both}.budget-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.budget-card-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.budget-card-values{font-size:.88rem;color:var(--text);font-weight:500}.budget-track{height:10px;background:var(--bg-alt);border-radius:99px;overflow:hidden}.budget-fill{height:100%;border-radius:99px;background:#70a878;transition:width .4s ease}.budget-fill--warn{background:#c49040}.budget-fill--over{background:#c05040}.budget-card-bottom{display:flex;align-items:center;justify-content:space-between}.budget-remaining{font-size:.85rem;color:#3a7048;font-weight:500}.budget-remaining--over{color:#c05040}.budget-edit-link{font-size:.8rem;color:var(--muted);text-decoration:none;transition:color .15s}.budget-edit-link:hover{color:var(--accent)}.profile-saved{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--bg) 0%,var(--accent-light) 100%);border:1px solid rgba(160,120,72,.2);border-radius:14px;flex-wrap:wrap}.profile-saved-row{display:flex;gap:2rem;flex-wrap:wrap}.profile-saved-info{display:flex;flex-direction:column;gap:.2rem}.profile-saved-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.profile-saved-value{font-size:1.35rem;font-weight:700;color:var(--heading);letter-spacing:-.02em}.profile-desc{font-size:.88rem;color:var(--muted);margin-bottom:.9rem}.profile-fields{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.profile-fields input{flex:1;min-width:160px;padding:.65rem 1rem;border:1.5px solid var(--border);border-radius:10px;font-size:.95rem;color:var(--heading);background:var(--bg);font-family:inherit;transition:border-color .15s}.profile-fields input:focus{outline:none;border-color:var(--accent)}.profile-error{font-size:.83rem;color:#b33a2b;margin-top:.5rem;min-height:1.1em}.goals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}.goal-field{display:flex;flex-direction:column;gap:.4rem}.goal-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.goal-input-wrap{position:relative;display:flex;align-items:center}.goal-input-wrap input{width:100%;padding:.65rem 2.5rem .65rem 1rem;border:1.5px solid var(--border);border-radius:10px;font-size:.95rem;color:var(--heading);background:var(--bg);font-family:inherit;transition:border-color .15s,box-shadow .15s}.goal-input-wrap input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #a078481a}.input-clear-btn{position:absolute;right:.55rem;width:22px;height:22px;border-radius:50%;border:none;background:var(--border);color:var(--muted);font-size:.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s,transform .15s;pointer-events:none}.goal-input-wrap input:not(:placeholder-shown)~.input-clear-btn,.goal-input-wrap:focus-within .input-clear-btn{opacity:1;pointer-events:auto}.input-clear-btn:hover{background:var(--accent);color:#fff;transform:scale(1.1)}.profile-actions{display:flex;gap:.75rem;align-items:center}.change-password-section{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.change-password-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;max-width:340px}.change-password-actions{display:flex;gap:.6rem;align-items:center}@media(max-width:700px){.goals-grid{grid-template-columns:1fr}}.stat-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:24px;padding:1.5rem 1.6rem 1.4rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--glass-border);transition:box-shadow .28s var(--ease-out),transform .28s var(--ease-spring),background .28s var(--ease-out);position:relative;overflow:hidden;animation:fadeSlideUp .38s var(--ease-out) both;cursor:default}.stat-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.stat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:18px;height:18px;stroke-width:2.5}.stat-icon--income{background:#e8f8ee;color:#1db954}.stat-icon--expenses{background:#ffeaea;color:#ff3b30}.stat-icon--balance{background:#e8f0ff;color:#007aff}.stat-card:after{display:none}.stat-card:before{display:none}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px) scale(1.01)}.stat-card--income{border-top:3px solid #1db954}.stat-card--expenses{border-top:3px solid #ff3b30}.stat-card--balance{border-top:3px solid #007aff;transition:border-color .35s var(--ease-out),box-shadow .25s var(--ease-out),transform .25s var(--ease-spring)}.stat-card--balance.is-positive{border-top-color:#1db954}.stat-card--balance.is-positive .stat-icon--balance{background:#e8f8ee;color:#1db954}.stat-card--balance.is-negative{border-top-color:#ff3b30}.stat-card--balance.is-negative .stat-icon--balance{background:#ffeaea;color:#ff3b30}.stat-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat-value{font-size:2.4rem;font-weight:800;letter-spacing:-.04em;color:var(--heading);line-height:1.1;transition:color .3s var(--ease-in-out)}.stat-card--income .stat-value{color:#1db954}.stat-card--expenses .stat-value{color:#ff3b30}.stat-value.positive{color:#1db954}.stat-value.negative{color:#ff3b30}.stat-sub{font-size:.72rem;color:var(--muted);margin-top:.15rem;font-weight:500}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes alertSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes numberPop{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.app-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:24px;padding:2rem;box-shadow:var(--shadow-sm);animation:fadeSlideUp .42s var(--ease-out) both;transition:box-shadow .25s var(--ease-in-out),transform .25s var(--ease-out),background .25s var(--ease-in-out)}.app-card:hover{box-shadow:var(--shadow-md)}.form-section{animation-delay:.08s}.profile-section{animation-delay:.14s}.history-section{animation-delay:.2s}.card-title{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--heading);margin-bottom:1.5rem;display:flex;align-items:center;gap:.6rem}.card-title:before{display:none}.form-section form{display:flex;flex-direction:column;gap:1.1rem}.form-group{display:flex;flex-direction:column;gap:.45rem}.form-group label{font-size:.8rem;font-weight:600;color:var(--text);letter-spacing:.01em}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}input[type=text],input[type=number],input[type=date],select{padding:.72rem 1rem;background:var(--bg);border:1.5px solid var(--border);border-radius:10px;font-family:inherit;font-size:.9rem;color:var(--heading);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s;width:100%;appearance:none;-webkit-appearance:none;line-height:1.4}input[type=text]:hover,input[type=number]:hover,input[type=date]:hover,select:hover{border-color:#c4b0a0}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a89070' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}input[type=text]:focus,input[type=number]:focus,input[type=date]:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a0784824,0 2px 8px #a078481a;background-color:var(--surface)}input::placeholder{color:var(--muted);font-size:.88rem}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}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.input-error{border-color:#c44a3a!important;box-shadow:0 0 0 3px #c44a3a26!important;animation:shake .35s ease}.type-toggle{display:grid;grid-template-columns:1fr 1fr;background:var(--bg-alt);border:1.5px solid var(--border);border-radius:12px;padding:4px;gap:4px}.type-btn{padding:.65rem 1rem;border:none;border-radius:9px;background:transparent;font-family:inherit;font-size:.88rem;font-weight:600;color:var(--muted);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;text-align:center;letter-spacing:.01em}.type-btn:hover:not(.active){background:#ffffff80;color:var(--text)}.type-btn--expense.active{background:var(--surface);color:var(--accent);box-shadow:0 2px 8px #64461e2e,0 1px 2px #64461e1a}.type-btn--income.active{background:var(--surface);color:#2e6a25;box-shadow:0 2px 8px #2864282e,0 1px 2px #2864281a}.type-toggle{position:relative}.type-btn{transition:color .22s ease,background .22s ease,box-shadow .22s ease}@keyframes formSlideOutLeft{to{transform:translate(-40px);opacity:0}}@keyframes formSlideOutRight{to{transform:translate(40px);opacity:0}}@keyframes formSlideInLeft{0%{transform:translate(-40px);opacity:0}to{transform:none;opacity:1}}@keyframes formSlideInRight{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.form-body.slide-out-left{animation:formSlideOutLeft .18s ease forwards}.form-body.slide-out-right{animation:formSlideOutRight .18s ease forwards}.form-body.slide-in-left{animation:formSlideInLeft .22s ease forwards}.form-body.slide-in-right{animation:formSlideInRight .22s ease forwards}.btn-full{width:100%;text-align:center;border:none;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:.85rem 1rem;margin-top:.15rem;border-radius:10px}.history-section{display:flex;flex-direction:column}.history-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem}.history-header .card-title{margin-bottom:0}.tx-count{font-size:.8rem;color:var(--muted)}.filters-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;padding-bottom:1.35rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.filter-search{flex:1;min-width:160px}.filter-select,.filter-date{min-width:130px}.btn-ghost{padding:.68rem 1rem;background:transparent;border:1.5px solid var(--border);border-radius:10px;font-family:inherit;font-size:.83rem;font-weight:500;color:var(--text);cursor:pointer;transition:background .18s var(--ease-in-out),border-color .18s var(--ease-in-out),color .18s var(--ease-in-out),box-shadow .18s var(--ease-in-out),transform .15s var(--ease-spring);white-space:nowrap}.btn-ghost:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent);box-shadow:0 2px 8px #64461e1a}.btn-ghost:active{transform:scale(.97)}.chart-wrap{padding:1.5rem 1.25rem;margin-bottom:.75rem;background:linear-gradient(135deg,var(--surface) 0%,#f8f2ea 100%);border:1px solid rgba(200,180,155,.45);border-radius:16px}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.chart-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0}.chart-total-badge{font-size:.8rem;font-weight:700;color:var(--accent);background:var(--accent-light);padding:.2rem .65rem;border-radius:999px}.chart-bars{display:flex;flex-direction:column;gap:.5rem}.cbar-row{display:grid;grid-template-columns:110px 1fr 72px;align-items:center;gap:.6rem}.cbar-label{display:flex;align-items:center;gap:.45rem;min-width:0}.cbar-dot{display:none}.cbar-name{font-size:.79rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cbar-track{height:22px;background:#c8b49b33;border-radius:999px;overflow:hidden}.cbar-fill{height:100%;border-radius:999px;width:0%;transition:width .75s cubic-bezier(.22,1,.36,1)}.cbar-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.05rem}.cbar-amount{font-size:.8rem;font-weight:700;color:var(--heading)}.cbar-pct{font-size:.67rem;font-weight:600;color:var(--muted)}@keyframes txSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes txHeaderIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tx-date-group{margin-bottom:.75rem}.txg-header{display:flex;align-items:center;justify-content:space-between;padding:.3rem .25rem .45rem;margin-bottom:.35rem;border-bottom:1.5px solid var(--bg-alt);animation:txHeaderIn .32s var(--ease-out) both}.txg-date{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.txg-summary{display:flex;gap:.6rem;align-items:center;font-size:.8rem;font-weight:600}.txg-inc{color:#2d7a3a}.txg-exp{color:#c44a3a}.tx-item{display:grid;grid-template-columns:2rem 1fr auto auto;align-items:center;gap:.75rem;padding:.75rem .5rem;border-radius:12px;transition:background .16s var(--ease-in-out),transform .18s var(--ease-spring);position:relative;animation:txSlideIn .38s var(--ease-out) both}.tx-item:hover{background:var(--bg-alt);transform:translate(3px)}.tx-item:before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:3px;border-radius:99px;background:var(--accent);opacity:0;transform:scaleY(.4);transition:opacity .18s,transform .22s var(--ease-spring)}.tx-item:hover:before{opacity:.5;transform:scaleY(1)}.tx-type-dot{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;flex-shrink:0}.tx-type-dot--income{background:#d8f0dc;color:#1a6030}.tx-type-dot--expense{background:#fce8e4;color:#b83428}.tx-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.tx-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .16s var(--ease-in-out)}.tx-item:hover .tx-actions{opacity:1}@media(hover:none){.tx-actions{opacity:1}}.tx-type-badge{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap;letter-spacing:.02em}.tx-type-badge--income{background:#d8f0dc;color:#1a6030}.tx-type-badge--expense{background:#fce8e4;color:#b83428}.tx-badge{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:.7rem;font-weight:600;white-space:nowrap}.tx-badge--housing{background:#f0e4cc;color:#7a4820}.tx-badge--mortgage{background:#eddcc8;color:#6c3c18}.tx-badge--utilities{background:#e8e4c8;color:#5c5020}.tx-badge--groceries{background:#f5e6cf;color:#7c5020}.tx-badge--dining{background:#f5eac4;color:#7a6010}.tx-badge--transport{background:#e8dece;color:#5c3d18}.tx-badge--gas{background:#f5e0c4;color:#7c4010}.tx-badge--carpayment{background:#d8e4f0;color:#24446c}.tx-badge--carinsurance{background:#d4ddf0;color:#1e3c6c}.tx-badge--healthins{background:#c8e8d0;color:#1a5c2a}.tx-badge--medical{background:#deecd8;color:#2e6030}.tx-badge--phone{background:#dcd8f0;color:#342880}.tx-badge--internet{background:#d0e4f8;color:#1a4470}.tx-badge--subscriptions{background:#e4d4f0;color:#5c2470}.tx-badge--childcare{background:#f8d8e8;color:#7c2050}.tx-badge--education{background:#e4e8cc;color:#4c5420}.tx-badge--creditcards{background:#f5d8cc;color:#8c2c1c}.tx-badge--personalcare{background:#f0d8e4;color:#782448}.tx-badge--clothing{background:#d4e8e4;color:#1c5850}.tx-badge--entertainment{background:#ead4e8;color:#6a2868}.tx-badge--bills{background:#e0d4c4;color:#4a3020}.tx-badge--health{background:#deecd8;color:#2e6030}.tx-badge--paycheck{background:#d4eccc;color:#1a5010}.tx-badge--salary{background:#d8e8f0;color:#1e4868}.tx-badge--freelance{background:#d8d8f0;color:#30288a}.tx-badge--bonuses{background:#f0e4c4;color:#6c4810}.tx-badge--stocks{background:#c8edd8;color:#1a5034}.tx-badge--gift{background:#f0d4e8;color:#6c1848}.tx-badge--benefits{background:#e0d4f0;color:#3c2070}.tx-badge--retirement{background:#f0dcd4;color:#6c2c18}.tx-badge--other{background:#e4e4e8;color:#404050}.tx-desc{font-size:.9rem;font-weight:500;color:var(--heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tx-date{font-size:.78rem;color:var(--muted);white-space:nowrap}.tx-amount{font-size:.95rem;font-weight:700;white-space:nowrap}.tx-amount--expense{color:#c44a3a;font-weight:600}.tx-amount--income{color:#2d7a3a;font-weight:600}.tx-edit{background:none;border:1px solid transparent;cursor:pointer;font-size:.85rem;color:var(--muted);padding:.35rem .5rem;border-radius:8px;transition:color .15s var(--ease-in-out),background .15s var(--ease-in-out),border-color .15s var(--ease-in-out),transform .15s var(--ease-spring);line-height:1;flex-shrink:0}.tx-edit:hover{color:var(--accent);background:var(--accent-light);border-color:#a0784833;transform:scale(1.1)}.tx-edit:focus-visible{outline:2px solid var(--accent);outline-offset:1px;color:var(--accent)}.tx-delete{background:none;border:1px solid transparent;cursor:pointer;font-size:.75rem;color:var(--muted);padding:.35rem .5rem;border-radius:8px;transition:color .15s var(--ease-in-out),background .15s var(--ease-in-out),border-color .15s var(--ease-in-out),transform .15s var(--ease-spring);line-height:1;flex-shrink:0}.tx-delete:hover{color:#c44a3a;background:#fde8e5;border-color:#c44a3a33;transform:scale(1.1)}.tx-delete:focus-visible{outline:2px solid #c44a3a;outline-offset:1px;color:#c44a3a}.form-section.is-editing{border-color:#a0784880;box-shadow:0 0 0 3px #a078481a,var(--shadow-md)}.btn-cancel-edit{margin-top:.5rem}.cat-select{position:relative}.cat-handle{width:40px;height:4px;background:#0000002e;border-radius:99px;margin:0 auto .65rem;flex-shrink:0;align-self:center}.cat-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem 1rem;background-color:var(--bg);border:1.5px solid var(--border);border-radius:10px;font-family:inherit;font-size:.9rem;cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s;text-align:left}.cat-trigger:hover{border-color:#c4b0a0}.cat-trigger:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a0784824;outline:none}.cat-trigger-label{font-weight:600;color:var(--text);transition:color .2s}.cat-arrow{flex-shrink:0;color:var(--muted);transition:transform .2s}.cat-trigger[aria-expanded=true] .cat-arrow{transform:rotate(180deg)}.cat-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;box-shadow:0 8px 28px #64461e24;z-index:200;padding:7px;flex-wrap:wrap;flex-direction:row;gap:4px}.cat-menu.is-open{display:flex}.cat-option{padding:.42rem .75rem;border-radius:8px;font-size:.82rem;font-weight:600;background:var(--cat-bg, var(--bg-alt));color:var(--cat-color, var(--text));cursor:pointer;white-space:nowrap;transition:opacity .15s;-webkit-user-select:none;user-select:none}.cat-option:hover{opacity:.78}.cat-option.is-selected{outline:2px solid var(--cat-color, var(--accent));outline-offset:-2px}.paycheck-reminder{background:#e8f0e4;border:1px solid #b8d0b0;border-radius:12px;padding:1rem 1.25rem;margin-top:1rem}.reminder-saved{display:flex;align-items:center;justify-content:space-between;gap:1rem}.reminder-saved-text{display:flex;flex-direction:column;gap:.15rem}.reminder-saved-actions{display:flex;gap:.4rem;align-items:center}.reminder-saved-label,.reminder-heading{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#3a7a30}.reminder-saved-detail{font-size:.95rem;font-weight:700;color:#2e5024}.reminder-heading{margin-bottom:.65rem}.reminder-fields{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.reminder-fields input{flex:1;min-width:110px;background:var(--surface)}.reminder-save-btn{padding:.62rem 1.1rem;font-size:.85rem;white-space:nowrap}.reminder-remove-btn{color:#b03a2e;border-color:#e8b4ae}.reminder-remove-btn:hover{background:#fdf0ef;border-color:#c0392b;color:#c0392b}.btn-sm{padding:.48rem .85rem;font-size:.8rem;border-radius:8px}.goals-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem 1.25rem}.goals-form-actions{display:flex;align-items:center;gap:.75rem;margin-top:1.1rem}.goal-card{background:var(--surface);border:1px solid rgba(200,180,155,.6);border-radius:16px;padding:1.15rem 1.3rem;margin-bottom:.65rem;box-shadow:var(--shadow-xs);transition:box-shadow .22s var(--ease-out),transform .22s var(--ease-spring),border-color .22s var(--ease-in-out);animation:fadeSlideUp .35s var(--ease-out) both}.goal-card:last-child{margin-bottom:0}.goal-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:#a0784840}.goal-card--done{opacity:.72}.goal-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.goal-card-left{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.goal-dot{width:11px;height:11px;border-radius:50%;margin-top:.3rem;flex-shrink:0}.goal-card-name{font-weight:700;font-size:1rem;color:var(--heading);display:block}.goal-card-note{font-size:.8rem;color:var(--muted);display:block;margin-top:.1rem}.goal-card-actions{display:flex;gap:.4rem;flex-shrink:0}.goal-contrib-btn{background:var(--accent);color:#fff;border:none;border-radius:7px;padding:.32rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.goal-contrib-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.goal-edit-btn,.goal-delete-btn{background:none;border:1px solid var(--border);border-radius:7px;padding:.32rem .55rem;font-size:.85rem;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.goal-edit-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.goal-delete-btn:hover{border-color:#c0392b;color:#c0392b;background:#fff0ee}.goal-progress-row{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.5rem}.goal-saved{font-weight:700;font-size:1.05rem;color:var(--heading)}.goal-target{font-size:.9rem;color:var(--text)}.goal-pct{margin-left:auto;font-size:.82rem;font-weight:700;color:var(--muted)}.goal-track{background:var(--bg-alt);border-radius:99px;height:8px;overflow:hidden;margin-bottom:.5rem}.goal-fill{height:100%;border-radius:99px;transition:width .6s ease;min-width:4px}.goal-meta{font-size:.78rem;color:var(--muted);display:block}.goal-meta--done{color:#3a7a30;font-weight:600}.goal-meta--overdue{color:#c0392b;font-weight:600}.investing-tip-card{background:linear-gradient(135deg,#f0ede4,#e8e0d0 60%,#f4eed8);border:1.5px solid rgba(160,130,80,.3);border-radius:20px;padding:1.5rem 1.75rem;display:flex;align-items:flex-start;gap:1.25rem;box-shadow:var(--shadow-xs);animation:fadeSlideUp .38s var(--ease-out) .05s both}.itip-icon{font-size:2rem;line-height:1;flex-shrink:0}.itip-body{flex:1}.itip-headline{font-size:1rem;font-weight:700;color:var(--heading);margin-bottom:.35rem}.itip-text{font-size:.85rem;color:var(--text);line-height:1.55}.itip-stats{display:flex;flex-direction:column;gap:.75rem;flex-shrink:0}.itip-stat{text-align:center;background:#ffffff8c;border-radius:10px;padding:.45rem .85rem;border:1px solid rgba(160,130,80,.18)}.itip-stat-n{display:block;font-size:.95rem;font-weight:800;color:var(--accent);white-space:nowrap}.itip-stat-l{display:block;font-size:.7rem;color:var(--muted);white-space:nowrap}@media(max-width:640px){.investing-tip-card{flex-direction:column;gap:1rem}.itip-stats{flex-direction:row}}.cat-backdrop{position:fixed;inset:0;background:#00000059;z-index:198;-webkit-tap-highlight-color:transparent}@media(max-width:640px){.cat-menu{position:fixed;inset:auto 0 0;max-height:75vh;height:auto;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:22px 22px 0 0;border-bottom:none;flex-direction:column;flex-wrap:nowrap;padding:.75rem .75rem max(env(safe-area-inset-bottom,1.5rem),1.5rem);z-index:199;box-shadow:0 -8px 40px #0000002e}.cat-option{font-size:.93rem;padding:.7rem 1rem;border-radius:10px;flex-shrink:0}}.goal-card-main{display:flex;align-items:center;gap:1.25rem}.goal-ring-wrap{position:relative;flex-shrink:0}.goal-ring{display:block;transform:rotate(0)}.goal-ring-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;letter-spacing:-.03em}.goal-card-body{flex:1;min-width:0}.goal-amounts{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.5rem}.goal-saved-lbl{font-size:.72rem;color:var(--muted);margin-right:.2rem;text-transform:uppercase;letter-spacing:.04em}.goal-saved-val{font-size:1.2rem;font-weight:800;letter-spacing:-.03em}.goal-of{font-size:.8rem;color:var(--muted)}.goal-target-val{font-size:.9rem;color:var(--text)}.contrib-card{max-width:380px;width:100%}.contrib-title{font-size:1.15rem;font-weight:700;color:var(--heading);margin-bottom:.3rem}.contrib-sub{font-size:.82rem;color:var(--muted);margin-bottom:1rem}@media(max-width:560px){.goals-form-grid{grid-template-columns:1fr}.goal-card-actions{flex-wrap:wrap}.goal-card-main{flex-wrap:wrap;gap:.75rem}.goal-ring-wrap{margin:0 auto}.goal-card-body{width:100%;min-width:0}.goal-card-actions{flex-direction:row;flex-wrap:wrap}}.empty-state{font-size:.88rem;color:var(--muted);text-align:center;padding:2rem 0 .75rem}@media(max-width:860px){.pie-chart-inner{max-width:420px}}@media(max-width:700px){.app-layout{padding:5rem 1.25rem 4rem;gap:1.25rem}.dashboard{grid-template-columns:repeat(3,1fr);gap:.55rem}.stat-card{padding:.9rem .75rem .85rem;border-radius:14px;gap:.15rem}.stat-card-top{margin-bottom:.2rem}.stat-icon{width:26px;height:26px;border-radius:8px}.stat-icon svg{width:13px;height:13px}.stat-value{font-size:1.25rem;letter-spacing:-.03em}.stat-sub{display:none}.form-row{grid-template-columns:1fr 1fr}}@media(max-width:500px){.app-layout{padding:5rem 1rem 3.5rem;gap:1rem}.app-card{padding:1.4rem;border-radius:14px}.dashboard{grid-template-columns:repeat(3,1fr);gap:.4rem}.stat-card{padding:.65rem .5rem .6rem;border-radius:10px;gap:0}.stat-card-top{margin-bottom:.08rem}.stat-icon{display:none}.stat-value{font-size:.95rem;letter-spacing:-.02em;line-height:1.1}.stat-label{font-size:.58rem;letter-spacing:.04em}.form-row{grid-template-columns:1fr}.tx-item{grid-template-columns:2rem 1fr auto auto;gap:.5rem}.tx-actions{opacity:1}.tx-badge{font-size:.68rem}.tx-date,.filter-date{display:none}.filter-search{flex:1 1 100%;min-width:0}.filter-select{flex:1;min-width:0}.pie-chart-inner{max-width:100%}.holdings-table th,.holdings-table td{padding:.55rem .6rem;font-size:.8rem}.portfolio-summary{grid-template-columns:1fr 1fr}.portfolio-breakdown{flex-direction:column}.goals-grid{grid-template-columns:1fr}.goal-card{padding:1.2rem}.networth-columns{grid-template-columns:1fr}.nw-stats{grid-template-columns:1fr;gap:.75rem}.nw-form-row{grid-template-columns:1fr}.debt-plan-item{flex-wrap:wrap;gap:.5rem}.debt-plan-result{text-align:left;width:100%}.challenge-grid{grid-template-columns:1fr}.badges-grid{grid-template-columns:repeat(3,1fr);gap:.6rem}.badge-item{padding:.85rem .5rem .75rem}.badge-emoji{font-size:1.9rem}.badge-label{font-size:.7rem}.badge-date{font-size:.6rem}.top-cat-row{font-size:.85rem}}@media(max-width:360px){.badges-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){header nav{padding:1rem 1.5rem}.nav-links{gap:1.25rem}.hero{padding:5rem 1.5rem 4rem}.hero h1{font-size:2.75rem}.hero-tagline{font-size:1.1rem}.hero-description{font-size:.97rem}.section-inner h2{font-size:1.65rem}.features,.about{padding:4rem 1.5rem}.features-grid{grid-template-columns:repeat(2,1fr)}.features-grid .feature-card{grid-column:span 1}.features-grid .feature-card:nth-child(4){grid-column:span 1}.features-grid .feature-card:nth-child(5){grid-column:span 2}}@media(max-width:480px){header nav{padding:.9rem 1.25rem}.hero{padding:4rem 1.25rem 3.5rem}.hero-content{gap:1rem}.hero h1{font-size:2.1rem;letter-spacing:-.02em}.hero-tagline{font-size:1rem}.hero-description{font-size:.93rem}.hero .btn{width:100%;text-align:center;padding:.9rem 1.5rem}.section-inner h2{font-size:1.5rem}.section-subtitle{font-size:.93rem;margin-bottom:2rem}.features,.about{padding:3.5rem 1.25rem}.features-grid{grid-template-columns:1fr;gap:1rem}.features-grid .feature-card,.features-grid .feature-card:nth-child(4),.features-grid .feature-card:nth-child(5){grid-column:1 / -1}.feature-card{padding:1.5rem}.about-body p{font-size:.95rem}footer{padding:2.5rem 1.25rem}.footer-tagline{font-size:.85rem}}.auth-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:300}.auth-loading-logo{height:160px;width:auto;animation:auth-pulse 1.6s ease-in-out infinite}@keyframes auth-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.97)}}.auth-gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#f5f5f7d1;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);z-index:200;padding:1.5rem;animation:fadeIn .22s var(--ease-out) both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-card{background:#fff;border-radius:28px;border:none;padding:0;width:100%;max-width:400px;box-shadow:0 2px 4px #0000000a,0 12px 32px #00000024,0 32px 72px #0000001f;overflow:hidden;display:flex;flex-direction:column;animation:fadeSlideUp .32s var(--ease-out) both}.auth-card:before{display:none}.auth-header{padding:2.25rem 2rem 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem}.auth-logo{height:72px;width:auto}.auth-logo-text{font-size:1.5rem;font-weight:800;color:#1d1d1f;letter-spacing:-.03em}.auth-tagline{color:#6e6e73;font-size:.88rem;margin:0}.auth-tabs{display:flex;margin:1.75rem 1.75rem 0;background:#f0f0f0;border-radius:12px;padding:3px;gap:2px}.auth-tab{flex:1;border:none;background:transparent;border-radius:10px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#6e6e73;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;font-family:inherit}.auth-tab.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #0000001f,0 1px 2px #0000000f}.auth-tab:hover:not(.active){color:#3a3a3a}#auth-form{padding:1.5rem 1.75rem 0;display:flex;flex-direction:column;gap:0}.auth-fields{display:flex;flex-direction:column;gap:.85rem;margin-bottom:.5rem}.auth-field{display:flex;flex-direction:column;gap:.3rem}.auth-label{font-size:.75rem;font-weight:600;color:#3a3a3a;letter-spacing:.02em;text-transform:uppercase}.auth-field input{width:100%;padding:.8rem 1rem;border:1.5px solid #e0e0e0;border-radius:12px;font-size:.95rem;color:#1d1d1f;background:#fafafa;transition:border-color .15s,background .15s,box-shadow .15s;font-family:inherit}.auth-field input:hover{border-color:#c8c8c8;background:#f5f5f5}.auth-field input:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px #a0784824}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper input{width:100%;padding-right:2.8rem}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;color:#999;padding:.25rem;display:flex;align-items:center;transition:color .15s}.password-toggle:hover{color:var(--accent)}.password-toggle svg{width:18px;height:18px}.auth-forgot-row{text-align:right;margin-top:.5rem}.auth-forgot-btn{background:none;border:none;color:var(--accent);font-size:.82rem;font-family:inherit;cursor:pointer;padding:0;font-weight:500}.auth-forgot-btn:hover{color:var(--accent-hover)}.auth-error{color:#c0392b;background:#fef2f0;border:1px solid #f5c5be;border-radius:10px;font-size:.84rem;padding:.6rem .9rem;margin:.85rem 0 0;text-align:center;display:none}.auth-error:not(:empty){display:block}.form-error{color:#c0392b;background:#fef2f0;border:1px solid #f5c5be;border-radius:10px;font-size:.84rem;padding:.6rem .9rem;margin:.75rem 0 0;text-align:center}#auth-form .btn{margin-top:1.25rem;border-radius:14px;padding:.9rem;font-size:.97rem;font-weight:700;letter-spacing:.01em}.btn-skip{display:block;width:100%;margin-top:.55rem;padding:.5rem;background:none;border:none;color:#6e6e73;font-size:.84rem;font-family:inherit;cursor:pointer;text-align:center;transition:color .15s}.btn-skip:hover{color:#3a3a3a}#auth-submit-btn:disabled{opacity:.55;cursor:not-allowed}.auth-switch{padding:1.1rem 1.75rem 1.75rem;text-align:center;font-size:.84rem;color:#6e6e73;margin:0}.auth-switch-btn{background:none;border:none;color:var(--accent);font-size:.84rem;font-weight:600;cursor:pointer;font-family:inherit;padding:0}.auth-switch-btn:hover{color:var(--accent-hover)}.nav-user{display:flex;align-items:center;gap:.75rem}.nav-user-email{font-size:.85rem;color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.nav-user-email{display:none}.auth-header{padding:1.5rem 1.5rem 0}.auth-tabs{margin:1.25rem 1.5rem 0}#auth-form{padding:1rem 1.5rem 0}.auth-switch{padding:1rem 1.5rem 1.5rem}}@media(max-width:900px){.hero-container{grid-template-columns:1fr;gap:3rem;padding:7rem 0 4rem;text-align:center}.hero-text{align-items:center}.hero-subtext{max-width:520px}.hero-visual{justify-content:center}.hero-mockup{width:360px;transform:rotateX(4deg) rotateY(-8deg)}@keyframes heroFloat{0%,to{transform:rotateX(4deg) rotateY(-8deg) translateY(0)}50%{transform:rotateX(4deg) rotateY(-8deg) translateY(-10px)}}.fc-horizontal{flex-direction:column;gap:.75rem}.about-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.hero{padding:0 1.25rem}.hero-container{padding:6rem 0 3rem}.hero-headline{font-size:3rem}.hero-mockup{width:340px}.features{padding:3rem 1rem}.features-bento{grid-template-columns:1fr;gap:.5rem}.features-bento .feature-card:nth-child(5),.features-bento .feature-card:nth-child(6),.features-bento .feature-card:nth-child(7){grid-column:span 1}.feature-card{min-height:auto;padding:.85rem 1rem}.fc-visual{flex:0 0 auto}.fc-horizontal{gap:.75rem}.about{padding:5rem 1.25rem}.about-stats{grid-template-columns:1fr 1fr}.astat-n{font-size:2rem}.charts-row{grid-template-columns:1fr}}.signin-toast{position:fixed;top:72px;left:50%;transform:translate(-50%);background:linear-gradient(90deg,var(--accent) 0%,#c87830 100%);color:#fff;padding:.7rem 1.25rem .7rem 1rem;border-radius:99px;display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:600;box-shadow:0 8px 28px #9a6e3a59;z-index:800;white-space:nowrap;animation:toastSlideDown .4s cubic-bezier(.34,1.56,.64,1)}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.signin-toast--out{animation:toastSlideUp .35s ease forwards}@keyframes toastSlideUp{to{opacity:0;transform:translate(-50%) translateY(-16px)}}.signin-toast-wave{font-size:1.1rem}.signin-toast-close{background:#ffffff40;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center;margin-left:.25rem;padding:0;flex-shrink:0;transition:background .15s}.signin-toast-close:hover{background:#fff6}@media(max-width:600px){.signin-toast{font-size:.8rem;top:64px;max-width:calc(100vw - 2rem);white-space:normal}}.auth-gate{align-items:center;justify-content:center;background:#0a05008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:900}.auth-slider{background:#fff;border-radius:24px;box-shadow:0 32px 96px #00000047;position:relative;overflow:hidden;width:min(780px,96vw);min-height:520px;display:flex}.auth-form-wrap{position:absolute;top:0;height:100%;width:50%;display:flex;align-items:center;justify-content:center;overflow-y:auto;transition:all .6s cubic-bezier(.77,0,.175,1);padding:1.5rem 0;background:#fff}.sign-in-container{left:0;z-index:2}.sign-up-container{left:0;opacity:0;z-index:1}.auth-form{display:flex;flex-direction:column;gap:.65rem;padding:1.5rem 2rem;width:100%;max-width:320px}.auth-form-logo{width:160px;height:auto;display:block;margin:0 auto .75rem;flex-shrink:0}.auth-form-title{font-size:1.35rem;font-weight:800;color:var(--heading);margin-bottom:.2rem;letter-spacing:-.02em}.auth-social-row{display:flex;gap:.5rem}.social-btn{flex:1;height:40px;border-radius:10px;border:1.5px solid #e8e0d4;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s}.social-btn:hover{background:#f8f4f0;border-color:#c8b89a}.social-btn--full{width:100%;gap:.6rem;font-size:.88rem;font-weight:500;color:#3c3c3c}.auth-or{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--muted);margin:.1rem 0}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:#e8e0d4}.auth-input{width:100%;padding:.7rem .9rem;border:1.5px solid #e0d8cc;border-radius:10px;font-size:.9rem;font-family:inherit;background:#fdfaf7;transition:border-color .15s,background .15s;color:var(--heading)}.auth-input:focus{outline:none;border-color:var(--accent);background:#fff}.auth-forgot-link{background:none;border:none;padding:0;font-size:.78rem;color:var(--muted);cursor:pointer;text-align:left;text-decoration:underline;font-family:inherit;margin-top:-.1rem}.pw-strength{display:flex;align-items:center;gap:.5rem;margin-top:-.2rem}.pw-bars{display:flex;gap:3px;flex:1}.pw-bar{flex:1;height:4px;border-radius:99px;background:#e8e0d4;transition:background .3s}.pw-label{font-size:.72rem;font-weight:600;width:60px}.auth-overlay-container{position:absolute;top:0;left:50%;width:50%;height:100%;overflow:hidden;transition:transform .6s cubic-bezier(.77,0,.175,1);z-index:100}.auth-overlay-track{background:linear-gradient(135deg,var(--accent) 0%,#c87830 60%,var(--accent-hover) 100%);color:#fff;position:relative;left:-100%;height:100%;width:200%;transform:translate(0);transition:transform .6s cubic-bezier(.77,0,.175,1)}.auth-overlay-panel{position:absolute;top:0;height:100%;width:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 2.5rem;transition:transform .6s cubic-bezier(.77,0,.175,1)}.auth-overlay-panel--left{transform:translate(-20%)}.auth-overlay-panel--right{right:0;transform:translate(0)}.auth-overlay-panel h2{font-size:1.5rem;font-weight:800;color:#fff;margin-bottom:.5rem;letter-spacing:-.02em}.auth-overlay-panel p{font-size:.88rem;color:#ffffffd9;line-height:1.6}.overlay-logo{width:140px;height:auto;margin-bottom:1rem;filter:brightness(0) invert(1);opacity:.9}.auth-ghost-btn{margin-top:1.25rem;background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff;padding:.55rem 1.75rem;border-radius:99px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s}.auth-ghost-btn:hover{background:#ffffff26;border-color:#fff}.auth-slider.right-panel-active .sign-in-container{transform:translate(100%)}.auth-slider.right-panel-active .sign-up-container{transform:translate(100%);opacity:1;z-index:5}.auth-slider.right-panel-active .auth-overlay-container{transform:translate(-100%)}.auth-slider.right-panel-active .auth-overlay-track{transform:translate(50%)}.auth-slider.right-panel-active .auth-overlay-panel--left{transform:translate(0)}.auth-slider.right-panel-active .auth-overlay-panel--right{transform:translate(20%)}.auth-mobile-footer{display:none;position:absolute;bottom:1rem;left:0;right:0;text-align:center;font-size:.82rem;color:var(--muted);z-index:200}.auth-switch-link{background:none;border:none;color:var(--accent);font-weight:700;cursor:pointer;font-family:inherit;text-decoration:underline;font-size:inherit}.welcome-toast{position:absolute;inset:0;background:linear-gradient(135deg,var(--accent) 0%,#c87830 100%);display:flex;align-items:center;justify-content:center;border-radius:24px;z-index:500;animation:toastIn .4s ease}@keyframes toastIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.welcome-toast--out{animation:toastOut .5s ease forwards}@keyframes toastOut{to{opacity:0;transform:scale(1.05)}}.welcome-toast-inner{text-align:center;color:#fff;padding:2rem}.welcome-wave{font-size:3.5rem;margin-bottom:.75rem;animation:wave .8s ease}@keyframes wave{0%,to{transform:rotate(0)}30%{transform:rotate(20deg)}60%{transform:rotate(-15deg)}}.welcome-toast-inner h2{font-size:2rem;font-weight:800;margin-bottom:.4rem;letter-spacing:-.03em}.welcome-toast-sub{font-size:1rem;opacity:.88}@media(max-width:600px){.auth-slider{width:100vw;min-height:100dvh;border-radius:0;align-items:flex-start}.auth-form-wrap{width:100%;position:relative;left:0;transform:none!important;opacity:1!important;display:none}.sign-in-container{display:flex}.auth-overlay-container{display:none}.auth-mobile-footer{display:block}.auth-slider.right-panel-active .sign-in-container{display:none}.auth-slider.right-panel-active .sign-up-container{display:flex}.auth-form{max-width:100%;padding:2rem 1.25rem 4rem;width:100%;overflow-x:hidden}.auth-input,.social-btn,.auth-social-row{max-width:100%}.auth-social-row{flex-wrap:wrap;justify-content:center}.welcome-toast{border-radius:0}}.account-btn{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--heading);padding:.3rem .5rem;border-radius:99px;transition:background .15s}.account-btn:hover{background:var(--accent-light)}.account-avatar-ring{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f5e8d4,#ffe0b8);padding:2px;background-clip:padding-box;box-shadow:0 0 0 2px var(--accent),0 2px 8px #8b653440;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;transition:box-shadow .2s ease}.account-avatar-ring:hover{box-shadow:0 0 0 2.5px var(--accent),0 4px 14px #8b653459}.account-person-icon{width:18px;height:18px;color:var(--accent)}.account-btn-name{font-size:.85rem;font-weight:600;color:var(--heading);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-page{background:#faf5ee;min-height:100vh}.profile-main{max-width:860px;margin:0 auto;padding:6rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2.5rem}.prof-hero{background:#fff;border-radius:24px;border:1px solid #e8dcc8;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:0 4px 24px #9a6e3a14}.prof-hero-inner{display:flex;align-items:center;gap:1.5rem}.prof-avatar-wrap{position:relative;flex-shrink:0}.prof-avatar{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#f5e8d4,#ffe0b8);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--accent),0 8px 24px #8b653433;transition:box-shadow .25s ease,transform .25s ease}.prof-avatar:hover{transform:scale(1.04);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--accent),0 12px 32px #8b65344d}.prof-avatar-default{width:52px;height:52px;color:var(--accent)}.prof-avatar>svg{width:100px;height:100px;display:block}.prof-avatar-img{width:100%;height:100%;object-fit:cover}.prof-avatar-upload{position:absolute;bottom:2px;right:2px;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .15s;box-shadow:0 2px 8px #00000040,0 0 0 2px #fff}.prof-avatar-upload:hover{background:var(--accent-hover);transform:scale(1.1)}.prof-avatar-upload svg{width:14px;height:14px}.prof-name{font-size:1.6rem;font-weight:800;color:var(--heading);letter-spacing:-.02em}.prof-email{font-size:.88rem;color:var(--muted)}.prof-type-badge{display:inline-block;margin-top:.35rem;background:var(--accent-light);color:var(--accent-strong);border:1px solid #d8c0a0;font-size:.75rem;font-weight:700;padding:.2rem .65rem;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}.prof-avatar-defaults-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.5rem}.avatar-save-btn{margin-top:.75rem;width:100%;max-width:200px}.prof-avatar-grid{display:flex;gap:.75rem;flex-wrap:wrap}.avatar-opt{width:58px;height:58px;border-radius:50%;background:none;border:3px solid transparent;padding:0;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;overflow:hidden;box-shadow:0 2px 8px #00000014;position:relative}.avatar-opt:hover{transform:scale(1.12);box-shadow:0 6px 20px #8b653440}.avatar-opt.active{box-shadow:0 0 0 3px #fff,0 0 0 5.5px var(--accent),0 6px 20px #8b653440;transform:scale(1.08)}.avatar-opt svg{width:58px;height:58px;display:block}.prof-section{background:#fff;border-radius:20px;border:1px solid #e8dcc8;padding:1.75rem;box-shadow:0 2px 12px #9a6e3a0f}.prof-section-title{font-size:1.1rem;font-weight:800;color:var(--heading);margin-bottom:.2rem}.prof-section-sub{font-size:.84rem;color:var(--muted);margin-bottom:1.25rem}.prof-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.type-card{background:#faf7f2;border:2px solid #e8dcc8;border-radius:14px;padding:1rem .75rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;font-family:inherit;text-align:center}.type-card:hover{border-color:var(--accent);transform:translateY(-2px)}.type-card.active{border-color:var(--accent);background:var(--accent-light)}.type-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.type-icon svg{width:24px;height:24px}.type-label{font-size:.85rem;font-weight:700;color:var(--heading)}.type-desc{font-size:.72rem;color:var(--muted);line-height:1.4}.prof-tip-card{background:linear-gradient(135deg,#fff9f0,#fdf0e0);border:1.5px solid #e8cc9a;border-radius:16px;padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:1rem}.tip-icon{font-size:1.8rem;flex-shrink:0}.tip-text{font-size:.92rem;color:var(--heading);line-height:1.65;font-weight:500}.settings-list{display:flex;flex-direction:column;gap:0}.settings-row{display:flex;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid #f0e8d8}.settings-row:last-child{border-bottom:none}.settings-row--danger .settings-row-label{color:#c02020}.settings-row-info{flex:1;display:flex;flex-direction:column;gap:2px}.settings-row-label{font-size:.9rem;font-weight:600;color:var(--heading)}.settings-row-value{font-size:.82rem;color:var(--muted)}.settings-edit-btn{background:none;border:1.5px solid var(--border);border-radius:8px;padding:.35rem .85rem;font-size:.8rem;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.settings-edit-btn:hover{background:var(--accent-light);border-color:var(--accent)}.settings-danger-btn{background:#c02020;color:#fff;border:none;border-radius:8px;padding:.4rem .9rem;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.settings-danger-btn:hover{background:#a01010}.settings-inline-form{padding:.75rem 0 1rem;display:flex;flex-direction:column;gap:.6rem;border-bottom:1px solid #f0e8d8}.settings-form-btns{display:flex;gap:.5rem;align-items:center}.modal-overlay{position:fixed;inset:0;background:#0a05008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9000}.modal-card{background:#fff;border-radius:20px;padding:2rem;max-width:380px;width:calc(100% - 2rem);box-shadow:0 24px 64px #0003}.modal-title{font-size:1.15rem;font-weight:800;color:#c02020;margin-bottom:.5rem}.modal-body{font-size:.88rem;color:var(--text);line-height:1.6;margin-bottom:1rem}.modal-btns{display:flex;gap:.75rem;flex-wrap:wrap}.badges-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.badges-count{background:var(--accent-light);color:var(--accent-strong);border:1px solid #d8c0a0;font-size:.78rem;font-weight:700;padding:.2rem .65rem;border-radius:99px}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-top:1rem}.badge-card{background:#fff;border:1.5px solid #f0ebe3;border-radius:20px;padding:1.25rem 1rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;position:relative;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease;cursor:default;overflow:hidden}.badge-card:before{content:"";position:absolute;inset:0;border-radius:20px;opacity:0;transition:opacity .3s ease;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.9),transparent 70%);pointer-events:none}.badge-card.badge-earned{border-color:transparent;background:#fff;box-shadow:0 0 0 2px var(--badge-color, #8b6534),0 8px 24px #00000014}.badge-card.badge-earned:before{opacity:1}.badge-card.badge-locked{opacity:.5;filter:grayscale(.6)}.badge-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 12px 32px #0000001f;opacity:1;filter:none}.badge-card.badge-earned:hover{box-shadow:0 0 0 2px var(--badge-color, #8b6534),0 16px 40px #00000024}.badge-icon-wrap{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem;position:relative}.badge-card.badge-earned .badge-icon-wrap{box-shadow:0 4px 16px #0000001f}.badge-icon-wrap svg{width:28px;height:28px}.badge-name{font-size:.8rem;font-weight:700;color:var(--heading);line-height:1.3}.badge-earned-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;font-weight:700;color:#fff;background:#3a8a3a;padding:.2rem .55rem;border-radius:99px;text-transform:uppercase;letter-spacing:.06em}.badge-earned-label:before{content:"✓";font-size:.65rem}.badge-progress-wrap{width:100%;height:5px;background:#f0ebe3;border-radius:99px;overflow:hidden;margin-top:.15rem}.badge-progress-fill{height:100%;background:linear-gradient(90deg,var(--badge-color, #8b6534),color-mix(in srgb,var(--badge-color, #8b6534) 70%,#fff));border-radius:99px;transition:width .8s cubic-bezier(.34,1.1,.64,1)}.badge-progress-text{font-size:.68rem;color:var(--muted);font-weight:500}.badge-tooltip{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#1a1a2e;color:#fff;padding:.6rem .9rem;border-radius:12px;font-size:.74rem;white-space:nowrap;z-index:10;line-height:1.5;text-align:center;pointer-events:none;box-shadow:0 8px 24px #0000004d}.badge-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1a1a2e}.badge-card:hover .badge-tooltip{display:block}@media(max-width:600px){.prof-hero-inner{flex-direction:column;text-align:center}.prof-avatar-wrap{margin:0 auto}.prof-type-grid,.badges-grid{grid-template-columns:repeat(2,1fr)}.profile-main{padding:5rem 1rem 3rem}.settings-row{flex-wrap:wrap}}.ai-insights-section{padding:1.25rem 1.5rem}.ai-insights-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ai-insights-title-wrap{display:flex;align-items:center;gap:.55rem}.ai-insights-icon{width:20px;height:20px;color:var(--accent, #5b7fa6);flex-shrink:0}.ai-insights-result{margin-top:1rem;padding:1rem 1.15rem;background:var(--bg);border:1.5px solid var(--border);border-radius:12px;animation:ai-fade-in .3s ease}@keyframes ai-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-insights-text{margin:0;font-size:.93rem;line-height:1.65;color:var(--text);white-space:pre-wrap}.ai-insights-cache-label{display:block;margin-top:.6rem;font-size:.75rem;color:var(--muted);letter-spacing:.01em}#analyze-btn:disabled{opacity:.65;cursor:wait}@media(max-width:500px){.ai-insights-header{flex-direction:column;align-items:flex-start}}.cbar-icon{font-size:1rem;line-height:1;flex-shrink:0}.tx-location-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.73rem;color:var(--muted);margin-top:2px}.chart-header-row{display:flex;align-items:center;justify-content:space-between}.recurring-lane{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.recurring-lane::-webkit-scrollbar{height:4px}.recurring-lane::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.rec-card{flex:0 0 auto;scroll-snap-align:start;min-width:160px;max-width:190px;background:var(--rec-bg, #f0e4cc);border-radius:14px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.4rem;border:1.5px solid rgba(0,0,0,.05)}.rec-icon{font-size:1.4rem;line-height:1}.rec-info{display:flex;flex-direction:column;gap:.15rem}.rec-desc{font-size:.82rem;font-weight:600;color:var(--rec-color, #5a3010);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.rec-amount{font-size:.88rem;font-weight:700;color:var(--rec-color, #5a3010)}.rec-days{display:inline-block;font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:20px;background:#00000014;color:var(--rec-color, #5a3010);width:fit-content;margin-top:.1rem}.rec-days--today{background:#2d7a3a;color:#fff}.rec-days--overdue{background:#b02020;color:#fff}.inv-chart-wrap{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.inv-legend{flex:1;display:flex;flex-direction:column;gap:.75rem;min-width:180px}.inv-legend-item{display:flex;align-items:center;gap:.6rem}.inv-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.inv-legend-info{flex:1;display:flex;flex-direction:column;gap:.1rem}.inv-legend-name{font-size:.82rem;font-weight:600;color:var(--heading)}.inv-legend-val{font-size:.78rem;color:var(--text)}.inv-legend-pct{color:var(--muted)}.inv-gain-badge{font-size:.73rem;font-weight:700;padding:.2rem .5rem;border-radius:20px}.inv-gain-badge--up{background:#d4eccc;color:#1a5010}.inv-gain-badge--down{background:#fde8cc;color:#7a1010}.inv-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.inv-item:last-child{border-bottom:none}.inv-item-icon{font-size:1.4rem;flex-shrink:0}.inv-item-info{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.inv-item-name{font-size:.9rem;font-weight:600;color:var(--heading)}.inv-item-meta{font-size:.78rem;color:var(--muted)}.inv-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.inv-item-value{font-size:.92rem;font-weight:700;color:var(--heading)}.inv-item-gain{font-size:.78rem;font-weight:600}.expense-map{height:380px;border-radius:14px;overflow:hidden;margin-top:.75rem;border:1.5px solid var(--border)}.map-hint{font-size:.78rem;color:var(--muted);margin-top:.6rem;text-align:center}.top-cat-bars{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.top-cat-row{display:grid;grid-template-columns:1fr auto;gap:.4rem .75rem;align-items:center;animation:fadeSlideUp .3s ease both;animation-delay:calc(var(--i, 0) * .06s)}.top-cat-label{display:flex;align-items:center;gap:.4rem;grid-column:1}.top-cat-icon{font-size:1rem;flex-shrink:0}.top-cat-name{font-size:.82rem;font-weight:600;color:var(--heading);flex:1}.top-cat-pct{font-size:.73rem;color:var(--muted);font-weight:600}.top-cat-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden;grid-column:1}.top-cat-fill{height:100%;width:0;border-radius:4px;transition:width .7s cubic-bezier(.25,.46,.45,.94)}.top-cat-amount{font-size:.88rem;font-weight:700;color:var(--heading);grid-column:2;grid-row:1 / 3;text-align:right}@keyframes btnPulseGlow{0%,to{box-shadow:0 2px 8px #a0784840;transform:scale(1)}50%{box-shadow:0 4px 20px #a078488c;transform:scale(1.03)}}.fc-amber .fv-submit{animation:btnPulseGlow 2.4s ease-in-out infinite}@keyframes progressShimmer{0%{background-position:-200% center}to{background-position:200% center}}.fc-green .fv-progress-fill{background-image:linear-gradient(90deg,#9a6e3a,#c8943a 40%,#e8c478,#c8943a 60%,#9a6e3a);background-size:200% 100%;animation:progressShimmer 2.2s linear infinite}@keyframes barBreathe{0%,to{opacity:.75;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.04)}}.fc-indigo .fv-hbar-fill{transform-origin:left center;animation:barBreathe 2s ease-in-out infinite}.fc-indigo .fv-hbar-fill:nth-child(1){animation-delay:0s}.fc-indigo .fv-hbar-row:nth-child(2) .fv-hbar-fill{animation-delay:.3s}.fc-indigo .fv-hbar-row:nth-child(3) .fv-hbar-fill{animation-delay:.6s}.fc-indigo .fv-hbar-row:nth-child(4) .fv-hbar-fill{animation-delay:.9s}.fc-indigo .fv-hbar-row:nth-child(5) .fv-hbar-fill{animation-delay:1.2s}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes resultFadeIn{0%{opacity:.4;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.fc-slate .fv-search-cursor{display:inline-block;width:2px;height:.9em;background:#9a6e3a;vertical-align:middle;animation:cursorBlink 1s step-end infinite}.fc-slate .fv-result{animation:resultFadeIn .5s ease both}.fc-slate .fv-result:nth-child(1){animation-delay:.4s}.fc-slate .fv-result:nth-child(2){animation-delay:.7s}.fc-slate .fv-result:nth-child(3){animation-delay:1s}.stat-card--safe{background:linear-gradient(135deg,#eef7f0,#f5fbf6);border-color:#a8d5b5}.stat-icon--safe{color:#2d7a3a}.stat-card--safe.is-negative{background:linear-gradient(135deg,#fff0ee,#fff7f5);border-color:#f0b0a0}.rule503020-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.25rem}.rule503020-month{font-size:.82rem;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:.18rem .65rem}.rule503020-desc{font-size:.82rem;color:var(--muted);margin:0 0 1rem}.rule-row{margin-bottom:1rem}.rule-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.rule-label{font-weight:600;font-size:.9rem}.rule-amounts{font-size:.82rem;color:var(--heading)}.rule-target{color:var(--muted);font-size:.78rem}.rule-track{position:relative;height:10px;background:var(--border);border-radius:99px;overflow:visible}.rule-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.rule-fill--over{opacity:.85;box-shadow:0 0 0 2px #c03a2b40}.rule-target-mark{position:absolute;top:-3px;width:2px;height:16px;background:#00000040;border-radius:2px;transform:translate(-50%)}.history-header-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.export-btn{font-size:.75rem;padding:.3rem .65rem}.bill-cal-section{overflow:visible}.bill-cal-section .bill-cal-grid{transition:transform .4s ease}.bill-cal-section:hover .bill-cal-grid{transform:perspective(800px) rotateX(3deg)}.bill-cal-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.1rem}.bill-cal-month{font-size:.82rem;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:.18rem .65rem}.bill-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;perspective:800px;transform-style:preserve-3d}.bcal-dow{text-align:center;font-size:.68rem;font-weight:700;color:var(--muted);padding:.25rem 0 .4rem;letter-spacing:.04em;text-transform:uppercase}.bcal-cell{min-height:56px;border-radius:10px;padding:6px 6px 4px;font-size:.72rem;position:relative;background:var(--surface);border:1px solid rgba(0,0,0,.06);box-shadow:0 2px #0000000f,0 4px 8px #0000000a;transition:transform .18s ease,box-shadow .18s ease;transform:translateZ(0)}.bcal-cell:hover{transform:translateZ(8px) translateY(-2px);box-shadow:0 6px 16px #0000001f,0 2px 4px #0000000f;z-index:2}.bcal-empty{background:transparent;border-color:transparent;box-shadow:none;pointer-events:none}.bcal-empty:hover{transform:none;box-shadow:none}.bcal-today{background:linear-gradient(145deg,#fff8f0,#ffefd8);border-color:#c8943a;box-shadow:0 3px #c8943a40,0 5px 14px #c8943a1f;transform:translateZ(6px)}.bcal-today:hover{transform:translateZ(14px) translateY(-3px);box-shadow:0 8px 24px #c8943a38,0 3px 6px #c8943a24}.bcal-has-bills{background:linear-gradient(145deg,#f5f0ff,#ede5ff);border-color:#b090e0;box-shadow:0 3px #a064dc33,0 5px 14px #a064dc1a;transform:translateZ(10px)}.bcal-has-bills:hover{transform:translateZ(18px) translateY(-3px);box-shadow:0 10px 28px #a064dc2e,0 3px 6px #a064dc1f}.bcal-day{font-size:.72rem;font-weight:700;color:var(--heading);display:block;margin-bottom:3px;line-height:1}.bcal-today .bcal-day{color:#9a6e3a}.bcal-has-bills .bcal-day{color:#7040b0}.bcal-bill{display:flex;align-items:center;gap:2px;font-size:.63rem;color:var(--heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#9a6e3a1f;border-radius:5px;padding:2px 4px;margin-top:2px}.bcal-has-bills .bcal-bill{background:#a064dc1f}.bcal-bill span{overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.bill-cal-grid{gap:3px;perspective:500px}.bcal-cell{min-height:42px;padding:3px 3px 2px;border-radius:7px}.bcal-cell:hover{transform:none}.bcal-today{transform:translateZ(4px)}.bcal-has-bills{transform:translateZ(6px)}.bcal-bill span{display:none}}.nw-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.nw-item:last-child{border-bottom:none}.nw-item-icon{font-size:1.4rem;flex-shrink:0;width:36px;text-align:center}.nw-item-info{flex:1;min-width:0}.nw-item-name{display:block;font-weight:600;font-size:.9rem;color:var(--heading)}.nw-item-type{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);margin-top:2px;flex-wrap:wrap}.nw-item-rate{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:.1rem .45rem;font-size:.72rem;color:var(--muted)}.nw-item-value{font-weight:700;font-size:1rem;flex-shrink:0}.debt-plan-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.debt-plan-item:last-child{border-bottom:none}.debt-plan-icon{font-size:1.4rem;width:36px;text-align:center;flex-shrink:0}.debt-plan-info{flex:1;min-width:0}.debt-plan-name{display:block;font-weight:600;font-size:.9rem;color:var(--heading)}.debt-plan-meta{font-size:.78rem;color:var(--muted)}.debt-plan-result{text-align:right;flex-shrink:0}.debt-plan-time{display:block;font-weight:700;font-size:1rem;color:var(--heading)}.debt-plan-interest{font-size:.75rem;color:var(--muted)}.onboarding-card{background:var(--surface);border-radius:20px;padding:2rem 2rem 1.75rem;width:min(440px,94vw);box-shadow:0 20px 60px #0000002e}.onboarding-steps{display:flex;gap:8px;justify-content:center;margin-bottom:1.5rem}.ob-step{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .3s,width .3s}.ob-step--active{background:#9a6e3a;width:24px;border-radius:4px}.ob-step--done{background:#c8943a}.ob-icon{font-size:2.4rem;text-align:center;margin-bottom:.75rem}.ob-title{font-size:1.25rem;font-weight:700;color:var(--heading);text-align:center;margin:0 0 .5rem}.ob-body{font-size:.9rem;color:var(--muted);text-align:center;margin:0 0 1.5rem;line-height:1.6}.ob-goals-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem}.ob-goal-btn{border:1.5px solid var(--border);background:var(--surface);border-radius:10px;padding:.65rem .75rem;font-family:inherit;font-size:.85rem;font-weight:500;color:var(--heading);cursor:pointer;transition:border-color .18s,background .18s;text-align:left}.ob-goal-btn:hover{border-color:#9a6e3a;background:#fff8f0}.ob-goal-btn--selected{border-color:#9a6e3a;background:#fff3e0;color:#6c3d10;font-weight:600}@keyframes fc-float-a{0%{transform:perspective(900px) rotateX(5deg) rotateY(-7deg) translateY(0)}30%{transform:perspective(900px) rotateX(-3deg) rotateY(5deg) translateY(-9px)}60%{transform:perspective(900px) rotateX(4deg) rotateY(8deg) translateY(-5px)}to{transform:perspective(900px) rotateX(5deg) rotateY(-7deg) translateY(0)}}@keyframes fc-float-b{0%{transform:perspective(900px) rotateX(-4deg) rotateY(6deg) translateY(0)}35%{transform:perspective(900px) rotateX(5deg) rotateY(-8deg) translateY(-10px)}65%{transform:perspective(900px) rotateX(-2deg) rotateY(-5deg) translateY(-4px)}to{transform:perspective(900px) rotateX(-4deg) rotateY(6deg) translateY(0)}}@keyframes fc-float-c{0%{transform:perspective(900px) rotateX(3deg) rotateY(8deg) translateY(0)}40%{transform:perspective(900px) rotateX(-5deg) rotateY(-6deg) translateY(-8px)}70%{transform:perspective(900px) rotateX(6deg) rotateY(-4deg) translateY(-3px)}to{transform:perspective(900px) rotateX(3deg) rotateY(8deg) translateY(0)}}@keyframes fc-float-d{0%{transform:perspective(900px) rotateX(-6deg) rotateY(-5deg) translateY(0)}30%{transform:perspective(900px) rotateX(4deg) rotateY(7deg) translateY(-11px)}65%{transform:perspective(900px) rotateX(-3deg) rotateY(4deg) translateY(-6px)}to{transform:perspective(900px) rotateX(-6deg) rotateY(-5deg) translateY(0)}}@keyframes fc-float-e{0%{transform:perspective(900px) rotateX(6deg) rotateY(4deg) translateY(0)}35%{transform:perspective(900px) rotateX(-4deg) rotateY(-7deg) translateY(-7px)}70%{transform:perspective(900px) rotateX(3deg) rotateY(-5deg) translateY(-12px)}to{transform:perspective(900px) rotateX(6deg) rotateY(4deg) translateY(0)}}.feature-card{transform-style:preserve-3d;will-change:transform;cursor:default;animation:fc-float-a 7s ease-in-out infinite}.features-grid .feature-card:nth-child(1){animation:fc-float-a 7s ease-in-out infinite}.features-grid .feature-card:nth-child(2){animation:fc-float-b 6.5s ease-in-out infinite;animation-delay:-2.1s}.features-grid .feature-card:nth-child(3){animation:fc-float-c 7.8s ease-in-out infinite;animation-delay:-3.7s}.features-grid .feature-card:nth-child(4){animation:fc-float-d 6.2s ease-in-out infinite;animation-delay:-1.3s}.features-grid .feature-card:nth-child(5){animation:fc-float-e 7.3s ease-in-out infinite;animation-delay:-4.5s}.feature-card.is-hovered{animation-play-state:paused}.feature-card .fc-content{transform:translateZ(28px);transform-style:preserve-3d}.feature-card .fc-visual{transform:translateZ(50px)}.feature-card .fc-deco{transform:translateZ(10px)}.feature-card .fc-icon{transform:translateZ(14px);display:inline-block}@media(hover:none){.feature-card,.features-grid .feature-card:nth-child(1),.features-grid .feature-card:nth-child(2),.features-grid .feature-card:nth-child(3),.features-grid .feature-card:nth-child(4),.features-grid .feature-card:nth-child(5){animation:none;transform:none!important}.feature-card .fc-content,.feature-card .fc-visual,.feature-card .fc-deco,.feature-card .fc-icon{transform:none!important}}.iec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.iec-month{font-size:.82rem;color:var(--muted);font-weight:500}.iec-row{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-bottom:1.25rem}.iec-block{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem;border-radius:16px;text-align:center}.iec-block--income{background:#2d7a3a14}.iec-block--expense{background:#c8503c14}.iec-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.iec-block--income .iec-icon{background:#2d7a3a26;color:#2d7a3a}.iec-block--expense .iec-icon{background:#c8503c26;color:#c8503c}.iec-icon svg{width:18px;height:18px}.iec-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.iec-value{font-size:1.55rem;font-weight:800;letter-spacing:-.03em;line-height:1}.iec-value--income{color:#2d7a3a}.iec-value--expense{color:#c8503c}.iec-count{font-size:.75rem;color:var(--muted)}.iec-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem}.iec-net-wrap{display:flex;flex-direction:column;align-items:center;gap:.2rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.6rem .9rem;min-width:80px}.iec-net-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.iec-net-val{font-size:1.1rem;font-weight:800;letter-spacing:-.02em}.iec-bar-wrap{margin-top:.25rem}.iec-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--border);gap:2px}.iec-bar-income{background:#2d7a3a;border-radius:99px 0 0 99px;transition:width .6s ease}.iec-bar-expense{background:#c8503c;border-radius:0 99px 99px 0;transition:width .6s ease}@media(max-width:500px){.iec-row{grid-template-columns:1fr}.iec-divider{flex-direction:row}.iec-net-wrap{flex-direction:row;gap:.5rem;padding:.5rem 1rem;min-width:unset;width:100%;justify-content:center}.iec-value{font-size:1.3rem}}@keyframes gauge-float{0%{transform:translateY(0) scale(1);filter:drop-shadow(0 6px 14px rgba(200,148,58,.2))}50%{transform:translateY(-6px) scale(1.02);filter:drop-shadow(0 14px 24px rgba(200,148,58,.3))}to{transform:translateY(0) scale(1);filter:drop-shadow(0 6px 14px rgba(200,148,58,.2))}}.health-score-inner{display:flex;align-items:flex-start;gap:1.75rem;flex-wrap:wrap;perspective:600px}.health-gauge-wrap{position:relative;flex-shrink:0;width:130px;height:130px;animation:gauge-float 4s ease-in-out infinite;will-change:transform,filter}.health-gauge{width:130px;height:130px;transform:rotate(-225deg)}.gauge-track{fill:none;stroke:#c8943a26;stroke-width:10;stroke-dasharray:226 301;stroke-linecap:round}.gauge-fill{fill:none;stroke-width:10;stroke-linecap:round;stroke-dasharray:0 301;transition:stroke-dasharray 1.3s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 0 5px currentColor)}.health-score-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.health-score-num{font-size:2rem;font-weight:800;line-height:1;color:var(--heading);transition:color .8s ease}.health-score-grade{font-size:.72rem;font-weight:600;margin-top:2px;letter-spacing:.03em}.health-breakdown{flex:1;min-width:200px}.health-factors{display:flex;flex-direction:column;gap:.65rem}.hf-label-row{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.25rem;flex-wrap:wrap}.hf-label{font-size:.82rem;font-weight:600;color:var(--heading)}.hf-detail{font-size:.75rem;color:var(--muted);flex:1}.hf-pts{font-size:.72rem;font-weight:600;color:var(--muted)}.hf-track{height:5px;background:var(--border);border-radius:99px;overflow:hidden}.hf-fill{height:100%;border-radius:99px;transition:width .9s cubic-bezier(.34,1.56,.64,1)}@media(prefers-reduced-motion:reduce){.health-gauge-wrap{animation:none;filter:none}}.bill-alert-card{display:flex;align-items:flex-start;gap:.85rem;background:linear-gradient(135deg,#fffbf0,#fff8e8);border:1px solid #e8c87a;border-radius:14px;padding:.9rem 1rem;margin-bottom:.6rem;animation:fadeSlideUp .35s ease both}.bill-alert-icon{font-size:1.25rem;flex-shrink:0;margin-top:2px}.bill-alert-body{flex:1;min-width:0}.bill-alert-title{display:block;font-weight:700;font-size:.88rem;color:#6c4800;margin-bottom:.25rem}.bill-alert-msg{font-size:.8rem;color:#7a5c20;margin:0;line-height:1.55}.bill-alert-dismiss{background:none;border:none;cursor:pointer;color:#a08040;font-size:.9rem;padding:2px 6px;border-radius:6px;flex-shrink:0;line-height:1}.bill-alert-dismiss:hover{background:#a880401f}.predictions-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.25rem}.predictions-title-row{display:flex;align-items:center;gap:.6rem}.predictions-icon{font-size:1.1rem}.prediction-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.prediction-row:last-child{border-bottom:none}.prediction-icon{font-size:1.25rem;flex-shrink:0;width:32px;text-align:center}.prediction-info{flex:1;min-width:0}.prediction-label{display:block;font-weight:600;font-size:.88rem;color:var(--heading)}.prediction-detail{font-size:.76rem;color:var(--muted)}.prediction-badge{font-size:.75rem;font-weight:700;padding:.22rem .6rem;border-radius:20px;flex-shrink:0;white-space:nowrap}.prediction-badge--high{background:#fde8e8;color:#c03a2b}.prediction-badge--med{background:#fef0d8;color:#c06820}.prediction-badge--low{background:#fdf8e8;color:#9a7820}.challenge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:.5rem}.challenge-card{border:1.5px solid var(--border);border-radius:14px;padding:1.1rem 1rem .9rem;background:var(--surface);display:flex;flex-direction:column;gap:.3rem;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;overflow:hidden}.challenge-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--ch-color, #9a6e3a);border-radius:14px 14px 0 0}.challenge-card:hover{border-color:var(--ch-color, #9a6e3a);box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.chc-emoji{font-size:1.6rem;margin-bottom:.2rem}.chc-title{font-size:.95rem;font-weight:700;color:var(--heading);margin:0}.chc-sub{font-size:.75rem;color:var(--muted);font-weight:500}.chc-desc{font-size:.8rem;color:var(--muted);margin:.4rem 0 .75rem;line-height:1.55;flex:1}.chc-footer{margin-top:auto}.chc-start-btn{font-size:.82rem;padding:.45rem 1rem}.chc-badge{font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:20px;display:inline-block}.chc-badge--done{background:#e8f7ee;color:#2d7a3a}.chc-badge--active{background:#fff3e0;color:#9a6e3a}.challenge-active-card{border-left:4px solid var(--border);border-radius:0 12px 12px 0;background:var(--surface);padding:.85rem 1rem;margin-bottom:.75rem;border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:box-shadow .2s}.cha-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.cha-emoji{font-size:1.4rem;flex-shrink:0}.cha-info{flex:1;min-width:0}.cha-title{display:block;font-weight:700;font-size:.9rem;color:var(--heading)}.cha-sub{font-size:.76rem;color:var(--muted)}.cha-pct{font-weight:800;font-size:1rem;flex-shrink:0}.cha-track{height:7px;background:var(--border);border-radius:99px;overflow:hidden;margin-bottom:.45rem}.cha-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.cha-actions{display:flex;align-items:center;justify-content:space-between}.cha-detail{font-size:.76rem;color:var(--muted)}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;padding-top:.25rem}.badge-item{display:flex;flex-direction:column;align-items:center;background:linear-gradient(145deg,#fff8f0,#fff3e0 60%,#ffefd0);border:1.5px solid #e8c87a;border-radius:16px;padding:1rem .75rem .85rem;text-align:center;gap:.3rem;position:relative;overflow:hidden;box-shadow:0 2px #c8943a33,0 4px 12px #c8943a14;transition:transform .18s ease,box-shadow .18s ease}.badge-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#e8a830,#f0c860,#e8a830);border-radius:16px 16px 0 0}.badge-item:hover{transform:translateY(-3px);box-shadow:0 6px 20px #c8943a2e,0 2px 6px #c8943a1a}.badge-emoji{font-size:2.2rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}.badge-label{font-size:.76rem;font-weight:700;color:#6c4800;line-height:1.3}.badge-date{font-size:.64rem;color:var(--muted);margin-top:1px}@media print{#navbar,.welcome-bar,.budget-alert,.month-recap,.ai-insights-section,.daily-chart-section,.recurring-timeline-section,.bill-cal-section,.rule503020-section,.form-section,.profile-section,.filters-row,.chart-wrap,#export-csv-btn,#export-pdf-btn,.tx-actions,.tx-edit,.tx-delete,.history-header-right .export-btn{display:none!important}body{background:#fff}.app-layout{padding:0}.stat-card{box-shadow:none;border:1px solid #ccc}.history-section{box-shadow:none}}
