.toast-container{position:fixed;top:var(--space-7, 16px);right:var(--space-7, 16px);z-index:9999;display:flex;flex-direction:column;gap:var(--space-3, 8px);max-width:min(360px,calc(100vw - 32px));pointer-events:none}.toast-container>*{pointer-events:auto}.toast{display:flex;align-items:center;gap:var(--space-4, 10px);padding:var(--space-5, 12px) var(--space-6, 14px);border-radius:var(--radius-md, 10px);font-size:var(--text-sm, 13px);font-weight:var(--font-weight-medium, 600);line-height:var(--line-height-normal, 1.5);box-shadow:var(--shadow-lg);border:1px solid transparent;animation:toast-in .25s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast--success{background:var(--color-positive-soft);color:var(--color-positive);border-color:var(--color-positive-border)}.toast--error{background:var(--color-negative-soft);color:var(--color-negative);border-color:var(--color-negative-border)}.toast--info{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.toast-message{flex:1;min-width:0}.toast-dismiss{flex-shrink:0;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:inherit;opacity:.8;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast),background-color var(--transition-fast)}.toast-dismiss:hover{opacity:1;background:color-mix(in oklab,var(--color-text) 8%,transparent)}.brand-logo{display:inline-flex;align-items:center;gap:calc(var(--brand-size, 32px) * .3);font-size:calc(var(--brand-size, 32px) * .62);text-align:left}.brand-mark{display:block;flex-shrink:0;border-radius:22%}.brand-wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.18em}.brand-wordmark-name{font-weight:var(--font-weight-bold);letter-spacing:-.03em;line-height:1;white-space:nowrap}.brand-wordmark-money{color:var(--color-text)}.brand-wordmark-waterfall{color:var(--color-primary-text)}.brand-tagline{display:inline-flex;align-items:center;gap:1.1em;font-size:.46em;font-weight:var(--font-weight-medium);line-height:1;letter-spacing:.02em;color:var(--color-text-muted);white-space:nowrap}.login-form{margin-top:var(--space-9);background:var(--color-surface);padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);max-width:500px;margin-left:auto;margin-right:auto;width:100%;animation:loginFormFadeIn var(--transition-slow) ease-out;box-shadow:0 18px 48px #0000001f,0 0 0 1px color-mix(in srgb,var(--color-border) 35%,transparent)}.login-form--compact{margin-top:0;max-width:none;margin-left:0;margin-right:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;animation:none}.login-mode-toggle{display:flex;gap:0;margin-bottom:var(--space-6);padding:4px;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:color-mix(in srgb,var(--color-surface-muted) 75%,var(--color-bg));position:relative;overflow:hidden}.login-mode-toggle:before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 6px);border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-surface) 94%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 75%,transparent);box-sizing:border-box;box-shadow:0 12px 28px #0000001f,0 0 0 1px color-mix(in srgb,var(--color-primary) 14%,transparent);transform:translate(0);transition:transform .2s ease}.login-mode-toggle--register:before{transform:translate(calc(100% + 4px))}.login-mode-btn{flex:1;border:none;background:transparent;padding:11px 16px;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-normal),color var(--transition-normal),transform var(--transition-fast);position:relative;z-index:1;opacity:.78;white-space:nowrap;box-sizing:border-box}.login-mode-btn--active{color:var(--color-text);opacity:1;text-shadow:0 1px 0 rgba(0,0,0,.12)}.login-mode-btn:hover:not(:disabled){color:var(--color-text);opacity:.92}.login-mode-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes loginFormFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-label{color:var(--color-text);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);display:block;font-size:var(--text-base);margin-top:12px}.login-form .login-label:first-of-type{margin-top:0}.login-input{width:100%;background-color:color-mix(in srgb,var(--color-surface-muted) 70%,var(--color-bg));border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);color:var(--color-text);font-size:var(--text-md);box-sizing:border-box;outline:none;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color var(--transition-normal),background-color var(--transition-normal)}.login-input-wrap{position:relative;width:100%}.login-input--with-icon{padding-right:calc(var(--space-6) + 42px)}.login-input-icon-btn{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:36px;height:36px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);background:color-mix(in srgb,var(--color-surface) 35%,transparent);color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background-color var(--transition-normal),border-color var(--transition-normal),transform var(--transition-fast)}.login-input-icon-btn svg{display:block;opacity:.78}.login-input-icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-surface-hover) 45%,transparent);border-color:color-mix(in srgb,var(--color-primary) 25%,var(--color-border));transform:translateY(-50%) scale(1.02)}.login-input-icon-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.login-input-icon-btn:disabled{opacity:.55;cursor:not-allowed}.login-input::placeholder{color:var(--color-text-subtle)}.login-input:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-surface-muted) 86%,var(--color-bg))}.login-input:focus{border-color:var(--color-primary);box-shadow:none}.login-input:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.login-input:disabled{opacity:.5;cursor:not-allowed}.login-submit-btn{margin-top:var(--space-7);width:100%;background:var(--color-primary);padding:var(--space-5);border-radius:var(--radius-md);border:none;color:var(--color-on-primary);font-weight:var(--font-weight-bold);cursor:pointer;box-shadow:0 10px 28px color-mix(in oklab,var(--color-primary) 14%,transparent),0 1px #ffffff24 inset;transition:transform var(--transition-fast),filter var(--transition-normal),box-shadow var(--transition-normal)}.login-submit-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 14px 36px color-mix(in oklab,var(--color-primary) 14%,transparent),0 1px #ffffff29 inset}.login-submit-btn:active:not(:disabled){transform:translateY(0);filter:brightness(.98)}.login-submit-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.login-submit-btn:disabled{opacity:.5;cursor:not-allowed}.login-strength{margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:color-mix(in srgb,var(--color-surface-muted) 65%,var(--color-bg))}.login-strength-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-2)}.login-strength-label{font-size:var(--text-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.login-strength-value{font-size:var(--text-xs);font-weight:var(--font-weight-bold);color:var(--color-text)}.login-strength-bar{height:8px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-border) 45%,transparent);overflow:hidden}.login-strength-bar i{display:block;height:100%;border-radius:var(--radius-full);background:var(--color-primary);transition:width .2s ease}@media (max-width: 480px){.login-form:not(.login-form--compact){padding:var(--space-5)}}.login-modal-root{position:relative;min-height:100vh;min-height:100dvh}.login-modal-ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;pointer-events:none;background:var(--color-bg)}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-7);background:#0000006b;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:loginModalOverlayIn .18s ease-out}.login-modal-card{width:min(440px,100%);max-height:min(92vh,920px);overflow:auto;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 94%,transparent),var(--color-surface));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 24px 80px #0000001f,0 0 0 1px color-mix(in srgb,var(--color-border) 35%,transparent);padding:var(--space-7);animation:loginModalCardIn .22s ease-out}.login-modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.login-modal-heading{min-width:0;flex:1}.login-modal-title{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.25}.login-modal-desc{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.45}.login-modal-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0 0;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.login-modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.login-modal-close:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}@keyframes loginModalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes loginModalCardIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 480px){.login-modal-overlay{padding:var(--space-5);align-items:flex-end}.login-modal-card{width:100%;max-height:min(94vh,920px);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-6) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom,0px))}}.landing{min-height:100vh;background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column}.landing main{flex:1}.landing-container{width:100%;max-width:1080px;margin:0 auto;padding:0 var(--space-9);box-sizing:border-box}.landing-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--color-bg) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}.landing-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:68px}.landing-logo-link{display:inline-flex;color:inherit;text-decoration:none;border-radius:var(--radius-sm)}.landing-logo-link:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.landing-header-actions{display:flex;align-items:center;gap:var(--space-3)}.landing-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 var(--space-7);border-radius:var(--radius-full);border:1px solid transparent;font:inherit;font-size:var(--text-md);font-weight:var(--font-weight-bold);white-space:nowrap;text-decoration:none;cursor:pointer;box-sizing:border-box;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.landing-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.landing-btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.landing-btn--primary:hover{background:var(--color-primary-hover)}.landing-btn--ghost{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.landing-btn--ghost:hover{background:var(--color-surface-muted)}.landing-btn--lg{min-height:48px;padding:0 var(--space-9);font-size:var(--text-lg)}.landing-hero{padding:64px 0 80px}.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}.landing-eyebrow{margin:0 0 var(--space-5);font-size:var(--text-sm);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-text)}.landing-title{margin:0 0 var(--space-8);font-size:clamp(38px,5.4vw,60px);line-height:1.04;letter-spacing:-.03em;font-weight:800;text-wrap:balance}.landing-lead{margin:0 0 var(--space-10);font-size:var(--text-xl);line-height:1.55;color:var(--color-text-muted);max-width:32em}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-5)}.wf{margin:0;font-size:var(--text-base)}.wf-source{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-5);padding:var(--space-8) var(--space-9);border-radius:var(--radius-lg);background:var(--color-text);color:var(--color-bg)}.wf-source-label{font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:.14em;text-transform:uppercase;opacity:.8}.wf-source-amount{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.wf-list{list-style:none;margin:0;padding:var(--space-5) 0 0}.wf-item{display:flex;flex-direction:column}.wf-bucket{--wf-tone: var(--color-text-subtle);display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:var(--space-5);padding:var(--space-6) var(--space-8) var(--space-6) var(--space-6);border:1px solid var(--color-border);border-left:4px solid var(--wf-tone);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.wf-bucket--needs{--wf-tone: var(--color-text-subtle)}.wf-bucket--emergency{--wf-tone: var(--color-primary)}.wf-bucket--investing{--wf-tone: var(--color-savings)}.wf-bucket--goals{--wf-tone: var(--color-warning)}.wf-bucket--fun{--wf-tone: var(--color-goals)}.wf-rank{font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--wf-tone);font-variant-numeric:tabular-nums}.wf-body{display:flex;flex-direction:column;gap:2px;min-width:0}.wf-name{font-size:var(--text-lg);font-weight:var(--font-weight-bold)}.wf-note{font-size:var(--text-sm);color:var(--color-text-muted)}.wf-amount{font-size:var(--text-xl);font-weight:800;font-variant-numeric:tabular-nums}.wf-fall{margin-left:18px;padding:var(--space-3) 0 var(--space-3) var(--space-7);border-left:2px solid var(--color-primary-border);font-size:var(--text-sm);color:var(--color-text-muted)}.wf-fall strong{color:var(--color-text);font-variant-numeric:tabular-nums}.wf-item:last-child .wf-fall{border-left-style:dashed}.landing-section{padding:80px 0}.landing-section--muted{background:var(--color-surface-muted)}.landing-h2{scroll-margin-top:88px;margin:0 0 var(--space-5);font-size:clamp(26px,3.4vw,36px);line-height:1.15;letter-spacing:-.02em;font-weight:800}.landing-h3{margin:0 0 var(--space-3);font-size:var(--text-xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold)}.landing-section-lead{margin:0;font-size:var(--text-lg);line-height:1.55;color:var(--color-text-muted);max-width:40em}.landing-cards{list-style:none;margin:var(--space-10) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-7)}.landing-card{padding:var(--space-9);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border)}.landing-card--app{display:flex;flex-direction:column;box-shadow:var(--shadow-md)}.landing-section-actions{display:flex;justify-content:center;margin-top:var(--space-10)}.app-mock{display:flex;flex-direction:column;gap:var(--space-3);height:140px;box-sizing:border-box;margin-bottom:var(--space-8);padding:var(--space-7);border-radius:var(--radius-lg);background:var(--color-surface-muted);border:1px solid var(--color-border);font-size:var(--text-sm);justify-content:center}.app-mock-msg{max-width:90%;padding:var(--space-3) var(--space-5);border-radius:12px;line-height:1.35}.app-mock-msg--you{align-self:flex-end;background:var(--color-primary-soft);border:1px solid var(--color-primary-border)}.app-mock-msg--ai{align-self:flex-start;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border)}.app-mock-approve{padding:2px var(--space-5);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-xs);font-weight:var(--font-weight-bold)}.app-mock-bar-row{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:var(--space-4)}.app-mock-bar-label{font-size:var(--text-xs);color:var(--color-text-muted)}.app-mock-bar-track{height:10px;border-radius:var(--radius-full);background:var(--color-border);overflow:hidden}.app-mock-bar{display:block;height:100%;border-radius:var(--radius-full)}.app-mock-bar--needs{background:var(--color-text-subtle)}.app-mock-bar--investing{background:var(--color-savings)}.app-mock-bar--goals{background:var(--color-warning)}.app-mock-bar--fun{background:var(--color-goals)}.app-mock-list-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}.app-mock-list-rank{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.app-mock-list-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-3)}.app-mock-list-hint{font-size:var(--text-xs);color:var(--color-positive)}.app-mock-list-amount{font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.landing-card p{margin:0;font-size:var(--text-md);line-height:1.55;color:var(--color-text-muted)}.landing-cta{padding:72px 0;background:var(--color-primary-soft);border-top:1px solid var(--color-primary-border)}.landing-cta-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-8);text-align:center}.landing-cta-inner .landing-h2{margin:0}.landing-footer{padding:var(--space-9) 0;font-size:var(--text-sm);color:var(--color-text-subtle);border-top:1px solid var(--color-border)}.landing-footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3) var(--space-9)}.landing-footer a{color:var(--color-primary-text)}@media (max-width: 900px){.landing-hero{padding:40px 0 56px}.landing-hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}.landing-cards{grid-template-columns:minmax(0,1fr)}.landing-section{padding:56px 0}}@media (max-width: 480px){.landing-container{padding:0 var(--space-7)}.landing-header-row{min-height:60px}.landing-header .brand-wordmark{display:none}.landing-header-actions .landing-btn{min-height:36px;padding:0 var(--space-6);font-size:var(--text-base)}.landing-lead{font-size:var(--text-lg)}.landing-hero-actions .landing-btn{flex:1 1 100%}.wf-source{padding:var(--space-7)}.wf-source-amount{font-size:26px}.wf-bucket{grid-template-columns:26px minmax(0,1fr) auto;gap:var(--space-4);padding:var(--space-5) var(--space-6) var(--space-5) var(--space-5)}.wf-amount{font-size:var(--text-lg)}}.main-page-logo-btn{margin-right:var(--space-4)}.transactions-top-bar{position:fixed;top:0;left:0;right:0;padding:18px var(--space-7) 14px;display:grid;grid-template-columns:1fr minmax(240px,520px) 1fr;align-items:center;margin-bottom:var(--space-5);background-color:color-mix(in oklab,var(--color-surface) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10;box-shadow:var(--shadow-md);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-normal),border-color var(--transition-normal),backdrop-filter var(--transition-normal)}.transactions-header-left{display:flex;align-items:center;gap:var(--space-3)}.transactions-status-group{display:flex;flex-direction:column;gap:4px}.transactions-header-center{display:flex;justify-content:center;min-width:0}.transactions-ask-ai-btn{display:inline-flex;align-items:center;gap:12px;max-width:100%;padding:8px 16px 8px 12px;border-radius:var(--radius-full);border:1px solid color-mix(in oklab,var(--color-primary) 45%,transparent);background:linear-gradient(135deg,color-mix(in oklab,var(--color-primary) 18%,transparent),color-mix(in oklab,var(--color-primary) 8%,transparent));color:var(--color-text);cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal),box-shadow var(--transition-normal),transform .15s ease;box-shadow:0 4px 14px #0000001f}.transactions-ask-ai-btn:hover{border-color:color-mix(in oklab,var(--color-primary) 75%,transparent);box-shadow:0 6px 20px #0000001f,0 0 0 1px color-mix(in oklab,var(--color-primary) 14%,transparent);transform:translateY(-1px)}.transactions-ask-ai-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-ask-ai-icon{display:flex;align-items:center;justify-content:center;color:var(--color-primary-text);flex-shrink:0}.transactions-ask-ai-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:left}.transactions-ask-ai-title{font-size:var(--text-sm);font-weight:var(--font-weight-bold);letter-spacing:.02em;line-height:1.2}.transactions-ask-ai-sub{font-size:11px;color:var(--color-text-muted);line-height:1.2;font-weight:var(--font-weight-medium)}.transactions-header-right{display:flex;align-items:center;justify-content:flex-end;gap:8px}.transactions-brand-btn{display:flex;flex-shrink:0;padding:0;border:none;background:none;border-radius:10px}button.transactions-brand-btn{cursor:pointer;transition:transform var(--transition-normal)}button.transactions-brand-btn:hover{transform:scale(1.05)}button.transactions-brand-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:var(--color-surface-muted);border:none;cursor:pointer;transition:background-color var(--transition-normal);color:var(--color-text)}.transactions-icon-btn svg{display:block}.transactions-icon-btn:hover:not(:disabled){background-color:var(--color-surface-hover)}.transactions-icon-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-icon-btn:disabled{opacity:.5;cursor:not-allowed}.transactions-top-title-wrap{display:none}.transactions-top-title{font-size:24px;margin:0;line-height:1.05}.transactions-notify-btn{position:relative}.transactions-notify-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:999px;background-color:var(--color-positive);box-shadow:0 0 0 2px #0000001f}.transactions-avatar-btn{width:44px;height:44px;font-size:20px;border:1px solid var(--color-border-strong)}@media (max-width: 768px){.transactions-top-bar{padding:16px var(--space-5) 12px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"left right" "center center";row-gap:10px;column-gap:12px}.transactions-header-left{grid-area:left;gap:var(--space-4)}.transactions-header-center{grid-area:center;justify-content:stretch}.transactions-header-right{grid-area:right}.transactions-ask-ai-btn{width:100%;justify-content:center}}@media (max-width: 480px){.transactions-top-bar{grid-template-columns:1fr;grid-template-areas:"left" "center" "right";gap:12px;padding:14px var(--space-4) 10px}.transactions-header-center{justify-content:stretch}.transactions-header-right{justify-content:flex-start}.transactions-ask-ai-text .transactions-ask-ai-sub{display:none}.transactions-top-title{font-size:22px}}.transactions-container{flex:1;background-color:var(--color-bg);padding:var(--space-14) var(--space-7) var(--space-9);min-height:100vh;position:relative;transition:background-color var(--transition-normal)}@media (max-width: 768px){.transactions-container{padding-top:calc(var(--app-top-bar-offset) + var(--space-6))}}.transactions-search{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-full);border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent);background-color:color-mix(in oklab,var(--color-text) 5%,transparent);box-shadow:0 10px 22px #0000001f}.transactions-search-icon{color:var(--color-text-subtle);font-size:14px;line-height:1}.transactions-search-input{flex:1;border:none;outline:none;background:transparent;color:var(--color-text);font-size:var(--text-sm)}.transactions-search-input::placeholder{color:var(--color-text-subtle)}.transactions-search-clear{width:30px;height:30px;border-radius:var(--radius-full);border:none;background-color:color-mix(in oklab,var(--color-text) 6%,transparent);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-normal),transform var(--transition-fast)}.transactions-search-clear:hover{background-color:color-mix(in oklab,var(--color-text) 10%,transparent);transform:scale(1.04)}.transactions-center-row{display:flex;flex-direction:row;align-items:center;gap:var(--space-4);padding:var(--space-5) 0;justify-content:center;margin-top:100px}.transactions-center-row .spinner{border-color:var(--color-border);border-top-color:var(--color-primary)}.transactions-muted{color:var(--color-text-muted)}.transactions-empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-9);margin-top:-75px;min-height:400px;animation:fadeIn var(--transition-slow) ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.transactions-empty-title{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.transactions-empty-title-error{color:var(--color-negative)}.transactions-empty-message{text-align:center;margin-top:var(--space-2)}.transactions-error-text{color:var(--color-negative)}.transactions-cta-button{margin-top:var(--space-7);background-color:var(--color-primary);padding:var(--space-5) var(--space-7);border-radius:var(--radius-md);border:none;color:var(--color-on-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-normal)}.transactions-cta-button:hover{background-color:var(--color-primary-hover)}.transactions-cta-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-error{text-align:center;padding:var(--space-5);margin:var(--space-5) 0}.transactions-summary-bar{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.transactions-summary-card{flex:1;min-width:100px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.transactions-summary-label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.transactions-summary-value{font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.transactions-summary-income{color:var(--color-positive)}.transactions-summary-expense{color:var(--color-negative)}.transactions-summary-savings-value{color:var(--color-savings)}.transactions-summary-balance{color:var(--color-text)}.transactions-summary-balance--positive .transactions-summary-value{color:var(--color-positive)}.transactions-summary-balance--negative .transactions-summary-value{color:var(--color-negative)}.transactions-summary-balance--zero .transactions-summary-value{color:var(--color-text-muted)}.transactions-accounts-panel{background-color:transparent;margin-bottom:var(--space-7);position:relative;z-index:2}.transactions-accounts-scroll-row{display:flex;align-items:stretch;gap:var(--space-3);overflow-x:auto;overflow-y:hidden;padding-bottom:var(--space-1);scrollbar-width:thin}.transactions-account-tile{min-width:300px;border-radius:var(--radius-xl);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);padding:var(--space-7);cursor:pointer;text-align:left;transition:box-shadow var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);box-shadow:var(--shadow-sm);position:relative;z-index:1;overflow:hidden}.transactions-account-tile:hover:not(:disabled){border-color:var(--color-border-strong);box-shadow:var(--shadow-md);z-index:3}.transactions-account-tile--active{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.transactions-account-tile--primary{min-width:360px;border-color:var(--color-border-strong);box-shadow:var(--shadow-md);background:var(--color-surface)}.transactions-account-tile-name-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.transactions-account-tile-name{font-size:var(--text-sm);font-weight:var(--font-weight-medium);margin:0;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-account-tile-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.transactions-account-edit-btn{border:none;background:transparent;padding:4px;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast);opacity:0}.transactions-account-tile:hover .transactions-account-edit-btn,.transactions-account-tile:focus-within .transactions-account-edit-btn{opacity:1}.transactions-account-edit-btn:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text)}.transactions-account-edit-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-account-edit-icon{width:16px;height:16px;display:block}.transactions-account-history-link{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;padding:0;transition:color var(--transition-fast),opacity var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;line-height:1;opacity:0}.transactions-account-tile:hover .transactions-account-history-link,.transactions-account-tile:focus-within .transactions-account-history-link{opacity:1}.transactions-account-history-link:hover:not(:disabled),.transactions-account-history-link:focus-visible{color:var(--color-primary-text)}.transactions-account-history-icon{width:18px;height:18px;display:block}.transactions-account-month-change-label{font-size:var(--text-xs);color:var(--color-text-muted)}.transactions-account-month-change-value{font-size:var(--text-sm);font-weight:var(--font-weight-bold);white-space:nowrap}.transactions-account-month-change--up .transactions-account-month-change-value{color:var(--color-positive)}.transactions-account-month-change--down .transactions-account-month-change-value{color:var(--color-negative)}.transactions-account-tile-balance{margin-top:var(--space-3);font-size:34px;line-height:1;font-weight:var(--font-weight-bold);color:var(--color-text)}.transactions-account-month-inline{margin-top:var(--space-2);display:inline-flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.transactions-account-month-inline-arrow{font-size:var(--text-sm)}.transactions-account-month-inline-value{font-weight:var(--font-weight-bold)}.transactions-account-month-inline-label{color:var(--color-text-subtle);font-weight:500}.transactions-account-month-inline--up .transactions-account-month-inline-arrow,.transactions-account-month-inline--up .transactions-account-month-inline-value{color:var(--color-positive)}.transactions-account-month-inline--down .transactions-account-month-inline-arrow,.transactions-account-month-inline--down .transactions-account-month-inline-value{color:var(--color-negative)}.transactions-account-tile-actions{margin-top:var(--space-6);display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--space-3);flex-wrap:wrap}@media (max-width: 768px){.transactions-accounts-scroll-row{gap:var(--space-4);padding:0 var(--space-1) var(--space-2);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.transactions-account-tile,.transactions-account-add-tile{scroll-snap-align:start}.transactions-account-tile{min-width:260px;padding:var(--space-6)}.transactions-account-tile--primary{min-width:300px}.transactions-account-edit-btn,.transactions-account-history-link{opacity:1}.transactions-account-tile-balance{font-size:30px}}@media (max-width: 768px){.transactions-card{padding:16px}.transactions-card-header{flex-direction:column;align-items:stretch;gap:var(--space-3)}.transactions-card-header-right{width:100%;justify-content:space-between}.transactions-total-badge{padding:var(--space-2) var(--space-4)}.transactions-total-badge-text{font-size:var(--text-sm)}.transactions-card-content{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.transactions-tx-text-col{flex-wrap:wrap;align-items:baseline}.transactions-tx-meta{flex-shrink:1;min-width:0}}.transactions-account-actions-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-5)}.transactions-account-action{display:flex;flex-direction:column;align-items:center;background:transparent;border:none;cursor:pointer;padding:0}.transactions-account-action:disabled{opacity:.55;cursor:not-allowed}.transactions-account-action-btn{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background-color:var(--color-surface-muted);color:var(--color-text-muted);font-size:20px;line-height:1;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.transactions-account-action-btn:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:0 6px 14px #0000001a}.transactions-account-action-btn--deposit{border-color:var(--color-border);color:var(--color-text)}.transactions-account-action-btn--withdraw,.transactions-account-action-btn--transfer{border-color:var(--color-border)}.transactions-account-action-btn--deposit:hover:not(:disabled){color:var(--color-positive);border-color:var(--color-positive-border);box-shadow:0 0 0 1px var(--color-positive-border),0 10px 18px color-mix(in oklab,var(--color-positive) 14%,transparent)}.transactions-account-action-btn--withdraw:hover:not(:disabled){color:var(--color-negative);border-color:var(--color-negative-border);box-shadow:0 0 0 1px var(--color-negative-border),0 10px 18px color-mix(in oklab,var(--color-negative) 14%,transparent)}.transactions-account-action-btn--transfer:hover:not(:disabled){color:var(--color-primary-text);border-color:var(--color-primary-border);box-shadow:0 0 0 1px var(--color-primary-border),0 10px 18px color-mix(in oklab,var(--color-primary) 14%,transparent)}.transactions-account-history-toggle{margin-top:var(--space-4);background:transparent;border:none;padding:0;cursor:pointer;color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:underline;text-decoration-color:transparent;transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}.transactions-account-history-toggle:hover:not(:disabled){color:var(--color-primary-text);text-decoration-color:var(--color-primary-text)}.transactions-account-history-toggle--active{color:var(--color-primary-text);text-decoration-color:var(--color-primary-text)}.transactions-account-action-panel{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.transactions-account-action-label-input{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.transactions-account-input{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background-color:var(--color-bg);color:var(--color-text);font-size:var(--text-base);outline:none}.transactions-account-input:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-account-transfer-row{display:flex;gap:var(--space-3);align-items:flex-start}.transactions-account-action-buttons{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-1)}.transactions-account-action-btn-primary{background-color:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-normal),transform var(--transition-fast)}.transactions-account-action-btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.transactions-account-action-btn-primary:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-account-action-btn-secondary{background-color:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.transactions-account-action-btn-secondary:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-border-strong)}.transactions-account-action-error{color:var(--color-negative);font-size:var(--text-sm)}.transactions-account-add-tile{min-width:130px;border-radius:20px;border:1px dashed var(--color-border-strong);background-color:var(--color-surface-muted);color:var(--color-text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);position:relative;z-index:1}.transactions-account-add-tile:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-primary-border);box-shadow:var(--shadow-md);z-index:3}.transactions-account-add-tile-icon{width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--color-primary-border);background-color:var(--color-primary-soft);color:var(--color-primary-text);display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1}.transactions-account-add-tile-label{font-size:var(--text-sm);color:var(--color-text-muted)}.transactions-account-add-tile--form{min-width:260px;cursor:default;align-items:stretch;justify-content:flex-start}.transactions-account-add-form{width:100%;display:flex;flex-direction:column;gap:var(--space-3)}.transactions-account-history-panel{margin-top:var(--space-4);background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.transactions-account-history-title{font-size:var(--text-base);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-3)}.transactions-account-history-empty{color:var(--color-text-muted);font-size:var(--text-sm)}.transactions-account-history-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:calc(7 * 2.75rem + 6 * var(--space-2));overflow-y:auto;overscroll-behavior:contain;padding-right:var(--space-2);scrollbar-gutter:stable}.transactions-account-history-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.transactions-account-history-item:last-child{border-bottom:none}.transactions-account-history-left{min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:baseline}.transactions-account-history-kind{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-transform:lowercase}.transactions-account-history-sub,.transactions-account-history-time{color:var(--color-text-subtle);font-size:var(--text-xs);white-space:nowrap}.transactions-account-history-amount{font-weight:var(--font-weight-bold);font-size:var(--text-sm);white-space:nowrap}.transactions-account-history-amount--deposit{color:var(--color-positive)}.transactions-account-history-amount--withdraw{color:var(--color-negative)}.transactions-account-history-amount--transfer{color:var(--color-text)}.transactions-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000073;z-index:120;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.transactions-modal-card{width:min(440px,100%);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-4);position:relative;z-index:121}.transactions-modal-card--history{width:min(640px,100%);max-height:min(90vh,720px)}.transactions-modal-title{margin:0;font-size:var(--text-lg);color:var(--color-text)}.transactions-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.transactions-filter-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-right:var(--space-2)}.transactions-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;min-width:120px;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:8px 14px;color:var(--color-text);background-color:var(--color-bg);font-size:var(--text-sm);box-sizing:border-box;cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal)}.transactions-select-trigger:hover{border-color:var(--color-border-strong)}.transactions-select-trigger[data-placeholder]{color:var(--color-text-muted)}.transactions-select-trigger[data-state=open]{border-color:var(--color-primary);outline:none}.transactions-select-trigger:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-select-icon{margin-left:var(--space-2);font-size:.65em;color:var(--color-text-muted);pointer-events:none}.transactions-select-content{overflow:hidden;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:300;min-width:var(--radix-select-trigger-width);max-height:280px}.transactions-select-viewport{padding:var(--space-2)}.transactions-select-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text);cursor:pointer;outline:none;transition:background-color var(--transition-fast)}.transactions-select-item[data-highlighted]{background-color:var(--color-surface-hover)}.transactions-select-item[data-state=checked]{background-color:var(--color-primary-soft);color:var(--color-primary-text)}.transactions-select-indicator{margin-left:var(--space-2);color:var(--color-primary-text)}.transactions-sort{display:flex;align-items:center;gap:var(--space-2)}.transactions-sort-btn{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-bg);color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.transactions-sort-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.transactions-sort-btn--active{background-color:var(--color-text);border-color:var(--color-text);color:var(--color-surface)}.transactions-sort-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-no-results{color:var(--color-text-muted);font-size:var(--text-base);text-align:center;padding:var(--space-8);margin:0}.transactions-list{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5) 0}.transactions-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px;transition:background-color var(--transition-normal),border-color var(--transition-normal),transform var(--transition-fast),box-shadow var(--transition-fast);animation:cardIn var(--transition-normal) ease-out;cursor:pointer}.transactions-card:hover{background-color:var(--color-surface);border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}.transactions-card:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}@keyframes cardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.transactions-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.transactions-card-header-left{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:var(--space-4)}.transactions-card-title-row{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-2);min-width:0}.transactions-card-title{font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-card-this-month{font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-primary-text);background-color:var(--color-primary-soft);border:1px solid var(--color-primary-border);padding:3px 10px;border-radius:var(--radius-full)}.transactions-card-expand-icon{margin-left:var(--space-1);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center}.transactions-card-expand-icon svg{display:block}.transactions-card-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.transactions-card-totals-inline{display:inline-flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.transactions-inline-badge{display:inline-flex;align-items:center;padding:2px var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);white-space:nowrap}.transactions-inline-badge-text{font-size:var(--text-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.transactions-inline-badge--income{background-color:var(--color-positive-soft)}.transactions-inline-badge--income .transactions-inline-badge-text{color:var(--color-positive)}.transactions-inline-badge--expense{background-color:var(--color-negative-soft)}.transactions-inline-badge--expense .transactions-inline-badge-text{color:var(--color-negative)}.transactions-inline-badge--savings{background-color:var(--color-savings-soft)}.transactions-inline-badge--savings .transactions-inline-badge-text{color:var(--color-savings)}.transactions-inline-badge--goals{background-color:var(--color-goals-soft)}.transactions-inline-badge--goals .transactions-inline-badge-text{color:var(--color-goals)}.transactions-card-header-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.transactions-total-badge{background-color:var(--color-surface);border:1px solid var(--color-border-strong);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full)}.transactions-total-badge-text{color:var(--color-text);font-weight:var(--font-weight-bold);font-size:var(--text-base)}.transactions-total-badge--negative{background-color:var(--color-negative-soft);border-color:var(--color-negative-border)}.transactions-total-badge--negative .transactions-total-badge-text{color:var(--color-negative)}.transactions-card-gear-button{padding:var(--space-2);background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.transactions-card-gear-button:hover{background-color:var(--color-surface-hover);color:var(--color-text);transform:translateY(-1px)}.transactions-card-gear-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-card-edit-icon{width:20px;height:20px;display:block}.transactions-divider{height:1px;background-color:var(--color-border);margin:var(--space-4) 0}.transactions-card-tabs-row{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-1)}.transactions-card-tabs-label{font-size:var(--text-xs);color:var(--color-text-muted)}.transactions-card-tabs{display:inline-flex;align-items:center;background-color:var(--color-surface-muted);border-radius:var(--radius-full);padding:2px;border:1px solid var(--color-border)}.transactions-card-tab{border:none;background:transparent;padding:3px 10px;font-size:var(--text-xs);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.transactions-card-tab--active{background-color:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.transactions-tx-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-5) 0;background-color:transparent}.transactions-tx-left{display:flex;flex-direction:row;align-items:center;flex:1;margin-right:var(--space-3)}.transactions-avatar{width:26px;height:26px;border-radius:13px;border:1px solid;margin-right:var(--space-4);flex-shrink:0}.transactions-avatar--percentage{width:auto;min-width:44px;padding:0 var(--space-3);border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center}.transactions-avatar-percentage-text{font-size:var(--text-xs);font-weight:var(--font-weight-bold);line-height:1}.transactions-tx-text-col{flex:1;margin-right:var(--space-3);min-width:0;display:flex;align-items:baseline;gap:var(--space-3)}.transactions-tx-name{color:var(--color-text);font-weight:var(--font-weight-medium);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base)}.transactions-tx-meta{color:var(--color-text-muted);font-size:var(--text-xs);margin:0;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-tx-meta-date,.transactions-tx-meta-desc{display:inline}.transactions-tx-meta-desc:before{content:" • "}.transactions-tx-amount{font-weight:var(--font-weight-bold);font-size:var(--text-base);min-width:70px;text-align:right;padding:0 var(--space-1)}.transactions-fab{position:fixed;right:25px;bottom:var(--space-10);width:56px;height:56px;border-radius:28px;background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:var(--shadow-lg);z-index:20;transition:transform var(--transition-normal),box-shadow var(--transition-normal);color:var(--color-on-primary)}.transactions-fab:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-xl)}.transactions-fab:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.transactions-fab:disabled{opacity:.5;cursor:not-allowed}.transactions-fab-icon{display:flex;align-items:center;justify-content:center;color:var(--color-on-primary)}.transactions-fab-icon svg{width:28px;height:28px}.transactions-avatar-income{background-color:var(--color-positive-soft);border-color:var(--color-positive-border)}.transactions-avatar-expense{background-color:var(--color-negative-soft);border-color:var(--color-negative-border)}.transactions-avatar-savings{background-color:var(--color-savings-soft);border-color:var(--color-savings)}.transactions-avatar-goals{background-color:var(--color-goals-soft);border-color:var(--color-goals)}.transactions-tx-amount-income{color:var(--color-positive)}.transactions-tx-amount-expense{color:var(--color-negative)}.transactions-tx-amount-savings{color:var(--color-savings)}.transactions-tx-amount-goals{color:var(--color-goals)}@media (max-width: 480px){.transactions-container{padding:var(--space-14) var(--space-5) var(--space-9);padding-top:calc(var(--app-top-bar-offset) + var(--space-6))}.transactions-fab{right:var(--space-8);bottom:var(--space-8)}.transactions-accounts-scroll-row{gap:var(--space-4);padding:0 var(--space-1) var(--space-2);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.transactions-account-tile,.transactions-account-add-tile{scroll-snap-align:start}.transactions-account-tile{min-width:220px;padding:var(--space-5)}.transactions-account-tile--primary{min-width:260px}.transactions-account-edit-btn,.transactions-account-history-link{opacity:1}.transactions-account-tile-balance{font-size:28px}.transactions-account-action-btn{width:40px;height:40px}.transactions-list{padding:var(--space-4) 0}.transactions-card{padding:14px}.transactions-card-header{align-items:flex-start}.transactions-card-header-right{width:100%;justify-content:space-between}.transactions-card-title-row{flex-wrap:wrap;row-gap:var(--space-2)}.transactions-card-header-left{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.transactions-card-title{font-size:var(--text-base);white-space:normal;line-height:1.15}.transactions-card-meta{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.transactions-card-totals-inline{gap:var(--space-2);width:100%}.transactions-inline-badge{padding:2px var(--space-2)}.transactions-card-tabs-row{justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.transactions-card-tabs{width:100%;justify-content:space-between}.transactions-card-tab{flex:1;padding:6px 10px;text-align:center}.transactions-avatar{margin-right:var(--space-3)}.transactions-tx-row{padding:var(--space-4) 0;gap:var(--space-3)}.transactions-tx-left{min-width:0}.transactions-tx-text-col{flex-direction:column;align-items:flex-start;gap:var(--space-2);min-width:0}.transactions-tx-name{font-size:var(--text-sm)}.transactions-tx-meta{font-size:11px;white-space:normal;line-height:1.25;overflow:visible;text-overflow:unset}.transactions-tx-meta-date{display:block;white-space:nowrap;color:var(--color-text);font-weight:var(--font-weight-medium);letter-spacing:.01em}.transactions-tx-meta-desc{display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.transactions-tx-meta-desc:before{content:""}.transactions-tx-amount{min-width:64px;font-size:var(--text-sm)}.transactions-card-gear-button{padding:10px}.transactions-account-add-tile{min-width:120px;border-radius:16px}.transactions-modal-overlay{padding:var(--space-5)}}.main-page-container{flex:1;background-color:var(--color-bg);padding:var(--space-14) var(--space-7) var(--space-9);min-height:100vh;position:relative;transition:background-color var(--transition-normal)}.main-page-summary{margin-top:var(--space-2)}.main-page-chart-wrap{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.main-page-chart-title{font-size:var(--text-base);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-4)}.main-page-cta-wrap{display:flex;flex-direction:column;align-items:center;padding:var(--space-8) var(--space-5);text-align:center}.main-page-cta-button{background-color:var(--color-primary);color:var(--color-on-primary);font-weight:var(--font-weight-bold);font-size:var(--text-lg);padding:var(--space-5) var(--space-10);border:none;border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 10px 24px #0000001f;transition:background-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.main-page-cta-button:hover:not(:disabled){background-color:var(--color-primary-hover);transform:scale(1.02);box-shadow:0 14px 30px #0000001f}.main-page-cta-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.main-page-cta-button:disabled{opacity:.6;cursor:not-allowed}.main-page-cta-hint{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.main-page-cta-secondary{margin-top:var(--space-5);padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--color-primary-text);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);transition:color var(--transition-normal),opacity var(--transition-normal)}.main-page-cta-secondary:hover{color:var(--color-primary-hover);opacity:.9}.main-page-cta-secondary:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.main-page-tooltip{padding:var(--space-2) 0}.main-page-tooltip-label{color:var(--color-text);font-weight:var(--font-weight-medium);margin-bottom:var(--space-3)}.main-page-tooltip-item{font-size:var(--text-sm);margin-bottom:var(--space-1)}.main-page-tooltip-item:last-child{margin-bottom:0}@media (max-width: 768px){.main-page-container{padding-top:calc(var(--app-top-bar-offset) + var(--space-6))}}@media (max-width: 480px){.main-page-chart-title{margin-bottom:var(--space-1)}.main-page-container{padding:var(--space-14) var(--space-5);padding-top:calc(var(--app-top-bar-offset) + var(--space-6));padding-bottom:calc(var(--space-24) + 96px + env(safe-area-inset-bottom))}.main-page-chart-wrap{padding:var(--space-4)}.main-page-chart-wrap .recharts-legend-wrapper{padding-top:0;padding-bottom:var(--space-2)}.main-page-chart-wrap .recharts-default-legend{margin:0}.main-page-cta-wrap{position:fixed;left:0;right:0;bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:5;margin:0;padding:var(--space-4) var(--space-5);background:color-mix(in srgb,var(--color-bg) 85%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border)}.main-page-cta-button{width:100%;max-width:520px}.main-page-cta-secondary{margin-top:var(--space-3)}}@media (max-width: 360px){.main-page-container{padding-left:var(--space-4);padding-right:var(--space-4)}}.ai-notes-label{margin-bottom:var(--space-2)}.ai-notes-label--budget{margin-top:var(--space-7)}.ai-notes-label--user-form{margin-top:var(--space-4)}.ai-notes-label-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.ai-notes-label-title{font-size:var(--text-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary-text)}.ai-notes-label-badge{font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-positive) 18%,transparent);color:var(--color-positive)}.ai-notes-label-suggest{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5;margin-bottom:var(--space-2)}.ai-notes-label-suggest-label{color:var(--color-text);font-weight:var(--font-weight-medium)}.ai-notes-label--onboarding{padding:var(--space-4) 0 var(--space-3);margin-bottom:0}.ai-notes-label--onboarding .ai-notes-label-head{margin-bottom:var(--space-2)}.ai-notes-label--transactions,.ai-notes-label--transactions .ai-notes-label-head{margin-bottom:var(--space-1)}.waterfall-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.waterfall-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;margin:0;background-color:#00000073;cursor:pointer}.waterfall-modal{position:relative;width:min(680px,100%);max-height:min(90vh,760px);overflow-y:auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-6)}.waterfall-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.waterfall-modal-title{margin:0;font-size:var(--text-lg);color:var(--color-text)}.waterfall-modal-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.waterfall-modal-close{padding:var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;transition:background-color var(--transition-fast),color var(--transition-fast)}.waterfall-modal-close svg{width:20px;height:20px}.waterfall-modal-close:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.waterfall-modal-close:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.waterfall-modal-state{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-9) 0;font-size:var(--text-base);color:var(--color-text-muted)}.waterfall-modal-state--error{color:var(--color-negative)}.waterfall-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.waterfall-summary-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-5);background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0}.waterfall-summary-label{font-size:var(--text-xs);color:var(--color-text-muted)}.waterfall-summary-value{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text);overflow-wrap:anywhere}.waterfall-chart{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5)}.waterfall-row{--waterfall-color: var(--color-primary);--waterfall-color-muted: var(--color-primary-soft);display:grid;grid-template-columns:150px minmax(0,1fr) 140px;grid-template-areas:"label track value";align-items:center;gap:var(--space-5)}.waterfall-row--income{--waterfall-color: var(--color-positive);--waterfall-color-muted: var(--color-positive-soft)}.waterfall-row--needs{--waterfall-color: var(--color-primary);--waterfall-color-muted: var(--color-primary-soft)}.waterfall-row--goal{--waterfall-color: var(--color-goals);--waterfall-color-muted: var(--color-goals-soft)}.waterfall-row--fun{--waterfall-color: var(--color-warning);--waterfall-color-muted: var(--color-warning-soft)}.waterfall-row-label{grid-area:label;display:flex;align-items:center;gap:var(--space-3);min-width:0}.waterfall-row-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0;background-color:var(--waterfall-color)}.waterfall-row-name{font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waterfall-row-track{grid-area:track;position:relative;height:40px}.waterfall-row-split{position:absolute;top:10px;height:20px;min-width:2px;border-radius:4px;overflow:hidden}.waterfall-row-segment{--segment-fill: color-mix(in oklab, var(--segment-color) 68%, #fff);position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;background:linear-gradient(to right,var(--segment-fill) var(--segment-funded, 100%),color-mix(in srgb,var(--segment-color) 30%,var(--color-surface)) var(--segment-funded, 100%));box-shadow:inset -2px 0 0 var(--color-surface);transition:filter var(--transition-fast)}.waterfall-row-segment:last-child{box-shadow:none}.waterfall-row-segment:hover,.waterfall-row-segment.is-active{filter:brightness(1.2)}.waterfall-row-segment:focus-visible{outline:2px solid var(--color-text);outline-offset:-2px}.waterfall-row-segment-pct{font-size:11px;font-weight:var(--font-weight-medium);line-height:1;color:#000000b8;white-space:nowrap;pointer-events:none}.waterfall-tooltip{position:absolute;bottom:calc(100% - 4px);z-index:2;display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background-color:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:none}.waterfall-tooltip--center{transform:translate(-50%)}.waterfall-tooltip--end{transform:translate(-100%)}.waterfall-tooltip-name{font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.waterfall-tooltip-detail{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.waterfall-row-connector{position:absolute;top:calc(-1 * (var(--space-5) + 10px));height:calc(var(--space-5) + 20px);width:1px;transform:translate(-.5px);background-color:var(--color-border-strong)}.waterfall-row-value{grid-area:value;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.waterfall-row-amount{font-size:var(--text-base);font-weight:var(--font-weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.waterfall-row-ask{font-weight:400;color:var(--color-text-muted)}.waterfall-row-status{font-size:var(--text-xs);color:var(--color-text-muted)}.waterfall-row-status-icon--ok{color:var(--color-positive)}.waterfall-row-status-icon--partial{color:var(--color-warning)}.waterfall-row-status-icon--none{color:var(--color-negative)}.waterfall-legend{display:flex;flex-wrap:wrap;gap:var(--space-7);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.waterfall-legend-item{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.waterfall-legend-swatch{width:18px;height:10px;border-radius:3px;background-color:var(--color-text-muted)}.waterfall-legend-swatch--shortfall{background-color:var(--color-surface-hover)}.waterfall-modal-note{margin:0;font-size:var(--text-sm);line-height:var(--line-height-normal);color:var(--color-text-muted)}@media (max-width: 560px){.waterfall-modal-root{padding:var(--space-4)}.waterfall-summary{gap:var(--space-3)}.waterfall-summary-item{padding:var(--space-3) var(--space-4)}.waterfall-summary-value{font-size:var(--text-lg)}.waterfall-chart{gap:var(--space-7)}.waterfall-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "track track";row-gap:var(--space-3)}.waterfall-row-track{height:20px}.waterfall-row-split{top:0}.waterfall-row-connector{display:none}}.message-row{width:100%;display:flex;gap:0;align-items:flex-end;margin:var(--space-2) 0;animation:messageIn var(--transition-normal) ease-out}.message-row-user{justify-content:flex-end}.message-row-ai{justify-content:flex-start}.message-bubble-wrap{position:relative;max-width:76%;align-self:flex-end}.message-bubble-wrap-ai{align-self:flex-start;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.message-ai-header{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-1)}.message-ai-avatar{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-primary);color:transparent;flex-shrink:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent)}.message-ai-name{font-size:var(--text-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);letter-spacing:.02em}.message-bubble-wrap-user{align-self:flex-end}.message-bubble{position:relative;max-width:100%;padding:var(--space-5) var(--space-6);padding-right:calc(var(--space-6) + 36px);border-radius:var(--radius-xl)}.message-copy-btn{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-md);background-color:#00000024;color:var(--color-text);cursor:pointer;opacity:0;transform:scale(.96);transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-normal)}.message-bubble:hover .message-copy-btn,.message-bubble:focus-within .message-copy-btn{opacity:1;transform:scale(1)}.message-copy-btn:hover{background-color:#00000038}.message-copy-btn:focus-visible{outline:var(--focus-outline);outline-offset:2px;opacity:1}.message-copy-btn-user{background-color:color-mix(in oklab,var(--color-on-primary) 22%,transparent);color:var(--color-on-primary)}.message-copy-btn-user:hover{background-color:color-mix(in oklab,var(--color-on-primary) 32%,transparent)}.message-copy-btn-copied{opacity:1;color:var(--color-positive);background-color:color-mix(in srgb,var(--color-positive) 22%,transparent)}.message-copy-btn-user.message-copy-btn-copied{color:var(--color-positive);background-color:color-mix(in oklab,var(--color-positive) 28%,var(--color-surface))}@media (hover: none){.message-copy-btn{opacity:.85;transform:scale(1)}}.message-copy-icon{width:16px;height:16px}.message-bubble-emphasize{box-shadow:0 0 0 1px color-mix(in oklab,var(--color-primary) 14%,transparent),0 10px 22px #0000001f}@keyframes messageIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.user-msg{background-color:var(--color-text);border:none;box-shadow:none;border-bottom-right-radius:0}.ai-msg{background-color:color-mix(in srgb,var(--color-surface-muted) 88%,var(--color-bg));border:none;box-shadow:none;border-bottom-left-radius:0}.message-text{font-size:var(--text-md);word-wrap:break-word;line-height:var(--line-height-normal)}.message-text p{margin:0}.message-text ul{margin:var(--space-3) 0 0;padding-left:18px}.message-text li{margin:var(--space-2) 0}.user-text{color:var(--color-on-primary)}.ai-text{color:var(--color-text)}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:var(--space-3) 0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:var(--space-4) 0 var(--space-2);line-height:var(--line-height-tight, 1.25);font-weight:var(--font-weight-bold)}.markdown-body h1{font-size:calc(var(--text-md) * 1.35)}.markdown-body h2{font-size:calc(var(--text-md) * 1.2)}.markdown-body h3,.markdown-body h4{font-size:calc(var(--text-md) * 1.08)}.markdown-body ul,.markdown-body ol{margin:var(--space-3) 0;padding-left:1.35em}.markdown-body li{margin:var(--space-2) 0}.markdown-body li>p{margin:0}.markdown-body a{color:var(--color-primary-text);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.markdown-body strong{font-weight:var(--font-weight-bold)}.markdown-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:color-mix(in srgb,var(--color-text) 10%,transparent);padding:.12em .38em;border-radius:var(--radius-sm, 6px)}.markdown-body pre{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);overflow-x:auto;background:color-mix(in srgb,var(--color-text) 8%,transparent);border-radius:var(--radius-md, 10px)}.markdown-body pre code{background:none;padding:0;font-size:.88em}.markdown-body blockquote{margin:var(--space-3) 0;padding-left:var(--space-4);border-left:3px solid color-mix(in srgb,var(--color-text) 25%,transparent);color:var(--color-text-muted)}.markdown-body hr{border:none;border-top:1px solid color-mix(in srgb,var(--color-text) 15%,transparent);margin:var(--space-4) 0}.markdown-body table{width:100%;border-collapse:collapse;margin:var(--space-3) 0;font-size:.95em}.markdown-body th,.markdown-body td{border:1px solid color-mix(in srgb,var(--color-text) 18%,transparent);padding:var(--space-2) var(--space-3);text-align:left}@media (max-width: 480px){.message-bubble-wrap{max-width:82%}}.composer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);border-top:1px solid var(--color-border);background-color:var(--color-surface);transition:background-color var(--transition-normal),border-color var(--transition-normal);min-width:0}.composer-icon{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-shrink:0}.composer-icon svg{display:block;color:var(--color-primary-text)}.composer-input{flex:1;min-width:0;width:100%;box-sizing:border-box;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6) var(--space-6);color:var(--color-text);font-size:var(--text-md);outline:none;transition:border-color var(--transition-normal),background-color var(--transition-normal)}.composer-input::placeholder{color:var(--color-text-subtle)}.composer-input:focus{border-color:var(--color-primary)}.composer-input:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.composer-input:disabled{opacity:.5;cursor:not-allowed}.send-btn{background:color-mix(in srgb,var(--color-primary) 88%,var(--color-bg));padding:var(--space-5) var(--space-6);min-width:5.5rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--color-on-primary);font-size:var(--text-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary)}.send-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn-icon{opacity:.9;font-weight:var(--font-weight-bold)}.quick-row{display:flex;gap:var(--space-5);padding:var(--space-5) 0;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;width:100%}.quick-btn{background-color:var(--color-surface-muted);padding:var(--space-4) var(--space-6);border-radius:var(--radius-full);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-normal);color:var(--color-text);text-align:left;display:inline-flex;justify-content:flex-start;align-items:center;max-width:100%}.quick-btn:hover{background-color:var(--color-surface-hover)}.quick-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.quick-btn-active{background-color:var(--color-primary-soft);border-color:var(--color-primary)}.quick-text{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-align:left;line-height:var(--line-height-tight)}.quick-text-active{color:var(--color-primary-text)}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-10) var(--space-6) var(--space-12);min-height:min(52vh,420px);text-align:center}.chat-empty-state-hero{max-width:420px}.chat-empty-state-wave{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--space-4);border-radius:var(--radius-full, 999px);color:var(--color-primary-text);background:color-mix(in srgb,var(--color-primary-soft) 55%,transparent)}.chat-empty-state-title{margin:0 0 var(--space-3);font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-tight)}.chat-empty-state-subtitle{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.chat-empty-state-topics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.chat-empty-state-topics li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary-soft) 35%,transparent)}.chat-empty-state-topic-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--color-primary-text);background:var(--color-surface)}.chat-empty-state-prompts{width:100%;max-width:480px}.chat-empty-state-prompts-label{margin:0 0 var(--space-4);font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.chat-empty-state-prompts .quick-row{flex-direction:column;align-items:stretch;padding:0;gap:var(--space-3);flex-wrap:nowrap}.chat-empty-state-prompts .quick-btn{width:100%;max-width:100%;border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-primary-border);box-shadow:var(--shadow-sm);padding:10px 14px;transform:none}.chat-empty-state-prompts .quick-btn:hover,.chat-empty-state-prompts .quick-btn:focus-visible{transform:none;background-color:var(--color-primary-soft);border-color:var(--color-primary)}.chat-empty-state-prompts .quick-btn-active{background-color:var(--color-primary-soft);border-color:var(--color-primary)}.chat-follow-ups{margin:var(--space-2) 0 0;padding-left:0;max-width:76%}.chat-follow-ups-label{display:block;margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.chat-follow-ups-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chat-follow-ups-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-primary-border);background:var(--color-surface);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.chat-follow-ups-btn:hover:not(:disabled),.chat-follow-ups-btn:focus-visible:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary)}.chat-follow-ups-btn:disabled{opacity:.5;cursor:not-allowed}.chat-follow-ups-btn-icon{font-size:var(--text-sm);line-height:1}@media (max-width: 480px){.chat-follow-ups{max-width:82%}}.chat-interrupt{margin:var(--space-2) 0 0;padding-left:0;max-width:76%}.chat-interrupt-label{display:block;margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.chat-interrupt-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chat-interrupt-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);border:1px solid var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary-text);font-size:var(--text-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.chat-interrupt-btn:hover:not(:disabled),.chat-interrupt-btn:focus-visible:not(:disabled){background:color-mix(in srgb,var(--color-primary-soft) 70%,var(--color-bg));border-color:var(--color-primary)}.chat-interrupt-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.chat-interrupt{max-width:82%}}.chat-container{flex:1;background-color:var(--color-bg);padding:var(--space-14) var(--space-7) var(--space-8);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box;transition:background-color var(--transition-normal)}.chat-shell{flex:1;min-height:0;display:flex;gap:0;position:relative}.chat-sidebar{flex-shrink:0;width:260px;display:flex;flex-direction:column;min-height:0;border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);overflow:hidden}.chat-sidebar-head{flex-shrink:0;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.chat-new-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.chat-new-btn:hover,.chat-new-btn:focus-visible{background:var(--color-surface-muted);border-color:var(--color-text)}.chat-new-btn-icon{font-size:var(--text-lg);line-height:1}.chat-sidebar-list{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.chat-sidebar-empty,.chat-sidebar-draft{margin:var(--space-3) var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.4}.chat-sidebar-draft{font-style:italic}.chat-sidebar-item{width:100%;display:flex;align-items:flex-start;gap:var(--space-3);text-align:left;padding:var(--space-3) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text);font-size:var(--text-sm);line-height:1.35;cursor:pointer;transition:background-color var(--transition-normal),transform var(--transition-fast)}.chat-sidebar-item:hover,.chat-sidebar-item:focus-visible{background-color:var(--color-surface-muted);transform:translate(2px)}.chat-sidebar-item--active{background-color:var(--color-surface-muted);color:var(--color-text);font-weight:var(--font-weight-medium)}.chat-sidebar-item-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-sm)}.chat-sidebar-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-sidebar-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-medium)}.chat-sidebar-item-date{font-size:var(--text-xs);color:var(--color-text-muted)}.chat-sidebar-item--active .chat-sidebar-item-date{color:var(--color-text-muted)}.chat-sidebar-backdrop{display:none}.chat-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;margin-left:var(--space-4)}.chat-main-toolbar{display:none;flex-shrink:0;margin-bottom:var(--space-3)}.chat-sidebar-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer}.chat-sidebar-toggle-icon{font-size:var(--text-base);line-height:1}@media (max-width: 768px){.chat-container{padding-top:calc(var(--app-top-bar-offset) + var(--space-6))}}.chat-body{flex:1;min-height:0;display:flex;flex-direction:column}.chat-list-container{flex:1;min-height:0;padding:0;overflow-y:auto;margin-bottom:var(--space-3);background:transparent}.chat-composer-stack{flex-shrink:0;background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.chat-composer-stack .composer{border-top:none;background-color:var(--color-surface-muted)}.chat-composer-stack .composer-input{background-color:var(--color-bg)}.chat-suggestions{padding:var(--space-6) var(--space-5) var(--space-5);background:linear-gradient(180deg,var(--color-primary-soft) 0%,var(--color-surface) 100%);border-bottom:1px solid var(--color-border)}.chat-suggestions-label{margin:0 0 var(--space-4);font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);line-height:var(--line-height-tight)}.chat-suggestions .quick-row{padding:0;justify-content:flex-start}.chat-suggestions .quick-btn{background-color:var(--color-bg);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-sm)}.chat-suggestions .quick-btn:hover,.chat-suggestions .quick-btn-active{background-color:var(--color-surface-muted);border-color:var(--color-text)}.chat-messages{display:flex;flex-direction:column;padding:var(--space-4) var(--space-2);gap:var(--space-4);min-height:0}.chat-messages--with-empty{min-height:0}.chat-suggestion-inline{width:100%;display:flex;justify-content:flex-start;padding:0 var(--space-4) var(--space-4)}.chat-suggestion-inline .quick-row{flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;gap:var(--space-3);flex-wrap:nowrap;width:100%}.chat-suggestion-inline .quick-btn{width:100%;max-width:100%;border-radius:var(--radius-lg);background-color:var(--color-bg);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-sm);padding:10px 14px;transform:none}.chat-suggestion-inline .quick-btn:hover,.chat-suggestion-inline .quick-btn:focus-visible{transform:none;background-color:var(--color-surface-muted);border-color:var(--color-text);box-shadow:var(--shadow-sm)}.chat-suggestion-inline .quick-btn-active{background-color:var(--color-surface-muted);border-color:var(--color-text)}.chat-thinking{opacity:.9}.chat-thinking-dots:after{content:"…";display:inline-block;width:1.5em;text-align:left;animation:chatDots 1.1s steps(4,end) infinite}@keyframes chatDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.chat-loading{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-5);padding:var(--space-8) 0;margin-top:var(--space-8)}.chat-loading .spinner{flex-shrink:0}.chat-loading-text{color:var(--color-text-muted);font-size:var(--text-base)}.chat-error-text{color:var(--color-negative);text-align:center;padding:var(--space-5);background-color:var(--color-negative-soft);border:1px solid var(--color-negative-border);border-radius:var(--radius-sm);margin-bottom:var(--space-5)}@media (max-width: 900px){.chat-main{margin-left:0}.chat-main-toolbar{display:block}.chat-sidebar{position:fixed;top:calc(var(--app-top-bar-offset) + var(--space-6));left:var(--space-5);bottom:var(--space-8);z-index:50;width:min(280px,calc(100vw - var(--space-10)));transform:translate(calc(-100% - var(--space-8)));transition:transform var(--transition-normal);box-shadow:var(--shadow-lg)}.chat-sidebar--open{transform:translate(0)}.chat-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:none;padding:0;margin:0;background:color-mix(in srgb,var(--color-bg) 20%,rgba(0,0,0,.45));cursor:pointer}}@media (max-width: 480px){.chat-container{padding:var(--space-14) var(--space-5) var(--space-8);padding-top:calc(var(--app-top-bar-offset) + var(--space-6))}.chat-sidebar{left:var(--space-4);bottom:var(--space-6)}}.budget-container{flex:1;background-color:var(--color-bg);padding:var(--space-14) var(--space-7) var(--space-9);min-height:100vh;max-width:800px;margin:0 auto;transition:background-color var(--transition-normal)}@media (max-width: 768px){.budget-container:not(.budget-container--embedded){padding-top:calc(var(--app-top-bar-offset) + var(--space-6))}}.budget-container--embedded{min-height:0;max-height:none;padding:0;max-width:none;margin:0;background:transparent}@media (max-width: 768px){.budget-container--embedded.budget-container--embedded-planning{padding-top:24px;padding-bottom:24px;box-sizing:border-box}}.budget-container--embedded .budget-scroll-container{flex:1;min-height:0;max-height:min(52vh,420px);overflow-y:auto;padding-bottom:var(--space-4)}.budget-planning-callout{margin-bottom:var(--space-5);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-text);font-size:var(--text-md);line-height:1.5}.budget-planning-callout strong{color:var(--color-primary-text);font-weight:var(--font-weight-bold)}.budget-planning-actions{margin-bottom:var(--space-5)}.budget-planning-actions .budget-button{width:100%}.budget-planning-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:max(var(--space-6),env(safe-area-inset-top,0px)) max(var(--space-6),env(safe-area-inset-right,0px)) max(var(--space-6),env(safe-area-inset-bottom,0px)) max(var(--space-6),env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--color-bg) 35%,rgba(0,0,0,.55));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.budget-planning-modal{width:min(100vw - 32px,620px);max-width:100%;max-height:min(90dvh,760px);display:flex;flex-direction:column;margin:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden}.budget-planning-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.budget-planning-modal-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.budget-planning-modal-close{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:22px;line-height:1;cursor:pointer;transition:background-color var(--transition-normal),color var(--transition-normal)}.budget-planning-modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.budget-planning-modal-body{padding:var(--space-6) var(--space-7);overflow-y:auto;flex:1;min-height:0}.budget-planning-modal-body .budget-card{margin-top:0;animation:none}.budget-select-item--with-type{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.budget-onboarding-cat-type{flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.budget-scroll-container{display:flex;flex-direction:column;padding-bottom:var(--space-7)}.budget-label{color:var(--color-text-muted);margin-top:var(--space-7);margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);font-size:var(--text-base);display:block}.budget-label-tight{margin-top:0}.budget-card-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.budget-totals-plaque{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);margin-top:var(--space-6);padding:var(--space-5) var(--space-6);background-color:var(--color-surface-muted);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--text-base);font-weight:var(--font-weight-medium)}.budget-totals-in{color:var(--color-positive)}.budget-totals-out{color:var(--color-negative)}.budget-totals-keep{color:var(--color-savings)}.budget-totals-goals{color:var(--color-goals)}.budget-card{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--space-7);box-shadow:var(--shadow-sm);margin-top:var(--space-4);border:1px solid var(--color-border);transition:background-color var(--transition-normal),border-color var(--transition-normal);animation:fadeIn var(--transition-normal) ease-out}.budget-date-container{display:flex;flex-direction:row;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-3)}.budget-date-input{flex:1}.budget-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);color:var(--color-text);background-color:var(--color-bg);font-size:var(--text-md);box-sizing:border-box;cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal)}.budget-select-trigger:hover{border-color:var(--color-border-strong)}.budget-select-trigger[data-placeholder]{color:var(--color-text-muted)}.budget-select-trigger[data-state=open]{border-color:var(--color-primary);outline:none}.budget-select-trigger:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.budget-select-icon{margin-left:var(--space-2);font-size:.65em;color:var(--color-text-muted);pointer-events:none}.budget-select-content{overflow:hidden;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:10050!important;min-width:var(--radix-select-trigger-width);max-height:280px}[data-radix-popper-content-wrapper]:has(.budget-select-content){z-index:10050!important}.budget-select-viewport{padding:var(--space-2)}.budget-select-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text);cursor:pointer;outline:none;transition:background-color var(--transition-fast)}.budget-select-item[data-highlighted]{background-color:var(--color-surface-hover)}.budget-select-item[data-state=checked]{background-color:var(--color-primary-soft);color:var(--color-primary-text)}.budget-select-indicator{margin-left:var(--space-2);color:var(--color-primary-text)}.budget-type-selector-container{display:flex;flex-direction:row;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-4);flex-wrap:wrap;align-items:center}.budget-type-selector-left{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-4)}.budget-type-button{padding:var(--space-4) var(--space-7);border-radius:var(--radius-sm);border:1px solid;min-width:100px;text-align:center;font-weight:var(--font-weight-bold);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-normal)}.budget-type-button:hover:not(:disabled){opacity:.9}.budget-type-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.budget-type-button:disabled{opacity:.5;cursor:not-allowed}.budget-type-button-income{border-color:var(--color-positive);color:var(--color-positive);background-color:var(--color-bg)}.budget-type-button-income.selected{background-color:var(--color-positive);color:var(--color-on-primary)}.budget-type-button-expense{border-color:var(--color-negative);color:var(--color-negative);background-color:var(--color-bg)}.budget-type-button-expense.selected{background-color:var(--color-negative);color:var(--color-on-primary)}.budget-type-button-savings{border-color:var(--color-savings);color:var(--color-savings);background-color:var(--color-bg)}.budget-type-button-savings.selected{background-color:var(--color-savings);color:var(--color-on-primary)}.budget-type-button-goals{border-color:var(--color-goals);color:var(--color-goals);background-color:var(--color-bg)}.budget-type-button-goals.selected{background-color:var(--color-goals);color:var(--color-on-primary)}.budget-type-button-balance{background-color:var(--color-primary-soft);border:1px solid var(--color-primary-border);min-width:100px;margin-left:auto}.budget-type-button-balance--positive,.budget-type-button-balance--zero{color:var(--color-text)}.budget-type-button-balance--negative{color:var(--color-negative)}.budget-type-button-balance:disabled{opacity:1;cursor:default}.budget-amount-field{display:flex;align-items:stretch;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);overflow:hidden;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.budget-amount-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 14%,transparent)}.budget-amount-prefix{display:inline-flex;align-items:center;padding:0 var(--space-4) 0 var(--space-5);font-size:var(--text-md);font-weight:var(--font-weight-bold);color:var(--color-text-muted);background-color:var(--color-surface-muted);border-right:1px solid var(--color-border);flex-shrink:0}.budget-input--amount{border:none;border-radius:0;flex:1;min-width:0}.budget-input--amount:focus{border-color:transparent}.budget-input--amount:focus-visible{outline:none}.budget-input--amount-full{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);color:var(--color-text);background-color:var(--color-bg);font-size:var(--text-md);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.budget-input--amount-full:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 14%,transparent)}.budget-container--embedded-planning.budget-container--embedded .budget-pending-list-container{margin-top:var(--space-5)}.budget-container--embedded-planning.budget-container--embedded .budget-totals-plaque{margin-top:var(--space-6)}.budget-container--embedded-planning.budget-container--embedded .budget-planning-callout,.budget-container--embedded-planning.budget-container--embedded .budget-planning-actions{margin-bottom:var(--space-6)}.budget-input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);color:var(--color-text);background-color:var(--color-bg);font-size:var(--text-md);box-sizing:border-box;outline:none;transition:border-color var(--transition-normal),background-color var(--transition-normal)}.budget-input::placeholder{color:var(--color-text-subtle)}.budget-input:focus{border-color:var(--color-primary)}.budget-input:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.budget-button{padding:var(--space-5) var(--space-7);border-radius:var(--radius-md);min-width:120px;text-align:center;color:var(--color-on-primary);font-weight:var(--font-weight-medium);border:none;cursor:pointer;transition:background-color var(--transition-normal)}.budget-inner-add-button{background-color:var(--color-primary);margin-top:var(--space-8);padding:var(--space-6);width:100%}.budget-inner-add-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.budget-inner-add-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.budget-button:disabled{opacity:.5;cursor:not-allowed}.budget-pending-list-container{margin-top:var(--space-9);background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-7);border:1px solid var(--color-border);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.budget-list-header{font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-4);position:sticky;top:0;z-index:1;padding-bottom:var(--space-3);padding-right:var(--space-2);background-color:var(--color-surface)}.budget-pending-list-scroll{max-height:360px;overflow-y:auto;overflow-x:hidden;margin:0 calc(-1 * var(--space-2));padding:0 var(--space-2);scrollbar-gutter:stable}.budget-pending-item-wrap{cursor:pointer}.budget-pending-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);margin-bottom:var(--space-2);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.budget-pending-item:last-child{margin-bottom:0}.budget-pending-item:hover{background-color:var(--color-surface-hover);border-color:var(--color-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.budget-circle{width:10px;height:10px;border-radius:5px;margin-right:var(--space-4);flex-shrink:0}.budget-circle-income{background-color:var(--color-positive)}.budget-circle-expense{background-color:var(--color-negative)}.budget-circle-savings{background-color:var(--color-savings)}.budget-circle-goals{background-color:var(--color-goals)}.budget-pending-details{flex:3;margin-right:var(--space-4)}.budget-pending-category{font-weight:var(--font-weight-medium);font-size:var(--text-md);color:var(--color-text);margin:0}.budget-pending-description{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-1) 0 0}.budget-pending-description-muted{font-size:var(--text-xs);color:var(--color-text-subtle);font-style:italic;margin:var(--space-1) 0 0}.budget-pending-right{flex:2;display:flex;align-items:center;flex-direction:row;justify-content:flex-end}.budget-pending-sum{font-size:var(--text-lg);font-weight:var(--font-weight-bold);margin-right:var(--space-4);flex-shrink:0}.budget-pending-sum-income{color:var(--color-positive)}.budget-pending-sum-expense{color:var(--color-negative)}.budget-pending-sum-savings{color:var(--color-savings)}.budget-pending-sum-goals{color:var(--color-goals)}.budget-pending-delete-button{padding:var(--space-1);background:none;border:none;color:var(--color-negative);font-size:var(--text-xl);font-weight:var(--font-weight-bold);cursor:pointer;transition:transform var(--transition-normal);border-radius:var(--radius-sm)}.budget-pending-delete-button:hover{transform:scale(1.2)}.budget-pending-delete-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.budget-actions{display:flex;flex-direction:row;margin-top:var(--space-10);justify-content:space-between;gap:var(--space-5)}.budget-action-button{flex:1;min-width:140px}.budget-action-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.budget-secondary{background-color:var(--color-surface-hover);color:var(--color-text)}.budget-secondary:hover:not(:disabled){background-color:var(--color-border-strong)}.budget-primary{background-color:var(--color-primary)}.budget-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}@media (max-width: 480px){.budget-container:not(.budget-container--embedded){padding:var(--space-14) var(--space-5) var(--space-9);padding-top:calc(var(--app-top-bar-offset) + var(--space-6))}.budget-card{padding:var(--space-5)}.budget-type-button-balance{margin-left:0}}.budget-save-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);background-color:color-mix(in srgb,var(--color-bg) 72%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--transition-fast) ease-out}.budget-save-overlay-text{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-weight-medium)}.budget-button-loading{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3)}.spinner--on-primary{border-color:color-mix(in srgb,var(--color-on-primary) 40%,transparent);border-top-color:var(--color-on-primary)}.user-container{flex:1;background-color:var(--color-bg);padding:var(--space-14) var(--space-7) var(--space-9);min-height:100vh;max-width:800px;margin:0 auto;transition:background-color var(--transition-normal)}@media (max-width: 768px){.user-container{padding-top:calc(var(--app-top-bar-offset) + var(--space-6))}}.user-body{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:var(--space-4)}.user-card{width:100%;max-width:520px;padding:var(--space-7);border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);margin-bottom:var(--space-8);transition:background-color var(--transition-normal),border-color var(--transition-normal);animation:fadeIn var(--transition-normal) ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.user-label{color:var(--color-text-muted);margin-bottom:var(--space-2);font-size:var(--text-base);display:block}.user-value{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-weight-medium);margin:0}.user-info-card .user-section-title{margin-bottom:var(--space-5)}.user-info-row{display:flex;flex-wrap:wrap;gap:var(--space-8);align-items:flex-start}.user-avatar-wrap{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.user-avatar{width:96px;height:96px;border-radius:var(--radius-full);background-color:var(--color-surface-muted);background-size:cover;background-position:center;border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center}.user-avatar-placeholder{font-size:40px;line-height:1}.user-avatar-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden}.user-avatar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.user-info-fields{flex:1;min-width:200px}.user-info-field{margin-bottom:var(--space-5)}.user-info-field:last-child{margin-bottom:0}.user-value-email{font-size:var(--text-base);word-break:break-all}.user-nickname-display{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.user-nickname-display .user-value{margin:0}.user-nickname-edit .user-input{margin-bottom:var(--space-4)}.user-form-actions-inline{margin-top:0}.user-logout-button{width:100%;max-width:520px;padding:var(--space-5) var(--space-7);border-radius:var(--radius-sm);background-color:var(--color-negative);color:var(--color-on-primary);font-size:var(--text-lg);font-weight:var(--font-weight-bold);border:none;cursor:pointer;transition:background-color var(--transition-normal)}.user-logout-button:hover{background-color:var(--color-negative-hover)}.user-logout-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.user-section-title{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-3)}.user-section-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-6);line-height:1.4}.user-category-form{margin-bottom:var(--space-8)}.user-category-form .user-label{margin-top:var(--space-4)}.user-category-form .user-label:first-child{margin-top:0}.user-input{width:100%;box-sizing:border-box;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);color:var(--color-text);font-size:var(--text-base);margin-top:var(--space-2);transition:border-color var(--transition-normal)}.user-input:focus{border-color:var(--color-primary);outline:none}.user-input::placeholder{color:var(--color-text-subtle)}.user-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-width:0;margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);color:var(--color-text);background-color:var(--color-bg);font-size:var(--text-base);box-sizing:border-box;cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal)}.user-select-trigger:hover{border-color:var(--color-border-strong)}.user-select-trigger[data-placeholder]{color:var(--color-text-muted)}.user-select-trigger[data-state=open]{border-color:var(--color-primary);outline:none}.user-select-trigger:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.user-select-icon{margin-left:var(--space-2);font-size:.65em;color:var(--color-text-muted);pointer-events:none}.user-select-content{overflow:hidden;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;min-width:var(--radix-select-trigger-width);max-height:280px}.user-select-viewport{padding:var(--space-2)}.user-select-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text);cursor:pointer;outline:none;transition:background-color var(--transition-fast)}.user-select-item[data-highlighted]{background-color:var(--color-surface-hover)}.user-select-item[data-state=checked]{background-color:var(--color-primary-soft);color:var(--color-primary-text)}.user-select-indicator{margin-left:var(--space-2);color:var(--color-primary-text)}.user-form-actions{display:flex;gap:var(--space-4);margin-top:var(--space-6)}.user-button{padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--font-weight-medium);border:none;cursor:pointer;transition:background-color var(--transition-normal)}.user-button:disabled{opacity:.6;cursor:not-allowed}.user-button-primary{background-color:var(--color-primary);color:var(--color-on-primary)}.user-button-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.user-button-secondary{background-color:var(--color-surface-muted);color:var(--color-text);border:1px solid var(--color-border)}.user-button-secondary:hover:not(:disabled){background-color:var(--color-surface-hover)}.user-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.user-error{color:var(--color-negative);font-size:var(--text-sm);margin:0 0 var(--space-4)}.user-muted{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.user-category-list-wrap{margin-top:var(--space-4);max-height:260px;overflow-y:auto;padding-right:var(--space-1)}.user-category-list-wrap::-webkit-scrollbar{width:6px}.user-category-list-wrap::-webkit-scrollbar-track{background:transparent}.user-category-list-wrap::-webkit-scrollbar-thumb{background-color:var(--color-surface-hover);border-radius:999px}.user-category-list{list-style:none;padding:0;margin:0}.user-category-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border);margin-bottom:var(--space-3);background-color:var(--color-bg);transition:background-color var(--transition-normal)}.user-category-item:hover{background-color:var(--color-surface-muted)}.user-category-item-type{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;min-width:4em}.user-category-item-type--income{color:var(--color-positive)}.user-category-item-type--expense{color:var(--color-negative)}.user-category-item-type--savings{color:var(--color-savings)}.user-category-item-type--goals{color:var(--color-goals)}.user-category-item-name{font-weight:var(--font-weight-medium);color:var(--color-text)}.user-category-item-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-left:0}.user-category-item-actions{margin-left:auto;display:flex;gap:var(--space-2)}.user-category-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast)}.user-category-btn--icon{padding:var(--space-2);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}.user-category-action-icon{width:20px;height:20px;display:block}.user-category-action-icon--delete{width:22px;height:18px}.user-category-btn:hover:not(:disabled){background-color:var(--color-surface-hover)}.user-category-btn-danger:hover:not(:disabled){background-color:var(--color-negative-soft);border-color:var(--color-negative-border);color:var(--color-negative)}.user-category-btn:focus-visible{outline:var(--focus-outline);outline-offset:2px}.user-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-7);background:#00000073}.user-modal{width:min(420px,100%);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 24px 80px #0000001f;padding:var(--space-7)}.user-modal-title{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.user-modal-body{margin:0 0 var(--space-6);font-size:var(--text-base);color:var(--color-text-muted);line-height:1.45}.user-modal-body strong{color:var(--color-text)}.user-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.user-button-danger{background-color:var(--color-negative);color:var(--color-on-primary)}.user-button-danger:hover:not(:disabled){background-color:var(--color-negative-hover)}@media (max-width: 480px){.user-container{padding:var(--space-14) var(--space-5) var(--space-9);padding-top:calc(var(--app-top-bar-offset) + var(--space-6))}.user-card{padding:var(--space-5)}}.onboarding-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;background-color:var(--color-bg);color:var(--color-text);overflow-x:hidden}.onboarding-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--color-bg)}.onboarding-top,.onboarding-main,.onboarding-footer{position:relative;z-index:1}.onboarding-top{display:flex;align-items:center;justify-content:space-between;padding:max(var(--space-6),env(safe-area-inset-top,0px)) max(var(--space-7),env(safe-area-inset-right,0px)) var(--space-6) max(var(--space-7),env(safe-area-inset-left,0px));border-bottom:1px solid var(--color-border);flex-shrink:0}.onboarding-top-actions{display:flex;align-items:center;gap:var(--space-7)}.onboarding-header-skip{padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-md);transition:color var(--transition-normal),background-color var(--transition-normal),transform var(--transition-fast)}.onboarding-header-skip:hover:not(:disabled){color:var(--color-primary-text);background-color:var(--color-primary-soft)}.onboarding-header-skip:disabled{visibility:hidden;pointer-events:none}.onboarding-main{flex:1;min-height:0;display:flex;justify-content:center;align-items:flex-start;padding-top:max(clamp(48px,10vw,80px),env(safe-area-inset-top,0px));padding-right:max(var(--space-7),env(safe-area-inset-right,0px));padding-bottom:max(var(--space-10),env(safe-area-inset-bottom,0px));padding-left:max(var(--space-7),env(safe-area-inset-left,0px));overflow-y:auto}.onboarding-split{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:var(--space-10);align-items:start}.onboarding-card-column{min-width:0}.onboarding-card-glow{border-radius:calc(var(--radius-xl) + 2px);padding:2px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 55%,transparent),color-mix(in srgb,var(--color-primary-border) 80%,transparent) 45%,color-mix(in srgb,var(--color-primary) 25%,transparent));box-shadow:0 10px 40px #0000001f,0 0 0 1px color-mix(in srgb,var(--color-border) 40%,transparent),0 0 48px color-mix(in srgb,var(--color-primary) 12%,transparent)}.onboarding-card{width:100%;min-width:0;border-radius:var(--radius-xl);padding:var(--space-9) var(--space-8);background-color:color-mix(in srgb,var(--color-surface) 82%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.onboarding-progress-block{margin-bottom:var(--space-9)}.onboarding-progress-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.onboarding-progress-step-text{font-size:var(--text-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase}.onboarding-progress-fraction{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-subtle);font-variant-numeric:tabular-nums}.onboarding-progress-bar-wrap{height:8px;border-radius:var(--radius-full);background-color:var(--color-surface-muted);overflow:hidden;margin-bottom:0}.onboarding-progress-bar-wrap--solo{margin-bottom:0}.onboarding-progress-bar-fill{height:100%;border-radius:var(--radius-full);background:var(--color-primary);transition:width .45s cubic-bezier(.33,1,.68,1);box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 14%,transparent)}.onboarding-progress-segments{display:flex;gap:4px;margin-bottom:var(--space-4)}.onboarding-progress-seg{flex:1;height:4px;border-radius:2px;background-color:var(--color-border);transition:background-color .35s ease,transform .25s ease}.onboarding-progress-seg--on{background:var(--color-primary);transform:scaleY(1.25)}.onboarding-progress-dots{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.onboarding-dot{width:10px;height:10px;border-radius:var(--radius-full);background-color:var(--color-border);transition:background-color var(--transition-normal),transform .25s ease,box-shadow .25s ease}.onboarding-dot--active{background-color:var(--color-primary);transform:scale(1.2);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent)}.onboarding-dot--done{background-color:var(--color-positive)}.onboarding-dot--skip{background-color:var(--color-text-muted)}.onboarding-step-animate,.onboarding-visual-animate{animation:onboarding-step-in .45s cubic-bezier(.22,1,.36,1)}@keyframes onboarding-step-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.onboarding-step-body{display:flex;flex-direction:column;gap:var(--space-5)}.onboarding-step-body--categories{flex:1;min-height:0;gap:var(--space-5)}.onboarding-step-body--categories>.onboarding-step-title{margin-top:var(--space-1)}.onboarding-step-body--categories>.onboarding-step-lead{margin-bottom:0}.onboarding-add-own-toolbar{font-size:var(--text-md);--add-own-h: calc(2 * var(--space-5) + 1.25em + 2px);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.onboarding-add-own-type{flex:0 0 auto;min-width:0}.onboarding-add-own-toolbar .budget-select-trigger.onboarding-add-own-type{flex:0 0 auto;width:max-content;max-width:min(9.5rem,100%);height:var(--add-own-h);min-height:var(--add-own-h);max-height:var(--add-own-h);padding-top:0;padding-bottom:0;padding-left:var(--space-4);padding-right:var(--space-3);line-height:1.25}.onboarding-add-own-toolbar .onboarding-input.onboarding-add-own-name{flex:1 1 160px;min-width:0;box-sizing:border-box;height:var(--add-own-h);min-height:var(--add-own-h);max-height:var(--add-own-h);padding-top:0;padding-bottom:0;padding-left:var(--space-5);padding-right:var(--space-5);font-size:inherit;line-height:calc(var(--add-own-h) - 2px);font-family:inherit}.onboarding-add-own-toolbar .onboarding-btn-secondary.onboarding-add-own-submit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:var(--add-own-h);min-height:var(--add-own-h);max-height:var(--add-own-h);padding-top:0;padding-bottom:0;padding-left:var(--space-6);padding-right:var(--space-6);font-size:var(--text-md);line-height:1.25}.onboarding-micro-hint--after-toolbar{margin-top:var(--space-2);margin-bottom:0}.onboarding-step-body--categories>.onboarding-coverage{margin-top:var(--space-5);margin-bottom:var(--space-2)}.onboarding-subheading--categories-your{margin-top:var(--space-6);margin-bottom:var(--space-3);font-size:var(--text-md)}.onboarding-step-body--categories .onboarding-your-list{margin-bottom:var(--space-4)}.onboarding-step-body--categories .onboarding-add-custom-anchor>.onboarding-subheading{margin-top:var(--space-5)}.onboarding-categories-scroll{display:flex;flex-direction:column;gap:0;max-height:min(40vh,360px);min-height:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg)}.onboarding-categories-scroll-inner{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);scrollbar-gutter:stable}.onboarding-categories-loading,.onboarding-categories-empty{margin:0;padding:var(--space-5) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.55}.onboarding-categories-skip-note{margin:0 0 var(--space-2);padding:0 var(--space-4);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-positive);line-height:1.45}.onboarding-categories-scroll>.onboarding-check-list{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4);gap:var(--space-3)}.onboarding-add-custom-anchor{scroll-margin-top:var(--space-6)}.onboarding-micro-hint{margin:calc(var(--space-2) * -1) 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.onboarding-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}.onboarding-step-body--budget{gap:var(--space-6)}.onboarding-step-body--budget .onboarding-step-title{margin-bottom:var(--space-2)}.onboarding-step-body--budget .onboarding-step-lead{margin-bottom:var(--space-4)}.onboarding-step-title{margin:0;font-size:clamp(22px,2.5vw,26px);font-weight:700;letter-spacing:-.03em;line-height:var(--line-height-tight);color:var(--color-text)}.onboarding-step-lead{margin:0;font-size:var(--text-md);color:var(--color-text-subtle);line-height:1.65;max-width:52ch}.onboarding-step-lead strong{color:var(--color-text-muted);font-weight:var(--font-weight-bold)}.onboarding-bullet-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-4);color:var(--color-text);line-height:1.55;font-size:var(--text-base)}.onboarding-bullet-list li{display:flex;align-items:flex-start;gap:var(--space-4)}.onboarding-bullet-icon{flex-shrink:0;font-size:1.15em;line-height:1.4}.onboarding-subheading{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.onboarding-category-block{display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-cat-desc-field{padding-left:calc(18px + var(--space-4))}.onboarding-cat-desc-field .onboarding-textarea{width:100%;box-sizing:border-box}.onboarding-check-list{display:flex;flex-direction:column;gap:var(--space-3)}.onboarding-check-row{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-bg);cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal),transform var(--transition-fast),box-shadow var(--transition-normal)}.onboarding-check-row:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background-color:var(--color-surface-muted);transform:translateY(-1px);box-shadow:0 4px 14px #0000000f}.onboarding-check-row input{margin-top:4px;width:18px;height:18px;accent-color:var(--color-primary)}.onboarding-check-label{display:flex;flex-direction:column;gap:4px;min-width:0}.onboarding-cat-type{font-size:var(--text-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.onboarding-cat-name{font-size:var(--text-base);font-weight:var(--font-weight-medium)}.onboarding-cat-desc{font-size:var(--text-sm);line-height:1.45;color:var(--color-text-muted)}.onboarding-account-currency{font-size:var(--text-sm);color:var(--color-text-muted)}.onboarding-custom-form{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.onboarding-custom-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.onboarding-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);line-height:1.45;font-family:inherit;resize:vertical;min-height:44px;transition:border-color var(--transition-normal)}.onboarding-textarea:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.onboarding-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 14%,transparent)}.onboarding-textarea--sm{min-height:52px}.onboarding-select{padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--transition-normal)}.onboarding-select:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.onboarding-input{flex:1;min-width:140px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--transition-normal)}.onboarding-input:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.onboarding-btn-secondary{padding:10px 16px;border-radius:var(--radius-full);border:1px solid var(--color-border);background-color:var(--color-surface-muted);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-normal),transform var(--transition-fast),border-color var(--transition-normal)}.onboarding-btn-secondary:hover{background-color:var(--color-surface-hover);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));transform:translateY(-1px)}.onboarding-custom-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-full);background-color:var(--color-primary-soft);border:1px solid var(--color-primary-border);font-size:var(--text-sm)}.onboarding-chip--stacked{align-items:flex-start;border-radius:var(--radius-lg);max-width:100%}.onboarding-chip-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.onboarding-chip-title{font-weight:var(--font-weight-medium)}.onboarding-chip-desc{font-size:var(--text-xs);line-height:1.4;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.onboarding-chip-remove{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 2px}.onboarding-budget-embed{margin-top:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);background-color:var(--color-bg)}.onboarding-visual-column{min-width:0;position:sticky;top:96px}.onboarding-visual{min-height:280px;display:flex;align-items:center;justify-content:center}.onboarding-visual-panel{width:100%;max-width:340px;padding:var(--space-8);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--color-surface) 90%,transparent),color-mix(in srgb,var(--color-primary-soft) 35%,var(--color-surface-muted)));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 36px #0000001f;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}@media (hover: hover) and (pointer: fine){.onboarding-visual-panel:hover{transform:translateY(-4px);box-shadow:0 18px 44px #0000001f}}.onboarding-visual-caption{margin:var(--space-6) 0 0;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-align:center;letter-spacing:-.01em}.onboarding-visual-panel--cats{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3)}.onboarding-categories-aside{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.onboarding-categories-aside--empty{padding:var(--space-2) 0 var(--space-3)}.onboarding-categories-aside-ring{width:104px;height:104px;border-radius:50%;border:2px dashed color-mix(in srgb,var(--color-primary) 28%,var(--color-border));background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--color-primary-soft) 55%,transparent) 0%,transparent 72%)}.onboarding-categories-aside-title{margin:0;font-size:var(--text-md);font-weight:var(--font-weight-bold);color:var(--color-text)}.onboarding-categories-aside-copy{margin:0;font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.55;max-width:30ch}.onboarding-categories-aside--live{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:var(--space-5) var(--space-6);text-align:left}.onboarding-categories-aside--live .onboarding-visual-svg{flex-shrink:0;width:min(188px,100%);max-width:200px;height:auto}.onboarding-categories-aside-legend{margin:0;padding:var(--space-2) 0 0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);min-width:0;flex:1 1 108px}.onboarding-categories-aside-legend li{display:flex;align-items:center;gap:var(--space-2);min-width:0}.onboarding-categories-aside-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%}.onboarding-categories-aside-dot--INCOME{background:var(--color-positive)}.onboarding-categories-aside-dot--EXPENSE{background:var(--color-negative)}.onboarding-categories-aside-dot--SAVINGS{background:var(--color-savings)}.onboarding-categories-aside-legend-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-visual-panel--cats .onboarding-visual-caption{margin-top:var(--space-3)}.onboarding-mock-window{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg);overflow:hidden}.onboarding-mock-dots{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.onboarding-mock-dots span{width:8px;height:8px;border-radius:50%;background:var(--color-border-strong)}.onboarding-mock-dots span:nth-child(1){background:#ff5f57}.onboarding-mock-dots span:nth-child(2){background:#febc2e}.onboarding-mock-dots span:nth-child(3){background:#28c840}.onboarding-mock-body{padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-5)}.onboarding-mock-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:120px;padding-top:var(--space-4)}.onboarding-mock-bar{flex:1;border-radius:6px 6px 2px 2px;background:var(--color-primary);min-height:20%;animation:onboarding-bar-pulse 3s ease-in-out infinite}.onboarding-mock-bar:nth-child(2){animation-delay:.2s}.onboarding-mock-bar:nth-child(3){animation-delay:.4s}.onboarding-mock-bar:nth-child(4){animation-delay:.6s}.onboarding-mock-bar:nth-child(5){animation-delay:.8s}.onboarding-mock-chart--intro .onboarding-mock-bar--tone1{background:linear-gradient(180deg,var(--chart-1),color-mix(in oklab,var(--chart-1) 78%,rgb(0,0,0)))}.onboarding-mock-chart--intro .onboarding-mock-bar--tone2{background:linear-gradient(180deg,var(--chart-3),color-mix(in oklab,var(--chart-3) 78%,rgb(0,0,0)))}.onboarding-mock-chart--intro .onboarding-mock-bar--tone3{background:linear-gradient(180deg,var(--chart-7),color-mix(in oklab,var(--chart-7) 78%,rgb(0,0,0)))}.onboarding-mock-chart--intro .onboarding-mock-bar--tone4{background:linear-gradient(180deg,var(--chart-4),color-mix(in oklab,var(--chart-4) 78%,rgb(0,0,0)))}.onboarding-mock-chart--intro .onboarding-mock-bar--tone5{background:linear-gradient(180deg,var(--chart-2),color-mix(in oklab,var(--chart-2) 78%,rgb(0,0,0)))}.onboarding-mock-line--a{width:88%!important;background:linear-gradient(90deg,color-mix(in srgb,var(--color-primary) 40%,transparent),var(--color-primary-border))!important}.onboarding-mock-line--b{background:linear-gradient(90deg,color-mix(in srgb,var(--color-positive) 35%,transparent),var(--color-positive))!important;width:76%!important}.onboarding-mock-line--c{background:linear-gradient(90deg,color-mix(in srgb,var(--color-warning) 35%,transparent),var(--color-warning))!important;width:60%!important}.onboarding-pie-sector{transform-origin:100px 88px;transition:opacity .2s ease,transform .35s cubic-bezier(.22,1,.36,1)}.onboarding-pie-live .onboarding-pie-sector{animation:onboarding-pie-pop .42s cubic-bezier(.22,1,.36,1) both}@keyframes onboarding-pie-pop{0%{opacity:0;transform:scale(.9)}to{opacity:.92;transform:scale(1)}}@keyframes onboarding-bar-pulse{0%,to{opacity:.85;filter:brightness(1)}50%{opacity:1;filter:brightness(1.08)}}.onboarding-mock-lines{display:flex;flex-direction:column;gap:8px}.onboarding-mock-lines span{display:block;height:8px;border-radius:4px;background:var(--color-surface-muted)}.onboarding-mock-lines span:nth-child(1){width:88%}.onboarding-mock-lines span:nth-child(2){width:72%}.onboarding-mock-lines span:nth-child(3){width:56%}.onboarding-visual-svg{width:100%;max-height:180px;display:block;margin:0 auto}.onboarding-mock-cards{display:flex;flex-direction:column;gap:var(--space-4)}.onboarding-mock-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg);position:relative;overflow:hidden;transition:transform var(--transition-normal)}.onboarding-mock-card:hover{transform:scale(1.02)}.onboarding-mock-card--clickable{width:100%;text-align:left;cursor:pointer;border:1px solid var(--color-border);font:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.onboarding-mock-card--clickable:hover{transform:translateY(-2px) scale(1.01)}.onboarding-mock-card--clickable.onboarding-mock-card--active{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 14%,transparent)}.onboarding-mock-card--1{box-shadow:0 8px 24px color-mix(in srgb,var(--color-primary) 14%,transparent)}.onboarding-mock-card--2{margin-left:var(--space-6);opacity:.92}.onboarding-mock-chip{width:36px;height:24px;border-radius:6px;background:linear-gradient(135deg,var(--color-primary-border),var(--color-primary));opacity:.7}.onboarding-mock-card-title{font-weight:var(--font-weight-bold);font-size:var(--text-base)}.onboarding-mock-card-meta{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.onboarding-mock-budget{text-align:left}.onboarding-mock-budget-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);font-weight:var(--font-weight-bold);font-size:var(--text-md)}.onboarding-mock-budget-pill{font-size:var(--text-xs);font-weight:var(--font-weight-bold);padding:4px 10px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-text);border:1px solid var(--color-primary-border)}.onboarding-mock-budget-rows{display:flex;flex-direction:column;gap:var(--space-5)}.onboarding-mock-budget-row{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);color:var(--color-text-muted)}.onboarding-mock-budget-row span:first-child{font-weight:var(--font-weight-medium);color:var(--color-text)}.onboarding-mock-budget-track{display:block;height:8px;border-radius:var(--radius-full);background:var(--color-surface-muted);overflow:hidden}.onboarding-mock-budget-track i{display:block;height:100%;border-radius:var(--radius-full);background:var(--color-primary);transition:width .35s cubic-bezier(.22,1,.36,1)}.onboarding-account-currency-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.onboarding-inline-label{font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.onboarding-select--grow{flex:1;min-width:200px}.onboarding-account-row{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.onboarding-account-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.onboarding-check-row--account{margin-bottom:0}.onboarding-account-name-field .onboarding-input{width:100%;box-sizing:border-box}.onboarding-card-column{min-height:0}.onboarding-footer{flex-shrink:0;padding:var(--space-6) max(var(--space-7),env(safe-area-inset-right,0px)) max(var(--space-6),env(safe-area-inset-bottom,0px)) max(var(--space-7),env(safe-area-inset-left,0px));border-top:1px solid var(--color-border);background-color:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.onboarding-footer-inner{max-width:1120px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4);align-items:stretch;box-sizing:border-box}.onboarding-footer-card-col{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);width:100%;min-width:0}.onboarding-footer-card-col:not(:has(.onboarding-footer-cta)) .onboarding-footer-actions{width:100%;justify-content:flex-end}.onboarding-footer-cta{flex:1 1 12rem;margin:0;min-width:0;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);line-height:1.45;max-width:none}.onboarding-footer-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:var(--space-4);flex:0 1 auto;min-width:0;margin-left:auto}.onboarding-footer-card-col:has(.onboarding-footer-skip) .onboarding-footer-actions{width:100%;margin-left:0;justify-content:space-between;gap:var(--space-6)}.onboarding-footer-skip{padding:10px 0;border:none;background:none;color:var(--color-primary-text);font-size:var(--text-sm);font-weight:var(--font-weight-bold);text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left;transition:color var(--transition-normal)}.onboarding-footer-skip:hover:not(:disabled){color:var(--color-primary-hover)}.onboarding-footer-skip:disabled{opacity:.45;cursor:not-allowed}.onboarding-footer-next{flex-shrink:0;min-width:160px;margin-left:0;padding:14px 36px;border:none;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-md);font-weight:var(--font-weight-bold);cursor:pointer;box-shadow:0 4px 16px color-mix(in srgb,var(--color-primary) 14%,transparent),0 1px color-mix(in srgb,#fff 22%,transparent) inset;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.onboarding-footer-next:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 8px 28px color-mix(in srgb,var(--color-primary) 14%,transparent),0 1px color-mix(in srgb,#fff 25%,transparent) inset}.onboarding-footer-next:active:not(:disabled){transform:translateY(0)}.onboarding-footer-next:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.onboarding-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);color:var(--color-text-muted)}@media (max-width: 1024px){.onboarding-main{padding-top:max(20px,env(safe-area-inset-top,0px));padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}.onboarding-split{grid-template-columns:1fr;gap:var(--space-7);justify-items:stretch}.onboarding-card{padding:var(--space-8) var(--space-7)}.onboarding-visual-column{position:static;order:-1;width:100%;max-width:min(400px,100%);margin-inline:auto}.onboarding-visual{min-height:min(220px,36vh)}.onboarding-visual-panel{max-width:100%;padding:var(--space-6) var(--space-5);margin-inline:auto}.onboarding-mock-card--2{margin-left:0}.onboarding-mock-body{padding:var(--space-6)}.onboarding-intro-callout{flex-wrap:wrap;align-items:flex-start;padding:var(--space-5)}.onboarding-categories-head,.onboarding-accounts-head{flex-wrap:wrap;align-items:flex-start;gap:var(--space-2) var(--space-4)}.onboarding-categories-hint,.onboarding-accounts-hint{white-space:normal;text-align:right;margin-left:auto;max-width:100%}.onboarding-ai-banner{padding:var(--space-4) var(--space-5);font-size:var(--text-sm)}.onboarding-budget-embed{padding:var(--space-5) var(--space-4)}.onboarding-budget-embed .budget-container--embedded .budget-scroll-container{max-height:min(58dvh,520px)}.onboarding-categories-scroll{max-height:min(48dvh,420px)}.onboarding-step-body--categories .onboarding-your-list--rows{max-height:min(36dvh,300px)}.onboarding-custom-form--inline{flex-wrap:wrap}.onboarding-custom-form--inline .onboarding-categories-kind-select{flex:1 1 100%;min-width:0}.onboarding-custom-form--inline .onboarding-input.onboarding-add-own-name{flex:1 1 min(0,100%)}.onboarding-select--grow{min-width:0}}@media (max-width: 480px){.onboarding-main{padding-right:max(var(--space-5),env(safe-area-inset-right,0px));padding-left:max(var(--space-5),env(safe-area-inset-left,0px))}.onboarding-card{padding:var(--space-7) var(--space-5);border-radius:var(--radius-lg)}.onboarding-card-glow{border-radius:var(--radius-lg);padding:1px}.onboarding-top{padding:max(var(--space-5),env(safe-area-inset-top,0px)) max(var(--space-5),env(safe-area-inset-right,0px)) var(--space-5) max(var(--space-5),env(safe-area-inset-left,0px))}.onboarding-footer-next{min-width:0;width:100%;padding:14px var(--space-5)}.onboarding-footer-inner{gap:var(--space-4)}.onboarding-footer-card-col{flex-direction:column;align-items:stretch}.onboarding-footer-cta{flex:none;max-width:none}.onboarding-footer-actions{flex-wrap:wrap;width:100%;margin-left:0;justify-content:stretch;gap:var(--space-3)}.onboarding-footer-card-col:has(.onboarding-footer-skip) .onboarding-footer-actions{flex-direction:column-reverse;align-items:stretch}.onboarding-footer-skip{min-width:0;padding:10px var(--space-2) 10px 0;text-align:left}.onboarding-top-actions{gap:var(--space-4)}.onboarding-budget-embed .budget-container--embedded .budget-scroll-container{max-height:min(50dvh,360px)}.onboarding-step-title{font-size:clamp(20px,5.5vw,24px)}.onboarding-step-lead{max-width:none}.onboarding-visual-panel{padding:var(--space-5) var(--space-4)}.onboarding-mock-chart{height:100px;gap:6px}.onboarding-acc-card-toggle{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.onboarding-acc-fields{padding:0 var(--space-4) var(--space-4)}.onboarding-form-modal-body{padding:var(--space-5) var(--space-5)}}.onboarding-step-body--intro{gap:var(--space-6)}.onboarding-intro-headline{margin:0;font-family:"DM Serif Display",Georgia,Times New Roman,serif;font-size:clamp(26px,3.2vw,34px);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--color-text)}.onboarding-intro-headline-muted{color:var(--color-primary-text);font-style:italic}.onboarding-step-body--ai-assistant{gap:var(--space-6)}.onboarding-ai-assistant-headline{margin:0;font-family:"DM Serif Display",Georgia,Times New Roman,serif;font-size:clamp(26px,3.2vw,34px);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--color-text)}.onboarding-ai-assistant-em{color:var(--color-primary-text);font-style:italic}.onboarding-ai-assistant-lead{max-width:62ch;margin-bottom:0}.onboarding-ai-preview{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-muted) 65%,var(--color-surface));padding:var(--space-5) var(--space-5) var(--space-6)}.onboarding-ai-preview--inline{display:none}.onboarding-visual-panel--ai-preview{max-width:100%;padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-muted) 55%,var(--color-surface))}.onboarding-ai-preview-kicker{margin:0 0 var(--space-4);font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.onboarding-ai-preview-thread{display:flex;flex-direction:column;gap:var(--space-4)}.onboarding-ai-preview-row{display:flex;align-items:flex-end;gap:var(--space-2)}.onboarding-ai-preview-row--user{justify-content:flex-end}.onboarding-ai-preview-star{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--color-positive);margin-bottom:4px}.onboarding-ai-preview-bubble{max-width:92%;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:1.5}.onboarding-ai-preview-bubble p{margin:0}.onboarding-ai-preview-bubble--ai{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.onboarding-ai-preview-bubble--user{background:color-mix(in srgb,var(--color-primary-soft) 80%,var(--color-bg));border:1px solid color-mix(in srgb,var(--color-primary) 35%,var(--color-border));color:var(--color-text)}.onboarding-ai-preview-bubble--typing{min-width:52px;min-height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border)}.onboarding-ai-preview-dots{display:inline-flex;gap:4px}.onboarding-ai-preview-dots span{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-muted);opacity:.55;animation:onboardingAiDot 1.2s ease-in-out infinite}.onboarding-ai-preview-dots span:nth-child(2){animation-delay:.15s}.onboarding-ai-preview-dots span:nth-child(3){animation-delay:.3s}@keyframes onboardingAiDot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.onboarding-ai-context-card{border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--color-positive) 35%,var(--color-border));background:color-mix(in srgb,var(--color-positive) 6%,var(--color-surface));overflow:hidden}.onboarding-ai-context-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:color-mix(in srgb,var(--color-positive) 14%,var(--color-surface-muted));border-bottom:1px solid color-mix(in srgb,var(--color-positive) 22%,var(--color-border))}.onboarding-ai-context-head-icon{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--color-positive);background:color-mix(in srgb,var(--color-positive) 18%,transparent);border:1px solid color-mix(in srgb,var(--color-positive) 35%,var(--color-border))}.onboarding-ai-context-head-text{margin:0;font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.4}.onboarding-ai-context-lead{margin:0;padding:var(--space-5) var(--space-5) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.55}.onboarding-ai-context-lead em{color:var(--color-text);font-style:italic}.onboarding-ai-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);padding:0 var(--space-5) var(--space-5)}@media (max-width: 640px){.onboarding-ai-compare{grid-template-columns:1fr}}.onboarding-ai-compare-col{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg)}.onboarding-ai-compare-col--with{border-color:color-mix(in srgb,var(--color-positive) 40%,var(--color-border));background:color-mix(in srgb,var(--color-positive) 10%,var(--color-bg))}.onboarding-ai-compare-label{margin:0 0 var(--space-3);font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.onboarding-ai-compare-col--with .onboarding-ai-compare-label{color:var(--color-positive)}.onboarding-ai-compare-label-star{font-size:10px}.onboarding-ai-compare-mini{display:flex;flex-direction:column;gap:var(--space-3)}.onboarding-ai-compare-user,.onboarding-ai-compare-ai{margin:0;font-size:var(--text-xs);line-height:1.45;padding:var(--space-3);border-radius:var(--radius-md)}.onboarding-ai-compare-user{align-self:flex-end;max-width:95%;background:color-mix(in srgb,var(--color-primary-soft) 70%,var(--color-bg));border:1px solid color-mix(in srgb,var(--color-primary) 25%,var(--color-border));color:var(--color-text)}.onboarding-ai-compare-ai{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.onboarding-ai-examples{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-5) var(--space-5)}.onboarding-ai-example{display:flex;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg)}.onboarding-ai-example-icon{flex-shrink:0;font-size:20px;line-height:1;margin-top:2px}.onboarding-ai-example-title{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.onboarding-ai-example-copy{margin:0;font-size:var(--text-sm);color:var(--color-text-subtle);line-height:1.5}.onboarding-footer-next-arrow{margin-left:var(--space-2);font-size:var(--text-base);line-height:1}@media (max-width: 1024px){.onboarding-ai-preview--inline{display:block}.onboarding-split--ai-assistant .onboarding-visual-column{display:none}}.onboarding-intro-lead{max-width:58ch;margin-bottom:var(--space-2)}.onboarding-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-2)}@media (min-width: 600px) and (max-width: 1024px){.onboarding-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 599px){.onboarding-pillars{grid-template-columns:1fr}}.onboarding-pillar{padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 88%,var(--color-surface-muted))}.onboarding-pillar-title{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.onboarding-pillar-copy{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.onboarding-intro-divider{height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent);margin:var(--space-6) 0}.onboarding-intro-distinction{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-text-subtle);line-height:1.6;max-width:60ch}.onboarding-intro-callout{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 88%,var(--color-surface-muted))}.onboarding-intro-callout-icon{flex-shrink:0;width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);color:var(--color-positive);background:color-mix(in srgb,var(--color-positive) 14%,transparent);border:1px solid color-mix(in srgb,var(--color-positive) 35%,var(--color-border))}.onboarding-intro-callout-text{margin:0;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-subtle);line-height:1.55}.onboarding-step-body--accounts-v2 .onboarding-coverage{margin-top:var(--space-5)}.onboarding-ai-banner{margin-bottom:var(--space-5);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 55%,var(--color-surface-muted));font-size:var(--text-sm);line-height:1.55;color:var(--color-text)}.onboarding-ai-banner strong{color:var(--color-primary-text);font-weight:var(--font-weight-bold)}.onboarding-type-tabs{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.onboarding-type-tab{padding:8px 18px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);font-size:var(--text-sm);font-weight:var(--font-weight-bold);cursor:pointer;color:var(--color-text-muted);transition:background-color .2s ease,border-color .2s ease,color .2s ease}.onboarding-type-tab--EXPENSE.onboarding-type-tab--active{border-color:var(--color-negative);color:var(--color-negative);background:color-mix(in srgb,var(--color-negative-soft) 55%,var(--color-bg))}.onboarding-type-tab--INCOME.onboarding-type-tab--active{border-color:var(--color-positive);color:var(--color-positive);background:color-mix(in srgb,var(--color-positive-soft) 45%,var(--color-bg))}.onboarding-type-tab--SAVINGS.onboarding-type-tab--active{border-color:var(--color-savings);color:var(--color-savings);background:color-mix(in srgb,var(--color-savings-soft) 45%,var(--color-bg))}.onboarding-suggestions-label{margin:0 0 var(--space-2);padding:0 var(--space-4);font-size:var(--text-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.onboarding-pill-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-4) var(--space-4)}.onboarding-suggestion-pill{padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.onboarding-suggestion-pill:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.onboarding-suggestion-pill--on{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.onboarding-suggestion-pill--on.onboarding-suggestion-pill--EXPENSE{background:color-mix(in srgb,var(--color-negative-soft) 55%,var(--color-bg));border-color:color-mix(in srgb,var(--color-negative) 45%,var(--color-border));color:var(--color-negative)}.onboarding-suggestion-pill--on.onboarding-suggestion-pill--INCOME{background:color-mix(in srgb,var(--color-positive-soft) 45%,var(--color-bg));border-color:color-mix(in srgb,var(--color-positive) 45%,var(--color-border));color:var(--color-positive)}.onboarding-suggestion-pill--on.onboarding-suggestion-pill--SAVINGS{background:color-mix(in srgb,var(--color-savings-soft) 45%,var(--color-bg));border-color:color-mix(in srgb,var(--color-savings) 45%,var(--color-border));color:var(--color-savings)}.onboarding-suggestion-pill--EXPENSE{border-color:color-mix(in srgb,var(--color-negative) 50%,var(--color-border));color:var(--color-negative)}.onboarding-suggestion-pill--INCOME{border-color:color-mix(in srgb,var(--color-positive) 50%,var(--color-border));color:var(--color-positive)}.onboarding-suggestion-pill--SAVINGS{border-color:color-mix(in srgb,var(--color-savings) 50%,var(--color-border));color:var(--color-savings)}.onboarding-coverage{margin:var(--space-5) 0 var(--space-4);padding:10px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-negative);background:color-mix(in srgb,var(--color-negative-soft) 35%,var(--color-surface-muted));border:1px solid var(--color-negative-border)}.onboarding-coverage--done{color:var(--color-positive);background:color-mix(in srgb,var(--color-positive-soft) 35%,var(--color-surface-muted));border-color:color-mix(in srgb,var(--color-positive) 35%,var(--color-border))}.onboarding-coverage--muted{color:var(--color-text-muted);background:var(--color-surface-muted);border-color:var(--color-border);font-weight:var(--font-weight-medium)}.onboarding-your-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.onboarding-your-list--rows{gap:var(--space-2)}.onboarding-categories-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.onboarding-categories-hint{margin:0;font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-warning);white-space:nowrap}.onboarding-your-row{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);overflow:hidden}.onboarding-your-row-head{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.onboarding-your-row-name{flex:1;min-width:0;font-weight:var(--font-weight-bold);font-size:var(--text-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-step-body--categories .onboarding-your-list--rows{display:block;flex:1 1 auto;min-height:0;max-height:min(28vh,260px);overflow-y:auto;overflow-x:hidden;padding-bottom:28px;padding-right:2px;scrollbar-gutter:stable;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.onboarding-step-body--categories .onboarding-your-list--rows>.onboarding-your-row{margin-bottom:var(--space-2)}.onboarding-step-body--categories .onboarding-your-list--rows>.onboarding-your-row:last-child{margin-bottom:0}.onboarding-step-body--categories .onboarding-your-row{border-radius:var(--radius-md)}.onboarding-step-body--categories .onboarding-your-row-head{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:var(--space-2);padding:var(--space-3)}.onboarding-step-body--categories .onboarding-type-badge{flex:0 0 auto;white-space:nowrap;align-self:center}.onboarding-step-body--categories .onboarding-your-row-name{font-size:var(--text-base)}.onboarding-your-row-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.onboarding-your-desc-btn{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-bold);padding:8px 12px;cursor:pointer;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);display:inline-flex;align-items:center;gap:var(--space-2)}.onboarding-your-desc-btn-lead{flex-shrink:0;font-size:1em;line-height:1}.onboarding-your-desc-btn-label{white-space:nowrap}.onboarding-your-desc-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));color:var(--color-text)}.onboarding-your-desc-btn--done{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 55%,transparent);color:var(--color-primary-text)}.onboarding-your-desc-chevron{font-size:10px;opacity:.85;transform:rotate(0);transition:transform .2s ease}.onboarding-your-desc-chevron--open{transform:rotate(180deg)}@media (max-width: 768px){.onboarding-your-desc-btn-label{display:none}.onboarding-your-desc-btn{padding:8px 10px;gap:6px}}.onboarding-your-row-body{padding:0 var(--space-4) var(--space-4);background:var(--color-surface-muted);border-top:1px solid var(--color-border)}.onboarding-categories-kind-row{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.onboarding-categories-kind-select{flex:1;min-width:0;padding:14px;font-size:var(--text-md);border-radius:var(--radius-lg);background:var(--color-bg)}.onboarding-categories-add-btn{flex:0 0 44px;width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:22px;line-height:1;cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal)}.onboarding-categories-add-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:var(--color-surface-hover)}.onboarding-add-custom-anchor--hidden{margin-top:var(--space-3)}.onboarding-custom-form--inline{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-3);align-items:center;width:100%}.onboarding-add-custom-inline{margin-top:var(--space-4)}.onboarding-custom-form--inline .onboarding-input.onboarding-add-own-name{flex:1 1 auto;min-width:0}.onboarding-your-empty{margin:0;padding:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center}.onboarding-scroll-hint{position:sticky;bottom:8px;margin-top:var(--space-2);left:50%;transform:translate(-50%);width:max-content;padding:6px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:var(--font-weight-bold);letter-spacing:.02em;color:var(--color-text-muted);border:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 22px #0000001f;pointer-events:none;-webkit-user-select:none;user-select:none}.onboarding-your-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);overflow:hidden}.onboarding-your-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4)}.onboarding-your-card-head .onboarding-type-badge{margin-top:2px}.onboarding-your-card-center{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-your-card-head--desc-open .onboarding-your-card-center{gap:var(--space-3)}.onboarding-your-card-titles{display:flex;flex-direction:column;gap:6px;min-width:0}.onboarding-your-card-name{font-weight:var(--font-weight-bold);font-size:var(--text-base);line-height:1.35}.onboarding-type-badge{align-self:flex-start;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em}.onboarding-type-badge--EXPENSE{background:color-mix(in srgb,var(--color-negative-soft) 55%,transparent);color:var(--color-negative)}.onboarding-type-badge--INCOME{background:color-mix(in srgb,var(--color-positive-soft) 45%,transparent);color:var(--color-positive)}.onboarding-type-badge--SAVINGS{background:color-mix(in srgb,var(--color-savings-soft) 45%,transparent);color:var(--color-savings)}.onboarding-your-card-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.onboarding-your-remove{flex:0 0 44px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-muted);font-size:20px;line-height:1;cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal)}.onboarding-your-remove:hover{border-color:color-mix(in srgb,var(--color-negative) 45%,var(--color-border));background:color-mix(in srgb,var(--color-negative-soft) 35%,var(--color-bg));color:var(--color-negative)}.onboarding-desc-pill{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-bold);padding:6px 10px;cursor:pointer;border:1px dashed color-mix(in srgb,var(--color-text-muted) 55%,var(--color-border));background:transparent;color:var(--color-text-muted)}.onboarding-desc-pill--empty:hover{border-color:var(--color-primary);color:var(--color-primary-text)}.onboarding-desc-pill--done{border:1px solid color-mix(in srgb,var(--color-positive) 55%,transparent);background:color-mix(in srgb,var(--color-positive) 14%,var(--color-bg));color:var(--color-positive)}.onboarding-desc-drawer{padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-muted)}.onboarding-desc-drawer--flush{margin-top:var(--space-3);padding-top:var(--space-4);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.onboarding-desc-drawer--by-type{padding:0;margin:0;border:none;background:transparent}.onboarding-desc-drawer--by-type .onboarding-desc-drawer-label{margin:0 0 var(--space-2);font-size:var(--text-xs)}.onboarding-textarea--your-inline{min-height:52px}.onboarding-desc-drawer-label{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.onboarding-budget-title-em{font-style:italic;color:var(--color-primary-text);font-weight:600}.onboarding-step-body--accounts-v2{gap:var(--space-6)}.onboarding-step-body--accounts-v2 .onboarding-step-title{margin-bottom:var(--space-2)}.onboarding-step-body--accounts-v2 .onboarding-step-lead{max-width:56ch;margin-bottom:var(--space-4)}.onboarding-subheading--tight{margin-top:var(--space-2);margin-bottom:var(--space-3)}.onboarding-quick-add{display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding-quick-pill{padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;color:var(--color-text);transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}.onboarding-quick-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.onboarding-quick-pill--on{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 65%,transparent)}.onboarding-accounts-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4)}.onboarding-accounts-hint{margin:0;font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap}.onboarding-acc-card-headrow{display:flex;align-items:stretch;gap:var(--space-2);padding-right:var(--space-3)}.onboarding-acc-card-headrow .onboarding-acc-card-toggle{flex:1}.onboarding-acc-inline-remove{flex:0 0 44px;width:44px;height:44px;margin-top:var(--space-3);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-muted);font-size:20px;line-height:1;cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal)}.onboarding-acc-inline-remove:hover{border-color:color-mix(in srgb,var(--color-negative) 45%,var(--color-border));background:color-mix(in srgb,var(--color-negative-soft) 35%,var(--color-bg));color:var(--color-negative)}.onboarding-form-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:max(var(--space-6),env(safe-area-inset-top,0px)) max(var(--space-6),env(safe-area-inset-right,0px)) max(var(--space-6),env(safe-area-inset-bottom,0px)) max(var(--space-6),env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--color-bg) 35%,rgba(0,0,0,.55));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.onboarding-form-modal{width:min(100vw - 32px,620px);max-width:100%;max-height:min(90dvh,760px);display:flex;flex-direction:column;margin:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden}.onboarding-form-modal--accounts{width:min(100vw - 32px,560px)}.onboarding-form-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.onboarding-form-modal-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.onboarding-form-modal-close{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:22px;line-height:1;cursor:pointer;transition:background-color var(--transition-normal),color var(--transition-normal)}.onboarding-form-modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.onboarding-form-modal-body{padding:var(--space-6) var(--space-7);overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-5)}.onboarding-account-stack--modal{margin-top:0}.onboarding-embedded-modal-actions{margin-top:var(--space-2);padding-top:var(--space-2)}.onboarding-embedded-modal-open{width:100%;padding:var(--space-5) var(--space-6);border:none;border-radius:var(--radius-md);background-color:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-normal),filter var(--transition-fast)}.onboarding-embedded-modal-open:hover{background-color:var(--color-primary-hover);filter:brightness(1.02)}.onboarding-embedded-modal-open:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.onboarding-accounts-inline-list{display:flex;flex-direction:column;gap:var(--space-3)}.onboarding-accounts-inline-card{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background-color var(--transition-normal)}.onboarding-accounts-inline-card:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));box-shadow:var(--shadow-sm);background:var(--color-surface-hover)}.onboarding-accounts-inline-card:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.onboarding-accounts-inline-card--off{opacity:.72}.onboarding-accounts-inline-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.onboarding-accounts-inline-card-name{font-weight:var(--font-weight-bold);font-size:var(--text-base)}.onboarding-accounts-inline-card-sub{font-size:var(--text-xs);color:var(--color-text-muted)}.onboarding-accounts-inline-badge{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-weight-bold);background:var(--color-surface-muted);color:var(--color-text-muted);border:1px solid var(--color-border)}.onboarding-accounts-inline-badge--ok{background:color-mix(in srgb,var(--color-positive) 16%,transparent);color:var(--color-positive);border-color:color-mix(in srgb,var(--color-positive) 35%,var(--color-border))}.onboarding-account-stack{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-2)}.onboarding-acc-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg);overflow:hidden}.onboarding-acc-card--off{opacity:.65}.onboarding-acc-card-toggle{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}.onboarding-acc-icon{width:40px;height:40px;border-radius:12px;flex-shrink:0;background:var(--color-surface-muted);border:1px solid var(--color-border)}.onboarding-acc-icon--bank{background:linear-gradient(135deg,var(--chart-1),color-mix(in oklab,var(--chart-1) 78%,rgb(0,0,0)))}.onboarding-acc-icon--savings{background:linear-gradient(135deg,var(--color-savings),color-mix(in oklab,var(--color-savings) 78%,rgb(0,0,0)))}.onboarding-acc-icon--crypto{background:linear-gradient(135deg,var(--chart-4),color-mix(in oklab,var(--chart-4) 78%,rgb(0,0,0)))}.onboarding-acc-icon--investment{background:linear-gradient(135deg,var(--chart-7),color-mix(in oklab,var(--chart-7) 78%,rgb(0,0,0)))}.onboarding-acc-icon--cash{background:linear-gradient(135deg,var(--color-text-subtle),color-mix(in oklab,var(--color-text-subtle) 78%,rgb(0,0,0)))}.onboarding-acc-icon--other{background:linear-gradient(135deg,var(--color-border-strong),color-mix(in oklab,var(--color-border-strong) 78%,rgb(0,0,0)))}.onboarding-acc-card-toggle-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.onboarding-acc-card-name{font-weight:var(--font-weight-bold);font-size:var(--text-md)}.onboarding-acc-card-sub{font-size:var(--text-xs);color:var(--color-text-muted)}.onboarding-acc-chevron{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-text);opacity:.88}.onboarding-acc-chevron-svg{display:block;transition:transform .2s ease;transform:rotate(-90deg)}.onboarding-acc-chevron--open .onboarding-acc-chevron-svg{transform:rotate(0)}.onboarding-acc-off-msg{margin:0;padding:0 var(--space-5) var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.onboarding-acc-enable{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5) var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer}.onboarding-acc-fields{padding:0 var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.onboarding-field-label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.onboarding-optional{font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.onboarding-acc-collapsed-meta{padding:0 var(--space-4) var(--space-3);display:flex;justify-content:flex-end}@media (prefers-reduced-motion: reduce){.onboarding-step-animate,.onboarding-visual-animate,.onboarding-mock-bar,.onboarding-pie-live .onboarding-pie-sector{animation:none}.onboarding-progress-bar-fill{transition:none}}.allocation-donut{display:flex;align-items:center;gap:var(--space-7);flex-wrap:wrap}.allocation-donut-chart{position:relative;flex-shrink:0}.allocation-donut-sector{cursor:pointer;outline:none;transition:opacity var(--transition-fast)}.allocation-donut-sector.is-dimmed{opacity:.38}.allocation-donut-tooltip{position:absolute;z-index:3;pointer-events:none;display:flex;align-items:baseline;gap:8px;padding:6px 10px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);font-size:var(--text-sm);white-space:nowrap;transform:translateY(-100%)}.allocation-donut-tooltip strong{font-weight:var(--font-weight-semibold)}.allocation-donut-tooltip span{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.allocation-donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);min-width:140px}.allocation-donut-legend li{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.allocation-donut-legend li.is-active .allocation-donut-label,.allocation-donut-legend li.is-active .allocation-donut-pct{color:var(--color-text)}.allocation-donut-dot{width:8px;height:8px;border-radius:50%}.allocation-donut-label{color:var(--color-text);font-weight:var(--font-weight-medium)}.allocation-donut-pct{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.allocation-donut--mini{display:inline-flex;gap:0}.allocation-donut--mini .allocation-donut-chart{overflow:visible}.allocation-donut--mini .allocation-donut-legend{display:none}.portfolio-delete-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.portfolio-delete-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;margin:0;background:#00000073;cursor:pointer}.portfolio-delete-modal{position:relative;width:min(420px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg, 0 18px 40px rgba(0, 0, 0, .12));padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}.portfolio-delete-modal-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.portfolio-delete-modal-desc{margin:0;font-size:var(--text-base);color:var(--color-text-muted);line-height:1.45}.portfolio-delete-modal-label{font-size:var(--text-sm);color:var(--color-text-muted)}.portfolio-delete-modal-label strong{color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.04em}.portfolio-delete-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-3)}.portfolio-return{display:inline-flex;align-items:center;gap:4px;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.portfolio-return-arrow{font-size:.95em;line-height:1}.portfolio-return--up{color:var(--color-positive)}.portfolio-return--down{color:var(--color-negative)}.portfolio-return--flat{color:var(--color-text-muted)}.portfolio-page{min-height:100vh;background:var(--color-surface-muted);color:var(--color-text)}.portfolio-content{max-width:1080px;margin:0 auto;padding:var(--space-14) var(--space-7) var(--space-12)}.portfolio-back-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 0 var(--space-5);padding:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.portfolio-back-btn svg{width:18px;height:18px}.portfolio-back-btn:hover{color:var(--color-primary-text);border-color:var(--color-primary-border);background:var(--color-primary-soft)}.portfolio-btn{padding:var(--space-3) var(--space-7);font-size:var(--text-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast)}.portfolio-btn:disabled{opacity:.55;cursor:not-allowed}.portfolio-btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.portfolio-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.portfolio-btn-ghost{background:var(--color-bg);border-color:var(--color-border-strong);color:var(--color-text)}.portfolio-btn-ghost:hover:not(:disabled){background:var(--color-surface-hover)}.portfolio-btn-danger{background:var(--color-negative-soft);border-color:var(--color-negative-border);color:var(--color-negative-hover)}.portfolio-btn-danger:hover:not(:disabled){background:var(--color-negative);color:var(--color-on-primary)}.portfolio-btn-block{width:100%}.portfolio-progress{width:100%;height:8px;border-radius:var(--radius-full);background:var(--color-surface-hover);overflow:hidden}.portfolio-progress-fill{height:100%;border-radius:var(--radius-full);background:var(--color-primary);transition:width .6s ease}.portfolio-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:var(--font-weight-medium);padding:3px 8px;border-radius:var(--radius-full);letter-spacing:.02em}.portfolio-badge--balanced{background:color-mix(in oklab,var(--color-positive) 14%,transparent);color:var(--color-positive)}.portfolio-badge--overweight{background:color-mix(in oklab,var(--color-warning) 14%,transparent);color:var(--color-warning)}.portfolio-badge--underweight{background:color-mix(in oklab,var(--color-savings) 14%,transparent);color:var(--color-savings)}.portfolio-tone--stock{--portfolio-accent: var(--chart-1);--portfolio-accent-muted: color-mix(in oklab, var(--chart-1) 12%, transparent);--portfolio-accent-text: color-mix(in oklab, var(--chart-1) 65%, var(--color-text))}.portfolio-tone--etf{--portfolio-accent: var(--chart-7);--portfolio-accent-muted: color-mix(in oklab, var(--chart-7) 12%, transparent);--portfolio-accent-text: color-mix(in oklab, var(--chart-7) 65%, var(--color-text))}.portfolio-tone--crypto{--portfolio-accent: var(--chart-2);--portfolio-accent-muted: color-mix(in oklab, var(--chart-2) 12%, transparent);--portfolio-accent-text: color-mix(in oklab, var(--chart-2) 65%, var(--color-text))}.portfolio-skeleton{background:linear-gradient(90deg,var(--color-surface-muted) 0%,var(--color-surface-hover) 50%,var(--color-surface-muted) 100%);background-size:200% 100%;animation:portfolio-shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes portfolio-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes portfolio-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.portfolio-fade-up{animation:portfolio-fade-up .35s ease both}@media (max-width: 1023px){.portfolio-content{max-width:900px}}@media (max-width: 768px){.portfolio-content{padding:calc(var(--app-top-bar-offset) + var(--space-6)) var(--space-4) var(--space-12)}}.portfolios-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-8)}.portfolios-list-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-weight-bold)}.portfolios-list-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-12) 0;color:var(--color-text-muted)}.portfolio-empty-panel{background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-8);text-align:center}.portfolio-empty-panel h2{margin:0;color:var(--color-text);font-size:var(--text-xl)}.portfolio-empty-panel p{margin:0;max-width:360px}.portfolio-empty-mark{width:56px;height:56px;border-radius:var(--radius-lg);display:grid;place-items:center;font-size:28px;color:var(--color-primary-text);background:var(--color-primary-soft)}.portfolios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}@media (min-width: 1024px){.portfolios-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1440px){.portfolios-grid{grid-template-columns:repeat(3,1fr)}}.portfolio-card-skel{height:260px}.portfolio-card{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);text-align:left;padding:var(--space-7);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.portfolio-card:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.portfolio-card-top{display:flex;flex-direction:column;gap:var(--space-5)}.portfolio-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.portfolio-card-name{margin:0;font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-tight)}.portfolio-card-metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--space-4)}.portfolio-card-metric{display:flex;flex-direction:column;gap:2px}.portfolio-card-value{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.portfolio-card-base{font-size:var(--text-lg);font-weight:var(--font-weight-medium);color:var(--color-text);font-variant-numeric:tabular-nums}.portfolio-card-return{font-size:var(--text-lg)}.portfolio-card-meta{display:flex;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.portfolio-card-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3)}.portfolio-card-actions .portfolio-btn{padding:var(--space-3) var(--space-3);font-size:var(--text-sm)}@media (max-width: 768px){.portfolios-list-toolbar{flex-direction:column;align-items:stretch}.portfolio-card-metrics{grid-template-columns:1fr 1fr}.portfolio-card-actions{grid-template-columns:1fr}}.ticker-select{position:relative;width:100%}.ticker-select-price-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:var(--text-xs);color:var(--color-text-muted);pointer-events:none}.ticker-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:300px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1);animation:ticker-dropdown-in .15s ease}@keyframes ticker-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ticker-select-status{padding:var(--space-3) var(--space-5);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em}.ticker-select-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;text-align:left;padding:var(--space-3) var(--space-4);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.ticker-select-option:hover,.ticker-select-option.is-active{background:var(--color-surface-hover)}.ticker-select-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.ticker-select-symbol{font-weight:var(--font-weight-bold);color:var(--color-text);font-size:var(--text-base)}.ticker-select-desc{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.ticker-select-type{flex-shrink:0;font-size:10px;font-weight:var(--font-weight-medium);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.04em}.portfolio-create-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-8)}.portfolio-create-header{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);margin-bottom:var(--space-8)}.portfolio-field{display:flex;flex-direction:column;gap:var(--space-2)}.portfolio-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.portfolio-input{width:100%;box-sizing:border-box;padding:var(--space-4) var(--space-5);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.portfolio-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.portfolio-input-money{display:flex;align-items:center;gap:var(--space-2)}.portfolio-input-prefix,.portfolio-input-suffix{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.portfolio-category-block{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-6);background:var(--color-surface-muted);border-left:4px solid var(--portfolio-accent, var(--color-border-strong));background-image:linear-gradient(90deg,var(--portfolio-accent-muted, transparent),var(--color-surface-muted) 42%)}.portfolio-category-head{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.portfolio-segmented{display:inline-flex;gap:2px;padding:2px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);height:32px;box-sizing:border-box}.portfolio-segment{border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium);padding:0 10px;border-radius:6px;cursor:pointer;transition:all var(--transition-fast);line-height:1}.portfolio-segment.is-active{background:var(--portfolio-accent, var(--color-primary));color:var(--color-on-primary)}.portfolio-category-name{flex:1;min-width:140px}.portfolio-category-weight{width:120px;flex-shrink:0}.portfolio-category-card-meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.portfolio-cat-chip{font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:var(--radius-full);background:var(--portfolio-accent-muted);color:var(--portfolio-accent-text)}.portfolio-holdings-header,.portfolio-holding-row{display:grid;grid-template-columns:1.8fr .7fr .8fr 1.1fr 36px;gap:var(--space-4);align-items:center}.portfolio-holding-asset{min-width:0}.portfolio-price-cell{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.2}.portfolio-price-line{font-size:var(--text-xs);color:var(--color-text-muted)}.portfolio-value-line{font-size:var(--text-base);font-weight:var(--font-weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.portfolio-price-muted{color:var(--color-text-subtle)}.portfolio-holdings-header{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.03em;padding:0 var(--space-2) var(--space-3)}.portfolio-holding-row{margin-bottom:var(--space-4)}.portfolio-num{text-align:right}.portfolio-remove-btn{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--text-xl);line-height:1;cursor:pointer;transition:all var(--transition-fast)}.portfolio-remove-btn:hover:not(:disabled){color:var(--color-warning);border-color:color-mix(in oklab,var(--color-warning) 50%,transparent);background:color-mix(in oklab,var(--color-warning) 16%,transparent)}.portfolio-remove-btn:disabled{opacity:.35;cursor:not-allowed}.portfolio-add-link{background:none;border:none;color:var(--color-primary-text);font-size:var(--text-base);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--space-2) 0}.portfolio-add-link:hover{color:var(--color-primary-hover);text-decoration:underline}.portfolio-add-category-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.portfolio-add-category-label{font-size:var(--text-sm);color:var(--color-text-muted)}.portfolio-add-category-chip{border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-weight-medium);padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.portfolio-add-category-chip:hover{border-color:var(--portfolio-accent);color:var(--portfolio-accent-text);background:var(--portfolio-accent-muted)}.portfolio-inline-empty{padding:var(--space-5);margin-bottom:var(--space-5);border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.portfolio-inline-empty p{margin:0}.portfolio-validation{font-size:var(--text-sm);font-weight:var(--font-weight-medium);padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);margin-bottom:var(--space-6)}.portfolio-validation--ok{background:color-mix(in oklab,var(--color-positive) 12%,transparent);color:var(--color-positive)}.portfolio-validation--error{background:color-mix(in oklab,var(--color-warning) 16%,transparent);color:var(--color-warning);border:1px solid color-mix(in oklab,var(--color-warning) 35%,transparent)}.portfolio-summary{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-6);background:var(--color-surface-muted)}.portfolio-summary-title{margin:0 0 var(--space-5);font-size:var(--text-md);font-weight:var(--font-weight-bold)}.portfolio-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4)}.portfolio-summary-grid>div{display:flex;flex-direction:column;gap:2px}.portfolio-summary-grid strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.portfolio-card-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.03em}.portfolio-create-footer{display:flex;align-items:center;justify-content:flex-end;border-top:1px solid var(--color-border);padding-top:var(--space-6)}.portfolio-footer-actions{display:flex;gap:var(--space-4)}.portfolio-footer-actions--end{margin-left:auto}.portfolio-page--saved .portfolio-create-card{box-shadow:0 0 0 2px color-mix(in oklab,var(--color-positive) 14%,transparent);transition:box-shadow .35s ease}@media (max-width: 1023px){.portfolio-summary-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.portfolio-create-header{grid-template-columns:1fr;gap:var(--space-5)}.portfolio-holdings-header{display:none}.portfolio-holding-row{grid-template-columns:1fr 1fr;gap:var(--space-3)}.portfolio-holding-asset{grid-column:1 / -1}.portfolio-create-card{padding:var(--space-5)}.portfolio-summary-grid{grid-template-columns:1fr 1fr}.portfolio-footer-actions{width:100%}.portfolio-footer-actions .portfolio-btn{flex:1}}.add-money-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-7);margin-bottom:var(--space-8)}.add-money-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}.add-money-panel-title{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:var(--font-weight-bold)}.add-money-panel-note{margin:0;max-width:520px;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-height-normal)}.add-money-amount-row{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-7);max-width:280px}.add-money-amount-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.add-money-amount-input{display:flex;align-items:center;gap:var(--space-2);width:100%}.add-money-amount-input .portfolio-input{flex:1}.add-money-amount-input .portfolio-input-prefix{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.add-money-amount-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.add-money-unallocated{color:var(--color-warning)}.add-money-categories{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-6)}.add-money-cat{border:1px solid var(--color-border);border-radius:var(--radius-md);border-left:4px solid var(--portfolio-accent, var(--color-border-strong));background:linear-gradient(90deg,var(--portfolio-accent-muted, transparent),var(--color-bg) 42%);overflow:hidden}.add-money-cat.is-locked{box-shadow:inset 0 0 0 1px var(--portfolio-accent-muted, var(--color-border))}.add-money-cat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-3)}.add-money-cat-titles{display:flex;flex-direction:column;gap:2px}.add-money-cat-name{font-size:var(--text-lg);font-weight:var(--font-weight-bold)}.add-money-cat-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.add-money-cat-amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-variant-numeric:tabular-nums}.add-money-cat-amount strong{font-size:var(--text-xl)}.add-money-cat-base{font-size:var(--text-xs);color:var(--color-text-subtle)}.add-money-slider-row{padding:0 var(--space-5) var(--space-4)}.add-money-slider-label{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);font-variant-numeric:tabular-nums}.add-money-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:var(--color-surface-hover);outline:none;cursor:pointer}.add-money-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--portfolio-accent, var(--color-primary));border:2px solid var(--color-bg);box-shadow:var(--shadow-sm);cursor:pointer}.add-money-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--portfolio-accent, var(--color-primary));border:2px solid var(--color-bg);box-shadow:var(--shadow-sm);cursor:pointer}.add-money-items{padding:0 var(--space-4) var(--space-4)}.add-money-items-head,.add-money-item-main{display:grid;grid-template-columns:minmax(88px,1.1fr) .7fr .95fr 1.05fr .7fr minmax(140px,1.5fr);gap:var(--space-3);align-items:center;padding:var(--space-3)}.add-money-items-head{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border)}.add-money-item{border-bottom:1px solid var(--color-border)}.add-money-item:last-child{border-bottom:none}.add-money-item.is-locked{background:#00000005}.add-money-item-ticker{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-bold);flex-wrap:wrap}.add-money-lock-badge{font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:var(--radius-full);background:var(--portfolio-accent-muted, var(--color-surface-muted));color:var(--portfolio-accent-text, var(--color-text-muted))}.add-money-item-price,.add-money-item-target,.add-money-item-current,.add-money-item-qty{font-variant-numeric:tabular-nums}.add-money-item-slider-wrap{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center}.add-money-slider-value{min-width:36px;text-align:right;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.add-money-items-empty{padding:var(--space-5);text-align:center;color:var(--color-text-subtle);font-size:var(--text-sm)}.add-money-warning{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--color-warning)}.add-money-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}@media (max-width: 768px){.add-money-panel-head{flex-direction:column}.add-money-amount-row{max-width:none}.add-money-items-head{display:none}.add-money-item-main{grid-template-columns:1fr 1fr;row-gap:var(--space-2)}.add-money-item-ticker{grid-column:1 / -1}.add-money-item-main .portfolio-num[data-label]:before{content:attr(data-label);display:block;font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-subtle);margin-bottom:2px}.add-money-item-slider-wrap{grid-column:1 / -1}}.portfolio-view-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-12) 0;color:var(--color-text-muted)}.portfolio-view-skeleton{display:flex;flex-direction:column;gap:var(--space-6)}.portfolio-skel-hero{height:180px}.portfolio-skel-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.portfolio-skel-block{height:200px}.portfolio-skel-card{height:140px}.portfolio-hero{background:linear-gradient(145deg,var(--color-surface) 0%,var(--color-surface-muted) 100%);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-8);margin-bottom:var(--space-8)}.portfolio-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-7)}.portfolio-hero-title{margin:0;font-size:var(--text-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.portfolio-view-actions{display:flex;gap:var(--space-3);flex-shrink:0}.portfolio-hero-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:var(--space-7);align-items:end}.portfolio-hero-metric{display:flex;flex-direction:column;gap:var(--space-2)}.portfolio-hero-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.portfolio-hero-value{font-size:36px;font-weight:var(--font-weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.1}.portfolio-hero-value--sm{font-size:var(--text-2xl)}.portfolio-hero-metric--primary .portfolio-hero-value{color:var(--color-text)}.portfolio-hero-return{font-size:var(--text-2xl);margin-top:2px}.portfolio-hero-meta{display:flex;gap:var(--space-3);margin-top:var(--space-7);font-size:var(--text-sm);color:var(--color-text-muted)}.portfolio-section{margin-bottom:var(--space-9)}.portfolio-section-title{margin:0 0 var(--space-5);font-size:var(--text-xl);font-weight:var(--font-weight-bold)}.portfolio-allocation-layout{display:grid;grid-template-columns:auto 1fr;gap:var(--space-9);align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-7);box-shadow:var(--shadow-sm)}.portfolio-alloc-table{display:flex;flex-direction:column;min-width:0}.portfolio-alloc-head,.portfolio-alloc-row{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;gap:var(--space-4);align-items:center;padding:var(--space-3) 0}.portfolio-alloc-head{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border)}.portfolio-alloc-row{border-bottom:1px solid var(--color-border);font-size:var(--text-base)}.portfolio-alloc-row:last-child{border-bottom:none}.portfolio-alloc-name{display:flex;align-items:center;gap:var(--space-3);font-weight:var(--font-weight-medium)}.portfolio-alloc-swatch{width:8px;height:8px;border-radius:50%;background:var(--portfolio-accent, var(--color-primary));flex-shrink:0}.portfolio-num{text-align:right;font-variant-numeric:tabular-nums}.portfolio-diff.is-pos{color:var(--color-warning)}.portfolio-diff.is-neg{color:var(--color-savings)}.is-pos{color:var(--color-warning)}.is-neg{color:var(--color-savings)}.portfolio-insights{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-7);box-shadow:var(--shadow-sm)}.portfolio-insights-note{margin:calc(var(--space-3) * -1) 0 var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.portfolio-insights-list{margin:0 0 var(--space-5);padding-left:var(--space-7);color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-3)}.portfolio-insights-list li{line-height:var(--line-height-normal)}.portfolio-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-12) var(--space-7);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.portfolio-empty-state h2{margin:0;font-size:var(--text-xl)}.portfolio-empty-state p{margin:0;color:var(--color-text-muted);max-width:320px}.portfolio-empty-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:grid;place-items:center;font-size:28px;color:var(--color-primary-text);background:var(--color-primary-soft)}.portfolio-cat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--space-6);border-left:4px solid var(--portfolio-accent, var(--color-border-strong));transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.portfolio-cat-card:hover{box-shadow:var(--shadow-md)}.portfolio-cat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-7);background:var(--portfolio-accent-muted, var(--color-surface-muted));border-bottom:1px solid var(--color-border)}.portfolio-cat-head-main{display:flex;flex-direction:column;gap:2px}.portfolio-cat-name{font-size:var(--text-lg);font-weight:var(--font-weight-bold)}.portfolio-cat-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.portfolio-cat-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-5) var(--space-7) var(--space-3)}.portfolio-cat-stat{display:flex;flex-direction:column;gap:2px}.portfolio-cat-stat strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.portfolio-cat-bar-wrap{padding:0 var(--space-7) var(--space-5)}.portfolio-cat-bar-fill{background:var(--portfolio-accent, var(--color-primary))}.portfolio-asset-badge{font-size:10px;font-weight:var(--font-weight-medium);padding:2px 6px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;background:var(--portfolio-accent-muted, var(--color-surface-muted));color:var(--portfolio-accent-text, var(--color-text-muted))}.portfolio-table{padding:var(--space-3) var(--space-5) var(--space-5)}.portfolio-table-head,.portfolio-table-row{display:grid;grid-template-columns:1.3fr 1fr 1fr .9fr .9fr 1.1fr;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-3)}.portfolio-table-head{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border)}.portfolio-table-row{border-bottom:1px solid var(--color-border);font-size:var(--text-base)}.portfolio-table-row:last-child{border-bottom:none}.portfolio-ticker{font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.portfolio-ticker-symbol,.portfolio-value-strong{font-weight:var(--font-weight-bold)}.portfolio-price-warn{font-size:var(--text-xs);font-weight:400;color:var(--color-warning);background:var(--color-warning-soft);padding:2px var(--space-2);border-radius:var(--radius-full)}.portfolio-table-empty{color:var(--color-text-subtle);grid-template-columns:1fr;text-align:center}.portfolio-activity{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.portfolio-activity-empty{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.portfolio-activity-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.portfolio-activity-row:last-child{border-bottom:none}.portfolio-activity-main{display:flex;flex-direction:column;gap:2px}.portfolio-activity-type{font-weight:var(--font-weight-medium)}.portfolio-activity-date{font-size:var(--text-sm);color:var(--color-text-muted)}.portfolio-activity-tickers{font-size:var(--text-sm);color:var(--color-text-subtle)}.portfolio-activity-amount{color:var(--color-text);white-space:nowrap}@media (max-width: 1023px){.portfolio-allocation-layout{grid-template-columns:1fr;justify-items:center}}@media (max-width: 768px){.portfolio-hero-top{flex-direction:column}.portfolio-view-actions{width:100%}.portfolio-view-actions .portfolio-btn{flex:1}.portfolio-hero-grid{grid-template-columns:1fr;gap:var(--space-5)}.portfolio-hero-value{font-size:32px}.portfolio-skel-row{grid-template-columns:1fr}.portfolio-table-head{display:none}.portfolio-table-row{grid-template-columns:1fr 1fr;gap:var(--space-2)}.portfolio-alloc-head{display:none}.portfolio-alloc-row{grid-template-columns:1fr 1fr;row-gap:var(--space-2)}}@media (min-width: 1440px){.portfolio-content{max-width:1200px}}.budget-chat-embed,.budget-chat-embed .chat-body{flex:1;min-height:0;display:flex;flex-direction:column}.budget-chat-embed__error{flex-shrink:0;margin-bottom:var(--space-3)}.budget-chat-embed__messages-scroll.chat-list-container{flex:1;min-height:0}:root{--ask-ai-panel-width: clamp(340px, 25vw, 520px)}.ask-ai-panel-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;pointer-events:none}.ask-ai-panel-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#00000052;opacity:0;transition:opacity var(--transition-normal, .28s) ease;pointer-events:none}@media (min-width: 769px){.ask-ai-panel-scrim{background-color:transparent}.ask-ai-panel-root--open .ask-ai-panel-scrim{opacity:1;pointer-events:auto}}@media (max-width: 768px){.ask-ai-panel-root--open .ask-ai-panel-scrim{opacity:1;pointer-events:auto}}.ask-ai-panel{position:absolute;top:0;right:0;bottom:0;width:var(--ask-ai-panel-width);max-width:100%;display:flex;flex-direction:column;background-color:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-xl);transform:translate(100%);transition:transform var(--transition-normal, .28s) cubic-bezier(.22,1,.36,1);pointer-events:auto;will-change:transform}.ask-ai-panel-root--open .ask-ai-panel{transform:translate(0)}.ask-ai-panel--resizing{transition:none}.ask-ai-panel-resize-handle{position:absolute;top:0;left:0;bottom:0;width:10px;margin-left:-5px;z-index:1;cursor:col-resize;touch-action:none;background-color:transparent}.ask-ai-panel-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background-color:transparent;transition:background-color var(--transition-normal, .2s) ease}.ask-ai-panel-resize-handle:hover:before,.ask-ai-panel--resizing .ask-ai-panel-resize-handle:before{background-color:var(--color-primary)}@media (max-width: 768px){.ask-ai-panel{width:100vw!important}.ask-ai-panel-resize-handle{display:none}}@media (prefers-reduced-motion: reduce){.ask-ai-panel,.ask-ai-panel-scrim{transition:none}}.ask-ai-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.ask-ai-panel-heading{min-width:0}.ask-ai-panel-title{margin:0;font-size:var(--text-md, 1rem);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:-.01em}.ask-ai-panel-desc{margin:var(--space-1) 0 0;font-size:var(--text-xs, .8125rem);color:var(--color-text-muted);line-height:1.5}.ask-ai-panel-close{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);background-color:var(--color-surface-muted);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-normal)}.ask-ai-panel-close:hover{background-color:var(--color-surface-hover)}.ask-ai-panel-close:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.ask-ai-panel-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:var(--space-3) var(--space-3) var(--space-4);background-color:var(--color-bg)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);transition:background-color var(--transition-normal),color var(--transition-normal)}#root{min-height:100vh}.app-shift{width:100%;min-height:100vh;transition:width var(--transition-normal, .28s) cubic-bezier(.22,1,.36,1)}.app-shift--no-anim{transition:none}@media (min-width: 769px){.app-shift--pushed{width:calc(100% - var(--ask-ai-panel-width, 0px));transform:translateZ(0)}}@media (prefers-reduced-motion: reduce){.app-shift{transition:none}}.app-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-bg);gap:var(--space-6)}.app-loading-text{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-weight-medium)}.app-error{padding:var(--space-9);text-align:center;color:var(--color-negative);background-color:var(--color-negative-soft);border:1px solid var(--color-negative-border);border-radius:var(--radius-sm);margin:var(--space-9)}.spinner{width:44px;height:44px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s cubic-bezier(.5,.1,.4,.9) infinite}.spinner--sm{width:22px;height:22px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}:root{color-scheme:light;--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-muted: #f7f7f7;--color-border: #ebebeb;--color-border-strong: #dddddd;--color-text: #222222;--color-text-muted: #6a6a6a;--color-text-subtle: #717171;--color-primary: #10a074;--color-on-primary: #ffffff;--color-positive: #007a04;--color-negative: #c13515;--color-warning: #a35a00;--color-savings: #2468c8;--color-goals: #9b2c8f;--color-surface-hover: color-mix(in oklab, var(--color-text) 6%, var(--color-surface-muted));--color-primary-hover: color-mix(in oklab, var(--color-primary) 85%, var(--color-text));--color-primary-text: color-mix(in oklab, var(--color-primary) 72%, var(--color-text));--color-primary-soft: color-mix(in oklab, var(--color-primary) 8%, var(--color-surface));--color-primary-border: color-mix(in oklab, var(--color-primary) 35%, var(--color-surface));--color-positive-hover: color-mix(in oklab, var(--color-positive) 85%, var(--color-text));--color-positive-soft: color-mix(in oklab, var(--color-positive) 8%, var(--color-surface));--color-positive-border: color-mix(in oklab, var(--color-positive) 35%, var(--color-surface));--color-negative-hover: color-mix(in oklab, var(--color-negative) 85%, var(--color-text));--color-negative-soft: color-mix(in oklab, var(--color-negative) 8%, var(--color-surface));--color-negative-border: color-mix(in oklab, var(--color-negative) 35%, var(--color-surface));--color-warning-soft: color-mix(in oklab, var(--color-warning) 9%, var(--color-surface));--color-savings-soft: color-mix(in oklab, var(--color-savings) 8%, var(--color-surface));--color-goals-soft: color-mix(in oklab, var(--color-goals) 8%, var(--color-surface));--chart-1: #2a78d6;--chart-2: #eb6834;--chart-3: #1baf7a;--chart-4: #eda100;--chart-5: #e87ba4;--chart-6: #008300;--chart-7: #6250d6;--chart-8: #e34948;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--font-weight-medium: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 12px;--space-6: 14px;--space-7: 16px;--space-8: 20px;--space-9: 24px;--space-10: 30px;--space-12: 60px;--space-14: 110px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--radius-full: 999px;--focus-ring: 2px solid var(--color-primary);--focus-ring-offset: 2px;--focus-outline: 2px solid var(--color-primary);--focus-outline-offset: 2px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .25s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 6px 16px rgba(0, 0, 0, .12);--shadow-xl: 0 8px 28px rgba(0, 0, 0, .16)}@media (max-width: 768px){:root{--app-top-bar-offset: 132px}}@media (max-width: 480px){:root{--app-top-bar-offset: 170px}}@media (prefers-reduced-motion: reduce){:root{--transition-fast: .01s ease;--transition-normal: .01s ease;--transition-slow: .01s ease}}
