@keyframes progressGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes checkPop{0%{transform:scale(.4);opacity:0}55%{transform:scale(1.18);opacity:1}80%{transform:scale(.92)}to{transform:scale(1);opacity:1}}@keyframes confettiFloat{0%{opacity:1;transform:translateX(var(--cx,0)) translateY(0) scale(1) rotate(0deg)}to{opacity:0;transform:translateX(var(--cx,0)) translateY(-38px) scale(.4) rotate(var(--cr,45deg))}}@keyframes cardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}:root{--color-evergreen:#1F4D43;--color-evergreen-hover:var(--color-evergreen);--color-evergreen-muted:rgba(31,77,67,0.09);--color-sage:#9CB596;--color-sage-dark:var(--color-evergreen);--color-sage-light:rgba(156,181,150,0.18);--color-sage-border:rgba(156,181,150,0.40);--color-sand:#E9DFC9;--color-sand-light:rgba(233,223,201,0.35);--color-cream:#F7F4EE;--color-gold:#D8B86A;--color-gold-bg:rgba(216,184,106,0.15);--color-gold-border:rgba(216,184,106,0.40);--color-gold-dark:var(--color-slate);--color-mist:#C9DDE4;--color-mist-bg:rgba(201,221,228,0.18);--color-mist-border:rgba(201,221,228,0.50);--color-slate:#5F676D;--color-ink:var(--color-evergreen);--color-white:var(--color-cream);--bg-page:#F7F4EE;--color-sand-badge:#E9DFC9;--color-sand-badge-border:rgba(233,223,201,0.70);--color-sand-badge-text:var(--color-evergreen);--color-error:#C0392B;--color-error-bg:#FDF3F3;--color-error-border:rgba(192,57,43,0.30);--color-success-bg:rgba(156,181,150,0.18);--color-success-border:rgba(156,181,150,0.40);--color-success-text:#1F4D43;--color-border:var(--ds-slate-a14);--color-border-card:rgba(0,0,0,0.06);--font-heading:var(--font-manrope),"Manrope",system-ui,sans-serif;--font-body:var(--font-inter),"Inter",system-ui,sans-serif;--sp-1:0.25rem;--sp-2:0.5rem;--sp-3:0.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-full:9999px;--shadow-card:0 1px 2px rgba(0,0,0,0.04),0 2px 6px rgba(0,0,0,0.04);--shadow-sidebar:1px 0 6px rgba(0,0,0,0.04);--shadow-popover:0 2px 16px rgba(0,0,0,0.08),0 1px 4px rgba(0,0,0,0.04);--shadow-input-focus:0 0 0 3px rgba(156,181,150,0.22);--sidebar-width:240px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{overflow-x:hidden}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-ink);background-color:var(--bg-page);background-image:radial-gradient(ellipse 80% 60% at 15% 8%,rgba(201,221,228,.22) 0,transparent 60%),radial-gradient(ellipse 65% 50% at 90% 12%,rgba(156,181,150,.16) 0,transparent 55%),radial-gradient(ellipse 55% 50% at 8% 92%,rgba(233,223,201,.45) 0,transparent 55%),radial-gradient(ellipse 60% 45% at 88% 88%,rgba(216,184,106,.1) 0,transparent 50%)}a{color:inherit}.logo,a{text-decoration:none}.logo{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}.logo-text{display:flex;flex-direction:column;line-height:1;gap:1px}.logo-sweep{font-size:1.0625rem;font-weight:700;letter-spacing:.06em;color:var(--color-evergreen)}.logo-budgeting,.logo-sweep{font-family:var(--font-heading);text-transform:uppercase}.logo-budgeting{font-size:.5625rem;font-weight:600;letter-spacing:.18em;color:var(--color-sage)}.logo-sweep-inv{color:var(--color-white)}.logo-budgeting-inv{color:rgba(156,181,150,.9)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-body);font-size:.9375rem;font-weight:500;line-height:1;border-radius:var(--r-sm);padding:0 var(--sp-5);height:40px;cursor:pointer;border:1.5px solid transparent;transition:background .15s,border-color .15s,color .15s,transform .1s,box-shadow .15s;white-space:nowrap;text-decoration:none}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--color-evergreen);color:var(--color-white);border-color:var(--color-evergreen);box-shadow:0 1px 3px rgba(31,77,67,.18),0 2px 8px rgba(31,77,67,.1)}.btn-primary:hover:not(:disabled){box-shadow:0 2px 8px rgba(31,77,67,.28),0 4px 16px rgba(31,77,67,.16);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(1px)!important;box-shadow:0 1px 2px rgba(31,77,67,.18)}.btn-primary-full{width:100%;border-radius:var(--r-full)}.btn-secondary{background:var(--color-white);color:var(--color-evergreen);border-color:var(--color-evergreen)}.btn-secondary:hover:not(:disabled){background:var(--color-evergreen-muted)}.btn-tertiary{background:transparent;color:var(--color-ink);border-color:transparent;padding:0 var(--sp-2);font-weight:400;height:auto}.btn-tertiary:hover:not(:disabled){color:var(--color-evergreen);text-decoration:underline}.btn-ghost{background:transparent;color:var(--color-slate);border-color:transparent;font-weight:400;padding:0 var(--sp-2)}.btn-ghost:hover:not(:disabled){color:var(--color-ink);background:var(--color-evergreen-muted)}.btn-ghost-light{background:rgba(255,255,255,.1);color:rgba(255,255,255,.92);border:1.5px solid rgba(255,255,255,.28);font-family:var(--font-body);font-size:.8125rem;font-weight:500;border-radius:var(--r-sm);padding:0 var(--sp-4);height:34px;cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2);transition:background .15s,border-color .15s;white-space:nowrap}.btn-ghost-light:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.45)}.btn-topbar-sign-out{background:var(--color-white);color:var(--color-ink);border:1.5px solid rgba(0,0,0,.18);box-shadow:0 1px 3px rgba(0,0,0,.08);font-family:var(--font-body);font-size:.8125rem;font-weight:500;border-radius:var(--r-sm);padding:0 var(--sp-4);height:34px;cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2);transition:background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.btn-topbar-sign-out:hover{background:var(--color-cream);border-color:rgba(0,0,0,.28);box-shadow:0 1px 4px rgba(0,0,0,.12)}.bwl-wrap{display:flex;flex-direction:column;gap:var(--sp-5)}.bwl-summary{display:flex;gap:var(--sp-6);flex-wrap:wrap;padding:var(--sp-4) var(--sp-6);background:var(--color-evergreen);border-radius:var(--r-lg);margin-bottom:var(--sp-2)}.bwl-summary-stat{display:flex;flex-direction:column;gap:2px}.bwl-summary-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.62)}.bwl-summary-value{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:#ffffff;letter-spacing:-.02em}.bwl-list{gap:var(--sp-3)}.bwl-card,.bwl-list{display:flex;flex-direction:column}.bwl-card{background:var(--color-white);border:1px solid rgba(0,0,0,.07);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-6);gap:var(--sp-4);transition:box-shadow .15s}.bwl-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.07)}.bwl-card-current{border-color:rgba(31,77,67,.3);background:linear-gradient(135deg,rgba(31,77,67,.04),rgba(255,255,255,1) 60%);box-shadow:0 0 0 2px rgba(31,77,67,.12)}.bwl-card-past{opacity:.82}.bwl-row-header{justify-content:space-between}.bwl-row-header,.bwl-week-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}.bwl-week-label{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--color-ink);letter-spacing:-.01em}.bwl-date-range{font-size:.8125rem;color:var(--color-slate);white-space:nowrap}.bwl-badge{display:inline-flex;align-items:center;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:var(--r-full)}.bwl-badge-current{background:rgba(31,77,67,.12);color:var(--color-evergreen)}.bwl-badge-past{background:var(--color-sand);color:var(--color-slate)}.bwl-badge-future{background:rgba(156,181,150,.18);color:var(--color-sage-dark,#5A7A54)}.bwl-stats-row{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4)}.bwl-stat{display:flex;flex-direction:column;gap:3px}.bwl-stat-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-slate)}.bwl-stat-value{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--color-ink);letter-spacing:-.02em}.bwl-stat-note{font-size:.6875rem;color:var(--color-slate);opacity:.75}.bwl-muted{color:var(--color-slate)!important;font-weight:400!important;font-family:var(--font-body)!important;font-size:.875rem!important}.bwl-over{color:#D8B86A!important}.bwl-under{color:var(--color-evergreen)!important}.bwl-budget-set{gap:var(--sp-2)}.bwl-budget-set,.bwl-edit-group{display:flex;align-items:center;flex-wrap:wrap}.bwl-edit-group{gap:5px}.bwl-dollar{color:var(--color-slate);flex-shrink:0}.bwl-dollar,.bwl-input{font-weight:600;font-size:.9rem}.bwl-input{border:1.5px solid var(--color-sage);border-radius:var(--r-sm);padding:4px 8px;font-family:var(--font-body);color:var(--color-ink);background:#F7F4EE;width:90px;outline:none}.bwl-input:focus{border-color:var(--color-evergreen)}.bwl-btn{display:inline-flex;align-items:center;gap:4px;border-radius:var(--r-sm);padding:4px 10px;font-size:.78rem;font-weight:600;font-family:var(--font-body);cursor:pointer;border:1.5px solid transparent;transition:background .12s,filter .12s;white-space:nowrap}.bwl-btn-set{background:var(--color-evergreen);border-color:var(--color-evergreen);color:#fff}.bwl-btn-set:hover{filter:brightness(1.1)}.bwl-btn-save{background:var(--color-evergreen);border-color:var(--color-evergreen);color:#fff;padding:4px 7px}.bwl-btn-save:hover{filter:brightness(1.1)}.bwl-btn-cancel{background:var(--color-cream);border-color:rgba(0,0,0,.1);color:var(--color-slate);padding:4px 7px}.bwl-btn-cancel:hover{background:var(--color-sand)}.bwl-btn-edit{background:var(--color-cream);border-color:rgba(0,0,0,.1);color:var(--color-slate);font-size:.72rem;padding:3px 8px}.bwl-btn-edit:hover{background:var(--color-sand)}.bwl-btn:disabled{opacity:.55;cursor:not-allowed}.bwl-error{font-size:.78rem;color:#D8B86A;margin-top:2px}.bwl-progress-wrap{display:flex;align-items:center;gap:var(--sp-3)}.bwl-progress-track{flex:1 1;height:5px;background:rgba(0,0,0,.08);border-radius:3px;overflow:hidden}.bwl-progress-fill{height:100%;background:var(--color-evergreen);border-radius:3px;transition:width .4s ease}.bwl-progress-fill-over{background:#D8B86A}.bwl-progress-label{font-size:.75rem;font-weight:600;color:var(--color-slate);white-space:nowrap;flex-shrink:0}.bwl-progress-label.bwl-over{color:#D8B86A}.budget-empty-state{background:var(--color-white);border:1px solid rgba(0,0,0,.07);border-radius:var(--r-lg);padding:var(--sp-12) var(--sp-8);text-align:center}.budget-empty-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--color-ink);margin-bottom:var(--sp-2)}.budget-empty-sub{font-size:.9rem;color:var(--color-slate);line-height:1.6}.budget-empty-sub a{color:var(--color-evergreen);text-decoration:underline}@media (max-width:768px){.bwl-stats-row{grid-template-columns:1fr 1fr;gap:var(--sp-3)}.bwl-card,.bwl-summary{padding:var(--sp-4) var(--sp-5)}.bwl-summary{gap:var(--sp-4)}.bwl-summary-value{font-size:1.1rem}}@media (max-width:420px){.bwl-stats-row{grid-template-columns:1fr 1fr}.bwl-input{width:80px}}.section-sub{font-size:.875rem;color:var(--color-slate);margin-top:var(--sp-1);line-height:1.55}.wbe-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-5);background:var(--color-white);border:1px solid rgba(0,0,0,.07);border-radius:var(--r-md);margin-bottom:var(--sp-5);font-size:.875rem}.wbe-row-unset{background:var(--color-cream);border-color:rgba(0,0,0,.06)}.wbe-prompt-icon{font-size:1rem;flex-shrink:0}.wbe-prompt-text{flex:1 1;min-width:0}.wbe-label,.wbe-prompt-text{color:var(--color-slate)}.wbe-amount{font-weight:700;font-size:1rem;color:var(--color-evergreen);font-family:var(--font-heading)}.wbe-input-group{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.wbe-dollar{font-weight:600;color:var(--color-slate);font-size:.9rem}.wbe-input{border:1.5px solid var(--color-sage);border-radius:var(--r-sm);padding:5px 10px;font-size:.9375rem;font-family:var(--font-body);font-weight:600;color:var(--color-ink);background:#F7F4EE;width:110px;outline:none}.wbe-input:focus{border-color:var(--color-evergreen)}.wbe-btn{display:inline-flex;align-items:center;gap:5px;border:1.5px solid rgba(0,0,0,.14);border-radius:var(--r-sm);padding:5px 12px;font-size:.8125rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.wbe-btn-set{background:var(--color-evergreen);border-color:var(--color-evergreen);color:#fff}.wbe-btn-set:hover{filter:brightness(1.1)}.wbe-btn-save{background:var(--color-evergreen);border-color:var(--color-evergreen);color:#fff}.wbe-btn-save:hover{filter:brightness(1.1)}.wbe-btn-cancel{background:var(--color-white);color:var(--color-slate)}.wbe-btn-cancel:hover{background:var(--color-cream)}.wbe-btn-edit{background:var(--color-white);color:var(--color-slate);font-size:.78rem;padding:4px 10px}.wbe-btn-edit:hover{background:var(--color-cream)}.wbe-btn:disabled{opacity:.6;cursor:not-allowed}.wbe-error{width:100%;font-size:.8rem;color:#D8B86A;margin-top:2px}@media (max-width:768px){.wbe-row{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4)}.wbe-input{width:90px}}.avatar-menu{position:relative;display:inline-flex}.avatar-menu-trigger{border:none;cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:.8125rem;letter-spacing:.02em;padding:0;line-height:1}.avatar-menu-trigger:focus-visible{outline:2px solid var(--color-evergreen);outline-offset:2px}.avatar-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-white);border:1px solid rgba(0,0,0,.09);border-radius:var(--r-md);box-shadow:0 4px 16px rgba(0,0,0,.13),0 1px 4px rgba(0,0,0,.06);min-width:168px;z-index:200;overflow:hidden}.avatar-menu-email{font-size:.725rem;color:var(--color-slate);padding:var(--sp-3) var(--sp-4) var(--sp-2);border-bottom:1px solid rgba(0,0,0,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.avatar-menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3) var(--sp-4);background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:.875rem;color:var(--color-ink);text-align:left;transition:background .12s}.avatar-menu-item:hover{background:var(--color-cream)}.btn-destructive{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-border)}.btn-destructive:hover:not(:disabled){background:rgba(192,57,43,.12);border-color:rgba(192,57,43,.5)}.form-stack{gap:var(--sp-5)}.form-field,.form-stack{display:flex;flex-direction:column}.form-field{gap:var(--sp-2)}.form-label{font-size:.8125rem;font-weight:500;letter-spacing:.01em}.form-input,.form-label{font-family:var(--font-body);color:var(--color-ink)}.form-input{font-size:.9375rem;font-weight:400;background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--r-sm);padding:0 var(--sp-4);height:44px;width:100%;outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none}.form-input::placeholder{color:var(--color-slate);opacity:.55}.form-input:focus{border-color:var(--color-sage);box-shadow:var(--shadow-input-focus)}.form-hint{font-size:.8125rem;color:var(--color-slate);opacity:.8}.form-error{display:flex;align-items:flex-start;gap:var(--sp-2);font-size:.875rem;font-weight:500;color:var(--color-error);background:var(--color-error-bg);border:1.5px solid var(--color-error-border);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4)}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-6);background-color:var(--bg-page);background-image:radial-gradient(ellipse 80% 60% at 15% 8%,rgba(201,221,228,.22) 0,transparent 60%),radial-gradient(ellipse 65% 50% at 90% 12%,rgba(156,181,150,.16) 0,transparent 55%),radial-gradient(ellipse 55% 50% at 8% 92%,rgba(233,223,201,.45) 0,transparent 55%),radial-gradient(ellipse 60% 45% at 88% 88%,rgba(216,184,106,.1) 0,transparent 50%);position:relative;overflow:hidden}.auth-page:before{width:380px;height:380px;background:radial-gradient(circle,rgba(156,181,150,.32) 0,transparent 70%);top:-120px;left:-100px}.auth-page:after,.auth-page:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.auth-page:after{width:300px;height:300px;background:radial-gradient(circle,rgba(216,184,106,.18) 0,transparent 70%);bottom:-90px;right:-70px}.auth-card{background:var(--color-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--r-xl);padding:var(--sp-10) var(--sp-12);width:100%;max-width:440px;box-shadow:0 1px 4px rgba(0,0,0,.05),0 4px 16px rgba(0,0,0,.06);position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#9CB596,#C9DDE4 50%,#E9DFC9);border-radius:var(--r-xl) var(--r-xl) 0 0}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--sp-8);background:transparent}.auth-logo img{width:min(280px,100%)!important;height:auto!important;background:transparent}.auth-heading{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-ink);margin-bottom:var(--sp-1)}.auth-subheading{font-size:.9375rem;color:var(--color-slate);margin-bottom:var(--sp-8)}.auth-divider{height:1px;background:var(--color-sand);margin:var(--sp-6) 0 var(--sp-5)}.auth-footer{text-align:center;font-size:.875rem;color:var(--color-slate)}.auth-footer a{color:var(--color-evergreen);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.bucket-detail-sheet{background:var(--color-white);border-radius:var(--r-xl) var(--r-xl) 0 0;max-width:540px;width:100%;margin:auto 0 0;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-modal)}@media (min-width:640px){.bucket-detail-sheet{border-radius:var(--r-xl);margin:auto}}.bds-topbar{display:flex;justify-content:flex-end;padding:var(--sp-4) var(--sp-5) var(--sp-2)}.bds-close{background:var(--color-cream);border:none;border-radius:var(--r-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-slate);flex-shrink:0;transition:background .12s,color .12s}.bds-close:hover{background:var(--color-sand);color:var(--color-ink)}.bds-hero{display:flex;flex-direction:column;align-items:center;padding:var(--sp-1) var(--sp-6) var(--sp-6);gap:var(--sp-2);text-align:center}.bds-hero-icon-wrap{margin-bottom:var(--sp-1);filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.bds-name{font-family:var(--font-heading);font-size:1.375rem;font-weight:700;color:var(--color-ink);letter-spacing:-.025em;line-height:1.2}.bds-badge-inline{margin:0}.bds-hero-amount{font-family:var(--font-heading);font-size:2.5rem;font-weight:800;color:var(--color-ink);letter-spacing:-.045em;line-height:1;margin-top:var(--sp-2)}.bds-goal-sub{font-size:.875rem;color:var(--color-slate);margin-top:0}.bds-progress-wrap{padding:0 var(--sp-6) var(--sp-5);border-bottom:1px solid var(--color-border)}.bds-progress-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-2)}.bds-progress-label{font-size:.8125rem;font-weight:500;color:var(--color-slate)}.bds-progress-pct{font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;color:var(--color-evergreen);letter-spacing:-.02em}.bds-track{height:12px!important}.bds-stats{display:flex;border-bottom:1px solid var(--color-border)}.bds-stat{flex:1 1;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--color-border);text-align:center}.bds-stat:last-child{border-right:none}.bds-stat-value{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--color-ink);letter-spacing:-.02em;margin-bottom:3px}.bds-stat-label{font-size:.6875rem;font-weight:500;color:var(--color-slate);text-transform:uppercase;letter-spacing:.05em}.bds-section{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--color-border)}.bds-section-last{border-bottom:none;padding-bottom:var(--sp-8)}.bds-section-title{font-family:var(--font-heading);font-size:.9375rem;font-weight:700;color:var(--color-ink);margin-bottom:var(--sp-3)}.bds-kv-row{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) 0;border-bottom:1px solid rgba(0,0,0,.04)}.bds-kv-row:last-child{border-bottom:none}.bds-kv-label{font-size:.875rem;color:var(--color-slate)}.bds-kv-value{font-family:var(--font-heading);font-size:.875rem;font-weight:600;color:var(--color-ink)}.bds-txn-list{list-style:none;padding:0;margin:0}.bds-txn-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid rgba(0,0,0,.05)}.bds-txn-row:last-child{border-bottom:none}.bds-txn-left{min-width:0}.bds-txn-desc{font-size:.875rem;font-weight:500;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bds-txn-date{font-size:.75rem;color:var(--color-slate);margin-top:1px}.bds-txn-completed{gap:4px;font-size:.75rem;font-weight:600;color:var(--color-evergreen);flex-shrink:0;white-space:nowrap}.bds-empty,.bds-txn-completed{display:flex;align-items:center}.bds-empty{flex-direction:column;gap:var(--sp-2);padding:var(--sp-5) 0;font-size:.875rem;color:var(--color-slate)}.bds-view-all-hint{font-size:.75rem;color:var(--color-slate);text-align:center;padding-top:var(--sp-3);opacity:.7}.bucket-card-clickable{transition:border-color .15s,box-shadow .15s,transform .1s}.bucket-card-clickable:hover{border-color:var(--color-sage);box-shadow:var(--shadow-card-hover,0 4px 16px rgba(0,0,0,.1));transform:translateY(-1px)}.trust-badges{justify-content:center;gap:var(--sp-5);flex-wrap:wrap;margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--color-sand)}.trust-badge,.trust-badges{display:flex;align-items:center}.trust-badge{gap:5px;color:var(--color-slate);font-size:.6875rem;font-weight:500;letter-spacing:.01em;white-space:nowrap}.trust-badge svg{color:var(--color-sage-dark);flex-shrink:0}.trust-bar{justify-content:space-between;gap:var(--sp-6);padding:var(--sp-4) var(--sp-8);background:var(--color-surface);border-top:1px solid var(--color-sand);flex-wrap:wrap;margin-top:auto}.trust-bar,.trust-bar-tagline{display:flex;align-items:center}.trust-bar-tagline{gap:var(--sp-3);color:var(--color-slate);font-size:.75rem;line-height:1.5;max-width:280px}.trust-bar-badges{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.app-shell{display:flex;min-height:100vh;background:transparent}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--ds-cream);border-right:1px solid var(--ds-sand-a75);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;overflow-y:auto;z-index:20}.sidebar-header{padding:var(--sp-6) var(--sp-5) var(--sp-5);border-bottom:1px solid var(--color-sand-light);flex-shrink:0}.sidebar-header img{width:min(180px,100%);height:auto;background:transparent}.ds-sidenav{flex:1 1;padding:var(--ds-space-4) var(--ds-space-3);display:flex;flex-direction:column;gap:2px}.ds-sidenav__item{display:flex;align-items:center;gap:var(--ds-space-3);padding:10px 14px;border-radius:999px;font-size:.9375rem;font-weight:500;color:var(--ds-slate);text-decoration:none;transition:background .15s ease,color .15s ease}.ds-sidenav__item svg{flex-shrink:0;opacity:.75;transition:opacity .15s ease}.ds-sidenav__item:hover{background:var(--ds-sage-a14);color:var(--ds-evergreen)}.ds-sidenav__item:hover svg{opacity:1}.ds-sidenav__item:focus-visible{outline:2px solid var(--ds-evergreen);outline-offset:2px}.ds-sidenav__item--active{background:var(--ds-evergreen);color:var(--ds-cream);font-weight:600;box-shadow:var(--ds-shadow-sm)}.ds-sidenav__item--active svg{opacity:1}.ds-sidenav__item--active:hover{background:var(--ds-evergreen);color:var(--ds-cream)}.ds-sidenav__group-title{margin:var(--ds-space-5) 14px var(--ds-space-1);font-size:.6563rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ds-slate);opacity:.65}.ds-sidenav__item--soon{cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.6}.ds-sidenav__item--soon:hover{background:none;color:var(--ds-slate)}.ds-sidenav__item--soon:hover svg{opacity:.75}.tab-item-disabled{opacity:.35;pointer-events:none}.sidebar-section{padding:var(--sp-5) var(--sp-5) var(--sp-3);border-top:1px solid var(--color-sand-light);flex-shrink:0}.sidebar-section-title{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-slate);opacity:.7;margin-bottom:var(--sp-3)}.sidebar-account-item{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) 0;font-size:.8125rem;color:var(--color-slate)}.sidebar-account-item strong{font-weight:500;color:var(--color-ink)}.app-body{margin-left:var(--sidebar-width);flex:1 1;display:flex;flex-direction:column;min-width:0}.app-topbar{background:var(--color-white);border-bottom:1px solid rgba(0,0,0,.06);padding:var(--sp-5) var(--sp-8);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);position:relative;overflow:hidden}.app-topbar-accent{position:absolute;right:0;top:0;width:220px;height:100%;pointer-events:none;z-index:0}.app-topbar>:not(.app-topbar-accent){position:relative;z-index:1}.app-topbar-greeting{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-ink);letter-spacing:-.02em;line-height:1.2}.app-topbar-subline{font-size:.875rem;color:var(--color-slate);margin-top:var(--sp-1)}.app-topbar-right{flex-shrink:0;padding-top:var(--sp-1)}.app-topbar-right,.topbar-left{display:flex;align-items:center;gap:var(--sp-3)}.topbar-left{min-width:0}.topbar-logo-mobile{display:none;flex-shrink:0}.topbar-logo-mobile img{width:min(160px,100%);height:auto;background:transparent}.topbar-email{font-size:.875rem;font-weight:500;color:var(--color-slate)}.user-avatar{width:36px;height:36px;border-radius:var(--r-full);background:var(--color-evergreen);color:var(--color-white);font-family:var(--font-heading);font-size:.8125rem;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.02em;flex-shrink:0}.app-content{padding:var(--sp-10) var(--sp-10);flex:1 1}.settings-field-label{font-size:.8125rem;font-weight:500;color:var(--color-slate);margin-bottom:var(--sp-2)}.settings-field-value{font-size:.9375rem;font-weight:500;color:var(--color-ink)}.settings-display-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.settings-edit-row{display:flex;align-items:center;gap:var(--sp-3)}.settings-info-block{padding-bottom:var(--sp-6);margin-bottom:var(--sp-6);border-bottom:1px solid rgba(0,0,0,.06)}.onboarding-page,.settings-signout-row{display:flex;align-items:center}.onboarding-page{min-height:100vh;background:var(--bg-page);flex-direction:column;justify-content:flex-start;padding:var(--sp-12) var(--sp-6) var(--sp-16)}.onboarding-container{width:100%;max-width:540px}.onboarding-logo-row{display:flex;justify-content:center;margin-bottom:var(--sp-10)}.onboarding-heading{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--color-ink);letter-spacing:-.02em;text-align:center;margin-bottom:var(--sp-3)}.onboarding-subheading{font-size:.9375rem;color:var(--color-slate);text-align:center;line-height:1.6;margin-bottom:var(--sp-8)}.ob-step-indicator{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin-bottom:var(--sp-8)}.ob-step{width:8px;height:8px;border-radius:var(--r-full);background:rgba(0,0,0,.12);transition:width .2s,background .2s}.ob-step-active{width:24px;background:var(--color-evergreen)}.ob-starter-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-4)}.ob-card{background:var(--color-white);border:1.5px solid rgba(0,0,0,.08);border-radius:var(--r-lg);padding:var(--sp-7) var(--sp-4) var(--sp-6);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;transition:border-color .14s,box-shadow .14s}.ob-card:focus-visible{box-shadow:0 0 0 3px rgba(31,77,67,.18)}.ob-card:hover:not(.ob-card-selected){border-color:rgba(0,0,0,.16);box-shadow:0 2px 8px rgba(0,0,0,.04)}.ob-card-selected{border-color:var(--color-evergreen);box-shadow:0 0 0 1px var(--color-evergreen)}.ob-card-check{position:absolute;top:var(--sp-3);right:var(--sp-3);width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(0,0,0,.14);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .14s,border-color .14s}.ob-card-selected .ob-card-check{background:var(--color-evergreen);border-color:var(--color-evergreen)}.ob-card-icon{width:54px;height:54px;border-radius:50%;justify-content:center;flex-shrink:0}.ob-card-icon,.ob-card-text{display:flex;align-items:center}.ob-card-text{flex-direction:column;gap:3px;width:100%}.ob-card-label{font-size:.875rem;font-weight:600;color:var(--color-ink);line-height:1.2;text-align:center}.ob-card-desc{font-size:.6875rem;color:var(--color-slate);font-weight:400;line-height:1.4;text-align:center}.ob-card-target-wrap{align-self:stretch;margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid rgba(0,0,0,.07)}.ob-card-target-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-slate);margin-bottom:var(--sp-1);opacity:.75}.ob-card-target-input-wrap{position:relative}.ob-card-target-dollar{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--color-slate);font-size:.8125rem;pointer-events:none}.ob-card-target-input{width:100%;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--color-ink);background:var(--bg-page);border:1.5px solid rgba(0,0,0,.1);border-radius:var(--r-sm);padding:7px var(--sp-3) 7px 22px;outline:none;text-align:right;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none}.ob-card-target-input::placeholder{color:var(--color-slate);opacity:.45}.ob-card-target-input:focus{border-color:var(--color-sage);box-shadow:var(--shadow-input-focus)}.ob-cc-target{background:var(--color-white);border:1px solid rgba(0,0,0,.07);border-radius:var(--r-md);padding:var(--sp-5);margin-bottom:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);animation:obSlideDown .18s cubic-bezier(.25,.46,.45,.94) both}@keyframes obSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ob-cc-optional{font-weight:400;color:var(--color-slate)}.ob-bucket-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-3);gap:var(--sp-3);width:100%;margin:var(--sp-5) 0 var(--sp-3)}.ob-bucket-item{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-3);background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--r-lg);cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:border-color .15s ease,background .15s ease;outline:none}.ob-bucket-item:focus-visible{box-shadow:0 0 0 2px var(--color-evergreen)}.ob-bucket-item-selected{border-color:var(--color-evergreen);background:rgba(31,77,67,.04)}.ob-bucket-item-label{font-size:.8125rem;font-weight:600;color:var(--color-ink);text-align:center;line-height:1.3}.ob-bucket-toggle{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;justify-content:center;color:var(--color-slate);transition:background .15s,border-color .15s;flex-shrink:0}.ob-bucket-item-selected .ob-bucket-toggle{background:var(--color-evergreen);border-color:var(--color-evergreen);color:#fff}.ob-bucket-caption{font-size:.8125rem;color:var(--color-slate);text-align:center;margin-bottom:var(--sp-5)}.ob-custom-name-wrap{width:100%;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--r-md);padding:var(--sp-4);margin-top:var(--sp-1);margin-bottom:var(--sp-2)}.ob-custom-list{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.ob-custom-row{gap:var(--sp-3);background:var(--color-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.ob-custom-info,.ob-custom-row{display:flex;align-items:center}.ob-custom-info{flex:1 1;min-width:0;gap:var(--sp-2)}.ob-custom-name{font-size:.875rem;font-weight:600;color:var(--color-ink)}.ob-custom-meta{font-size:.75rem;color:var(--color-slate)}.onboarding-add-btn{width:100%;justify-content:center;margin-bottom:var(--sp-2)}.onboarding-add-form{background:var(--color-white);border:1px solid rgba(0,0,0,.07);border-radius:var(--r-lg);padding:var(--sp-6);margin-bottom:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}.ob-picker-section{background:var(--color-cream);border:1px solid rgba(0,0,0,.06);border-radius:var(--r-lg);padding:var(--sp-5);margin-bottom:var(--sp-4);animation:obSlideDown .18s cubic-bezier(.25,.46,.45,.94) both}.ob-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.ob-picker-title{font-size:.8125rem;font-weight:600;color:var(--color-ink);letter-spacing:.01em}.ob-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-3);gap:var(--sp-3)}.ob-picker-item{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-2);border:1.5px solid rgba(0,0,0,.08);border-radius:var(--r-md);cursor:pointer;background:var(--color-white);text-align:center;transition:border-color .14s,background .14s,box-shadow .14s}.ob-picker-item:hover{border-color:var(--color-sage);background:var(--color-sage-light);box-shadow:0 2px 8px rgba(0,0,0,.05)}.ob-picker-item-label{font-size:.8125rem;font-weight:600;color:var(--color-ink);line-height:1.2}.ob-custom-name-form{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;gap:var(--sp-2)}.onboarding-actions{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);margin-top:var(--sp-8)}.onboarding-skip{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--color-slate);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);transition:color .14s}.onboarding-skip:hover{color:var(--color-ink)}.onboarding-skip:disabled{opacity:.5;cursor:default}.card{background:var(--color-white);border:1px solid rgba(0,0,0,.05);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.card-padded{padding:var(--sp-8)}.sweep-hero-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--r-xl);padding:var(--sp-7) var(--sp-8);margin-bottom:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-1)}.sweep-hero-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}.sweep-hero-label{display:flex;align-items:center;gap:5px;font-size:.8125rem;font-weight:500;color:var(--color-slate)}.sweep-hero-dollar-badge{width:38px;height:38px;border-radius:50%;background:rgba(156,181,150,.22);display:flex;align-items:center;justify-content:center;color:var(--color-evergreen);flex-shrink:0}.sweep-hero-amount{font-family:var(--font-heading);font-size:3.75rem;font-weight:700;color:var(--color-evergreen);letter-spacing:-.04em;line-height:1;margin:0}.sweep-hero-week-sub{font-size:.875rem;color:var(--color-slate);margin-bottom:var(--sp-5)}.sweep-hero-cta{width:100%;border-radius:var(--r-full)!important;font-size:1rem;padding-top:var(--sp-4);padding-bottom:var(--sp-4);text-align:center;text-decoration:none;display:block}@media (max-width:860px){.sweep-hero-amount{font-size:2.75rem}}.hero-stat-chips{display:flex;gap:var(--sp-2);margin-top:calc(-1 * var(--sp-4));margin-bottom:var(--sp-8);flex-wrap:wrap}.hero-chip{display:inline-flex;align-items:baseline;gap:5px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--r-full);padding:5px var(--sp-4);line-height:1}.hero-chip-value{font-family:var(--font-heading);font-size:.875rem;font-weight:700;color:var(--color-ink);letter-spacing:-.01em}.hero-chip-label{font-size:.75rem;color:var(--color-slate);font-weight:400}.dash-stats-strip{display:flex;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--sp-8)}@media (max-width:640px){.dash-stats-strip{display:grid;grid-template-columns:1fr 1fr}}.icon-circle{width:36px;height:36px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-circle-evergreen{background:rgba(31,77,67,.1);color:var(--color-evergreen)}.icon-circle-sage{background:rgba(156,181,150,.18);color:var(--color-evergreen)}.icon-circle-gold{background:rgba(216,184,106,.14);color:var(--color-gold-dark)}.icon-circle-mist{background:rgba(201,221,228,.28)}.icon-circle-sand{background:rgba(233,223,201,.28);color:var(--color-slate)}.icon-circle-slate{background:rgba(95,103,109,.1);color:var(--color-slate)}.icon-circle-sky{background:rgba(201,221,228,.28);color:#5F676D}.icon-circle-sm{width:28px;height:28px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-header-with-icon,.section-title-group{display:flex;align-items:center;gap:var(--sp-3)}.form-label-icon-row{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1)}.form-label-icon-row .form-label{margin-bottom:0}.progress-track{height:7px;background:rgba(0,0,0,.06);border-radius:var(--r-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--r-full);transform-origin:left center}.progress-fill,.progress-fill-animated{transition:width .72s cubic-bezier(.25,.46,.45,.94)}.progress-evergreen{background:var(--color-evergreen)}.progress-sage{background:var(--color-sage)}.progress-gold{background:var(--color-gold)}.progress-mist{background:var(--color-mist)}.bucket-status-badge{display:inline-flex;align-items:center;gap:5px;font-size:.6875rem;font-weight:600;letter-spacing:.01em;padding:3px 8px;border-radius:var(--r-full);line-height:1}.bucket-status-on-track{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text)}.bucket-status-attention{background:var(--color-gold-bg);border:1px solid var(--color-gold-border);color:var(--color-gold-dark)}.bucket-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.bucket-complete-badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px 10px 3px 7px;border-radius:var(--r-full);background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text);font-size:.6875rem;font-weight:700;letter-spacing:.01em;animation:checkPop .45s cubic-bezier(.34,1.56,.64,1) both}.bucket-complete-check{width:14px;height:14px;border-radius:50%;background:var(--color-evergreen);color:white;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:8px;font-weight:900;line-height:1}.confetti-wrap{position:relative;display:inline-flex}.confetti-dot{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:var(--c,var(--color-sage));pointer-events:none;animation:confettiFloat .7s var(--delay,0s) ease-out both}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px var(--sp-3);border-radius:var(--r-full);font-size:.75rem;font-weight:600;white-space:nowrap}.badge-on-track{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text)}.badge-attention{background:var(--color-gold-bg);border:1px solid var(--color-gold-border);color:var(--color-gold-dark)}.badge-over-budget{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error)}.badge-new{background:rgba(201,221,228,.28);border:1px solid rgba(201,221,228,.55);color:#5F676D}.badge-recurring{background:rgba(156,181,150,.18);border:1px solid rgba(156,181,150,.4);color:var(--color-evergreen)}.badge-onetime{background:rgba(95,103,109,.09);border:1px solid rgba(95,103,109,.2);color:var(--color-slate)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:500;padding:3px 10px;border-radius:var(--r-full);white-space:nowrap;line-height:1.4;cursor:default}.chip-sage{background:rgba(156,181,150,.18);color:var(--color-evergreen)}.chip-gold{background:var(--color-gold-bg);color:var(--color-gold-dark)}.chip-mist{background:rgba(201,221,228,.28);color:#5F676D}.chip-slate{background:rgba(95,103,109,.1);color:var(--color-slate)}.chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}.chip-dismiss{background:none;border:none;cursor:pointer;padding:0 0 0 2px;color:inherit;opacity:.55;display:inline-flex;align-items:center;line-height:1;font-size:.875rem;transition:opacity .12s}.chip-dismiss:hover{opacity:1}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-6)}.section-title{font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;color:var(--color-ink);letter-spacing:-.01em}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-12) var(--sp-8);gap:var(--sp-3)}.empty-state-illustration{margin-bottom:var(--sp-1)}.empty-state-icon{width:56px;height:56px;border-radius:var(--r-full);background:var(--color-evergreen-muted);display:flex;align-items:center;justify-content:center;color:var(--color-evergreen)}.empty-state-heading{font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;color:var(--color-ink)}.empty-state-body{font-size:.9375rem;color:var(--color-slate);max-width:300px;line-height:1.6;margin-bottom:var(--sp-1)}.text-evergreen{color:var(--color-evergreen)}.text-sage{color:var(--color-sage)}.text-slate{color:var(--color-slate)}.text-gold-safe{color:var(--color-gold-dark)}.text-error{color:var(--color-error)}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bucket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.bucket-card{background:var(--color-white);border:1px solid rgba(0,0,0,.05);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1);position:relative;transition:box-shadow .22s cubic-bezier(.25,.46,.45,.94),transform .22s cubic-bezier(.25,.46,.45,.94),border-color .22s;animation:cardIn .28s cubic-bezier(.25,.46,.45,.94) both}.bucket-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06),0 6px 20px rgba(0,0,0,.07);transform:translateY(-1px)}.bucket-card:active{transform:translateY(0);transition-duration:.08s}.bucket-card-complete{border-color:rgba(156,181,150,.45)}.bucket-card-clickable{cursor:pointer}.bucket-card-clickable:active{transform:translateY(0)}.bucket-card-icon-wrap{position:relative;margin-bottom:var(--sp-2)}.bucket-card-name{font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bucket-card-amount-value,.bucket-card-name{font-family:var(--font-heading);font-weight:700;color:var(--color-ink)}.bucket-card-amount-value{font-size:1.25rem;letter-spacing:-.03em;line-height:1.15;margin-bottom:var(--sp-2)}.bucket-card-no-goal,.bucket-card-progress-section{display:flex;flex-direction:column;gap:var(--sp-2)}.bucket-card-no-goal{margin-top:var(--sp-1)}.bucket-card-no-goal-track{opacity:.28}.bucket-card-no-goal-label{font-size:.725rem;font-weight:500;color:var(--color-slate);opacity:.55;letter-spacing:.01em}.bucket-card-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.bucket-card-pct{font-size:.8125rem;font-weight:600;color:var(--color-slate)}.bucket-card-delete{position:absolute;top:-2px;right:-2px;background:none;border:none;cursor:pointer;color:var(--color-slate);opacity:0;padding:var(--sp-1);border-radius:var(--r-sm);display:flex;align-items:center;transition:opacity .15s,color .15s,background .15s}.bucket-card:hover .bucket-card-delete{opacity:.45}.bucket-card-delete:hover{opacity:1!important;color:var(--color-error);background:var(--color-error-bg)}.bucket-add-btn{height:34px;font-size:.875rem;padding:0 var(--sp-4)}.dash-mid-row{display:grid;grid-template-columns:5fr 7fr;grid-gap:var(--sp-6);gap:var(--sp-6);margin-bottom:var(--sp-8);align-items:start}.sweep-summary-card{padding:var(--sp-6)}.sweep-summary-layout{display:flex;align-items:flex-start;gap:var(--sp-6)}.sweep-legend{list-style:none;padding:0;margin:0;flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-1)}.sweep-legend-row{display:flex;align-items:center;gap:var(--sp-2);font-size:.8125rem}.sweep-legend-dot{width:10px;height:10px;border-radius:var(--r-full);flex-shrink:0}.sweep-legend-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-ink)}.sweep-legend-amount{font-weight:600;color:var(--color-ink);flex-shrink:0}.sweep-legend-pct{font-size:.75rem;color:var(--color-slate);min-width:2.2rem;text-align:right;flex-shrink:0}.sweep-legend-empty{gap:var(--sp-2);font-size:.8125rem;color:var(--color-slate);padding-top:var(--sp-1);line-height:1.5}.sweep-legend-empty,.txn-section{display:flex;flex-direction:column}.txn-section{gap:var(--sp-4)}.txn-view-all{font-size:.8125rem;color:var(--color-evergreen);font-weight:500;text-decoration:none;white-space:nowrap}.txn-view-all:hover{text-decoration:underline}.txn-table-wrap{overflow-x:auto;border-radius:var(--r-lg)}.txn-table{width:100%;border-collapse:collapse;font-size:.8125rem}.txn-table thead th{padding:var(--sp-3) var(--sp-4);text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-slate);border-bottom:1px solid rgba(233,223,201,.9);white-space:nowrap}.txn-table thead th.txn-col-amount{text-align:right}.txn-table thead th.txn-col-action{width:36px}.txn-table tbody tr{transition:background .1s}.txn-table tbody tr:hover{background:var(--color-cream)}.txn-table tbody tr:not(:last-child) td{border-bottom:1px solid rgba(233,223,201,.6)}.txn-table tbody td{padding:var(--sp-3) var(--sp-4);vertical-align:middle}.txn-cell-date{white-space:nowrap;color:var(--color-slate);font-size:.75rem}.txn-cell-desc{max-width:140px}.txn-desc-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-ink);font-weight:500}.txn-category-badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--sp-2);border-radius:var(--r-sm);font-size:.6875rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.txn-cat-sweep{background:rgba(156,181,150,.15);color:var(--color-evergreen)}.txn-cat-expense{background:rgba(201,221,228,.25);color:#5F676D}.txn-col-amount{text-align:right;white-space:nowrap}.txn-amount-cell{font-family:var(--font-heading);font-size:.875rem;font-weight:700;letter-spacing:-.01em}.txn-amount-sweep{color:var(--color-evergreen)}.txn-amount-expense{color:#5F676D}.txn-bucket-badge{display:inline-flex;align-items:center;padding:2px var(--sp-2);border-radius:var(--r-sm);font-size:.6875rem;font-weight:500;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.txn-no-bucket{color:var(--color-slate);opacity:.45}.overall-progress-card{background:var(--color-white);border:1px solid rgba(0,0,0,.05);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-5) var(--sp-7);display:flex;align-items:center;gap:var(--sp-8);margin-bottom:var(--sp-8)}.overall-progress-left{display:flex;align-items:center;gap:var(--sp-4);flex-shrink:0;min-width:220px}.overall-progress-icon{flex-shrink:0}.overall-progress-title{font-family:var(--font-heading);font-size:.9375rem;font-weight:700;color:var(--color-ink)}.overall-progress-sub{font-size:.8125rem;color:var(--color-slate);margin-top:2px;line-height:1.45}.overall-progress-bar-wrap{flex:1 1;min-width:0}.overall-progress-right{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);flex-shrink:0;min-width:56px}.overall-progress-pct{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--color-evergreen);letter-spacing:-.04em;line-height:1}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--sp-5);animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--color-white);border-radius:var(--r-xl);width:100%;max-width:480px;max-height:92vh;overflow-y:auto;padding:var(--sp-10);box-shadow:var(--shadow-popover);animation:slideUp .18s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(12px);opacity:.8}to{transform:translateY(0);opacity:1}}.modal-header{margin-bottom:var(--sp-6)}.modal-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--color-ink);letter-spacing:-.01em;margin-bottom:var(--sp-1)}.modal-subtitle{font-size:.875rem;color:var(--color-slate)}.modal-close{background:var(--color-cream);border:none;border-radius:var(--r-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-slate);flex-shrink:0;transition:background .12s,color .12s}.modal-close:hover{background:var(--color-sand);color:var(--color-ink)}.modal-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-2)}.type-picker-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-3);gap:var(--sp-3)}.type-picker-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border:1.5px solid var(--color-border);border-radius:var(--r-md);cursor:pointer;background:var(--color-white);text-align:left;width:100%;transition:border-color .12s,background .12s,box-shadow .12s}.type-picker-item:hover{border-color:var(--color-sage);background:var(--color-sage-light);box-shadow:0 2px 8px rgba(0,0,0,.05)}.type-picker-item-selected{border-color:var(--color-evergreen)!important;background:var(--color-evergreen-muted)!important}.type-picker-label{font-size:.875rem;font-weight:600;color:var(--color-ink);line-height:1.2}.type-picker-desc{font-size:.75rem;color:var(--color-slate);margin-top:2px;line-height:1.4}.bottom-tab-bar{display:none}@media (max-width:768px){.sidebar{display:none}.app-body{margin-left:0}.app-body,.app-shell{overflow-x:hidden}.bottom-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom, 0px));padding-bottom:env(safe-area-inset-bottom,0);background:var(--color-white);border-top:1px solid rgba(0,0,0,.07);box-shadow:0 -2px 20px rgba(0,0,0,.08);z-index:40;align-items:stretch}.app-topbar{padding:var(--sp-3) var(--sp-5) var(--sp-2);flex-direction:column;align-items:center;gap:var(--sp-2)}.topbar-logo-mobile{display:flex;justify-content:center;align-items:center;width:100%}.topbar-logo-mobile img{width:min(130px,55%)}.topbar-left{width:100%;text-align:center;padding-top:0;margin-top:0;border-top:none}.topbar-left>div{width:100%}.app-topbar>.app-topbar-right{position:absolute;top:var(--sp-3);right:var(--sp-5);padding-top:0;width:auto;flex-shrink:0}.bckt-topbar-add-btn{width:36px;height:36px;padding:0;border-radius:50%;justify-content:center}.bckt-topbar-add-btn .bckt-add-label{display:none}.avatar-menu-dropdown{right:0;left:auto}.app-topbar-greeting{font-size:1.05rem}.app-topbar-subline{font-size:.78rem;margin-top:2px}.app-content{padding:var(--sp-5);padding-bottom:calc(72px + var(--sp-5) + env(safe-area-inset-bottom, 0px))}.card-padded{padding:var(--sp-5)}.empty-state{padding:var(--sp-8) var(--sp-5)}.section-header{margin-bottom:var(--sp-4)}.dash-stat-row{grid-template-columns:1fr 1fr;gap:var(--sp-3)}.bucket-grid{grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}.bucket-card{padding:var(--sp-3)}.bucket-card-name{font-size:.8rem;font-size:.8125rem;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.3}.bucket-card-amount-value{font-size:1rem}.bucket-card-delete{display:none}.dash-mid-row{grid-template-columns:1fr;gap:var(--sp-5)}.sweep-summary-layout{flex-direction:column}.overall-progress-card{flex-direction:column;gap:var(--sp-4);padding:var(--sp-5)}.overall-progress-left{min-width:unset}.overall-progress-right{flex-direction:row;gap:var(--sp-3)}.txn-table-wrap{overflow-x:auto}.auth-card{padding:var(--sp-6);border-radius:var(--r-lg)}.modal-overlay{align-items:flex-end;padding:0}.modal-card{max-width:100%;border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:85vh;padding:var(--sp-6)}}.tab-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:var(--font-body);font-size:.625rem;font-weight:500;letter-spacing:.02em;color:var(--color-slate);text-decoration:none;border:none;background:none;cursor:pointer;padding:var(--sp-2) 0;transition:color .12s}.tab-item-active,.tab-item:hover{color:var(--color-evergreen)}.tab-item-active{position:relative}.tab-item-active:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:24px;height:2px;background:var(--color-evergreen);border-radius:1px}.tab-item-center{flex:1 1}.tab-add-btn,.tab-item-center{display:flex;align-items:center;justify-content:center}.tab-add-btn{width:50px;height:50px;border-radius:var(--r-full);background:var(--color-evergreen);color:var(--color-white);border:none;cursor:pointer;box-shadow:0 4px 14px rgba(31,77,67,.4);margin-top:-20px;transition:background .15s,transform .12s,box-shadow .15s}.tab-add-btn:hover{transform:scale(1.06);box-shadow:0 6px 18px rgba(31,77,67,.48)}.modal-sheet{background:var(--color-white);border-radius:var(--r-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-popover);animation:slideUp .18s cubic-bezier(.16,1,.3,1)}.modal-sheet-wide{max-width:600px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-6) var(--sp-6) 0;margin-bottom:var(--sp-5)}@media (max-width:768px){.modal-overlay{align-items:flex-end;padding:0}.modal-sheet{max-width:100%;border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:88vh}}.btn-icon{background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--r-sm);color:var(--color-slate);display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.btn-icon:hover{background:var(--color-cream);color:var(--color-ink)}.btn-icon-destructive:hover{background:var(--color-error-bg);color:var(--color-error)}.sweep-cta-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);background:linear-gradient(135deg,var(--color-evergreen) 0,#1F4D43 100%);border-radius:var(--r-lg);padding:var(--sp-8);margin-bottom:var(--sp-8);box-shadow:0 2px 12px rgba(31,77,67,.18)}.sweep-cta-left{flex:1 1}.sweep-cta-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.65);margin-bottom:var(--sp-1)}.sweep-cta-amount{font-family:var(--font-heading);font-size:2rem;font-weight:800;color:var(--color-white);letter-spacing:-.03em;line-height:1;margin-bottom:var(--sp-1)}.sweep-cta-sub{font-size:.875rem;color:rgba(255,255,255,.72)}.sweep-cta-card .btn-primary{background:var(--color-white);color:var(--color-evergreen);border-color:var(--color-white);white-space:nowrap;flex-shrink:0}.sweep-cta-card .btn-primary:hover{background:var(--color-cream);border-color:var(--color-cream);box-shadow:0 4px 12px rgba(0,0,0,.14)}@media (max-width:640px){.sweep-cta-card{flex-direction:column;align-items:flex-start;gap:var(--sp-4)}.sweep-cta-amount{font-size:1.625rem}.sweep-cta-card .btn-primary{width:100%;text-align:center}}.income-list{display:flex;flex-direction:column;gap:var(--sp-2)}.income-item{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--color-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--r-md);box-shadow:var(--shadow-card);transition:opacity .2s}.income-item,.income-item-icon{display:flex;align-items:center}.income-item-icon{width:36px;height:36px;border-radius:var(--r-full);background:var(--color-sage-light);color:var(--color-sage-dark);justify-content:center;flex-shrink:0}.income-item-body{flex:1 1;min-width:0}.income-item-name{font-size:.9375rem;font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income-item-meta{font-size:.8125rem;color:var(--color-slate);margin-top:2px}.income-item-actions{display:flex;align-items:center;gap:var(--sp-1);flex-shrink:0}.txn-list{list-style:none;padding:0;margin:0}.txn-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid rgba(0,0,0,.05);transition:opacity .2s}.txn-item:first-child{padding-top:var(--sp-4)}.txn-item:last-child{padding-bottom:var(--sp-4);border-bottom:none}.txn-icon{width:32px;height:32px;border-radius:var(--r-full);background:var(--color-cream);color:var(--color-slate);display:flex;align-items:center;justify-content:center;flex-shrink:0}.txn-body{flex:1 1;min-width:0}.txn-description{font-size:.9375rem;font-weight:500;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txn-meta{font-size:.8125rem;color:var(--color-slate);margin-top:1px}.txn-right{display:flex;align-items:center;gap:var(--sp-1);flex-shrink:0}.txn-amount{font-family:var(--font-heading);font-size:.9375rem;font-weight:700;color:var(--color-ink);letter-spacing:-.01em}.asm-topbar{justify-content:space-between;padding:var(--sp-4) var(--sp-5) var(--sp-3);gap:var(--sp-3)}.asm-back,.asm-topbar{display:flex;align-items:center}.asm-back{background:var(--color-cream);border:none;border-radius:var(--r-sm);width:32px;height:32px;justify-content:center;cursor:pointer;color:var(--color-slate);flex-shrink:0;transition:background .12s,color .12s}.asm-back:hover{background:var(--color-sand);color:var(--color-ink)}.asm-topbar-title{font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;color:var(--color-ink);letter-spacing:-.02em;text-align:center;flex:1 1}.asm-topbar-spacer{width:32px;flex-shrink:0}.asm-hero-wrap{padding:0 var(--sp-5) var(--sp-4)}.asm-hero-card{display:flex;align-items:center;justify-content:space-between;background:var(--color-cream);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-5);border:1px solid var(--color-sand-light);margin-bottom:var(--sp-3)}.asm-hero-label{font-size:.8125rem;font-weight:500;color:var(--color-slate);margin-bottom:var(--sp-1)}.asm-hero-amount{font-family:var(--font-heading);font-size:2rem;font-weight:800;color:var(--color-ink);letter-spacing:-.04em;line-height:1}.asm-hero-icon-circle{width:44px;height:44px;border-radius:50%;background:var(--color-white);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.asm-hero-sub{font-size:.875rem;color:var(--color-slate);line-height:1.5}.asm-list{padding:0 var(--sp-5);margin-bottom:var(--sp-2)}.asm-empty{font-size:.875rem;color:var(--color-slate);text-align:center;padding:var(--sp-6) 0}.asm-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) 0;border-bottom:1px solid rgba(0,0,0,.05)}.asm-row:last-child{border-bottom:none}.asm-row-icon{flex-shrink:0}.asm-row-info{width:90px;flex-shrink:0;min-width:0}.asm-row-name{font-size:.8125rem;font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asm-row-dollars{font-size:.75rem;color:var(--color-slate);margin-top:1px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.asm-slider-group{display:flex;align-items:center;gap:var(--sp-2);flex:1 1;min-width:0}.asm-step-btn{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--color-border);background:var(--color-white);color:var(--color-slate);font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,border-color .12s,color .12s;padding:0}.asm-step-btn:hover{background:var(--color-cream);border-color:var(--color-evergreen);color:var(--color-evergreen)}.asm-slider{flex:1 1;height:4px;cursor:pointer;min-width:0}.asm-row-pct{font-family:var(--font-heading);font-size:.875rem;font-weight:700;letter-spacing:-.02em;min-width:36px;text-align:right;flex-shrink:0;transition:color .15s}.asm-total-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);background:var(--color-cream);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.asm-total-bar.asm-total-over{background:rgba(220,38,38,.05)}.asm-total-label{font-size:.875rem;font-weight:500;color:var(--color-slate)}.asm-total-value{font-family:var(--font-heading);font-size:1.125rem;font-weight:800;color:var(--color-evergreen);letter-spacing:-.03em}.asm-total-over .asm-total-value{color:var(--color-destructive)}.asm-actions{padding:var(--sp-5) var(--sp-5) var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-2)}.asm-split-link{background:none;border:none;color:var(--color-slate);font-size:.8125rem;cursor:pointer;text-align:center;text-decoration:underline;text-underline-offset:2px;padding:var(--sp-2) 0 0;opacity:.75;transition:opacity .12s}.asm-split-link:hover{opacity:1;color:var(--color-evergreen)}.asm-success-sheet{text-align:center;padding:var(--sp-10) var(--sp-7) var(--sp-8)}.asm-success-check{width:88px;height:88px;border-radius:50%;background:var(--color-evergreen-muted);border:3px solid var(--color-sage-light);display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-5)}.asm-success-heading{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;color:var(--color-ink);letter-spacing:-.03em;margin-bottom:var(--sp-2)}.asm-success-sub{font-size:.9375rem;color:var(--color-slate);margin-bottom:var(--sp-6)}.asm-success-rows{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--sp-6);text-align:left}.asm-success-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid rgba(0,0,0,.05);background:var(--color-white)}.asm-success-row:last-child{border-bottom:none}.asm-success-row-name{flex:1 1;font-size:.875rem;font-weight:500;color:var(--color-ink)}.asm-success-row-amount{color:var(--color-ink);letter-spacing:-.01em}.asm-success-row-amount,.asm-success-row-pct{font-family:var(--font-heading);font-size:.875rem;font-weight:700}.asm-success-row-pct{min-width:36px;text-align:right}.asm-success-tagline{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);color:var(--color-slate);font-size:.875rem;line-height:1.5}.allocation-list,.allocation-total-bar,.sweep-summary-bar{display:none}.welcome-screen{min-height:100dvh;background:var(--color-cream);display:flex;flex-direction:column;align-items:center;padding:var(--sp-10) var(--sp-6) var(--sp-10);position:relative;overflow:hidden}@media (min-width:769px){.welcome-screen{min-height:0;width:420px;margin:48px auto;background:var(--color-white);border-radius:var(--r-xl);box-shadow:0 4px 40px rgba(0,0,0,.09),0 1px 4px rgba(0,0,0,.06);padding:var(--sp-10) var(--sp-8) var(--sp-10)}body:has(.welcome-screen){background:var(--color-cream)}}.welcome-blobs{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.welcome-screen>:not(.welcome-blobs){position:relative;z-index:1}.welcome-illustration,.welcome-logo{display:flex;justify-content:center;margin-bottom:var(--sp-7)}.welcome-illustration{position:relative;width:100%;height:190px;align-items:center;flex-shrink:0}.welcome-ill-blobs{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.welcome-ill-plant{width:90px;height:90px;object-fit:contain;position:absolute;left:4%;bottom:8px;z-index:2;filter:drop-shadow(0 2px 8px rgba(0,0,0,.07))}.welcome-phone-frame{width:104px;height:168px;background:var(--color-white);border:2px solid rgba(31,77,67,.14);border-radius:20px;box-shadow:0 6px 24px rgba(0,0,0,.13),0 1px 4px rgba(0,0,0,.07);display:flex;overflow:hidden;position:relative;z-index:3;flex-shrink:0}.welcome-phone-screen{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-3) var(--sp-2) var(--sp-2);gap:var(--sp-3);background:var(--color-cream)}.welcome-phone-logo{width:46px;height:46px;object-fit:contain}.welcome-phone-lines{width:78px;height:auto}.welcome-ill-chart{width:90px;height:90px;object-fit:contain;position:absolute;right:4%;bottom:10px;z-index:2;filter:drop-shadow(0 2px 8px rgba(0,0,0,.07))}.welcome-headline{font-family:var(--font-heading);font-size:1.625rem;font-weight:800;color:var(--color-ink);text-align:center;line-height:1.25;letter-spacing:-.025em;margin-bottom:var(--sp-5)}.welcome-checklist{list-style:none;padding:0;margin:0 0 var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3);align-self:stretch}.welcome-checklist li{display:flex;align-items:center;gap:var(--sp-3);font-size:.9375rem;color:var(--color-ink);opacity:.82}.welcome-check-icon{width:18px;height:18px;flex-shrink:0}.welcome-dots{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-6)}.welcome-dot{display:block;width:7px;height:7px;border-radius:var(--r-full);background:rgba(31,77,67,.18);transition:width .18s,background .18s}.welcome-dot-active{width:22px;background:var(--color-evergreen)}.cat-bud-section{display:flex;flex-direction:column;gap:var(--sp-3)}.cat-bud-week-note{font-size:.8125rem;color:var(--color-slate)}.cat-bud-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.cat-bud-table{width:100%;border-collapse:collapse;font-size:.875rem}.cat-bud-table thead th{padding:var(--sp-3) var(--sp-4);text-align:left;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-slate);border-bottom:1px solid var(--color-sand);white-space:nowrap}.cat-bud-table tbody tr{border-bottom:1px solid rgba(233,223,201,.5);transition:background .1s}.cat-bud-table tbody tr:last-child{border-bottom:none}.cat-bud-table tbody tr:hover{background:var(--color-cream)}.cat-bud-table td{padding:var(--sp-3) var(--sp-4);vertical-align:middle}.cat-bud-col-name{min-width:120px}.cat-bud-col-budget{width:130px}.cat-bud-col-remain,.cat-bud-col-spent{width:110px;white-space:nowrap}.cat-bud-col-bar{min-width:120px}.cat-bud-cat-name{font-weight:500;color:var(--color-ink)}.cat-bud-input-wrap{display:flex;align-items:center;gap:4px;border:1.5px solid var(--color-sand);border-radius:var(--r-md);padding:4px 8px;background:var(--color-white);transition:border-color .15s;max-width:110px}.cat-bud-input-wrap:focus-within{border-color:var(--color-evergreen);box-shadow:0 0 0 2px var(--color-evergreen-muted)}.cat-bud-input-wrap.cat-bud-input-err{border-color:var(--color-error)}.cat-bud-dollar{font-size:.875rem;color:var(--color-slate);flex-shrink:0}.cat-bud-input{border:none;outline:none;background:transparent;font-size:.875rem;font-family:var(--font-body);color:var(--color-ink);width:70px;min-width:0;-moz-appearance:textfield}.cat-bud-input::-webkit-inner-spin-button,.cat-bud-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cat-bud-spent{color:var(--color-slate)}.cat-bud-remain,.cat-bud-spent{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-bud-bar-track{height:6px;border-radius:var(--r-full);background:var(--color-sand);overflow:hidden;min-width:80px;display:inline-block;width:100%;max-width:160px;vertical-align:middle}.cat-bud-bar-fill{height:100%;border-radius:var(--r-full);transition:width .3s ease,background .2s}.cat-bud-bar-pct{font-size:.75rem;color:var(--color-slate);margin-left:var(--sp-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;vertical-align:middle}.cat-bud-total-row{background:var(--color-cream);border-top:2px solid var(--color-sand)!important}.cat-bud-total-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-slate)}.cat-bud-total-val{font-weight:600;color:var(--color-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.cat-bud-col-bar{display:none}.cat-bud-col-budget{width:100px}.cat-bud-col-remain,.cat-bud-col-spent{width:90px}}.cat-settings-note{font-size:.875rem;color:var(--color-slate);line-height:1.5;margin-bottom:var(--sp-5)}.cat-settings-list{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--color-sand);border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--sp-6)}.cat-settings-row{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-sand);transition:background .1s}.cat-settings-row:last-child{border-bottom:none}.cat-settings-row:hover{background:var(--color-cream)}.cat-settings-display-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.cat-settings-name{font-weight:500;color:var(--color-ink);flex:1 1;min-width:100px;display:flex;align-items:center;gap:var(--sp-2)}.cat-settings-protected-badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-slate);background:var(--color-sand);border-radius:var(--r-full);padding:2px 7px}.cat-settings-default-amt{font-size:.8125rem;color:var(--color-slate);white-space:nowrap}.cat-settings-actions{flex-shrink:0}.cat-settings-actions,.cat-settings-edit-row{display:flex;align-items:center;gap:var(--sp-2)}.cat-settings-edit-row{flex-wrap:wrap}.cat-settings-name-input{flex:1 1;min-width:140px}.cat-settings-amt-wrap{display:flex;align-items:center;gap:4px;border:1.5px solid var(--color-sand);border-radius:var(--r-md);padding:6px 10px;background:var(--color-white);transition:border-color .15s}.cat-settings-amt-wrap:focus-within{border-color:var(--color-evergreen);box-shadow:0 0 0 2px var(--color-evergreen-muted)}.cat-settings-dollar{font-size:.875rem;color:var(--color-slate);flex-shrink:0}.cat-settings-amt-input{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important;padding:0!important;width:70px;font-size:.875rem;font-family:var(--font-body);color:var(--color-ink);-moz-appearance:textfield}.cat-settings-amt-input::-webkit-inner-spin-button,.cat-settings-amt-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cat-settings-per-week{font-size:.75rem;color:var(--color-slate);white-space:nowrap}.cat-settings-add-form{border-top:1.5px solid var(--color-sand);padding-top:var(--sp-5)}.cat-settings-add-label{font-size:.8125rem;font-weight:600;color:var(--color-ink);margin-bottom:var(--sp-3)}.cat-settings-add-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.btn-sm{padding:5px 10px!important;font-size:.8125rem!important;height:auto!important;display:inline-flex;align-items:center;gap:4px}.welcome-cta-btn{display:flex;align-items:center;justify-content:center;width:100%;height:52px;background:var(--color-evergreen);color:var(--color-white);font-family:var(--font-heading);font-size:1rem;font-weight:700;border-radius:var(--r-full);text-decoration:none;letter-spacing:.01em;transition:background .15s,transform .12s,box-shadow .15s;box-shadow:0 2px 12px rgba(31,77,67,.22);margin-bottom:var(--sp-4)}.welcome-cta-btn:hover{transform:translateY(-1px);box-shadow:0 4px 18px rgba(31,77,67,.28)}.welcome-cta-btn:active{transform:translateY(0);transition-duration:.06s}.welcome-signin-line{font-size:.875rem;color:var(--color-slate);text-align:center}.welcome-signin-anchor{color:var(--color-evergreen);font-weight:600;text-decoration:none}.welcome-signin-anchor:hover{text-decoration:underline}.pm-list{list-style:none;padding:0;margin:0 0 var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.pm-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--color-border);transition:opacity .2s}.pm-row:last-child{border-bottom:none}.pm-name{flex:1 1;font-size:.9375rem;color:var(--color-ink);font-weight:500}.pm-empty{color:var(--color-slate);font-size:.9rem;margin-bottom:var(--sp-4)}.pm-badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:2px 8px;border-radius:99px;min-width:54px;justify-content:center}.pm-badge-credit{background:rgba(216,184,106,.18);color:var(--color-gold-dark,#5F676D);border:1px solid rgba(216,184,106,.4)}.pm-badge-debit{background:rgba(156,181,150,.18);color:var(--color-sage-dark);border:1px solid var(--color-sage-border)}.pm-badge-cash{background:rgba(201,221,228,.18);color:var(--color-mist-dark,#5F676D);border:1px solid rgba(201,221,228,.4)}.pm-add-form{display:flex;gap:var(--sp-2);align-items:flex-start;flex-wrap:wrap}.pm-type-select{width:90px;flex-shrink:0;font-size:.875rem}.pm-name-input{flex:1 1;min-width:120px}.alloc-indicator{display:inline-flex;align-items:center;font-size:.8125rem;font-weight:600;padding:4px 10px;border-radius:99px;gap:2px}.alloc-ok{background:rgba(156,181,150,.2);color:var(--color-sage-dark);border:1px solid var(--color-sage-border)}.alloc-warn{background:rgba(216,184,106,.15);color:var(--color-gold-dark,#5F676D);border:1px solid rgba(216,184,106,.35)}.stc-hint{font-size:.875rem;color:var(--color-slate);padding:var(--sp-4) var(--sp-5) 0;margin:0}.stc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.stc-table{width:100%;border-collapse:collapse;font-size:.9rem}.stc-table th{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-slate);text-align:left;white-space:nowrap}.stc-table td,.stc-table th{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border)}.stc-table td{vertical-align:middle}.stc-table tbody tr:last-child td{border-bottom:none}.stc-name{font-weight:600;color:var(--color-ink);min-width:100px}.stc-select{min-width:80px}.stc-pct-input,.stc-select{font-size:.875rem;padding:5px 8px}.stc-pct-input{width:60px;text-align:right}.stc-pct-sym{font-size:.875rem;color:var(--color-slate)}.stc-checkbox{width:16px;height:16px;accent-color:var(--color-evergreen);cursor:pointer}.stc-na{font-size:.875rem}.stc-na,.stc-no-pm{color:var(--color-slate)}.stc-no-pm{font-size:.8rem;font-style:italic}.st-section{margin-bottom:var(--sp-8)}.st-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.st-table{width:100%;border-collapse:collapse;font-size:.9rem}.st-table th{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-slate);padding:var(--sp-3) var(--sp-4);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.st-col-r{text-align:right!important}.st-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.st-table tbody tr:last-child td{border-bottom:none}.st-footer-row{background:rgba(31,77,67,.04);border-top:2px solid var(--color-border)}.st-footer-row td{font-size:.875rem;color:var(--color-ink);border-bottom:none;padding:var(--sp-3) var(--sp-4)}.st-name-cell{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.st-target-name{font-weight:600;color:var(--color-ink)}.st-kind-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:99px}.st-kind-card{background:rgba(95,103,109,.12);color:var(--color-slate);border:1px solid rgba(95,103,109,.25)}.st-kind-goal{background:rgba(156,181,150,.18);color:var(--color-sage-dark);border:1px solid var(--color-sage-border)}.st-pm-label{font-size:.78rem;color:var(--color-slate);font-style:italic}.st-spent{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink)}.st-na{color:var(--color-slate)}.st-share-cell{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.st-share-amt{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-evergreen)}.st-share-pct{font-size:.78rem;color:var(--color-slate)}.st-total-due{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink);font-size:1rem}.st-paid-cell{display:flex;align-items:center;justify-content:flex-end;gap:2px}.st-paid-prefix{font-size:.875rem;color:var(--color-slate);flex-shrink:0}.st-paid-input{width:80px;font-size:.9rem;font-family:var(--font-mono,ui-monospace,monospace);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:5px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);text-align:right;transition:border-color .12s}.st-paid-input:focus{outline:none;border-color:var(--color-evergreen);box-shadow:0 0 0 2px rgba(31,77,67,.12)}.st-net-positive{color:var(--color-evergreen);font-weight:600}.st-note{font-size:.8125rem;color:var(--color-slate);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--color-border);margin:0}.week-nav{gap:var(--sp-2);margin-bottom:var(--sp-4);padding:var(--sp-2) var(--sp-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:-moz-fit-content;width:fit-content;max-width:100%}.week-nav,.week-nav-arrow{display:flex;align-items:center}.week-nav-arrow{justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-ink);cursor:pointer;transition:background .12s,border-color .12s,opacity .12s;flex-shrink:0}.week-nav-arrow:hover:not(:disabled){background:var(--color-evergreen-muted);border-color:var(--color-sage-border)}.week-nav-arrow:disabled{opacity:.35;cursor:not-allowed}.week-nav-center{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:180px;text-align:center}.week-nav-label-row{display:flex;align-items:center;gap:var(--sp-2)}.week-nav-label{font-size:.9375rem;font-weight:600;color:var(--color-ink)}.week-nav-dates{font-size:.8125rem;color:var(--color-slate)}.week-nav-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:99px}.week-nav-badge-current{background:rgba(156,181,150,.2);color:var(--color-sage-dark);border:1px solid var(--color-sage-border)}.week-nav-badge-past{background:rgba(95,103,109,.1);color:var(--color-slate);border:1px solid rgba(95,103,109,.2)}.week-nav-badge-future{background:rgba(216,184,106,.15);color:var(--color-gold-dark,#5F676D);border:1px solid rgba(216,184,106,.3)}.week-nav-jump{display:inline-flex;align-items:center;gap:5px;font-size:.8125rem;font-weight:600;color:var(--color-evergreen);background:var(--color-evergreen-muted);border:1px solid var(--color-sage-border);border-radius:var(--radius-sm);padding:5px 10px;cursor:pointer;transition:background .12s;white-space:nowrap;flex-shrink:0}.week-nav-jump:hover{background:rgba(31,77,67,.14)}.band-pill{display:inline-flex;align-items:center;font-size:.875rem;font-weight:600;padding:6px 14px;border-radius:99px;margin-bottom:var(--sp-4);width:-moz-fit-content;width:fit-content}.band-pill-neutral{background:rgba(95,103,109,.09);color:var(--color-slate);border:1px solid rgba(95,103,109,.2)}.band-pill-green{background:rgba(156,181,150,.18);color:var(--color-sage-dark);border:1px solid var(--color-sage-border)}.band-pill-amber{background:rgba(216,184,106,.18);color:var(--color-gold-dark,#5F676D);border:1px solid rgba(216,184,106,.4)}.band-pill-over{background:rgba(216,184,106,.15);color:var(--color-gold-dark);border:1px solid rgba(216,184,106,.35)}.pool-section{margin-bottom:var(--sp-8)}.pool-period-month{font-size:.875rem;font-weight:500;color:var(--color-slate)}.pool-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.pool-table{width:100%;border-collapse:collapse;font-size:.9rem}.pool-table th{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-slate);padding:var(--sp-3) var(--sp-4);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.pool-col-r{text-align:right!important}.pool-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.pool-table tbody tr:last-child td{border-bottom:none}.pool-row-viewed td{background:rgba(31,77,67,.04)}.pool-row-current td{background:rgba(156,181,150,.08)}.pool-row-viewed.pool-row-current td{background:rgba(156,181,150,.12)}.pool-week-cell{display:flex;align-items:center;gap:var(--sp-2)}.pool-week-label{font-weight:600;color:var(--color-ink)}.pool-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:99px}.pool-badge-current{background:rgba(156,181,150,.2);color:var(--color-sage-dark);border:1px solid var(--color-sage-border)}.pool-badge-future{background:rgba(216,184,106,.12);color:var(--color-gold-dark,#5F676D);border:1px solid rgba(216,184,106,.25)}.pool-dates{font-size:.85rem;color:var(--color-slate);white-space:nowrap}.pool-days{font-size:.8rem;opacity:.7}.pool-tbd{font-style:italic;font-size:.875rem}.pool-tbd,.pool-zero{color:var(--color-slate)}.pool-sweep-pos{color:var(--color-evergreen);font-weight:600}.pool-total-row{background:rgba(31,77,67,.04);border-top:2px solid var(--color-border)}.pool-total-row td{padding:var(--sp-3) var(--sp-4);border-bottom:none;font-size:.875rem;color:var(--color-ink)}.pool-tbd-note{font-size:.8rem;color:var(--color-slate);font-style:italic;font-weight:400}.pool-footer-note{font-size:.8125rem;color:var(--color-slate);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--color-border);margin:0}.band-form{display:flex;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3)}.band-field{display:flex;flex-direction:column;gap:var(--sp-1)}.band-label{font-size:.8125rem;font-weight:600;color:var(--color-ink)}.band-hint{font-size:.8125rem;margin:0}.band-hint,.cat-bud-tbd{color:var(--color-slate)}.cat-bud-tbd{font-style:italic;font-size:.875rem}.txn-pm-badge{display:inline-flex;align-items:center;font-size:.78rem;font-weight:500;padding:2px 8px;border-radius:99px;background:rgba(216,184,106,.14);color:var(--color-gold-dark,#5F676D);border:1px solid rgba(216,184,106,.3);white-space:nowrap}.var-log-panel{margin:0 0 var(--sp-2);padding:var(--sp-4) var(--sp-5);background:var(--color-sage-light);border:1px solid var(--color-sage-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md)}.var-log-heading{font-size:.8125rem;font-weight:600;color:var(--color-sage-dark);margin:0 0 var(--sp-3);text-transform:uppercase;letter-spacing:.04em}.var-log-form{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--sp-3)}.var-log-date{min-width:140px}.var-log-amount,.var-log-date{flex:0 0 auto;font-size:.875rem;height:36px;padding:0 var(--sp-3)}.var-log-amount{width:140px}.var-log-note{flex:1 1 160px;padding:0 var(--sp-3)}.var-log-btn,.var-log-note{font-size:.875rem;height:36px}.var-log-btn{flex-shrink:0;padding:0 var(--sp-4)}.var-log-list{margin-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1)}.var-log-list-heading{font-size:.8rem;font-weight:600;color:var(--color-slate);margin:0 0 var(--sp-2);text-transform:uppercase;letter-spacing:.04em}.var-log-entry{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:rgba(255,255,255,.7);border:1px solid var(--color-sage-border);border-radius:var(--radius-sm);font-size:.875rem;transition:opacity .15s ease}.var-log-entry-date{color:var(--color-slate);font-size:.8125rem;min-width:80px}.var-log-entry-amount{font-weight:600;color:var(--color-ink);min-width:80px}.var-log-entry-note{flex:1 1;color:var(--color-slate);font-size:.8125rem;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.var-log-del{margin-left:auto;flex-shrink:0}.var-log-empty{font-size:.8125rem;color:var(--color-slate);font-style:italic;margin:var(--sp-2) 0 0}.income-item-variable-badge{display:inline-block;margin-left:var(--sp-2);font-size:.72rem;font-weight:600;padding:1px 7px;border-radius:99px;background:var(--color-sage-light);color:var(--color-sage-dark);border:1px solid var(--color-sage-border);vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}.income-list>div>.income-item{border-radius:var(--radius-md)}.income-list>div:has(.var-log-panel)>.income-item{border-radius:var(--radius-md) var(--radius-md) 0 0}.chart-section{margin-bottom:var(--sp-8)}.chart-card{padding:var(--sp-5) var(--sp-4) var(--sp-3);overflow:hidden}.chart-tooltip{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);box-shadow:0 4px 16px rgba(0,0,0,.1);min-width:140px}.chart-tooltip-label{font-size:.8125rem;font-weight:700;color:var(--color-ink);margin:0 0 var(--sp-2)}.chart-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);font-size:.8125rem;margin:0}.chart-tooltip-key{font-weight:500}.chart-tooltip-val{font-weight:700}.chart-loading{display:flex;align-items:flex-end;justify-content:center;gap:10px;height:200px;padding:var(--sp-4) var(--sp-6) var(--sp-6)}.chart-loading-bars{display:flex;align-items:flex-end;gap:8px;height:160px}.chart-loading-bar{width:28px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,rgba(201,221,228,.5),rgba(201,221,228,.2));animation:chartBarPulse 1.4s ease-in-out infinite}.chart-loading-bar:nth-child(2){animation-delay:.15s}.chart-loading-bar:nth-child(3){animation-delay:.3s}.chart-loading-bar:nth-child(4){animation-delay:.45s}.chart-loading-bar:nth-child(5){animation-delay:.6s}.chart-loading-bar:nth-child(6){animation-delay:.75s}@keyframes chartBarPulse{0%,to{opacity:.4}50%{opacity:1}}.icon-circle-mist{background:var(--color-mist-bg);color:#5F676D;border:1px solid var(--color-mist-border)}.app-content-dashboard{padding-top:var(--sp-6)}.snap-status{font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-full);padding:3px 10px;flex-shrink:0}.snap-status-ok{background:rgba(31,77,67,.12);color:#1F4D43}.snap-status-amber{background:rgba(216,184,106,.22);color:#5F676D}.snap-status-warn{background:rgba(216,184,106,.18);color:#D8B86A}.snap-status-neutral{background:var(--color-sand-light);color:var(--color-slate)}@media (max-width:900px){.dash-top-row{grid-template-columns:1fr}.dash-hero-card{min-height:220px}.dash-hero-amount{font-size:2.5rem}}@media (max-width:768px){.app-content-dashboard{padding-top:var(--sp-4)}}.bwl-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-2)}.bwl-sum-card{background:var(--color-cream);border:1px solid rgba(0,0,0,.05);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1)}.bwl-sum-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-slate)}.bwl-sum-value{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-ink);letter-spacing:-.025em;line-height:1.1}.bwl-sum-sub{font-size:.75rem;color:var(--color-slate);margin-top:2px}.bwl-sum-ok{color:#1F4D43!important}.bwl-sum-over{color:#D8B86A!important}.bwl-card-current{border-left:3px solid var(--color-evergreen)!important;border-color:rgba(31,77,67,.22);background:linear-gradient(135deg,rgba(31,77,67,.04),#ffffff 55%)!important;box-shadow:0 2px 12px rgba(31,77,67,.1),0 1px 3px rgba(0,0,0,.05)!important;padding-left:calc(var(--sp-6) - 3px)}.bwl-card-upcoming{background:var(--color-cream)!important;opacity:.8}.bwl-card-upcoming .bwl-stat-value,.bwl-card-upcoming .bwl-week-label{color:var(--color-slate)}.bwl-status-text{font-size:.8125rem;font-weight:500;color:#1F4D43;margin:0;padding-top:var(--sp-1)}.bwl-status-over{color:#D8B86A!important}@media (max-width:768px){.bwl-summary-cards{grid-template-columns:1fr 1fr;gap:var(--sp-3)}.bwl-sum-value{font-size:1.2rem}}@media (max-width:420px){.bwl-summary-cards{grid-template-columns:1fr}}.bckt-topbar-add-btn{height:34px;font-size:.875rem;padding:0 var(--sp-4);white-space:nowrap}.bckt-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-6)}.bckt-sum-card{background:var(--color-cream);border:1px solid rgba(0,0,0,.05);border-radius:var(--r-md);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1)}.bckt-sum-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-slate)}.bckt-sum-value{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:var(--color-ink);letter-spacing:-.025em;line-height:1.1}.bckt-sum-sub{font-size:.75rem;color:var(--color-slate);margin-top:1px}.bucket-card-meta-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-1);min-height:20px}.bucket-card-sweep-pill{border-radius:var(--r-full);background:rgba(156,181,150,.22);color:#1F4D43;border:1px solid rgba(156,181,150,.4)}.bucket-card-paidoff-pill,.bucket-card-sweep-pill{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;white-space:nowrap}.bucket-card-paidoff-pill{border-radius:var(--r-full);background:rgba(216,184,106,.2);color:#5F676D;border:1px solid rgba(216,184,106,.4)}.bucket-card-paidoff{opacity:.8}.bucket-status-active{display:inline-flex;align-items:center;font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:var(--r-full);background:rgba(201,221,228,.45);color:#5F676D;border:1px solid rgba(201,221,228,.7)}@media (max-width:900px){.bckt-summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.bckt-summary-cards{grid-template-columns:1fr 1fr;gap:var(--sp-3)}.bckt-sum-value{font-size:1.1rem}.bckt-topbar-add-btn{padding:0 var(--sp-3);font-size:.8125rem}}.txn-summary-cards{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--sp-4);gap:var(--sp-4)}.txn-sum-card{background:var(--color-cream);border:1px solid rgba(233,223,201,.9);border-radius:var(--r-md);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1)}.txn-sum-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-slate)}.txn-sum-value{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-ink);letter-spacing:-.025em;line-height:1.1}.txn-sum-sub{font-size:.75rem;color:var(--color-slate);margin-top:1px}.txn-category-badge{border-radius:var(--r-full);border:1px solid transparent}.txn-cat-sweep{border-color:rgba(156,181,150,.4)}.txn-cat-expense{border-color:rgba(201,221,228,.65)}.txn-bucket-badge{border-radius:var(--r-full);background:rgba(233,223,201,.4);color:#5F676D;border:1px solid rgba(233,223,201,.7)}.txn-table thead{background:var(--color-cream)}.txn-mobile-list{display:none;list-style:none;padding:0;margin:0}.txn-mobile-card{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);transition:background .1s}.txn-mobile-card:not(:last-child){border-bottom:1px solid rgba(233,223,201,.6)}.txn-mobile-card:hover{background:var(--color-cream)}.txn-mc-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.txn-mc-desc{font-weight:600;font-size:.875rem;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1}.txn-mc-bottom{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.txn-mc-date{font-size:.75rem;color:var(--color-slate);white-space:nowrap;flex-shrink:0}.txn-mc-delete{margin-left:auto;flex-shrink:0}@media (max-width:768px){.txn-table-wrap{display:none}.txn-mobile-list{display:flex;flex-direction:column}.txn-summary-cards{grid-template-columns:1fr 1fr;gap:var(--sp-3)}.txn-sum-value{font-size:1.15rem}}.stg-page{gap:var(--sp-8)}.stg-page,.stg-section{display:flex;flex-direction:column}.stg-field-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.stg-trust-footer .trust-badges{margin-top:0;justify-content:center;padding:var(--sp-5) var(--sp-4) var(--sp-2);border-top:1px solid var(--color-sand)}.bucket-card-progress-section{position:relative;padding-top:48px}.bucket-card-scape{position:absolute;top:-2px;right:0;opacity:.5;pointer-events:none}.planning-zone{background:rgba(233,223,201,.42);border:1px solid rgba(233,223,201,.95);border-radius:var(--r-lg);padding:var(--sp-6)}.cat-bud-name-wrap{display:inline-flex;align-items:center;gap:8px}.cat-bud-name-wrap .icon-circle-sm{flex-shrink:0}.cat-settings-name-wrap{display:inline-flex;align-items:center;gap:10px;min-width:0}.cat-settings-name-wrap .icon-circle-sm{flex-shrink:0}.income-item{border-color:rgba(233,223,201,.95)}@media (max-width:640px){.planning-zone{padding:var(--sp-4)}}.txn-section .btn-icon-destructive:hover{background:rgba(216,184,106,.16);color:var(--color-gold-dark)}.form-success{display:flex;align-items:flex-start;gap:var(--sp-2);font-size:.875rem;font-weight:500;color:var(--color-success-text);background:var(--color-success-bg);border:1.5px solid var(--color-success-border);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4)}.auth-inline-link{text-align:right;font-size:.8125rem;margin-top:calc(-1 * var(--sp-2))}.auth-inline-link a{color:var(--color-evergreen);font-weight:600;text-decoration:none}.auth-inline-link a:hover{text-decoration:underline}