:root{--font-sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Cormorant Garamond", "Georgia", serif;--font-mono: "DM Mono", "SF Mono", "Fira Code", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 18px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 40px;--text-hero: 56px;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65}:root{--page-bg: #EDEAE3;--page-surface: #E4DFD7;--page-surface-2: #D8D2C8;--page-border: #D4CEC6;--page-border-strong: #C0B9AE;--page-text: #0A0907;--page-text-2: #4A3F34;--page-text-3: #6E5D4E;--page-nav-bg: rgba(237, 234, 227, .92);--color-ember: #C04E18;--color-ember-hover: #A5400F;--color-ember-glow: #F59C5A;--color-ember-warm: #FBBF7C;--color-ember-dim: rgba(192, 78, 24, .08);--color-success: #2D8F6F;--color-success-dim: rgba(45, 143, 111, .08);--color-warning: #C4A844;--color-warning-dim: rgba(196, 168, 68, .08);--color-danger: #C4451A;--color-danger-dim: rgba(196, 69, 26, .08);--shadow-sm: 0 1px 2px rgba(26, 20, 16, .05);--shadow-md: 0 2px 8px rgba(26, 20, 16, .08);--shadow-lg: 0 4px 16px rgba(26, 20, 16, .1);--shadow-glow: 0 0 24px rgba(245, 156, 90, .28)}html[data-theme=dark]{--page-bg: #0A0907;--page-surface: #1A1713;--page-surface-2: #231F1A;--page-border: #2E2921;--page-border-strong: #3D352A;--page-text: #F5EFE8;--page-text-2: #C4B4A4;--page-text-3: #A89886;--page-nav-bg: rgba(10, 9, 7, .92);--color-ember: #C04E18;--color-ember-hover: #F59C5A;--color-ember-glow: #F59C5A;--color-ember-warm: #FBBF7C;--color-ember-dim: rgba(192, 78, 24, .15);--color-success: #5CBA7D;--color-success-dim: rgba(92, 186, 125, .12);--color-warning: #E8D06A;--color-warning-dim: rgba(232, 208, 106, .12);--color-danger: #F0866A;--color-danger-dim: rgba(240, 134, 106, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-glow: 0 0 32px rgba(245, 156, 90, .32)}@media(prefers-color-scheme:dark){html:not([data-theme=light]){--page-bg: #0A0907;--page-surface: #1A1713;--page-surface-2: #231F1A;--page-border: #2E2921;--page-border-strong: #3D352A;--page-text: #F5EFE8;--page-text-2: #C4B4A4;--page-text-3: #A89886;--page-nav-bg: rgba(10, 9, 7, .92);--color-ember: #C04E18;--color-ember-hover: #F59C5A;--color-ember-glow: #F59C5A;--color-ember-warm: #FBBF7C;--color-ember-dim: rgba(192, 78, 24, .15);--color-success: #5CBA7D;--color-success-dim: rgba(92, 186, 125, .12);--color-warning: #E8D06A;--color-warning-dim: rgba(232, 208, 106, .12);--color-danger: #F0866A;--color-danger-dim: rgba(240, 134, 106, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-glow: 0 0 32px rgba(245, 156, 90, .32)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: var(--page-bg);--color-surface: var(--page-surface);--color-surface-2: var(--page-surface-2);--color-surface-3: var(--page-surface-2);--color-border: var(--page-border);--color-border-light: var(--page-border-strong);--color-text: var(--page-text);--color-text-muted: var(--page-text-2);--color-text-subtle: var(--page-text-3);--ash: var(--page-text-3);--color-primary: var(--color-ember);--color-primary-hover: var(--color-ember-hover);--color-primary-dim: var(--color-ember-dim);--color-accent: var(--page-text);--color-accent-hover: var(--page-text-2);--ember-core: var(--color-ember);--ember-mid: var(--color-ember-hover);--ember-glow: var(--color-ember-glow);--ember-warm: var(--color-ember-warm);--color-rrsp: var(--color-ember);--color-tfsa: #2D8F6F;--color-nonreg: #9B6B3D;--color-lira: #B5542A;--color-cpp: #C4451A;--color-oas: #C4A844;--color-gis: #0d9488;--color-db: #5a8a6e;--color-fhsa: #3a9e8f;--color-hsa: #4a7fb5;--color-rdsp: #c47a3d;--color-ploc: #A0382A;--color-home: #a0845c;--color-mc-band: var(--color-ember);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-size-xs: var(--text-xs);--font-size-sm: var(--text-sm);--font-size-base: var(--text-base);--font-size-md: var(--text-md);--font-size-lg: var(--text-lg);--font-size-xl: var(--text-xl);--font-size-2xl: var(--text-2xl);--font-size-3xl: var(--text-3xl);--font-size-hero: var(--text-hero);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--nav-height: 56px;--content-max-width: 1200px;--sidebar-width: 380px;--input-panel-width: 380px;--header-height: 56px}[data-theme=dark]{--color-accent: #F5EFE8;--color-accent-hover: #C4B4A4;--color-rrsp: var(--color-ember);--color-tfsa: #5cba7d;--color-nonreg: #C4A844;--color-lira: #D4764A;--color-cpp: #F59C5A;--color-oas: #FBBF7C;--color-gis: #2dd4bf;--color-db: #5cba7d;--color-fhsa: #4cc9b0;--color-hsa: #6b9fff;--color-rdsp: #e8a060;--color-ploc: #f0866a;--color-home: #c4a87a;--color-mc-band: var(--color-ember)}html,body{height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease;overscroll-behavior-y:none}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:50;opacity:.25}#root{height:100%}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-snug);color:var(--color-text)}a{color:var(--color-primary);text-decoration:none}input,select,textarea,button{font-family:inherit;font-size:inherit}@supports (-webkit-touch-callout: none){input,select,textarea{font-size:max(1em,16px)}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.session-expired-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-warning, #f59e0b);color:#1a1a1a;font-size:var(--font-size-sm);font-weight:500}.session-expired-banner button{background:#00000026;border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);padding:2px 10px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;color:inherit}.share-app{min-height:100vh;background:var(--color-bg);color:var(--color-text)}.share-app__content{max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-lg)}.share-message{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);color:var(--color-text-muted);font-size:var(--font-size-lg)}.share-message__link{display:inline-block;margin-top:var(--spacing-md);color:var(--color-primary);text-decoration:none;font-weight:500}.share-message__link:hover{text-decoration:underline}@media screen and (max-width:768px){input,select,textarea{font-size:16px!important}}.payment-toast{position:fixed;top:1rem;left:50%;transform:translate(-50%);background:var(--color-primary);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md, 8px);font-weight:600;z-index:9999;animation:toast-in .3s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sync-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-family:var(--font-sans);font-weight:500;letter-spacing:.02em}.sync-badge--syncing,.sync-badge--queued{color:var(--color-primary);opacity:.7;animation:sync-badge-pulse 1.5s infinite}.sync-badge--synced{color:var(--color-success)}.sync-badge--error{color:var(--color-danger)}@keyframes sync-badge-pulse{0%,to{opacity:.5}50%{opacity:1}}.top-nav{display:flex;align-items:center;height:var(--nav-height);padding:0 var(--spacing-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.top-nav__brand{display:flex;align-items:center;gap:var(--spacing-sm);min-width:160px}.top-nav__wordmark{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:300;letter-spacing:-.02em;color:var(--color-text);line-height:1}.top-nav__wordmark-fi{background:linear-gradient(135deg,var(--ember-glow),var(--ember-core));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}button.top-nav__wordmark--link{background:none;border:none;padding:0;cursor:pointer}.top-nav__pro-badge{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;padding:2px 6px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--ember-glow),var(--ember-core));color:#fff;line-height:1;align-self:center}.top-nav__feedback-link{margin-left:auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--color-text-muted);text-decoration:none;opacity:.6;transition:opacity .2s,color .2s}.top-nav__feedback-link:hover{opacity:1;color:var(--color-ember)}.top-nav__wizard-actions{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-sm)}.top-nav__lang-toggle{display:flex;gap:4px}.top-nav__signin-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);padding:4px 12px;cursor:pointer;transition:color .15s,border-color .15s}.top-nav__signin-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.top-nav__lang-btn{font-family:var(--font-mono);font-size:11px;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.top-nav__lang-btn:hover{border-color:var(--ember-mid);color:var(--color-text)}.top-nav__lang-btn--active{background:var(--ember-mid);color:#fff;border-color:transparent}.top-nav__tabs{display:flex;gap:var(--spacing-xs);margin:0 auto}.top-nav__tab{background:none;border:none;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:500;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color .15s,background .15s;letter-spacing:.02em}.top-nav__tab:hover{color:var(--color-text);background:var(--color-surface-3)}.top-nav__tab--active{color:var(--color-primary);background:var(--color-primary-dim)}.top-nav__actions{display:flex;align-items:center;gap:var(--spacing-sm);min-width:160px;justify-content:flex-end}.top-nav__icon-btn{background:none;border:1px solid var(--color-border);width:36px;height:36px;border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.top-nav__icon-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.top-nav__user{position:relative}.top-nav__user-btn{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;transition:border-color .15s,background .15s}.top-nav__user-btn:hover,.top-nav__user-btn--open{border-color:var(--color-primary);background:var(--color-surface-2)}.top-nav__avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--color-surface-3)}.top-nav__avatar--initial{display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;color:#fff;background:linear-gradient(135deg,var(--ember-glow),var(--ember-core))}.top-nav__user-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}.top-nav__user-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000001f;z-index:110;animation:topnav-slide-down .15s ease}.top-nav__user-menu-header{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--color-border);margin-bottom:4px}.top-nav__user-menu-name{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav__user-menu-email{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav__user-menu-item{display:block;width:100%;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);text-align:left;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);text-decoration:none;cursor:pointer;transition:background .12s,color .12s}.top-nav__user-menu-item:hover{background:var(--color-surface-3)}.top-nav__user-menu-item--danger{color:var(--color-danger, #c43d3d)}.top-nav__user-menu-item--danger:hover{background:color-mix(in srgb,var(--color-danger, #c43d3d) 10%,transparent)}.top-nav__user-menu-sep{height:1px;background:var(--color-border);margin:4px 0}.top-nav__guest-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-muted);transition:border-color .15s,color .15s,background .15s}.top-nav__guest-btn:hover,.top-nav__guest-btn--open{border-color:var(--color-primary);background:var(--color-surface-2);color:var(--color-text)}.top-nav__user-menu-lang{display:flex;gap:4px;padding:6px 8px 2px}.top-nav__mobile-tab--link{text-decoration:none;color:var(--color-text-muted);border-top:1px solid var(--color-border);margin-top:var(--spacing-xs);padding-top:var(--spacing-md)}.top-nav__mobile-tab--link:hover{color:var(--color-primary)}.top-nav__hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;padding:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:border-color .15s}.top-nav__hamburger:hover{border-color:var(--color-primary)}.top-nav__hamburger-line{display:block;width:16px;height:2px;background:var(--color-text-muted);border-radius:1px;transition:transform .25s ease,opacity .2s ease,background .15s}.top-nav__hamburger:hover .top-nav__hamburger-line{background:var(--color-primary)}.top-nav__hamburger--open .top-nav__hamburger-line:nth-child(1){transform:translateY(6px) rotate(45deg)}.top-nav__hamburger--open .top-nav__hamburger-line:nth-child(2){opacity:0}.top-nav__hamburger--open .top-nav__hamburger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.top-nav__overlay,.top-nav__mobile-menu{display:none}@media(max-width:767px){.top-nav{padding:0 var(--spacing-md);flex-wrap:wrap}.top-nav__brand{min-width:unset;flex:1}.top-nav__tabs{display:none}.top-nav__actions{min-width:unset;gap:var(--spacing-xs)}.top-nav__user-name{display:none}.top-nav__user-btn{padding:3px;gap:0}.top-nav__save-btn{padding:6px 10px;font-size:var(--text-xs)}.top-nav__hamburger{display:none}.top-nav__overlay{display:block;position:fixed;inset:0;top:var(--nav-height);background:#0006;z-index:98;animation:topnav-fade-in .2s ease}.top-nav__mobile-menu{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) 0;z-index:99;animation:topnav-slide-down .2s ease;box-shadow:0 8px 24px #00000026}.top-nav__mobile-tab{background:none;border:none;padding:var(--spacing-md) var(--spacing-lg);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:500;color:var(--color-text-muted);cursor:pointer;text-align:left;letter-spacing:.02em;transition:color .15s,background .15s}.top-nav__mobile-tab:hover{color:var(--color-text);background:var(--color-surface-3)}.top-nav__mobile-tab--active{color:var(--color-primary);background:var(--color-primary-dim);border-left:3px solid var(--color-primary)}}@keyframes topnav-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes topnav-fade-in{0%{opacity:0}to{opacity:1}}.demo-badge{position:relative;display:flex;align-items:center}.demo-badge__btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ember);background:color-mix(in srgb,var(--color-ember) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-ember) 30%,transparent);border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;white-space:nowrap}.demo-badge__btn:hover,.demo-badge__btn--open{background:color-mix(in srgb,var(--color-ember) 20%,transparent);border-color:var(--color-ember)}.demo-badge__btn:active{transform:scale(.97)}.demo-badge__dot{width:6px;height:6px;border-radius:50%;background:var(--color-ember);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-ember) 25%,transparent);animation:demo-badge-pulse 2s ease-in-out infinite}@keyframes demo-badge-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-ember) 25%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--color-ember) 10%,transparent)}}.demo-badge__scrim{display:none}.demo-badge__menu{position:absolute;top:calc(100% + 8px);right:0;min-width:320px;max-width:calc(100vw - 32px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 12px 32px #00000038;padding:8px;z-index:200;animation:demo-badge-slide .12s ease-out}@keyframes demo-badge-slide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.demo-badge__menu-header{display:flex;flex-direction:column;gap:2px;padding:10px 12px 8px;border-bottom:1px solid var(--color-border);margin-bottom:6px}.demo-badge__menu-header strong{font-size:13px;color:var(--color-text)}.demo-badge__menu-sub{font-size:11px;color:var(--color-text-muted)}.demo-badge__menu-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--color-text);transition:background .12s}.demo-badge__menu-item:hover,.demo-badge__menu-item:focus-visible{background:var(--color-surface-2);outline:none}.demo-badge__menu-icon{font-size:16px;line-height:1.2;flex-shrink:0;width:20px;text-align:center}.demo-badge__menu-item-body{display:flex;flex-direction:column;gap:2px;min-width:0}.demo-badge__menu-item strong{display:block;font-size:13px;font-weight:600;line-height:1.3}.demo-badge__menu-item-sub{display:block;font-size:11px;color:var(--color-text-muted);line-height:1.4}@media(max-width:640px){.demo-badge__btn{padding:3px 8px;font-size:10px;letter-spacing:.04em}.demo-badge__menu{position:fixed;inset:auto 12px 12px;min-width:0;max-width:none;max-height:calc(100vh - 96px);overflow-y:auto;z-index:2000;animation:demo-badge-slide-mobile .16s ease-out}@keyframes demo-badge-slide-mobile{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.demo-badge__scrim{display:block;position:fixed;inset:0;background:#00000073;z-index:1999;animation:demo-badge-scrim-fade .16s ease-out}@keyframes demo-badge-scrim-fade{0%{opacity:0}to{opacity:1}}}.mobile-tab-bar{display:none}@media(max-width:767px){.mobile-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--color-surface);border-top:1px solid var(--color-border);padding:4px 0 calc(4px + env(safe-area-inset-bottom,0));box-shadow:0 -2px 8px #0000000a}.mobile-tab-bar__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:.02em;transition:color .15s;min-height:48px}@media(hover:hover){.mobile-tab-bar__btn:hover:not(.mobile-tab-bar__btn--active){color:var(--color-text)}}.mobile-tab-bar__btn--active{color:var(--color-primary);font-weight:600}.mobile-tab-bar__icon{display:flex;align-items:center;justify-content:center}.mobile-tab-bar__icon svg{width:22px;height:22px}.mobile-tab-bar__label{line-height:1;white-space:nowrap}}.feedback-button{position:fixed;bottom:var(--spacing-md);right:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;text-decoration:none;opacity:.6;transition:opacity .2s,color .2s;z-index:50}.feedback-button:hover{opacity:1;color:var(--color-ember)}@media(max-width:767px){.feedback-button{bottom:calc(64px + var(--spacing-xs) + env(safe-area-inset-bottom,0))}}.ptr{position:fixed;top:0;left:50%;z-index:200;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:-18px;border-radius:50%;background:var(--color-surface);color:var(--ember-core);box-shadow:0 4px 14px #0000001f;transition:opacity .2s ease;pointer-events:none;will-change:transform,opacity}.ptr--ready{color:#fff;background:linear-gradient(135deg,var(--ember-glow),var(--ember-core))}.ptr__spinner{display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.ptr--refreshing .ptr__spinner{animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-shell{min-height:100vh;background:var(--color-bg)}.app-shell__content{max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}@media(max-width:768px){.app-shell__content{padding:var(--spacing-md) var(--spacing-sm)}}.app-shell__footer{max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.app-shell__footer-links{display:flex;gap:var(--spacing-md)}.app-shell__footer-links a{color:var(--color-text-muted);text-decoration:none;transition:color .2s}.app-shell__footer-links a:hover{color:var(--color-ember)}@media(max-width:768px){.app-shell__footer{padding:var(--spacing-md) var(--spacing-sm) var(--spacing-lg)}}@media(max-width:767px){.app-shell{padding-bottom:calc(64px + env(safe-area-inset-bottom,0))}}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--color-surface-3);border:1px solid var(--color-border-light);font-size:10px;color:var(--color-text-muted);cursor:help}.tooltip-bubble{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--color-surface-3);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text);width:280px;white-space:normal;word-wrap:break-word;z-index:1000;box-shadow:var(--shadow-md);pointer-events:none}.tooltip-bubble--has-link{pointer-events:auto}.tooltip-link{display:block;margin-top:var(--spacing-xs);font-family:var(--font-mono);font-size:11px;color:var(--color-primary);text-decoration:none;opacity:.9}.tooltip-link:hover{opacity:1;text-decoration:underline}.number-input{display:flex;flex-direction:column;gap:var(--spacing-xs)}.number-input__label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500;white-space:nowrap;overflow:visible}.number-input__wrapper{display:flex;align-items:center;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .15s;min-height:36px}.number-input__wrapper:focus-within{border-color:var(--color-primary)}.number-input__wrapper--currency{min-height:40px}.number-input__prefix,.number-input__suffix{padding:0 var(--spacing-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-subtle);white-space:nowrap;-webkit-user-select:none;user-select:none}.number-input__prefix--currency{font-size:14px;font-weight:600;color:var(--color-text-muted);padding-left:10px}.number-input__field{flex:1;min-width:0;padding:6px var(--spacing-sm);background:transparent;border:none;outline:none;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);text-align:right}.number-input__wrapper--currency .number-input__field{font-size:var(--text-base);font-weight:500;letter-spacing:.02em;padding:6px 12px}.number-input__field--formatted{cursor:text;display:flex;align-items:center;justify-content:flex-end}.number-input__placeholder{color:var(--color-text-subtle)}.number-input__field::-webkit-inner-spin-button,.number-input__field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input__field[type=number]{-moz-appearance:textfield}.number-input__slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--color-primary) 0%,var(--color-primary) var(--slider-pct, 0%),var(--color-surface-2) var(--slider-pct, 0%),var(--color-surface-2) 100%);outline:none;cursor:pointer;margin-top:2px}.number-input__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-surface);box-shadow:0 1px 3px #0003;cursor:pointer}.number-input__slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-surface);box-shadow:0 1px 3px #0003;cursor:pointer}.number-input__slider::-moz-range-progress{background:var(--color-primary);border-radius:var(--radius-full);height:6px}.number-input__wrapper--error{border-color:var(--color-danger)}.number-input__wrapper--error:focus-within{border-color:var(--color-danger)}.number-input__error{font-size:var(--font-size-xs);color:var(--color-danger);line-height:1.3}.number-input__max-hint{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.wizard-step .number-input__wrapper--currency{min-height:48px;border-radius:var(--radius-md)}.wizard-step .number-input__wrapper--currency .number-input__field{font-size:var(--text-xl);font-weight:500;padding:8px 14px}.wizard-step .number-input__prefix--currency{font-size:var(--text-md);padding-left:14px}.toggle{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle__track{position:relative;display:inline-block;width:36px;height:20px;background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:10px;transition:background .2s,border-color .2s;flex-shrink:0}.toggle__input:checked~.toggle__track{background:var(--color-primary);border-color:var(--color-primary)}.toggle__thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--color-surface);border-radius:50%;transition:transform .2s}.toggle__input:checked~.toggle__track .toggle__thumb{transform:translate(16px)}.toggle__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.planning-inputs{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.planning-inputs__sidebar{display:flex;flex-direction:column;gap:var(--spacing-md)}.planning-inputs__full-width{grid-column:1 / -1}@media(min-width:900px){.planning-inputs{grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:start}.planning-inputs__sidebar{gap:var(--spacing-lg)}}.planning-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:visible;transition:border-color .2s ease,box-shadow .2s ease}.planning-card:hover{border-color:var(--color-border-light);box-shadow:var(--shadow-md)}.planning-card__color-bar{height:4px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.planning-card__header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text);transition:background .15s}.planning-card__header:hover{background:var(--color-surface-2)}.planning-card__title{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:600;letter-spacing:.01em}.planning-card__summary{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:400;letter-spacing:.02em}.planning-card__chevron{margin-left:auto;font-size:10px;color:var(--color-text-subtle);transition:transform .2s ease}.planning-card__chevron--open{transform:rotate(180deg)}.planning-card__fields{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0 var(--spacing-lg) var(--spacing-lg);animation:planning-fields-in .2s ease-out}@keyframes planning-fields-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.planning-inputs>.planning-card:nth-child(1){animation:planning-fields-in .2s ease-out}.planning-inputs>.planning-card:nth-child(2){animation:planning-fields-in .2s ease-out .05s both}.planning-inputs>.planning-inputs__full-width{animation:planning-fields-in .2s ease-out .1s both}.planning-inputs>.planning-inputs__sidebar{animation:planning-fields-in .2s ease-out .05s both}.planning-card__spending-pills{display:flex;gap:var(--spacing-xs)}.planning-card__spending-pill{padding:.3rem .7rem;border-radius:20px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--font-size-xs);cursor:pointer;transition:background .15s,color .15s}.planning-card__spending-pill--active,.planning-card__spending-pill:hover{background:var(--ember-core);color:#fff;border-color:var(--ember-core)}.planning-card__strategy-desc{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0;line-height:1.4;font-style:italic}.planning-card__pro-badge{font-family:var(--font-mono);font-size:9px;font-weight:500;color:var(--color-primary);background:var(--color-primary-dim);padding:1px 5px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.1em;vertical-align:middle}.planning-card__readonly-spending{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm) 0;border-top:1px solid var(--color-border);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.planning-card__readonly-label{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted)}.planning-card__readonly-value{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:500;color:var(--color-text);letter-spacing:-.01em}.planning-card__readonly-source{font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;color:var(--color-text-subtle)}.planning-card__inline-link{font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;color:var(--ember-core);background:none;border:none;padding:0;cursor:pointer;text-align:left}.planning-card__inline-link:hover{text-decoration:underline}.planning-card__group-label{font-family:var(--font-sans);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle);margin-top:var(--spacing-lg);padding-bottom:var(--spacing-xs);display:flex;align-items:center}.planning-card__group-label:first-child{margin-top:0}.planning-card__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);align-items:start}.planning-card__status-options{display:flex;gap:6px}.planning-card__status-btn{flex:1;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.planning-card__status-btn:hover{border-color:var(--ember-mid);color:var(--color-text)}.planning-card__status-btn--active{border-color:var(--ember-core);color:var(--ember-core);background:rgba(var(--ember-core-rgb, 232, 121, 47),.08)}.planning-card__hint{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);line-height:1.5;padding:0 2px}.planning-card__hint-link{color:var(--color-text-subtle);text-decoration:none}.planning-card__hint-link:hover{text-decoration:underline}.planning-card__hint-dismiss{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-base);padding:2px 6px;flex-shrink:0}.select-with-badge{position:relative}.adjust-badge{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.02em;padding:1px 6px;border-radius:var(--radius-sm);margin-top:4px}.adjust-badge--positive{color:var(--color-success, #16a34a);background:color-mix(in srgb,var(--color-success, #16a34a) 12%,transparent)}.adjust-badge--negative{color:var(--color-danger, #dc2626);background:color-mix(in srgb,var(--color-danger, #dc2626) 12%,transparent)}@media(max-width:768px){.planning-inputs{gap:var(--spacing-sm)}.planning-card__header{min-height:44px;padding:var(--spacing-sm) var(--spacing-md)}.planning-card__fields{padding:0 var(--spacing-md) var(--spacing-md)}}@media(max-width:480px){.planning-card__row{grid-template-columns:1fr}.planning-card__header{min-height:48px}.planning-card__group-label{min-height:44px;display:flex;align-items:center}}.chart-tooltip{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);font-size:var(--text-xs);box-shadow:var(--shadow-md);min-width:180px;position:relative;z-index:100}.chart-tooltip__title{font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:2px}.chart-tooltip__title-ages{font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted)}.chart-tooltip__row{display:flex;align-items:center;gap:var(--spacing-xs);padding:2px 0}.chart-tooltip__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip__name{color:var(--color-text-muted);flex:1}.chart-tooltip__value{font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums}.chart-tooltip__columns{display:flex;gap:var(--spacing-md)}.chart-tooltip__column{flex:1;min-width:0}.chart-tooltip__column+.chart-tooltip__column{padding-left:var(--spacing-md);border-left:1px solid var(--color-border)}.chart-tooltip__group{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.chart-tooltip__column .chart-tooltip__group,.chart-tooltip__group:first-child{margin-top:0;padding-top:0;border-top:none}.chart-tooltip__subtotal{margin-top:2px;padding-top:2px;border-top:1px dashed var(--color-border);opacity:.75}.chart-tooltip__subtotal .chart-tooltip__name{color:var(--color-text-muted);font-style:italic;font-size:var(--font-size-xs)}.chart-tooltip__subtotal .chart-tooltip__value{font-size:var(--font-size-xs);font-weight:600}.chart-tooltip__total{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.chart-tooltip__total .chart-tooltip__name{color:var(--color-text);font-weight:600}.chart-tooltip__notes{border-top:1px solid var(--color-border);margin-top:6px;padding-top:6px}.chart-tooltip__note{font-size:10px;color:var(--color-text-muted);line-height:1.4;margin-bottom:2px}@media(max-width:480px){.chart-tooltip{min-width:140px;max-width:calc(100vw - 32px);font-size:11px;padding:var(--spacing-xs) var(--spacing-sm)}.chart-tooltip__columns{flex-direction:column;gap:var(--spacing-xs)}.chart-tooltip__column+.chart-tooltip__column{padding-left:0;border-left:none;padding-top:var(--spacing-xs);border-top:1px solid var(--color-border)}}.chart-panel{flex:1;display:flex;flex-direction:column;padding:var(--spacing-md);min-height:0}.chart-panel .recharts-tooltip-wrapper{z-index:100!important}.chart-panel__header{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;margin-bottom:var(--spacing-md);min-height:0}.chart-panel__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:300;color:var(--color-text);margin:0;flex-shrink:0}.chart-panel__presets{display:flex;gap:2px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chart-panel__presets::-webkit-scrollbar{display:none}.chart-panel__preset{padding:2px var(--spacing-sm);font-family:var(--font-mono);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.chart-panel__preset:hover{background:var(--color-surface-3);color:var(--color-text)}.chart-panel__preset--active{background:var(--color-primary-dim);border-color:var(--color-primary);color:var(--color-primary);cursor:default}.chart-panel__range{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto}.chart-panel__year-inputs{display:flex;align-items:center;gap:3px}.chart-panel__year-input{width:52px;padding:1px 4px;font-family:var(--font-mono);font-size:10px;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;-moz-appearance:textfield}.chart-panel__year-input::-webkit-outer-spin-button,.chart-panel__year-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.chart-panel__year-input:focus{outline:none;border-color:var(--color-primary)}.chart-panel__year-sep{font-size:10px;color:var(--color-text-subtle)}.chart-panel__view-toggle{display:flex;gap:2px;margin-bottom:var(--spacing-sm);flex-shrink:0}.chart-panel__view-btn{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:.05em;padding:3px 10px;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s,color .15s}.chart-panel__view-btn:hover{background:var(--color-surface-3);color:var(--color-text)}.chart-panel__view-btn--active{background:var(--color-primary-dim);border-color:var(--color-primary);color:var(--color-primary);cursor:default}.chart-panel .recharts-legend-wrapper{padding-top:10px!important}.chart-panel .recharts-legend-item{margin-right:12px!important;margin-bottom:2px!important}.chart-panel .recharts-legend-item-text{color:var(--color-text-muted)!important;font-size:11px!important}.chart-panel .recharts-legend-item .recharts-surface{width:12px!important;height:12px!important;margin-right:4px!important}.chart-panel__custom-legend{list-style:none;display:flex;flex-wrap:wrap;gap:4px 12px;padding:10px 0 0;margin:0;justify-content:center}.chart-panel__legend-item{display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.chart-panel__legend-item:hover{opacity:.8}.chart-panel__legend-item--hidden{opacity:.35}.chart-panel__legend-item--hidden .chart-panel__legend-text{text-decoration:line-through}.chart-panel__legend-swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0}.chart-panel__legend-text{color:var(--color-text-muted);font-size:11px}@media(max-width:768px){.chart-panel{padding:var(--spacing-sm)}.chart-panel__header{flex-wrap:wrap;gap:4px;margin-bottom:var(--spacing-sm)}.chart-panel__title{font-size:var(--text-md)}.chart-panel__presets{width:100%;margin-left:0}.chart-panel .recharts-legend-item-text{font-size:10px!important}.chart-panel .recharts-legend-item{margin-right:8px!important}}@media(max-width:480px){.chart-panel__title{font-size:var(--text-base)}.chart-panel .recharts-cartesian-axis-tick-value{font-size:10px!important}}.mc-tooltip__row{display:flex;justify-content:space-between;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted);padding:1px 0}.mc-tooltip__row--median{font-weight:700;color:var(--color-text)}.mc-tooltip__row--det{border-top:1px solid var(--color-border);margin-top:2px;padding-top:3px;color:var(--color-text-subtle)}.monte-carlo-chart__per-account-note{font-size:.75rem;color:var(--color-text-muted);margin:4px 0 8px}.estate-chart{overflow-y:auto}.estate-chart .estate-chart__waterfall{max-width:520px;display:flex;flex-direction:column;gap:2px;padding-bottom:var(--spacing-sm)}.estate-chart__section-label{font-family:var(--font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-subtle);margin:var(--spacing-xs) 0 2px}.estate-chart__row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.estate-chart__row--indent{padding-left:24px;color:var(--color-text-muted);font-size:var(--text-sm)}.estate-chart__row--neutral{background:var(--color-surface-2);font-weight:600}.estate-chart__row--success{background:color-mix(in srgb,var(--color-success, #16a34a) 10%,transparent);font-weight:600}.estate-chart__row--success .estate-chart__row-amount{color:var(--color-success, #16a34a)}.estate-chart__row--danger{background:color-mix(in srgb,var(--color-danger, #dc2626) 10%,transparent);font-weight:600}.estate-chart__row--danger .estate-chart__row-amount{color:var(--color-danger, #dc2626)}.estate-chart__row-label{flex:1;min-width:0}.estate-chart__row-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:var(--spacing-md)}.estate-chart__divider{border-top:1px solid var(--color-border);margin:var(--spacing-xs) 0}.estate-chart__divider--heavy{border-top-width:2px;margin:var(--spacing-sm) 0}.estate-chart__today-dollars{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);text-align:right;margin-top:2px}.estate-chart__effective-rate{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);margin-top:var(--spacing-xs);text-align:right}@media(max-width:480px){.estate-chart__row{padding:5px 6px;font-size:var(--text-sm)}.estate-chart__row--indent{padding-left:16px;font-size:var(--text-xs)}}.table-chart{overflow:visible}.proj-table{--group-row-h: 22px;width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.proj-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:4}.proj-table__group-row th{padding:4px 12px;height:var(--group-row-h);box-sizing:border-box;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);border-bottom:none;position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--color-surface)}.proj-table__group-header{text-align:center!important;border-bottom:2px solid var(--color-border-light)!important}.proj-table thead tr:nth-child(2){background:var(--color-surface)}.proj-table thead tr:nth-child(2) th{padding:8px 12px;text-align:right;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;position:-webkit-sticky;position:sticky;top:var(--group-row-h);z-index:2;background:var(--color-surface)}.proj-table__sticky-year{position:-webkit-sticky;position:sticky;left:0;z-index:3;background:var(--color-surface);text-align:left!important;padding-left:8px!important;padding-right:8px!important}.proj-table__sticky-age1{position:-webkit-sticky;position:sticky;left:48px;z-index:3;background:var(--color-surface)}.proj-table__sticky-age2{position:-webkit-sticky;position:sticky;left:96px;z-index:3;background:var(--color-surface);border-right:2px solid var(--color-border-light)}.proj-table--solo .proj-table__sticky-age1{border-right:2px solid var(--color-border-light)}.proj-table thead .proj-table__sticky-year,.proj-table thead .proj-table__sticky-age1,.proj-table thead .proj-table__sticky-age2,.proj-table__group-row .proj-table__sticky-year,.proj-table__group-row .proj-table__sticky-age1,.proj-table__group-row .proj-table__sticky-age2{z-index:5}.proj-table td{padding:6px 12px;text-align:right;border-bottom:1px solid var(--color-border);color:var(--color-text)}.proj-table tbody tr:nth-child(2n) td{background:var(--color-surface)}.proj-table tbody tr:nth-child(odd) td{background:var(--color-surface-2)}.proj-table tbody tr:nth-child(2n) .proj-table__sticky-year,.proj-table tbody tr:nth-child(2n) .proj-table__sticky-age1,.proj-table tbody tr:nth-child(2n) .proj-table__sticky-age2{background:var(--color-surface)}.proj-table tbody tr:nth-child(odd) .proj-table__sticky-year,.proj-table tbody tr:nth-child(odd) .proj-table__sticky-age1,.proj-table tbody tr:nth-child(odd) .proj-table__sticky-age2{background:var(--color-surface-2)}.proj-table tbody tr:hover td{background:var(--color-surface-2)}.proj-table__row--clawback td,.proj-table__row--clawback:hover td{background:var(--color-warning-dim)!important}.proj-table__total{font-weight:600}@media(max-width:768px){.proj-table{--group-row-h: 18px;font-size:11px}.proj-table__group-row th{padding:3px 8px;font-size:8px}.proj-table thead tr:nth-child(2) th{padding:6px 8px;font-size:9px}.proj-table td{padding:5px 8px}}@media(max-width:480px){.proj-table{--group-row-h: 15px;font-size:10px}.proj-table__group-row th{padding:2px 6px;font-size:7px}.proj-table thead tr:nth-child(2) th{padding:4px 6px;font-size:8px;letter-spacing:.05em}.proj-table td{padding:4px 6px}.proj-table__sticky-age1{left:42px}.proj-table__sticky-age2{left:84px}}.analysis-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:border-color .15s,box-shadow .15s;cursor:pointer}.analysis-card:hover:not(.analysis-card--expanded):not(.analysis-card--gated){border-color:var(--ember-core);box-shadow:0 2px 12px #0000000f}.analysis-card--expanded{grid-column:1 / -1;cursor:default}.analysis-card--gated{cursor:default;opacity:.85}.analysis-card__header{display:flex;align-items:center;gap:var(--spacing-sm)}.analysis-card__question{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted)}.analysis-card__pro-badge{font-family:var(--font-mono);font-size:9px;font-weight:500;color:var(--color-primary);background:var(--color-primary-dim);padding:1px 5px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.1em}.analysis-card__headline{font-family:var(--font-display);font-size:clamp(20px,3vw,26px);font-weight:300;color:var(--color-text);line-height:1.2}.analysis-card__headline--success{color:var(--color-success)}.analysis-card__headline--danger{color:var(--color-danger)}.analysis-card__headline--warning{color:var(--color-warning, #f0ad4e)}.analysis-card__details{display:flex;flex-wrap:wrap;align-items:center;gap:2px;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted)}.analysis-card__detail-sep{margin:0 var(--spacing-xs);color:var(--color-text-subtle)}.analysis-card__mini-chart{height:60px;margin:0 calc(-1 * var(--spacing-md));opacity:.8}.analysis-card__insight{display:flex;align-items:flex-start;gap:var(--spacing-xs);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface-2);border-radius:var(--radius-sm);line-height:1.4}.analysis-card__insight--critical{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));color:var(--color-danger)}.analysis-card__insight--warning{background:color-mix(in srgb,var(--ember-core) 8%,var(--color-surface))}.analysis-card__insight-icon{flex-shrink:0}.analysis-card__stress-modes{display:flex;flex-direction:column;gap:6px}.analysis-card__stress-row{display:flex;align-items:center;gap:var(--spacing-sm)}.analysis-card__stress-label{font-family:var(--font-sans);font-size:11px;color:var(--color-text-muted);width:90px;flex-shrink:0}.analysis-card__stress-bar{flex:1;height:6px;background:var(--color-surface-2);border-radius:var(--radius-full);overflow:hidden}.analysis-card__stress-fill{height:100%;border-radius:var(--radius-full);transition:width .4s ease}.analysis-card__stress-pct{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--color-text);width:32px;text-align:right;flex-shrink:0}.analysis-card__cta{align-self:flex-start;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:#fff;background:var(--ember-core);border:none;border-radius:var(--radius-full);padding:var(--spacing-xs) var(--spacing-lg);cursor:pointer;transition:background .15s}.analysis-card__cta:hover{background:var(--ember-glow)}.analysis-card__cta--small{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-md)}.analysis-card__gate{display:flex;justify-content:center;padding:var(--spacing-sm) 0}.analysis-card__gate-btn{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--color-primary);background:var(--color-primary-dim);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:var(--radius-full);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:background .15s}.analysis-card__gate-btn:hover{background:color-mix(in srgb,var(--color-primary) 15%,var(--color-surface))}.analysis-card__explore{align-self:flex-end;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ember-core);background:none;border:none;cursor:pointer;padding:0}.analysis-card__explore:hover{text-decoration:underline}.analysis-card__expanded{margin-top:var(--spacing-sm);border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.analysis-card__expanded-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.analysis-card__collapse{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);background:none;border:none;cursor:pointer;padding:0}.analysis-card__collapse:hover{color:var(--color-text)}.analysis-card__chart-area{display:flex;flex-direction:column;gap:var(--spacing-md)}.analysis-card__chart-area>.chart-panel{height:420px!important;min-height:300px;flex:none}@media(max-width:768px){.analysis-card__chart-area>*{height:340px;min-height:240px}.analysis-card__headline{font-size:var(--text-lg)}}@media(prefers-reduced-motion:reduce){.analysis-card{transition:none}}.analysis-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.analysis-panel__score{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.analysis-panel__score-value{font-family:var(--font-display);font-size:clamp(28px,4vw,36px);font-weight:300;line-height:1}.analysis-panel__score-label{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.analysis-panel__score-hint{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.analysis-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.analysis-group__label{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.analysis-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media(max-width:900px){.analysis-grid{grid-template-columns:1fr}}.scenario-compare{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.scenario-compare__header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.scenario-compare__title{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle)}.scenario-compare__table{width:100%;border-collapse:collapse}.scenario-compare__table th,.scenario-compare__table td{padding:var(--spacing-sm) var(--spacing-md);text-align:right}.scenario-compare__table th:first-child,.scenario-compare__table td:first-child{text-align:left}.scenario-compare__table thead th{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);padding:var(--spacing-sm) var(--spacing-md);border-bottom:2px solid var(--color-border)}.scenario-compare__table thead th:not(:first-child){color:var(--color-text)}.scenario-compare__table tbody tr{border-bottom:1px solid var(--color-border-light, rgba(255, 255, 255, .04));transition:background .1s ease}.scenario-compare__table tbody tr:last-child{border-bottom:none}.scenario-compare__table tbody tr:hover{background:var(--color-surface-2)}.scenario-compare__metric{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);white-space:nowrap}.scenario-compare__val{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.scenario-compare__val--winner{color:var(--color-success);position:relative}.scenario-compare__delta{display:inline-block;font-size:var(--font-size-xs);font-weight:600;padding:1px 6px;border-radius:var(--radius-sm);margin-left:6px;vertical-align:middle}.scenario-compare__delta--positive{color:var(--color-success);background:rgba(var(--color-success-rgb, 34, 197, 94),.1)}.scenario-compare__delta--negative{color:var(--color-danger);background:rgba(var(--color-danger-rgb, 239, 68, 68),.1)}.scenario-compare__val--order{vertical-align:top;white-space:normal;padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.scenario-compare__order-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.scenario-compare__order-list li{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);line-height:1.4;justify-content:flex-end}.scenario-compare__order-list li:before{content:counter(list-item);counter-increment:list-item;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:rgba(var(--ember-core-rgb, 232, 121, 47),.12);color:var(--ember-core);font-size:10px;font-weight:700;flex-shrink:0;font-family:var(--font-mono)}.scenario-compare__order-list{counter-reset:list-item}.scenario-compare__inputs-section{border-top:1px solid var(--color-border)}.scenario-compare__inputs-toggle{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:none;cursor:pointer;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);transition:color .15s ease}.scenario-compare__inputs-toggle:hover{color:var(--color-text-muted)}.scenario-compare__inputs-chevron{font-size:8px;transition:transform .2s ease;display:inline-block}.scenario-compare__inputs-chevron--open{transform:rotate(90deg)}.scenario-compare__inputs-count{font-size:var(--font-size-xs);font-weight:600;color:var(--ember-core);background:rgba(var(--ember-core-rgb, 232, 121, 47),.12);padding:1px 6px;border-radius:var(--radius-sm)}.scenario-compare__table--inputs{border-top:1px solid var(--color-border-light, rgba(255, 255, 255, .04))}.scenario-compare__val--input{font-weight:500;font-size:var(--font-size-sm);color:var(--color-text-muted)}.scenario-compare__val--changed{color:var(--color-text)}@media(max-width:768px){.scenario-compare__table th,.scenario-compare__table td{padding:var(--spacing-xs) var(--spacing-sm)}.scenario-compare__val{font-size:var(--font-size-sm)}.scenario-compare__metric{font-size:var(--font-size-xs)}.scenario-compare__delta{display:none}.scenario-compare__order-list li{font-size:10px}}@media(max-width:480px){.scenario-compare__table th:first-child,.scenario-compare__table td:first-child{max-width:90px;overflow:hidden;text-overflow:ellipsis}}.compare-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.compare-panel__selector{display:flex;align-items:center;gap:var(--spacing-sm)}.compare-panel__selector-label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);white-space:nowrap}.compare-panel__selector-select{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 10px;cursor:pointer}.compare-panel__selector-select:focus{outline:none;border-color:var(--color-primary)}.compare-panel__empty{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-muted)}.compare-panel__empty-text{font-family:var(--font-sans);font-size:var(--font-size-base);margin-bottom:var(--spacing-xs)}.compare-panel__empty-hint{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-subtle)}.compare-panel__empty-cta{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:#fff;background:var(--ember-core);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s}.compare-panel__empty-cta:hover{background:var(--ember-glow)}.compare-panel__charts{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.compare-panel__chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);min-height:340px}.compare-panel__chart-card>.chart-panel{height:380px;min-height:300px}@media(max-width:768px){.compare-panel__chart-card{min-height:260px}.compare-panel__chart-card>.chart-panel{height:300px;min-height:240px}}.manual-order{grid-column:1 / -1}.manual-order__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.manual-order__item{position:relative;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);transition:background .15s,border-color .15s,opacity .15s,transform .1s,box-shadow .15s;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.manual-order__item:active{cursor:grabbing}.manual-order__item--first{border-color:var(--ember-core);background:color-mix(in srgb,var(--ember-core) 6%,var(--color-surface))}.manual-order__item--dragging{opacity:.35;transform:scale(.97)}.manual-order__item--over{border-color:var(--ember-core);box-shadow:0 0 0 2px color-mix(in srgb,var(--ember-core) 25%,transparent)}.manual-order__connector{position:absolute;bottom:-7px;left:28px;width:1px;height:6px;background:var(--color-border);z-index:1}.manual-order__item--first .manual-order__connector{background:color-mix(in srgb,var(--ember-core) 40%,transparent)}.manual-order__grip{font-size:var(--text-xs);color:var(--color-text-subtle);line-height:1;cursor:grab;flex-shrink:0}.manual-order__item:active .manual-order__grip{cursor:grabbing}.manual-order__rank{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);width:18px;text-align:center;flex-shrink:0}.manual-order__item--first .manual-order__rank{color:var(--ember-core)}.manual-order__info{flex:1;display:flex;align-items:baseline;gap:var(--spacing-sm);min-width:0}.manual-order__label{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.manual-order__balance{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.manual-order__actions{display:flex;flex-direction:column;gap:1px;flex-shrink:0}.manual-order__btn{display:flex;align-items:center;justify-content:center;width:24px;height:18px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-subtle);font-size:8px;line-height:1;cursor:pointer;transition:background .15s,color .15s}.manual-order__btn:hover:not(:disabled){background:color-mix(in srgb,var(--ember-core) 12%,transparent);color:var(--ember-core)}.manual-order__btn:disabled{opacity:.15;cursor:default}@media(max-width:768px){.manual-order__item{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.manual-order__grip{font-size:14px}.manual-order__label{font-size:var(--font-size-sm)}.manual-order__btn{width:32px;height:24px;font-size:10px}}.strategy-bar{display:flex;flex-direction:column;gap:var(--spacing-sm)}.strategy-bar__optimizer{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.strategy-bar__optimizer-btn{flex-shrink:0;padding:var(--spacing-xs) var(--spacing-lg);border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--ember-mid),var(--ember-core));color:#fff;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap}.strategy-bar__optimizer-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.strategy-bar__optimizer-btn:disabled{opacity:.7;cursor:default}.strategy-bar__optimizer-btn--done{background:var(--color-success)}.strategy-bar__optimizer-cancel{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:4px 12px;cursor:pointer;transition:color .15s,border-color .15s}.strategy-bar__optimizer-cancel:hover{color:var(--color-danger);border-color:var(--color-danger)}.strategy-bar__optimizer-btn--locked{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--spacing-xs)}.strategy-bar__optimizer-btn--locked:hover{border-color:var(--color-primary);color:var(--color-primary)}.strategy-bar__optimizer-lock{font-size:var(--text-xs)}.strategy-bar__optimizer-badge{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;background:var(--color-primary-dim);color:var(--color-primary);padding:1px 6px;border-radius:3px}.strategy-bar__optimizer-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4;margin:0}.strategy-bar__compute-note{font-family:var(--font-mono);font-size:10px;color:var(--color-text-subtle);margin:var(--spacing-xs) 0 0;letter-spacing:.02em}.strategy-bar__parallel-toggle{background:none;border:none;font-family:var(--font-mono);font-size:10px;color:var(--ember-core);cursor:pointer;padding:0;letter-spacing:.02em}.strategy-bar__parallel-toggle:hover{text-decoration:underline}@media(max-width:768px){.strategy-bar__optimizer{flex-direction:column;text-align:center}}.strategy-bar__optimizer-results{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-xs)}.strategy-bar__result-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-sm) var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.strategy-bar__result-card:hover{border-color:var(--color-primary);background:var(--color-primary-dim)}.strategy-bar__result-card--active{border-color:var(--color-primary);border-width:2px;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))}.strategy-bar__result-card--custom{justify-content:center}.strategy-bar__result-icon{font-size:var(--text-base);line-height:1}.strategy-bar__result-label{font-family:var(--font-mono);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.strategy-bar__result-score{font-family:var(--font-display);font-size:var(--text-md);font-weight:300;color:var(--color-text);letter-spacing:-.02em}.strategy-bar__result-delta{font-family:var(--font-mono);font-size:10px;color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,transparent);padding:1px 5px;border-radius:3px}.strategy-bar__result-breakthrough{font-size:10px;font-weight:600;color:var(--color-success);text-align:center;line-height:1.15;padding:1px 5px}.strategy-bar__optimizer-receipt{margin:0 0 var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.strategy-bar__optimizer-receipt strong{color:var(--ember-mid);font-weight:600}@media(max-width:600px){.strategy-bar__optimizer-results{grid-template-columns:repeat(2,1fr)}}.strategy-bar__group{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.strategy-bar__group-header{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;text-align:left;transition:background .15s}.strategy-bar__group-header:hover{background:var(--color-surface-2)}.strategy-bar__group-icon{color:var(--color-text-muted);font-size:var(--font-size-sm);flex-shrink:0;width:12px}.strategy-bar__group-title{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.strategy-bar__group-hint{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);letter-spacing:.03em;margin-left:auto}.strategy-bar__group-content{padding:0 var(--spacing-md) var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);animation:strategy-fade-in .2s ease-out}@keyframes strategy-fade-in{0%{opacity:0}to{opacity:1}}.strategy-bar__feature-card{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);border-radius:var(--radius-sm);background:transparent}.strategy-bar__feature-card--locked{border-style:dashed;border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface))}.strategy-bar__feature-header{display:flex;align-items:center;gap:var(--spacing-sm)}.strategy-bar__feature-person{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.strategy-bar__feature-card-title{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.strategy-bar__feature-desc{font-size:11px;color:var(--color-text-subtle);line-height:1.4;margin:var(--spacing-xs) 0 0}.strategy-bar__timing-hint{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.strategy-bar__feature-options{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap}.strategy-bar__pill-group{width:100%}.strategy-bar__pill-group-label{display:block;font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.strategy-bar__pill-group+.strategy-bar__pill-group{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.strategy-bar__pill-desc{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--spacing-xs) 0 0;line-height:1.4}.strategy-bar__pill-link{color:var(--ember-core);text-decoration:none;font-weight:500}.strategy-bar__pill-link:hover{text-decoration:underline}.strategy-bar__pill-sub{margin-top:var(--spacing-xs)}.strategy-bar__pill-options{display:flex;gap:var(--spacing-xs)}.strategy-bar__pill-option{flex:1;display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.strategy-bar__pill-option:hover{border-color:var(--ember-mid)}.strategy-bar__pill-option--active{border-color:var(--ember-core);border-width:2px;background:rgba(var(--ember-core-rgb, 232, 121, 47),.12)}.strategy-bar__pill-option-title{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.strategy-bar__pill-option--active .strategy-bar__pill-option-title{color:var(--ember-core)}.strategy-bar__pill-option-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.strategy-bar__pill-options--compact{display:flex;flex-wrap:wrap;gap:6px}.strategy-bar__pill-option--age{flex-direction:column;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);min-width:0;gap:2px}.strategy-bar__pill-option--age .strategy-bar__pill-option-title{font-family:var(--font-mono);font-size:var(--font-size-sm)}.strategy-bar__pill-option-badge{font-size:9px;font-weight:600;font-family:var(--font-mono);line-height:1}.strategy-bar__pill-option-badge--positive{color:var(--color-success)}.strategy-bar__pill-option-badge--negative{color:var(--color-danger)}.strategy-bar__pill-option--active .strategy-bar__pill-option-badge--positive{color:var(--color-success)}.strategy-bar__pill-option--active .strategy-bar__pill-option-badge--negative{color:var(--color-danger)}.strategy-bar__pill-options--inline{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.strategy-bar__pill-option--sm{flex:none;padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--font-size-xs);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.strategy-bar__pill-option--sm:hover{border-color:var(--ember-core);color:var(--color-text)}.strategy-bar__pill-option--sm.strategy-bar__pill-option--active{background:var(--ember-core);color:#fff;border-color:var(--ember-core);border-width:1px}.strategy-bar__pill-option--sm .strategy-bar__pill-option-title{font-size:var(--font-size-xs);font-weight:500}.strategy-bar__pill-option--sm.strategy-bar__pill-option--active .strategy-bar__pill-option-title{color:#fff}.strategy-bar__benefit-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.strategy-bar__benefit-grid--couple{flex-direction:row;gap:var(--spacing-md)}.strategy-bar__benefit-grid--couple>.strategy-bar__feature-card{flex:1;min-width:0}.strategy-bar__benefit-field{display:flex;flex-direction:column;gap:2px}.strategy-bar__benefit-adjust{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.02em;align-self:flex-start;padding:0;background:none;margin-top:2px}.strategy-bar__benefit-adjust.adjust-badge--positive{color:var(--color-success, #16a34a);background:none}.strategy-bar__benefit-adjust.adjust-badge--negative{color:var(--color-danger, #dc2626);background:none}@media(max-width:600px){.strategy-bar__benefit-grid--couple{flex-direction:column}}.strategy-bar__feature-upsell{display:block;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;transition:opacity .15s}.strategy-bar__feature-upsell:hover{opacity:.85}.strategy-bar__feature-upsell-header{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.strategy-bar__pro-badge{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;background:var(--color-primary-dim);color:var(--color-primary);padding:1px 6px;border-radius:3px}.strategy-bar__control-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.strategy-bar .select-input{margin:0}.strategy-bar .select-input__label{display:none}.strategy-bar .select-input__field{padding:3px var(--spacing-xs);font-size:var(--font-size-xs);background:var(--color-surface-2);border-color:var(--color-border)}.strategy-bar .toggle{flex-direction:row;align-items:center;gap:4px;margin:0}.strategy-bar .toggle__label{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;order:2}.strategy-bar .toggle__track{order:1}.strategy-bar__assumptions{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.strategy-bar__detail-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-sm) var(--spacing-md);align-items:end;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2)}.strategy-bar__detail-panel .toggle{flex-direction:row;align-items:center;gap:var(--spacing-xs);margin:0}.strategy-bar__detail-panel .toggle__label{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;order:2}.strategy-bar__detail-panel .toggle__track{order:1}.strategy-bar__detail-panel .number-input,.strategy-bar__detail-panel .select-input{min-width:0}.strategy-bar__gated-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:2px 6px;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-subtle);cursor:pointer;transition:border-color .15s,color .15s;opacity:.75}.strategy-bar__gated-btn:hover{border-color:var(--ember-mid);color:var(--ember-mid);opacity:1}.strategy-bar__gated-lock{font-size:9px;line-height:1}.strategy-bar__settings-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:9px;padding:1px 5px;cursor:pointer;line-height:1;transition:background .15s,color .15s}.strategy-bar__settings-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.strategy-bar__reset-btn{align-self:flex-start;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);cursor:pointer;transition:color .15s,border-color .15s}.strategy-bar__reset-btn:hover{color:var(--color-danger);border-color:var(--color-danger)}.strategy-bar__run-btn{background:linear-gradient(135deg,var(--ember-mid),var(--ember-core));color:#f5efe8;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;padding:3px 10px;cursor:pointer;white-space:nowrap;transition:opacity .15s}.strategy-bar__run-btn:hover:not(:disabled){opacity:.85}.strategy-bar__run-btn:disabled{opacity:.7;cursor:default}.strategy-bar__run-btn--cached{background:var(--color-success, #22c55e);cursor:default}.strategy-bar__run-btn--cached:hover{opacity:1}.strategy-bar__mc-progress{grid-column:1 / -1;height:4px;background:var(--color-surface-3);border-radius:2px;overflow:hidden}.strategy-bar__mc-progress-bar{height:100%;background:linear-gradient(90deg,var(--ember-mid),var(--ember-glow));border-radius:2px;transition:none}@media(max-width:768px){.strategy-bar__group-hint{display:none}.strategy-bar__assumptions{grid-template-columns:1fr}.strategy-bar__detail-panel{grid-template-columns:1fr 1fr}}@media(max-width:480px){.strategy-bar__detail-panel,.strategy-bar__assumptions{grid-template-columns:1fr}}.strategy-bar__per-account-redirect{grid-column:1 / -1}.strategy-bar__per-account-redirect-text{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--spacing-xs)}.strategy-bar__per-account-redirect-btn{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;transition:background .15s,border-color .15s}.strategy-bar__per-account-redirect-btn:hover{background:var(--color-primary-dim);border-color:var(--color-primary)}.strategy-bar__per-account-toggle{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.strategy-bar__per-account-upsell{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);padding:0}.optimizer-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-lg)}.optimizer-modal__inner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--spacing-xl);box-shadow:0 8px 32px #0003}.optimizer-modal__title{font-family:var(--font-heading);font-size:var(--font-size-lg);color:var(--color-text);margin:0 0 var(--spacing-xs)}.optimizer-modal__search-space{margin:0 0 var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-muted)}.optimizer-modal__search-space strong{color:var(--ember-mid);font-weight:600}.optimizer-modal__objectives{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.optimizer-modal__obj-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-sm);background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s}.optimizer-modal__obj-card:hover{border-color:var(--color-border-light)}.optimizer-modal__obj-card--active{border-color:var(--ember-mid);background:var(--color-surface-3)}.optimizer-modal__obj-icon{font-size:var(--text-lg);line-height:1}.optimizer-modal__obj-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;line-height:1.2}.optimizer-modal__obj-score{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.optimizer-modal__obj-unit{font-size:.7rem;color:var(--color-text-subtle);text-align:center;line-height:1.2;margin-top:2px}.optimizer-modal__obj-delta{font-size:var(--font-size-xs);font-weight:500;color:var(--color-success, #22c55e)}.optimizer-modal__obj-breakthrough{font-size:var(--font-size-xs);font-weight:600;color:var(--color-success, #22c55e);text-align:center;line-height:1.25;margin-top:2px}.optimizer-modal__obj-card--breakthrough{border-color:color-mix(in srgb,var(--color-success, #22c55e) 55%,var(--color-border));background:color-mix(in srgb,var(--color-success, #22c55e) 6%,var(--color-surface-2))}.optimizer-modal__detail{margin-bottom:var(--spacing-md)}.optimizer-modal__no-improvement{text-align:center;padding:var(--spacing-lg) 0}.optimizer-modal__check-icon{display:inline-block;font-size:var(--text-2xl);color:var(--color-success, #22c55e);margin-bottom:var(--spacing-sm)}.optimizer-modal__no-improvement p{color:var(--color-text-muted);font-size:var(--font-size-base);margin:0}.optimizer-modal__scores{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.optimizer-modal__score-card{flex:1;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);text-align:center}.optimizer-modal__score-card--best{border-color:var(--ember-mid)}.optimizer-modal__score-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.optimizer-modal__score-value{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.optimizer-modal__score-card--best .optimizer-modal__score-value{color:var(--ember-mid)}.optimizer-modal__arrow{color:var(--color-text-muted);font-size:var(--text-lg);flex-shrink:0}.optimizer-modal__improvement{text-align:center;font-size:var(--font-size-base);font-weight:500;color:var(--color-success, #22c55e);margin-bottom:var(--spacing-lg)}.optimizer-modal__improvement--breakthrough{font-size:var(--font-size-lg);font-weight:600;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-success, #22c55e) 10%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-success, #22c55e) 35%,transparent)}.optimizer-modal__changes{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.optimizer-modal__changes th{text-align:left;font-weight:500;color:var(--color-text-muted);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}.optimizer-modal__changes td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border);color:var(--color-text)}.optimizer-modal__from{color:var(--color-text-muted)}.optimizer-modal__to{font-weight:500;color:var(--ember-mid)}.optimizer-modal__meta{font-size:var(--font-size-xs);color:var(--color-text-subtle);text-align:center;margin-bottom:var(--spacing-md)}.optimizer-modal__actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.optimizer-modal__apply-btn{background:linear-gradient(135deg,var(--ember-mid),var(--ember-core));color:#f5efe8;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:opacity .15s}.optimizer-modal__apply-btn:hover{opacity:.85}.optimizer-modal__close-btn{background:var(--color-surface-2);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:background .15s,color .15s}.optimizer-modal__close-btn:hover{background:var(--color-surface-3);color:var(--color-text)}@media(max-width:480px){.optimizer-modal__scores{flex-direction:column}.optimizer-modal__arrow{transform:rotate(90deg)}.optimizer-modal__inner{padding:var(--spacing-md)}}.pdf-export-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #444);background:var(--color-surface-2, #2a2a2a);color:var(--color-text, #fff);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap;line-height:1.4}.pdf-export-btn:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pdf-export-btn:disabled,.pdf-export-btn--loading{opacity:.6;cursor:not-allowed}.pdf-export-btn--gated{border-style:dashed;opacity:.85}.pdf-export-btn--gated:hover:not(:disabled){opacity:1}.pdf-export-btn__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.pdf-export-btn__spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:pdf-spin .7s linear infinite}@keyframes pdf-spin{to{transform:rotate(360deg)}}.pdf-export-btn__label{flex:1}.pdf-export-btn__pro-badge{font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:var(--color-primary);color:#fff;padding:1px 5px;border-radius:3px;line-height:1.4}[data-theme=light] .pdf-export-btn{background:var(--color-surface-2, #f3f3f3);color:var(--color-text, #1a1a1a);border-color:var(--color-border, #ccc)}[data-theme=light] .pdf-export-btn:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:#fff}.planning-view{display:flex;flex-direction:column;gap:var(--spacing-lg)}.planning-chart-hero{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2, #f8f5f0);overflow:hidden;padding:var(--spacing-sm) var(--spacing-md) 0}@keyframes chart-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pill-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.planning-chart-hero__chart-inner{animation:chart-fade-in .2s ease-out;flex:1;min-height:0;height:100%;width:100%}.planning-chart-hero__metric-fade{animation:chart-fade-in .25s ease-out}@keyframes hero-chart-flash{0%{box-shadow:inset 0 0 0 2px var(--ember-core)}to{box-shadow:inset 0 0 0 2px transparent}}.planning-chart-hero--updated{animation:hero-chart-flash .6s ease-out}.planning-chart-hero .recharts-wrapper svg{overflow:hidden}.planning-chart-hero *:focus,.planning-chart-hero *:focus-visible{outline:none!important;box-shadow:none!important}[data-theme=dark] .planning-chart-hero{background:var(--color-surface-2, #1a1a1a)}.planning-chart-hero__top-bar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xs)}.planning-chart-hero__dropdown-wrap{position:relative}.planning-chart-hero__dropdown-btn{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 10px;cursor:pointer;transition:border-color .15s,color .15s}.planning-chart-hero__dropdown-btn:hover{border-color:var(--ember-core);color:var(--color-text)}.planning-chart-hero__dropdown-backdrop{position:fixed;inset:0;z-index:9}.planning-chart-hero__dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;z-index:10;min-width:200px;padding:4px;animation:dropdown-in .12s ease-out}.planning-chart-hero__dropdown-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;border:none;background:none;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);text-align:left;transition:background .1s}.planning-chart-hero__dropdown-item:hover{background:var(--color-surface-2)}.planning-chart-hero__dropdown-item--active{color:var(--ember-core);font-weight:600}.planning-chart-hero__dropdown-lock{font-size:11px;opacity:.5}.planning-chart-hero__body{display:flex;gap:0;transition:gap .2s ease}.planning-chart-hero--inspecting .planning-chart-hero__body{gap:var(--spacing-md)}.planning-chart-hero__chart{position:relative;height:240px;display:flex;flex-direction:column;flex:1;min-width:0;cursor:crosshair;outline:none;-webkit-tap-highlight-color:transparent}.planning-chart-hero--inspecting .planning-chart-hero__chart{flex:3}.planning-chart-hero__placeholder{height:100%}.planning-chart-hero__metric{display:flex;flex-direction:column;pointer-events:none}.planning-chart-hero__amount{font-family:var(--font-display);font-size:clamp(22px,3.5vw,32px);font-weight:300;color:var(--color-text);line-height:1;letter-spacing:-.02em}.planning-chart-hero__sub{display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:4px;flex-wrap:wrap}.planning-chart-hero__pills{display:flex;align-items:center;gap:var(--spacing-sm)}.planning-chart-hero__pill{font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;padding:1px 6px;border-radius:var(--radius-full);background:#ffffff14}[data-theme=light] .planning-chart-hero__pill{background:#0000000d}.planning-chart-hero__pill--success{color:var(--color-success)}.planning-chart-hero__pill--danger{color:var(--color-danger)}.planning-chart-hero__pill--ember{color:var(--ember-core)}.planning-chart-hero__pill--muted{color:var(--color-text-muted)}.planning-chart-hero__pill-sep{width:3px;height:3px;border-radius:var(--radius-full);background:var(--color-text-subtle);display:inline-block;flex-shrink:0}.planning-chart-hero__tooltip{display:flex;flex-direction:column;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;box-shadow:0 2px 8px #0003;pointer-events:none}.planning-chart-hero__tooltip-age{font-family:var(--font-mono);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle)}.planning-chart-hero__tooltip-val{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:400;color:var(--ember-core)}.planning-chart-hero__tooltip-row{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm)}.planning-chart-hero__tooltip-row .planning-chart-hero__tooltip-val{font-size:var(--font-size-sm);margin-left:auto}.planning-chart-hero__tooltip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.planning-chart-hero__tooltip-label{font-family:var(--font-sans);font-size:11px;color:var(--color-text-muted)}.year-inspect{flex:2;min-width:200px;max-width:320px;padding:var(--spacing-sm) 0 var(--spacing-sm) var(--spacing-md);border-left:1px solid var(--color-border);overflow-y:auto;animation:year-inspect-in .2s ease-out}@keyframes year-inspect-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.year-inspect__header{display:flex;align-items:baseline;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.year-inspect__year{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:300;color:var(--color-text)}.year-inspect__age{font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;color:var(--color-text-muted)}.year-inspect__close{margin-left:auto;background:none;border:none;font-size:var(--text-md);color:var(--color-text-subtle);cursor:pointer;padding:0 4px;line-height:1}.year-inspect__close:hover{color:var(--color-text)}.year-inspect__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs) var(--spacing-md)}.year-inspect__section{display:flex;flex-direction:column;gap:1px}.year-inspect__section-label{font-family:var(--font-mono);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle)}.year-inspect__section-value{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.year-inspect__notes{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:2px}.year-inspect__note{font-family:var(--font-sans);font-size:10px;color:var(--color-text-muted);font-style:italic}.planning-view__sub-tabs{display:flex;align-items:center;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);padding-bottom:0}.planning-view__projection-selector{display:flex;align-items:center;gap:6px;padding-bottom:var(--spacing-xs);position:relative;margin-left:auto}.planning-view__projection-label{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);white-space:nowrap}.planning-view__tab-pills{display:flex;align-items:center;gap:var(--spacing-xs);padding-bottom:0}.planning-view__projection-select{font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:5px 12px;cursor:pointer;max-width:220px;text-overflow:ellipsis}.planning-view__projection-select:focus{outline:none;border-color:var(--color-primary)}.planning-view__projection-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--color-text-muted);background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.planning-view__projection-icon:hover{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.planning-view__projection-icon--active{background:var(--color-primary-dim);color:var(--color-primary);border-color:var(--color-primary)}.planning-view__projection-sep{width:1px;height:16px;background:var(--color-border);flex-shrink:0}.planning-view__projection-backdrop{position:fixed;inset:0;z-index:90}.planning-view__projection-popover{position:absolute;top:calc(100% + 6px);right:0;display:flex;gap:4px;padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;z-index:91;animation:dropdown-in .12s ease-out}.planning-view__projection-popover-input{width:180px;padding:4px 8px;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.planning-view__projection-popover-input:focus{outline:none;border-color:var(--color-primary)}.planning-view__projection-popover-btn{padding:4px 12px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--ember-core);border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .15s}.planning-view__projection-popover-btn:hover{background:var(--ember-glow)}.planning-view__projection-popover-btn:disabled{opacity:.5;cursor:default}.planning-view__projection-popover--manage{flex-direction:column;gap:2px;min-width:220px}.planning-view__manage-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--radius-sm)}.planning-view__manage-item:hover{background:var(--color-surface-2)}.planning-view__manage-name{flex:1;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-view__manage-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:14px;color:var(--color-text-muted);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.planning-view__manage-action:hover{background:var(--color-surface-3);color:var(--color-text)}.planning-view__manage-action--delete:hover{color:var(--color-danger)}.planning-view__sub-tab{padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--font-size-base);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}@keyframes tab-content-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.planning-view__tab-content{animation:tab-content-in .15s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.planning-view__sub-tab--active{color:var(--color-text);font-weight:600;border-bottom-color:var(--ember-core)}.planning-view__sub-tab:hover:not(.planning-view__sub-tab--active){color:var(--color-text)}.planning-view__section-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ember-core);display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-sm);margin-bottom:calc(-1 * var(--spacing-xs));width:100%;background:none;border:none;padding:0;cursor:pointer;transition:color .15s ease}.planning-view__section-label:hover{color:var(--ember-glow)}.planning-view__section-label:after{content:"";flex:1;height:1px;background:var(--color-border);order:1}.planning-view__section-chevron{font-size:8px;color:var(--color-text-subtle);transition:transform .2s ease;display:inline-block;flex-shrink:0;order:2}.planning-view__section-chevron--open{transform:rotate(90deg)}.planning-view__budget-badge{background:var(--color-primary-dim);color:var(--color-primary);font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);display:inline-block}@media(prefers-reduced-motion:reduce){.planning-chart-hero__chart-inner,.planning-chart-hero__metric-fade{animation:none!important}}@media(max-width:768px){.planning-view{gap:var(--spacing-md)}.planning-chart-hero__chart{height:180px;min-height:180px;flex:none}.planning-chart-hero__amount{font-size:var(--text-xl);padding:3px 8px}.planning-chart-hero__body{flex-direction:column}.planning-chart-hero--inspecting .planning-chart-hero__chart{flex:none;height:160px}.year-inspect{max-width:none;border-left:none;border-top:1px solid var(--color-border);padding:var(--spacing-sm) 0 0;max-height:180px}.planning-view__sub-tabs{flex-wrap:wrap;gap:var(--spacing-xs)}.planning-view__projection-selector{margin-left:0;width:100%;order:-1}.planning-view__tab-pills{width:100%}.planning-view__projection-select{max-width:none;flex:1;font-size:var(--text-xs)}}@media(max-width:480px){.planning-chart-hero__pills{flex-direction:column;align-items:flex-start;gap:2px}.planning-chart-hero__pill-sep{display:none}}.planning-view__budget-warning{background:var(--color-warning-dim, #fff8e1);border:1px solid var(--color-warning, #f0ad4e);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md)}.planning-view__budget-warning p{flex:1;margin:0;font-size:var(--font-size-sm);color:var(--color-text)}.planning-view__budget-warning button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.quick-add{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.quick-add__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;margin-bottom:var(--spacing-sm)}.quick-add__type-toggle{display:flex;gap:2px;margin-bottom:var(--spacing-md);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px;width:fit-content}.quick-add__type-btn{background:none;border:none;border-radius:calc(var(--radius-sm) - 2px);padding:4px var(--spacing-md);font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.quick-add__type-btn:hover{color:var(--color-text)}.quick-add__type-btn--active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 3px #00000026}.quick-add__form{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.quick-add__field--amount{min-width:120px}.quick-add__input--desc{width:100%;height:40px;box-sizing:border-box;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text)}.quick-add__select{height:40px;box-sizing:border-box;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;max-width:180px}.quick-add__btn{height:40px;box-sizing:border-box;background:linear-gradient(135deg,var(--ember-mid),var(--ember-core));color:#f5efe8;border:none;border-radius:var(--radius-sm);padding:0 var(--spacing-lg);font-weight:600;font-size:var(--font-size-base);cursor:pointer;white-space:nowrap;transition:opacity .15s}.quick-add__btn:hover{opacity:.85}.quick-add__field--desc{flex:1;min-width:120px}.quick-add__field--error .number-input__wrapper,.quick-add__field--error .quick-add__input--desc{border:1px solid var(--color-danger)}.quick-add__error{display:block;font-size:var(--font-size-xs);color:var(--color-danger);margin-top:2px}@media(max-width:768px){.quick-add__form{flex-wrap:wrap}.quick-add__field--desc{order:4;width:100%}}@media(max-width:480px){.quick-add{padding:var(--spacing-md)}.quick-add__form{flex-direction:column}.quick-add__field--amount{width:100%;min-width:0}.quick-add__select{width:100%;max-width:none}.quick-add__field--desc{width:100%;order:unset}.quick-add__btn{width:100%}}.cat-breakdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.cat-breakdown__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.cat-breakdown__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300}.cat-breakdown__month-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.cat-breakdown__nav-btn{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:background .15s;line-height:1}.cat-breakdown__nav-btn:hover:not(:disabled){background:var(--color-surface-3)}.cat-breakdown__nav-btn:disabled{opacity:.3;cursor:default}.cat-breakdown__month-label{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:500;min-width:70px;text-align:center}.cat-breakdown__empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.cat-breakdown__list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:400px;overflow-y:auto;padding-right:var(--spacing-sm)}.cat-breakdown__row--clickable{cursor:pointer;border-radius:var(--radius-sm);padding:var(--spacing-xs);margin:0 calc(-1 * var(--spacing-xs));transition:background .15s}.cat-breakdown__row--clickable:hover{background:var(--color-surface-2)}.cat-breakdown__row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.cat-breakdown__cat-label{font-size:var(--font-size-sm);font-weight:500}.cat-breakdown__amounts{font-family:var(--font-mono);font-size:var(--text-xs)}.cat-breakdown__actual--over{color:var(--color-danger);font-weight:600}.cat-breakdown__planned{color:var(--color-text-muted)}.cat-breakdown__bar-track{height:6px;background:var(--color-surface-3);border-radius:3px;overflow:hidden}.cat-breakdown__bar-fill{height:100%;background:linear-gradient(90deg,var(--ember-mid),var(--ember-glow));border-radius:3px;transition:width .3s ease}.cat-breakdown__bar-fill--over{background:var(--color-danger)}.cat-breakdown__impact{font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 5px;letter-spacing:.05em;white-space:nowrap;margin-left:var(--spacing-sm);vertical-align:middle}.cat-breakdown__impact--positive{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,transparent)}.cat-breakdown__impact--negative{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 10%,transparent)}.cat-breakdown__impact--neutral{color:var(--color-text-muted);background:color-mix(in srgb,var(--color-text-muted) 8%,transparent)}.tx-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.tx-list__header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.tx-list__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300}.tx-list__count{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);background:var(--color-surface-2);padding:2px 10px;border-radius:var(--radius-full);letter-spacing:.05em}.tx-list__total-count{opacity:.6}.tx-list__danger-zone{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px dashed var(--color-border);display:flex;justify-content:flex-end}.tx-list__clear-all{background:none;border:1px solid var(--color-danger, #dc3545);border-radius:var(--radius-sm);color:var(--color-danger, #dc3545);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.tx-list__clear-all:hover{background:var(--color-danger, #dc3545);color:#fff}.tx-list__empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.tx-list__search{margin-bottom:var(--spacing-sm)}.tx-list__search-input{width:100%;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-ui);font-size:var(--font-size-sm);color:var(--color-text);transition:border-color .15s}.tx-list__search-input:focus{border-color:var(--ember-core);outline:none}.tx-list__search-input::placeholder{color:var(--color-text-muted)}.tx-list__filters{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.tx-list__filter-select{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-ui);font-size:var(--font-size-xs);color:var(--color-text);cursor:pointer}.tx-list__filter-dates{display:flex;align-items:center;gap:var(--spacing-xs)}.tx-list__filter-date{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text);color-scheme:dark}.tx-list__filter-sep{color:var(--color-text-muted);font-size:var(--font-size-xs)}.tx-list__filter-clear{background:none;border:none;color:var(--color-primary);font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);transition:color .15s}.tx-list__filter-clear:hover{color:var(--color-text)}.tx-list__filter-summary{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.tx-list__rows{display:flex;flex-direction:column;max-height:600px;padding-right:var(--spacing-sm);overflow-y:auto}.tx-list__row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-surface-3)}.tx-list__row:last-child{border-bottom:none}.tx-list__icon{font-size:var(--font-size-base);width:28px;text-align:center;flex-shrink:0;background:none;border:none;padding:2px;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s ease,transform .15s ease}.tx-list__row:hover .tx-list__icon{background:var(--color-surface-2)}.tx-list__icon:hover{background:var(--color-surface-2);transform:scale(1.15)}.tx-list__details{flex:1;min-width:0}.tx-list__desc{display:block;font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:var(--color-text);width:100%}.tx-list__desc:hover{color:var(--ember-core)}.tx-list__desc-input{display:block;width:100%;font-size:var(--font-size-sm);font-weight:500;font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--ember-core);border-radius:var(--radius-sm);padding:1px 4px;outline:none}.tx-list__meta{display:flex;gap:var(--spacing-sm);align-items:center}.tx-list__category{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);letter-spacing:.03em;background:none;border:none;padding:0;cursor:pointer;transition:color .15s ease}.tx-list__category:hover{color:var(--ember-core)}.tx-list__category-select{font-family:var(--font-mono);font-size:10px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--ember-core);border-radius:var(--radius-sm);padding:1px 4px;outline:none;cursor:pointer}.tx-list__date{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);letter-spacing:.03em}.tx-list__meta .tx-list__category:after{content:"·";margin-left:var(--spacing-sm);color:var(--color-text-muted)}.tx-list__account{font-family:var(--font-mono);font-size:10px;color:var(--ember-mid);letter-spacing:.03em;background:none;border:none;padding:0;cursor:pointer;transition:color .15s}.tx-list__account:hover{color:var(--ember-core)}.tx-list__account-select{font-family:var(--font-mono);font-size:10px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--ember-core);border-radius:var(--radius-sm);padding:1px 4px;outline:none;cursor:pointer}.tx-list__meta .tx-list__date+.tx-list__account:before{content:"·";margin-right:var(--spacing-sm);color:var(--color-text-muted)}.tx-list__amount{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;color:var(--color-text)}.tx-list__amount--income{color:var(--color-success)}.tx-list__impact{font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 5px;letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.tx-list__impact--positive{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,transparent)}.tx-list__impact--negative{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 10%,transparent)}.tx-list__impact--neutral{color:var(--color-text-muted);background:color-mix(in srgb,var(--color-text-muted) 8%,transparent)}.tx-list__row--cleared .tx-list__desc,.tx-list__row--cleared .tx-list__amount{opacity:.55}.tx-list__cleared-toggle{background:none;border:none;font-size:var(--text-xs);width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:color .15s,background .15s}.tx-list__cleared-toggle:hover{background:var(--color-surface-2);color:var(--color-success)}.tx-list__cleared-toggle--checked{color:var(--color-success)}.tx-list__row--transfer{opacity:.55}.tx-list__transfer-badge{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);background:var(--color-surface-2);padding:1px 6px;border-radius:var(--radius-sm);flex-shrink:0}.tx-list__sample-badge{font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-ember);background:color-mix(in srgb,var(--color-ember) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-ember) 30%,transparent);padding:1px 6px;border-radius:var(--radius-sm);flex-shrink:0}.tx-list__row--sample .tx-list__desc,.tx-list__row--sample .tx-list__amount{opacity:.82}.tx-list__running-balance{font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;min-width:48px;text-align:right}.tx-list__running-balance--negative{color:var(--color-danger)}.tx-list__delete{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:0 var(--spacing-xs);transition:color .15s;line-height:1}.tx-list__delete:hover{color:var(--color-danger)}@media(max-width:600px){.tx-list{padding:var(--spacing-md)}.tx-list__title{font-size:var(--text-md)}.tx-list__filters{flex-direction:column;align-items:stretch}.tx-list__filter-dates{width:100%}.tx-list__filter-date{flex:1}.tx-list__rows{max-height:450px}.tx-list__row{display:grid;grid-template-columns:24px 1fr auto auto;grid-template-rows:auto auto;gap:2px var(--spacing-xs);padding:var(--spacing-sm) 0;align-items:center}.tx-list__icon{width:24px;font-size:var(--font-size-sm);grid-row:1 / 3;align-self:center}.tx-list__details{grid-column:2;grid-row:1}.tx-list__desc{font-size:var(--font-size-xs)}.tx-list__amount{font-size:var(--font-size-xs);grid-column:3;grid-row:1}.tx-list__delete{font-size:var(--font-size-base);padding:0 2px;grid-column:4;grid-row:1}.tx-list__impact{grid-column:2 / 4;grid-row:2;justify-self:start;font-size:9px}.tx-list__date{display:none}}.cat-mapper{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#00000080;padding:var(--spacing-md)}.cat-mapper__panel{width:100%;max-width:640px;max-height:80vh;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.cat-mapper__header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-xs)}.cat-mapper__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin:0}.cat-mapper__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.cat-mapper__month-picker{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-ui);font-size:var(--font-size-sm);background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;max-width:200px}.cat-mapper__body{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.cat-mapper__row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.cat-mapper__row:last-child{border-bottom:none}.cat-mapper__row--unmatched{background:var(--color-warning-dim)}.cat-mapper__ynab-cat{flex:1;font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cat-mapper__select{width:180px;flex-shrink:0;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-ui);font-size:var(--font-size-sm);background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.cat-mapper__skip{display:flex;align-items:center;gap:4px;flex-shrink:0;font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.cat-mapper__skip input[type=checkbox]{cursor:pointer}.cat-mapper__footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.cat-mapper__btn--cancel{padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-ui);font-size:var(--font-size-sm);background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.cat-mapper__btn--cancel:hover{background:var(--color-surface-2)}.cat-mapper__btn--confirm{padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-ui);font-size:var(--font-size-sm);background:linear-gradient(135deg,var(--ember-mid),var(--ember-core));color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:opacity .15s ease}.cat-mapper__btn--confirm:hover{opacity:.9}@media(max-width:600px){.cat-mapper__row{flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.cat-mapper__ynab-cat{flex-basis:100%}.cat-mapper__select{width:140px}}.import-summary{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}.import-summary__format{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);margin-bottom:var(--spacing-sm)}.import-summary__stats{display:flex;flex-direction:row;gap:var(--spacing-lg);flex-wrap:wrap}.import-summary__stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.import-summary__stat-value{font-weight:600;font-family:var(--font-mono)}.import-summary__bar{height:8px;border-radius:var(--radius-sm);display:flex;overflow:hidden;margin-top:var(--spacing-sm)}.import-summary__bar-segment{height:100%;min-width:2px}.import-summary__duplicates{font-size:var(--font-size-sm);color:var(--color-warning);margin-top:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.import-summary__duplicates label{display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.import-summary__skipped,.import-summary__errors{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.import-summary__budget-info{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-sm)}.import-summary__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.import-summary__btn--cancel{padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-ui);font-size:var(--font-size-sm);background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.import-summary__btn--cancel:hover{background:var(--color-surface-2)}.import-summary__btn--confirm{padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-ui);font-size:var(--font-size-sm);background:linear-gradient(135deg,var(--ember-mid),var(--ember-core));color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:opacity .15s ease}.import-summary__btn--confirm:hover{opacity:.9}.connection-status{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--font-size-sm);flex-wrap:wrap}.connection-status__name{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.connection-status__label{color:var(--color-text-muted);flex:1;min-width:0}.connection-status__sync-time{color:var(--color-text-muted);opacity:.7}.connection-status__actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.connection-status__sync-btn{padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-primary);background:none;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.connection-status__sync-btn:hover{background:var(--color-primary);color:#fff}.connection-status__sync-btn:disabled{opacity:.6;cursor:not-allowed}.connection-status__manage-btn{padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:none;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.connection-status__manage-btn:hover{background:var(--color-surface-3);color:var(--color-text)}.connection-status--disconnected .connection-status__manage-btn{border-color:var(--ember-core, #C04E18);color:var(--ember-core, #C04E18)}.connection-status--disconnected .connection-status__manage-btn:hover{background:var(--ember-core, #C04E18);color:#fff}@media(max-width:768px){.connection-status{flex-direction:column;align-items:flex-start}.connection-status__actions{width:100%}.connection-status__sync-btn,.connection-status__manage-btn{flex:1}}.import-hub{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.import-hub__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;margin-bottom:var(--spacing-md)}.import-hub__tabs{display:flex;gap:0;margin-bottom:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.import-hub__tab{flex:1;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;border:none;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.import-hub__tab:not(:last-child){border-right:1px solid var(--color-border)}.import-hub__tab--active{background:var(--color-primary-dim, rgba(232, 98, 42, .08));color:var(--color-primary)}.import-hub__tab:hover:not(.import-hub__tab--active){background:var(--color-surface-raised, var(--color-surface))}.import-hub__drop{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;transition:border-color .15s,background .15s}.import-hub__drop--active{border-color:var(--ember-core);border-style:solid;background:#e8622a0f}.import-hub__drop-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.import-hub__browse{color:var(--color-primary);font-weight:500;cursor:pointer;text-decoration:underline}.import-hub__drop-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:var(--spacing-xs)}.import-hub__account-select{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.import-hub__account-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);white-space:nowrap}.import-hub__account-dropdown{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-ui);font-size:var(--font-size-xs);color:var(--color-text);cursor:pointer}.import-hub__format-chip{display:inline-block;background:var(--color-primary-dim);color:var(--color-primary);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:2px 8px;border-radius:999px;margin-top:var(--spacing-sm)}.import-hub__error{font-size:var(--font-size-sm);color:var(--color-danger);font-weight:500;margin-top:var(--spacing-sm)}.import-hub__success{font-size:var(--font-size-sm);color:var(--color-success);font-weight:500;margin-top:var(--spacing-sm)}.import-hub__formats{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.import-hub__format-group{display:flex;align-items:baseline;gap:var(--spacing-sm)}.import-hub__format-label{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text);min-width:72px;letter-spacing:.03em}.import-hub__format-desc{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.import-hub__sample{margin-top:var(--spacing-md)}.import-hub__sample-divider{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.import-hub__sample-divider:before,.import-hub__sample-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.import-hub__sample-divider span{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);white-space:nowrap}.import-hub__sample-btn{width:100%;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-primary);font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.import-hub__sample-btn:hover:not(:disabled){border-color:var(--ember-core);background:#e8622a0f}.import-hub__sample-btn:disabled{opacity:.4;cursor:not-allowed}.import-hub__sample-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:var(--spacing-xs);text-align:center}.plan-editor{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.plan-editor__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.plan-editor__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300}.plan-editor__header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.plan-editor__total{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;color:var(--color-text)}.plan-editor__auto-btn{display:block;width:100%;padding:var(--spacing-md);margin-bottom:var(--spacing-md);background:var(--color-primary-dim);border:1px dashed var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.plan-editor__auto-btn:hover{background:#e8622a26;border-style:solid}.plan-editor__list{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media(min-width:600px){.plan-editor__list{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}}.plan-editor__row{padding:0}.plan-editor__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.plan-editor__btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border:none;transition:background .15s}.plan-editor__btn--save{background:linear-gradient(135deg,var(--ember-mid),var(--ember-core));color:#f5efe8}.plan-editor__btn--save:hover:not(:disabled){opacity:.85}.plan-editor__btn--save:disabled{opacity:.5;cursor:not-allowed}.plan-editor__btn--reset{background:var(--color-surface-3);color:var(--color-text-muted)}.plan-editor__btn--reset:hover{background:var(--color-border)}.composition-chart{font-family:var(--font-sans);color:var(--color-text)}.composition-chart__heading{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.composition-chart__body{display:flex;gap:var(--spacing-lg);align-items:center}.composition-chart--mini .composition-chart__body{flex-direction:column;gap:var(--spacing-sm);align-items:center}.composition-chart--large .composition-chart__body{align-items:center}.composition-chart__donut-wrap{position:relative;width:100%;max-width:260px;flex-shrink:0}.composition-chart--mini .composition-chart__donut-wrap{max-width:140px}.composition-chart--large .composition-chart__donut-wrap{flex:0 0 260px;height:260px}.composition-chart__centre{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.composition-chart__centre-label{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);margin-bottom:2px}.composition-chart__centre-value{font-family:var(--font-display);font-size:clamp(14px,3vw,20px);font-weight:400;color:var(--color-text);letter-spacing:-.01em;line-height:1;font-variant-numeric:tabular-nums}.composition-chart--mini .composition-chart__centre-value{font-size:var(--text-sm)}.composition-chart__legend{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.composition-chart--mini .composition-chart__legend{width:100%;font-size:11px}.composition-chart__legend-row{display:grid;grid-template-columns:10px 1fr auto auto;gap:var(--spacing-sm);align-items:center;font-family:var(--font-sans);font-size:var(--font-size-sm);padding:2px 0}.composition-chart__legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.composition-chart__legend-label{color:var(--color-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composition-chart__legend-pct{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.composition-chart__legend-value{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-subtle);font-variant-numeric:tabular-nums;text-align:right}.composition-chart__empty{text-align:center;padding:var(--spacing-xl);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-subtle)}@media(max-width:640px){.composition-chart--large .composition-chart__body{flex-direction:column}.composition-chart--large .composition-chart__donut-wrap{flex:0 0 220px;height:220px}}.budget-insights-panel{margin-top:var(--spacing-lg);border-top:1px solid var(--color-border);padding-top:var(--spacing-lg)}.budget-insights-panel__heading{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);margin:0 0 var(--spacing-md) 0}.budget-insights-panel__stack{display:flex;flex-direction:column;gap:var(--spacing-sm)}.budget-insight-card{padding:var(--spacing-md);border-radius:var(--radius-md);border-left:3px solid;background:var(--color-surface-2)}.budget-insight-card--warning{border-left-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface-2) 92%)}.budget-insight-card--neutral{border-left-color:var(--color-text-muted);background:var(--color-surface-2)}.budget-insight-card--positive{border-left-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 8%,var(--color-surface-2) 92%)}.budget-insight-card__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs);line-height:1.4}.budget-insight-card__detail{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--spacing-sm);line-height:1.4}.budget-insight-card__action{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);cursor:pointer;font-weight:500;transition:background-color .2s ease,color .2s ease}.budget-insight-card__action:hover{background:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-primary)}.budget-insight-card__action:active{background:color-mix(in srgb,var(--color-primary) 25%,transparent)}.retirement-impact{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.retirement-impact__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;margin-bottom:var(--spacing-md)}.retirement-impact--empty{border-style:dashed;opacity:.7}.retirement-impact__empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.retirement-impact__top{display:flex;gap:var(--spacing-lg);align-items:flex-start;margin-bottom:var(--spacing-md)}.retirement-impact__hero{flex-shrink:0;min-width:160px;padding:var(--spacing-sm) 0}.retirement-impact__shift{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:300;line-height:1.1}.retirement-impact__shift--positive{color:var(--color-success)}.retirement-impact__shift--negative{color:var(--color-danger)}.retirement-impact__explain{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-xs);line-height:1.4}.retirement-impact__metrics{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.retirement-impact__metric{display:flex;flex-direction:column;gap:2px}.retirement-impact__metric-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--color-text-muted)}.retirement-impact__metric-value{font-family:var(--font-display);font-size:var(--text-lg);font-weight:300}.retirement-impact__metric-value--positive{color:var(--color-success)}.retirement-impact__metric-value--negative{color:var(--color-danger)}.impact-chart{flex:1;min-width:0}.impact-chart__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-xs)}.impact-chart__label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.impact-chart__pct{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--color-success);letter-spacing:.03em}.impact-chart__pct--over{color:var(--color-danger)}.impact-chart__svg{display:block;width:100%;height:auto}.impact-chart__grid{stroke:var(--color-surface-3);stroke-width:.5}.impact-chart__axis-label{font-family:var(--font-mono);font-size:8px;fill:var(--color-text-muted);opacity:.6}.impact-chart__axis-label--today{fill:var(--ember-core);opacity:1;font-weight:500}.impact-chart__budget-line{stroke:var(--color-text-muted);stroke-width:.75;stroke-dasharray:4 4;opacity:.35}.impact-chart__budget-label{font-family:var(--font-mono);font-size:7px;fill:var(--color-text-muted);opacity:.5;letter-spacing:.08em}.impact-chart__today-line{stroke:var(--color-text-muted);stroke-width:.5;stroke-dasharray:2 3;opacity:.3}.impact-chart__line{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.impact-chart__line--actual{stroke:var(--ember-core)}.impact-chart__line--proj{stroke:var(--color-success);stroke-dasharray:4 3;opacity:.7}.impact-chart__line--over{stroke:var(--color-danger)}.impact-chart__dot{fill:var(--color-surface);stroke:var(--ember-core);stroke-width:2}.impact-chart__hover-line{stroke:var(--color-text);stroke-width:.5;opacity:.1}.impact-chart__hover-dot{fill:var(--ember-core)}.impact-chart__hover-dot--over{fill:var(--color-danger)}.impact-chart__hover-dot--under{fill:var(--color-success)}.impact-chart__hover-val{font-family:var(--font-mono);font-size:9px;fill:var(--color-text);font-variant-numeric:tabular-nums}.impact-chart__legend{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.impact-chart__legend-item{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9px;color:var(--color-text-muted);letter-spacing:.08em}@media(max-width:600px){.retirement-impact{padding:var(--spacing-md)}.retirement-impact__top{flex-direction:column}.retirement-impact__hero{text-align:center;width:100%}.retirement-impact__shift{font-size:var(--text-2xl)}.retirement-impact__metrics{grid-template-columns:1fr 1fr}}.reconciliation{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.reconciliation__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;margin-bottom:var(--spacing-xs)}.reconciliation__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.reconciliation__empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.reconciliation__controls{display:flex;gap:var(--spacing-md);align-items:flex-end;margin-bottom:var(--spacing-md);flex-wrap:wrap}.reconciliation__account-select{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-ui);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.reconciliation__statement{display:flex;flex-direction:column;gap:4px}.reconciliation__statement-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.reconciliation__statement-input{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text);width:140px}.reconciliation__statement-input:focus{border-color:var(--ember-core);outline:none}.reconciliation__summary{background:var(--color-surface-2);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.reconciliation__summary-row{display:flex;align-items:center;gap:var(--spacing-md)}.reconciliation__summary-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);flex:1}.reconciliation__summary-value{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);min-width:80px;text-align:right}.reconciliation__summary-count{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);min-width:50px}.reconciliation__summary-row--diff{border-top:1px solid var(--color-border);padding-top:var(--spacing-xs);margin-top:var(--spacing-xs)}.reconciliation__summary-row--diff .reconciliation__summary-value{color:var(--color-danger)}.reconciliation__summary-row--balanced .reconciliation__summary-value{color:var(--color-success)}.reconciliation__balanced-badge{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,transparent);padding:2px 8px;border-radius:var(--radius-sm)}.reconciliation__actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.reconciliation__action-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);cursor:pointer;transition:color .15s,border-color .15s}.reconciliation__action-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.reconciliation__rows{display:flex;flex-direction:column;max-height:400px;overflow-y:auto}.reconciliation__row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-surface-3);transition:opacity .15s}.reconciliation__row:last-child{border-bottom:none}.reconciliation__row--cleared{opacity:.5}.reconciliation__check-label{display:flex;align-items:center;cursor:pointer;flex-shrink:0}.reconciliation__check{width:16px;height:16px;accent-color:var(--color-success);cursor:pointer}.reconciliation__row-icon{font-size:var(--font-size-sm);width:24px;text-align:center;flex-shrink:0}.reconciliation__row-details{flex:1;min-width:0}.reconciliation__row-desc{display:block;font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.reconciliation__row-date{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted)}.reconciliation__row-amount{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;color:var(--color-text)}.reconciliation__row-amount--income{color:var(--color-success)}@media(max-width:600px){.reconciliation{padding:var(--spacing-md)}.reconciliation__controls{flex-direction:column;align-items:stretch}.reconciliation__statement-input{width:100%}}.budget-view__loading{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-muted)}.budget-view__hero{text-align:center;padding:var(--spacing-lg) 0;position:relative}.budget-view__hero-glow{position:absolute;top:50%;left:50%;width:300px;height:200px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(232,98,42,.1) 0%,transparent 70%);pointer-events:none}.budget-view__hero-label{font-family:var(--font-mono);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);position:relative}.budget-view__hero-amount{font-family:var(--font-display);font-size:clamp(42px,8vw,64px);font-weight:300;color:var(--color-text);line-height:1;position:relative;transition:opacity .08s ease}.budget-view__hero-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-sm);position:relative}.budget-view__hero-delta{font-size:var(--font-size-md);margin-top:var(--spacing-sm);position:relative;transition:opacity .08s ease}.budget-view__hero-delta--positive{color:var(--color-success)}.budget-view__hero-delta--negative{color:var(--color-danger)}.budget-view__hero-impact{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;margin-top:var(--spacing-xs);position:relative}.budget-view__hero-impact--positive{color:var(--color-success)}.budget-view__hero-impact--negative{color:var(--color-danger)}.budget-view__savings-rate{display:flex;align-items:center;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-lg);margin-bottom:var(--spacing-md);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-success) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 20%,transparent)}.budget-view__savings-rate--negative{background:color-mix(in srgb,var(--color-danger) 8%,transparent);border-color:color-mix(in srgb,var(--color-danger) 20%,transparent)}.budget-view__savings-rate-pct{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;color:var(--color-success);white-space:nowrap}.budget-view__savings-rate--negative .budget-view__savings-rate-pct{color:var(--color-danger)}.budget-view__savings-rate-detail{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:.03em}.budget-view__finish-setup{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--ember-core);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:center}.budget-view__setup-checklist{display:flex;gap:var(--spacing-sm);justify-content:center}.budget-view__setup-check{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:2px var(--spacing-sm);border-radius:var(--radius-sm)}.budget-view__setup-check--done{background:#4caf5026;color:#4caf50}.budget-view__setup-check--done:before{content:"✓"}.budget-view__setup-check--pending{background:var(--color-border);color:var(--color-text-muted)}.budget-view__setup-check--pending:before{content:"○"}.budget-view__finish-setup-text{font-size:var(--font-size-sm);color:var(--color-text)}.budget-view__finish-setup-btn{background:linear-gradient(135deg,var(--ember-mid),var(--ember-core));color:#f5efe8;border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;white-space:nowrap;transition:opacity .15s}.budget-view__finish-setup-btn:disabled{opacity:.35;cursor:not-allowed}.budget-view__finish-setup-btn:hover:not(:disabled){opacity:.85}.budget-view__setup-actions{display:flex;align-items:center;gap:var(--spacing-md)}.budget-view__skip-btn{background:none;border:none;color:var(--color-text-muted);font-size:.85rem;cursor:pointer;padding:.4rem .6rem;text-decoration:underline;text-underline-offset:2px}.budget-view__skip-btn:hover{color:var(--color-text)}.budget-view__sample-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:color-mix(in srgb,var(--color-ember) 8%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-ember) 30%,transparent);border-radius:var(--radius-md)}.budget-view__sample-banner-text{flex:1;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);line-height:1.4}.budget-view__sample-banner-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.budget-view__sample-banner-cta{padding:4px 14px;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;color:#fff;background:var(--ember-core);border:none;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:background .15s}.budget-view__sample-banner-cta:hover{background:var(--ember-glow)}.budget-view__sample-banner-dismiss{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);background:none;border:none;cursor:pointer;white-space:nowrap}.budget-view__sample-banner-dismiss:hover{color:var(--color-text)}@media(max-width:600px){.budget-view__sample-banner{flex-direction:column;align-items:flex-start}}.budget-view__import-cards{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg) 0}.budget-view__import-cards-title{font-family:var(--font-display);font-size:clamp(18px,2.5vw,22px);font-weight:300;color:var(--color-text);text-align:center}.budget-view__import-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.budget-view__import-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:center;transition:border-color .15s,box-shadow .15s}.budget-view__import-card:hover{border-color:var(--ember-core);box-shadow:0 2px 12px #0000000f}.budget-view__import-card--subtle{cursor:default;opacity:.7}.budget-view__import-card--subtle:hover{border-color:var(--color-border);box-shadow:none}.budget-view__import-card-icon{font-size:var(--text-2xl);line-height:1}.budget-view__import-card-label{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.budget-view__import-card-desc{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.3}@media(max-width:768px){.budget-view__import-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.budget-view__import-cards-grid{grid-template-columns:1fr}}.budget-view__no-tx-cta{text-align:center;padding:var(--spacing-lg) var(--spacing-md);background:color-mix(in srgb,var(--ember-core) 5%,var(--color-surface));border:1px solid color-mix(in srgb,var(--ember-core) 20%,var(--color-border));border-radius:var(--radius-md)}.budget-view__no-tx-text{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);margin-bottom:var(--spacing-xs)}.budget-view__no-tx-hint{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.budget-view__no-tx-btn{padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:#fff;background:var(--ember-core);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s}.budget-view__no-tx-btn:hover{background:var(--ember-glow)}.budget-view__sub-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);padding-bottom:0;margin-bottom:var(--spacing-lg)}.budget-view__sub-tab{padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s}.budget-view__sub-tab--active{color:var(--color-text);font-weight:600;border-bottom-color:var(--ember-core)}.budget-view__sub-tab:hover:not(.budget-view__sub-tab--active){color:var(--color-text)}.budget-view__grid{display:flex;flex-direction:column;gap:var(--spacing-lg)}.budget-view__section-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--ember-core);display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm)}.budget-view__section-label:after{content:"";flex:1;height:1px;background:var(--color-border)}@media(min-width:900px){.budget-view__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.budget-view__grid>.quick-add,.budget-view__grid>.retirement-impact,.budget-view__grid>.tx-list,.budget-view__grid>.cat-breakdown,.budget-view__grid>.reconciliation{grid-column:1 / -1}.budget-view__section-label{grid-column:1 / -1}.budget-view__grid>.import-hub--full-width{grid-column:1 / -1}.budget-view__grid:has(>.import-hub--full-width)>.plan-editor{grid-column:1 / -1}.budget-view__grid:has(>.import-hub--full-width)>.budget-view__plan-side{grid-column:1 / -1}}.budget-view__plan-side{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0}.budget-view__undo-toast{position:fixed;bottom:var(--spacing-xl);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-md);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);box-shadow:0 4px 16px #00000040;z-index:100;animation:undo-slide-up .2s ease-out}@keyframes undo-slide-up{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.budget-view__undo-text{font-size:var(--font-size-sm);color:var(--color-text)}.budget-view__undo-btn{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:background .15s}.budget-view__undo-btn:hover{background:var(--color-surface-3)}.budget-view__undo-dismiss{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:0 var(--spacing-xs);line-height:1}.budget-view__undo-dismiss:hover{color:var(--color-text)}.plaid-upsell-card{position:relative;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);overflow:hidden}.plaid-upsell-card__glow{position:absolute;top:-40%;left:50%;width:600px;height:400px;transform:translate(-50%);background:radial-gradient(ellipse,rgba(232,98,42,.14) 0%,transparent 70%);pointer-events:none}.plaid-upsell-card__header{position:relative;text-align:center;max-width:560px;margin:0 auto var(--spacing-xl)}.plaid-upsell-card__badge{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-primary);background:var(--color-primary-dim);padding:4px 10px;border-radius:var(--radius-full);margin-bottom:var(--spacing-md)}.plaid-upsell-card__title{font-family:var(--font-display);font-size:clamp(28px,4vw,36px);font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--color-text);margin:0 0 var(--spacing-sm)}.plaid-upsell-card__subtitle{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-muted);margin:0;line-height:1.5}.plaid-upsell-card__benefits{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.plaid-upsell-card__benefit{padding:var(--spacing-md);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s,transform .15s}.plaid-upsell-card__benefit:hover{border-color:var(--color-primary);transform:translateY(-2px)}.plaid-upsell-card__benefit-icon{font-size:var(--text-lg);color:var(--color-primary);margin-bottom:var(--spacing-sm);line-height:1}.plaid-upsell-card__benefit-title{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:4px}.plaid-upsell-card__benefit-body{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.5}.plaid-upsell-card__trust{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-lg);font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);letter-spacing:.02em}.plaid-upsell-card__trust-mark{margin-right:4px}.plaid-upsell-card__trust-dot{color:var(--color-text-subtle)}.plaid-upsell-card__cta-row{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.plaid-upsell-card__cta{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:600;padding:var(--spacing-sm) var(--spacing-xl);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s,transform .15s;box-shadow:var(--shadow-md)}.plaid-upsell-card__cta:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.plaid-upsell-card__cta-footnote{font-family:var(--font-mono);font-size:10px;color:var(--color-text-subtle);letter-spacing:.05em}@media(max-width:768px){.plaid-upsell-card{padding:var(--spacing-lg)}.plaid-upsell-card__benefits{grid-template-columns:1fr 1fr}}@media(max-width:480px){.plaid-upsell-card__benefits{grid-template-columns:1fr}}.plaid-upsell-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(90deg,#e8622a14,#e8622a0a);border:1px solid rgba(232,98,42,.25);border-radius:var(--radius-md)}.plaid-upsell-banner__icon{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--color-primary-dim);color:var(--color-primary);font-family:var(--font-mono);font-size:14px;font-weight:700}.plaid-upsell-banner__body{flex:1;min-width:0}.plaid-upsell-banner__title{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);line-height:1.2;margin-bottom:2px}.plaid-upsell-banner__text{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.plaid-upsell-banner__cta{flex-shrink:0;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;padding:6px 14px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s;white-space:nowrap}.plaid-upsell-banner__cta:hover{background:var(--color-primary-hover)}@media(max-width:600px){.plaid-upsell-banner{flex-wrap:wrap}.plaid-upsell-banner__cta{width:100%;text-align:center}}.plaid-upsell-locked{position:relative;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);min-height:260px;overflow:hidden}.plaid-upsell-locked__preview{filter:blur(4px);opacity:.45;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;pointer-events:none;-webkit-user-select:none;user-select:none}.plaid-upsell-locked__row{display:flex;align-items:center;gap:var(--spacing-sm)}.plaid-upsell-locked__ticker{font-family:var(--font-mono);font-size:11px;color:var(--color-text);font-weight:600;width:48px}.plaid-upsell-locked__bar{height:8px;background:var(--color-primary);border-radius:var(--radius-full);flex-shrink:0}.plaid-upsell-locked__pct{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);margin-left:auto}.plaid-upsell-locked__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-lg);background:linear-gradient(180deg,#ffffff59,#ffffffe0 55%)}[data-theme=dark] .plaid-upsell-locked__overlay{background:linear-gradient(180deg,#14120e59,#14120ee0 55%)}.plaid-upsell-locked__badge{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary);background:var(--color-primary-dim);padding:2px 8px;border-radius:var(--radius-full);margin-bottom:var(--spacing-sm)}.plaid-upsell-locked__title{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-xs);max-width:320px;line-height:1.25}.plaid-upsell-locked__text{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;margin-bottom:var(--spacing-md);max-width:340px}.plaid-upsell-locked__cta{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;padding:8px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s}.plaid-upsell-locked__cta:hover{background:var(--color-primary-hover)}.accounts-hero{position:relative;padding:var(--spacing-2xl) var(--spacing-lg) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.accounts-hero__glow{position:absolute;top:30%;left:50%;width:420px;height:260px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(232,98,42,.12) 0%,transparent 70%);pointer-events:none}.accounts-hero__top{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2xl);flex-wrap:wrap}.accounts-hero__metric{text-align:center;max-width:480px}.accounts-hero__label{font-family:var(--font-mono);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.accounts-hero__amount{font-family:var(--font-display);font-size:clamp(42px,8vw,68px);font-weight:300;color:var(--color-text);line-height:1;letter-spacing:-.02em;animation:accounts-hero-fade-in .6s ease-out;font-variant-numeric:tabular-nums}.accounts-hero__amount,.accounts-view__hero-amount{font-family:var(--font-display)}.accounts-hero__delta{display:inline-flex;align-items:center;gap:4px;margin-top:var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:500;padding:2px 10px;border-radius:var(--radius-full);animation:accounts-hero-fade-in .8s ease-out}.accounts-hero__delta-arrow{font-weight:700}.accounts-hero__delta-label{font-size:var(--font-size-sm);color:inherit;opacity:.8;font-weight:400}.accounts-hero__delta--positive{color:var(--color-success);background:#2d8f6f1a}.accounts-hero__delta--negative{color:var(--color-danger);background:#c4451a1a}.accounts-hero__fi-pill{display:inline-block;margin-top:var(--spacing-sm);margin-left:var(--spacing-xs);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:2px 10px;border-radius:var(--radius-full);background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:default}.accounts-hero__breakdown{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-md);display:flex;justify-content:center;gap:var(--spacing-sm);letter-spacing:.02em}.accounts-hero__breakdown-sep{color:var(--color-text-subtle)}.accounts-hero__chart{flex-shrink:0;width:220px}.accounts-hero__plaid-banner{position:relative;max-width:720px;margin:0 auto;width:100%;animation:accounts-hero-fade-in .7s ease-out}@keyframes accounts-hero-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:860px){.accounts-hero{padding:var(--spacing-xl) var(--spacing-md) var(--spacing-md)}.accounts-hero__top{gap:var(--spacing-lg)}}@media(max-width:640px){.accounts-hero__top{flex-direction:column}.accounts-hero__chart{width:180px}.accounts-hero__breakdown{flex-direction:column;gap:2px}.accounts-hero__breakdown-sep{display:none}}.net-worth-trend{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.net-worth-trend__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap}.net-worth-trend__title{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.net-worth-trend__meta{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.net-worth-trend__meta-item{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--font-mono);font-size:11px}.net-worth-trend__meta-label{color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.net-worth-trend__meta-value{color:var(--color-text);font-weight:600;font-variant-numeric:tabular-nums}.net-worth-trend__meta-age,.net-worth-trend__meta-dot{color:var(--color-text-subtle)}.net-worth-trend__chart{height:200px;width:100%}.net-worth-trend__empty{padding:var(--spacing-lg);text-align:center;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-subtle)}.net-worth-trend--empty{min-height:120px;justify-content:center}@media(max-width:600px){.net-worth-trend__chart{height:180px}}.accounts-overview{display:flex;flex-direction:column;gap:var(--spacing-lg)}.accounts-overview__quickstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-sm)}.accounts-overview__quickstat{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;cursor:default;transition:border-color .15s,transform .15s,background .15s;min-width:0;font-family:var(--font-sans)}.accounts-overview__quickstat:not(:disabled){cursor:pointer}.accounts-overview__quickstat:not(:disabled):hover{border-color:var(--color-primary);transform:translateY(-1px);background:var(--color-surface-2)}.accounts-overview__quickstat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.accounts-overview__quickstat-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accounts-overview__quickstat-value{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:400;color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.accounts-overview__quickstat-pct{font-family:var(--font-mono);font-size:10px;color:var(--color-text-subtle);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.accounts-overview__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:stretch}.accounts-overview__card{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0}.accounts-overview__card--composition,.accounts-overview__card--trend{min-height:300px}.accounts-overview__card--holdings,.accounts-overview__card--insights{min-height:280px}.accounts-overview__card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.accounts-overview__card-title{margin:0;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.accounts-overview__card-subtitle{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-subtle)}.accounts-overview__toggle-group{display:flex;gap:2px;padding:2px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full)}.accounts-overview__toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:transparent;border:none;border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.accounts-overview__toggle:hover:not(.accounts-overview__toggle--active){color:var(--color-text)}.accounts-overview__toggle--active{background:var(--color-surface);color:var(--color-text);font-weight:600;box-shadow:var(--shadow-sm)}.accounts-overview__toggle-pro{font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;padding:1px 5px;border-radius:3px;background:var(--color-primary-dim);color:var(--color-primary)}.accounts-overview__top-holdings{display:flex;flex-direction:column;gap:2px;width:100%}.accounts-overview__top-holding{display:grid;grid-template-columns:56px minmax(60px,100px) minmax(0,1fr) 36px auto;align-items:center;gap:var(--spacing-sm);padding:6px 0;border-bottom:1px solid var(--color-border-light, var(--color-border));font-family:var(--font-sans);font-size:var(--font-size-sm)}.accounts-overview__top-holding:last-child{border-bottom:none}.accounts-overview__top-holding--remainder{color:var(--color-text-muted);font-style:italic}.accounts-overview__top-holding-ticker{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--color-text)}.accounts-overview__top-holding--remainder .accounts-overview__top-holding-ticker{color:var(--color-text-subtle);font-weight:400;font-style:normal}.accounts-overview__top-holding-bar-wrap{height:6px;background:var(--color-surface-2);border-radius:var(--radius-full);overflow:hidden;min-width:40px}.accounts-overview__top-holding-bar{display:block;height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .4s ease}.accounts-overview__top-holding--remainder .accounts-overview__top-holding-bar-wrap{background:transparent}.accounts-overview__top-holding-name{color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.accounts-overview__top-holding-pct{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:right}.accounts-overview__top-holding-value{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;display:flex;align-items:center;gap:4px}.accounts-overview__top-holding-currency{font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 3px;letter-spacing:.04em;line-height:1.2}.accounts-overview__top-holding-fuzzy{font-family:var(--font-mono);font-size:10px;color:var(--color-text-subtle);margin-left:3px;cursor:help;opacity:.6}@media(max-width:640px){.accounts-overview__top-holding{grid-template-columns:48px minmax(0,1fr) 36px auto;gap:var(--spacing-xs)}.accounts-overview__top-holding-bar-wrap{display:none}}.accounts-overview__holdings-empty{padding:var(--spacing-lg);text-align:center;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-subtle);background:var(--color-surface-2);border:1px dashed var(--color-border);border-radius:var(--radius-md);min-height:200px;display:flex;align-items:center;justify-content:center}.accounts-overview__insights-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.accounts-overview__insight{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2)}.accounts-overview__insight-icon{flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}.accounts-overview__insight--success .accounts-overview__insight-icon{background:var(--color-success-dim);color:var(--color-success)}.accounts-overview__insight--warning .accounts-overview__insight-icon{background:var(--color-warning-dim);color:var(--color-warning)}.accounts-overview__insight--danger .accounts-overview__insight-icon{background:var(--color-danger-dim);color:var(--color-danger)}.accounts-overview__insight--ember .accounts-overview__insight-icon{background:var(--color-primary-dim);color:var(--color-primary)}.accounts-overview__insight-body{flex:1;min-width:0}.accounts-overview__insight-title{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:2px;line-height:1.3}.accounts-overview__insight-text{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.5}.accounts-overview__footer{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);padding-top:var(--spacing-sm)}.accounts-overview__footer-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:6px 14px;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.accounts-overview__footer-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-dim)}@media(max-width:960px){.accounts-overview__row{grid-template-columns:1fr}}.accounts-connections{display:flex;flex-direction:column;gap:var(--spacing-xl)}.accounts-connections__status-section,.accounts-connections__compare-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.accounts-connections__section-title{margin:0;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.accounts-connections__status-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.accounts-connections__reconnect-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(90deg,#e8622a1a,#e8622a0d);border:1px solid var(--color-primary);border-radius:var(--radius-md);flex-wrap:wrap;margin-bottom:var(--spacing-sm)}.accounts-connections__reconnect-icon{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--color-primary-dim);color:var(--color-primary);font-family:var(--font-mono);font-size:14px;font-weight:700}.accounts-connections__reconnect-body{flex:1;min-width:0}.accounts-connections__reconnect-title{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);line-height:1.3}.accounts-connections__reconnect-text{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.5}.accounts-connections__reconnect-cta{flex-shrink:0;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;padding:6px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s}.accounts-connections__reconnect-cta:hover{background:var(--color-primary-hover)}.accounts-connections__plaid-name{display:inline-flex;align-items:center;gap:6px}.accounts-connections__pro-pill{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;padding:1px 6px;border-radius:3px;background:var(--color-primary-dim);color:var(--color-primary);font-weight:600}.accounts-connections__pro-pill--small{font-size:8px;padding:1px 5px}.accounts-connections__compare-table{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.accounts-connections__compare-row{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr 1fr;align-items:center}.accounts-connections__compare-row+.accounts-connections__compare-row{border-top:1px solid var(--color-border)}.accounts-connections__compare-row--header{background:var(--color-surface-2)}.accounts-connections__compare-cell{padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);display:flex;align-items:center;gap:6px}.accounts-connections__compare-row--header .accounts-connections__compare-cell{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);font-weight:600}.accounts-connections__compare-cell--feature{color:var(--color-text)}.accounts-connections__compare-cell--manual,.accounts-connections__compare-cell--plaid{justify-content:center;text-align:center}.accounts-connections__compare-cell--plaid{background:linear-gradient(180deg,rgba(232,98,42,.04),transparent)}.accounts-connections__compare-plaid-label{font-family:var(--font-mono)}.accounts-connections__cell-yes{color:var(--color-success);font-weight:700;font-size:var(--text-base)}.accounts-connections__cell-no{color:var(--color-text-subtle);font-size:var(--text-base)}.accounts-connections__cell-text{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text)}.accounts-connections__compare-cta-row{display:flex;justify-content:center;padding-top:var(--spacing-xs)}.accounts-connections__compare-cta{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;padding:8px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s}.accounts-connections__compare-cta:hover{background:var(--color-primary-hover)}@media(max-width:600px){.accounts-connections__compare-row{grid-template-columns:minmax(0,2fr) 1fr 1fr}.accounts-connections__compare-cell{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}.accounts-connections__manage-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.accounts-connections__manage-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.accounts-connections__primary-cta{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;padding:8px 18px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s,filter .15s}.accounts-connections__primary-cta:hover:not(:disabled){background:var(--color-primary-hover)}.accounts-connections__primary-cta:disabled{opacity:.6;cursor:wait}.accounts-connections__items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.accounts-connections__empty{padding:var(--spacing-lg);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:center}.accounts-connections__empty-title{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:600;color:var(--color-text);margin-bottom:4px}.accounts-connections__empty-text{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;max-width:520px;margin:0 auto}.accounts-connections__item-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.accounts-connections__item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.accounts-connections__item-identity{flex:1;min-width:0}.accounts-connections__item-name{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:600;color:var(--color-text);line-height:1.2;display:flex;align-items:center;gap:8px}.accounts-connections__item-brand{display:flex;align-items:center;flex-shrink:0}.accounts-connections__item-logo{width:28px;height:28px;border-radius:4px;object-fit:contain}.accounts-connections__item-logo-fallback{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-mono);font-size:14px;font-weight:600;flex-shrink:0}.accounts-connections__item-meta{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.accounts-connections__item-notice{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:6px 10px;background:var(--color-surface-2);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-wrap:wrap}.accounts-connections__item-notice--error{background:var(--color-danger-dim, rgba(196, 69, 26, .08));border:1px solid var(--color-danger, #A5400F);color:var(--color-text)}.accounts-connections__item-action-link{background:none;border:none;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);cursor:pointer;padding:0}.accounts-connections__item-action-link:hover:not(:disabled){text-decoration:underline}.accounts-connections__item-action-link--strong{font-weight:700;color:var(--color-danger, #A5400F)}.accounts-connections__item-card--flagged{border-left:3px solid var(--color-danger, #A5400F);background:linear-gradient(90deg,var(--color-danger-dim, rgba(196, 69, 26, .04)),var(--color-surface) 40%)}.accounts-connections__item-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-danger, #A5400F);margin-right:8px;vertical-align:middle;animation:accounts-connections__status-pulse 1.8s ease-out 2}@keyframes accounts-connections__status-pulse{0%,to{box-shadow:0 0 #c4451a00}50%{box-shadow:0 0 0 4px #c4451a59}}.accounts-connections__item-action-link:disabled{opacity:.5;cursor:wait}.accounts-connections__item-accounts{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) 0;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border)}.accounts-connections__item-account-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:4px 0;font-family:var(--font-sans);font-size:var(--font-size-sm)}.accounts-connections__item-account-name{color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounts-connections__item-account-owner,.accounts-connections__item-account-type{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.accounts-connections__item-account-owner-label,.accounts-connections__item-account-type-label{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle)}.accounts-connections__item-account-owner-select,.accounts-connections__item-account-type-select{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px 6px;cursor:pointer}.accounts-connections__item-account-row--skipped{opacity:.55}.accounts-connections__item-account-row--skipped .accounts-connections__item-account-name{text-decoration:line-through;text-decoration-color:var(--color-text-subtle);text-decoration-thickness:1px}.accounts-connections__item-account-meta{font-family:var(--font-mono);font-size:10px;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.accounts-connections__item-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.accounts-connections__item-action{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:5px 12px;background:none;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.accounts-connections__item-action:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-subtle);background:var(--color-surface-2)}.accounts-connections__item-action:disabled{opacity:.5;cursor:wait}.accounts-connections__item-action--primary{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-text-subtle)}.accounts-connections__item-action--danger:hover:not(:disabled){color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-dim)}.accounts-connections__error{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-danger-dim);border:1px solid var(--color-danger);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-danger)}.accounts-connections__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}.accounts-connections__orphan-review{border:1px solid var(--color-primary);background:linear-gradient(180deg,var(--color-primary-dim),transparent);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.accounts-connections__orphan-header{display:flex;flex-direction:column;gap:4px}.accounts-connections__orphan-title{font-family:var(--font-display, var(--font-sans));font-size:var(--font-size-lg);font-weight:500;color:var(--color-text);line-height:1.2}.accounts-connections__orphan-subtitle{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.accounts-connections__orphan-pairs{display:flex;flex-direction:column;gap:var(--spacing-xs)}.accounts-connections__orphan-pair{display:grid;grid-template-columns:1fr auto 1fr auto;gap:var(--spacing-sm);align-items:center;padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.accounts-connections__orphan-pair-side{min-width:0}.accounts-connections__orphan-pair-label{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle)}.accounts-connections__orphan-pair-name{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounts-connections__orphan-pair-meta{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.accounts-connections__orphan-pair-arrow{font-family:var(--font-mono);color:var(--color-text-subtle);font-size:14px}.accounts-connections__orphan-merge-btn{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:6px 14px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:filter .15s}.accounts-connections__orphan-merge-btn:hover{filter:brightness(.9)}.accounts-connections__orphan-footer{display:flex;justify-content:flex-end}.accounts-connections__orphan-dismiss{background:none;border:none;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);cursor:pointer;padding:4px 10px}.accounts-connections__orphan-dismiss:hover{color:var(--color-text)}.accounts-connections__duplicate-prompt{border:1px solid var(--color-warning);background:linear-gradient(180deg,rgba(232,98,42,.08),transparent);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.accounts-connections__duplicate-header{display:flex;flex-direction:column;gap:4px}.accounts-connections__duplicate-title{font-family:var(--font-display, var(--font-sans));font-size:var(--font-size-lg);font-weight:500;color:var(--color-text);line-height:1.2}.accounts-connections__duplicate-subtitle{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.accounts-connections__duplicate-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-xs)}.accounts-connections__duplicate-btn{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:6px 14px;background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.accounts-connections__duplicate-btn:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-subtle);background:var(--color-surface)}.accounts-connections__duplicate-btn:disabled{opacity:.5;cursor:wait}.accounts-connections__duplicate-btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.accounts-connections__duplicate-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.accounts-connections__duplicate-btn--cancel{background:none;border:none;padding:6px 10px}.accounts-connections__duplicate-btn--cancel:hover:not(:disabled){background:transparent;border:none;color:var(--color-text-muted)}@media(max-width:640px){.accounts-connections__item-header{flex-direction:column;align-items:flex-start}.accounts-connections__item-actions{width:100%}.accounts-connections__item-action{flex:1;min-width:0}.accounts-connections__orphan-pair{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.accounts-connections__orphan-pair-arrow{display:none}.accounts-connections__duplicate-actions{flex-direction:column}.accounts-connections__duplicate-btn{flex:1}}.accounts-connections__mortgage-matcher{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-2);border-radius:var(--radius-sm);font-family:var(--font-sans)}.accounts-connections__mortgage-matcher-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text);margin:0 0 6px;text-transform:uppercase;letter-spacing:.05em}.accounts-connections__mortgage-matcher-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--spacing-sm) 0;line-height:1.4}.accounts-connections__mortgage-matcher-no-properties{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0;line-height:1.4}.accounts-connections__mortgage-matcher-options{display:flex;flex-direction:column;gap:4px}.accounts-connections__mortgage-matcher-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 8px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text);text-align:left}.accounts-connections__mortgage-matcher-option:hover{background:var(--color-surface);border-color:var(--color-border)}.accounts-connections__mortgage-matcher-option-radio{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;border:2px solid var(--color-text-muted);border-radius:50%;transition:border-color .15s,background .15s}.accounts-connections__mortgage-matcher-option:hover .accounts-connections__mortgage-matcher-option-radio{border-color:var(--color-primary)}.accounts-connections__mortgage-matcher-option:active .accounts-connections__mortgage-matcher-option-radio{border-color:var(--color-primary);background:var(--color-primary);box-shadow:inset 0 0 0 3px var(--color-surface-2)}.accounts-connections__mortgage-matcher-option-label{flex:1;font-weight:500}.accounts-connections__mortgage-matcher--matched{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:6px 10px;background:#22c55e0d;border-radius:var(--radius-sm);border:1px solid var(--color-success);flex-wrap:wrap}.accounts-connections__mortgage-matcher-matched-content{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-text)}.accounts-connections__mortgage-matcher-matched-check{color:var(--color-success);font-weight:700}.accounts-connections__mortgage-matcher-matched-label{font-weight:500}.accounts-connections__mortgage-matcher-change-btn{flex-shrink:0;background:none;border:none;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);cursor:pointer;padding:0;transition:color .15s}.accounts-connections__mortgage-matcher-change-btn:hover{color:var(--color-primary-hover);text-decoration:underline}.accounts-connections__item-sync-result{margin-top:8px;padding:6px 10px;border-radius:6px;background:var(--color-success-bg, rgba(34, 197, 94, .08));color:var(--color-success, #16a34a);font-size:var(--text-xs);font-weight:500;letter-spacing:.01em;animation:fade-out-delayed 8s ease-out forwards}@keyframes fade-out-delayed{0%,80%{opacity:1}to{opacity:0}}.holdings-drawer{margin-top:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.holdings-drawer--locked{border-style:dashed;background:linear-gradient(90deg,rgba(232,98,42,.04),transparent 70%);display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.holdings-drawer__locked-body{display:flex;align-items:center;gap:var(--spacing-xs);flex:1;min-width:0}.holdings-drawer__locked-icon{font-size:14px;color:var(--color-primary);flex-shrink:0}.holdings-drawer__locked-text{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.holdings-drawer__locked-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;padding:4px 12px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s}.holdings-drawer__locked-cta:hover{background:var(--color-primary-hover)}.holdings-drawer__locked-badge{font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.1em;padding:1px 5px;border-radius:3px;background:#ffffff38;color:#fff}.holdings-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.holdings-drawer__header-label{color:var(--color-text-muted);font-weight:600}.holdings-drawer__header-source{color:var(--color-text-subtle)}.holdings-drawer__rows{display:flex;flex-direction:column}.holdings-drawer__row{display:grid;grid-template-columns:56px 1fr 44px auto;align-items:center;gap:var(--spacing-sm);padding:4px 0;border-bottom:1px solid var(--color-border-light);font-family:var(--font-mono);font-size:11px}.holdings-drawer__row:last-child{border-bottom:none}.holdings-drawer__row-ticker{font-weight:600;color:var(--color-text)}.holdings-drawer__row-name{color:var(--color-text-muted);font-family:var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.holdings-drawer__row-pct{font-variant-numeric:tabular-nums;color:var(--color-text-muted);text-align:right}.holdings-drawer__row-value{font-variant-numeric:tabular-nums;color:var(--color-text);text-align:right}.holdings-drawer__empty{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-subtle);font-style:italic}.inline-money-field{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:transparent;border:1px dashed transparent;padding:2px 8px 2px 4px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s;max-width:100%;text-align:left}.inline-money-field:hover{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.inline-money-field__label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);flex-shrink:0}.inline-money-field__value{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text);font-variant-numeric:tabular-nums}.inline-money-field--empty .inline-money-field__value{color:var(--color-primary);font-style:italic}.inline-money-field__pencil{font-size:10px;color:var(--color-text-subtle);opacity:0;transition:opacity .15s}.inline-money-field:hover .inline-money-field__pencil{opacity:1}.inline-money-field--error{border-color:var(--color-danger);color:var(--color-danger)}.inline-money-field--error .inline-money-field__value{color:var(--color-danger)}.inline-money-field__error-msg{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-danger);margin-left:var(--spacing-xs)}.inline-money-field--editing{padding:2px 4px;border:1px solid var(--color-primary);background:var(--color-surface);border-radius:var(--radius-sm);cursor:text}.inline-money-field__input-wrap{display:inline-flex;align-items:center;gap:2px}.inline-money-field__currency{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-subtle)}.inline-money-field__input{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text);background:transparent;border:none;padding:0;width:80px;outline:none;font-variant-numeric:tabular-nums}.inline-money-field--display{padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;display:inline-flex;align-items:baseline;gap:6px;min-width:0}.inline-money-field--display:hover{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.inline-money-field--display .inline-money-field__value{font-family:var(--font-display);font-size:clamp(18px,2.2vw,22px);font-weight:400;color:var(--color-text);letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1}.inline-money-field--display.inline-money-field--empty .inline-money-field__value{font-style:italic;font-size:var(--font-size-sm);color:var(--color-primary)}.inline-money-field--display .inline-money-field__pencil{font-size:11px;color:var(--color-text-subtle);opacity:0}.inline-money-field--display:hover .inline-money-field__pencil,.inline-money-field--display:focus .inline-money-field__pencil{opacity:1}.inline-money-field--display.inline-money-field--editing{padding:2px 8px;border-color:var(--color-primary);background:var(--color-surface);cursor:text}.inline-money-field--display .inline-money-field__currency{font-family:var(--font-display);font-size:clamp(18px,2.2vw,22px);color:var(--color-text-subtle);line-height:1}.inline-money-field--display .inline-money-field__input{font-family:var(--font-display);font-size:clamp(18px,2.2vw,22px);color:var(--color-text);font-weight:400;letter-spacing:-.01em;line-height:1;width:140px;text-align:right}.inline-money-field--readonly{cursor:default;border-color:transparent;background:transparent}.inline-money-field--readonly:hover{background:transparent;border-color:transparent;color:var(--color-text)}.inline-money-field--readonly .inline-money-field__value{color:var(--color-text)}.inline-money-field__lock{font-size:9px;opacity:0;transition:opacity .15s;margin-left:2px;filter:grayscale(1)}.inline-money-field--readonly:hover .inline-money-field__lock{opacity:.55}@media(hover:none){.inline-money-field__lock{opacity:.5}}.inline-money-field--display.inline-money-field--readonly .inline-money-field__lock{font-size:10px;align-self:center;margin-left:4px}.add-account-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs) var(--spacing-sm);padding:var(--spacing-sm) 0}.add-account-strip__label{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);flex-shrink:0;max-width:100%}.add-account-strip__sep{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:11px;flex-shrink:0}.add-account-strip__pills{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);flex:1 1 0;min-width:0}.add-account-strip__pill{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;background:transparent;border:1px solid var(--color-primary);border-radius:var(--radius-full);color:var(--color-primary);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.add-account-strip__pill:hover{background:var(--color-primary);color:#fff}.add-account-strip__pill--ghost{border-color:var(--color-border);color:var(--color-text-muted)}.add-account-strip__pill--ghost:hover{border-color:var(--color-primary);background:var(--color-primary-dim);color:var(--color-primary)}.add-account-strip__pill-plus{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;line-height:1}.add-account-strip__pill-another{color:var(--color-text-subtle);font-style:italic}.add-account-strip__pill--ghost:hover .add-account-strip__pill-another{color:var(--color-primary)}.investments-advanced{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.investments-advanced__toggle{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;text-align:left;cursor:pointer;font-family:var(--font-sans);transition:background .15s}.investments-advanced__toggle:hover{background:var(--color-surface-2)}.investments-advanced__toggle-arrow{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);width:1em;flex-shrink:0}.investments-advanced__toggle-label{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);flex-shrink:0}.investments-advanced__toggle-summary{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-left:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.investments-advanced__body{border-top:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);animation:inv-adv-reveal .2s ease-out}@keyframes inv-adv-reveal{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.investments-advanced__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:var(--spacing-lg);padding:var(--spacing-sm) 0}.investments-advanced__row+.investments-advanced__row{border-top:1px dashed var(--color-border-light, var(--color-border))}.investments-advanced__row-heading{min-width:0}.investments-advanced__row-title{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:2px}.investments-advanced__row-desc{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.investments-advanced__row-control{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.investments-advanced__row-control--fields{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.investments-advanced__person-block{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xs)}.investments-advanced__person-block+.investments-advanced__person-block{padding-top:var(--spacing-sm);border-top:1px dotted var(--color-border-light, var(--color-border))}.investments-advanced__person-header{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.investments-advanced__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-sm);align-items:end}.investments-advanced__match-picker-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.investments-advanced__match-picker-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);flex-shrink:0}.investments-advanced__match-picker{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer;min-width:180px;transition:border-color .15s}.investments-advanced__match-picker:hover,.investments-advanced__match-picker:focus{border-color:var(--color-primary);outline:none}.investments-advanced__multi-match-hint{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-primary);cursor:pointer;border-bottom:1px dashed currentColor;line-height:1.4;transition:color .15s}.investments-advanced__multi-match-hint:hover{color:var(--color-primary-hover)}.investments-advanced__multi-match-hint-badge{font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.1em;padding:1px 5px;border-radius:3px;background:var(--color-primary-dim);color:var(--color-primary);font-weight:600}.investments-advanced__upgrade{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;padding:6px 14px;background:transparent;border:1px solid var(--color-primary);border-radius:var(--radius-full);color:var(--color-primary);cursor:pointer;transition:background .15s,color .15s}.investments-advanced__upgrade:hover{background:var(--color-primary);color:#fff}.investments-advanced__pro-badge{font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.1em;padding:1px 5px;border-radius:3px;background:var(--color-primary-dim);color:var(--color-primary);font-weight:600}.investments-advanced__upgrade:hover .investments-advanced__pro-badge{background:#ffffff38;color:#fff}@media(max-width:640px){.investments-advanced__row{grid-template-columns:1fr;gap:var(--spacing-sm)}.investments-advanced__toggle-summary{display:none}}.investments-subtotal{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);animation:investments-subtotal-fade-in .4s ease-out}@keyframes investments-subtotal-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.investments-subtotal__label{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted)}.investments-subtotal__row{display:flex;align-items:baseline;gap:var(--spacing-lg);flex-wrap:wrap}.investments-subtotal__amount{font-family:var(--font-display);font-size:clamp(28px,4vw,36px);font-weight:400;letter-spacing:-.01em;color:var(--color-text);font-variant-numeric:tabular-nums;line-height:1}.investments-subtotal__sliver{display:flex;flex:1;min-width:160px;max-width:360px;height:8px;border-radius:var(--radius-full);overflow:hidden;background:var(--color-surface-3, var(--color-surface));align-self:center}.investments-subtotal__sliver-segment{min-width:2px;transition:width .4s ease}.investments-subtotal__sliver-segment+.investments-subtotal__sliver-segment{border-left:1px solid var(--color-surface)}.investments-subtotal__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--color-text-muted)}.investments-subtotal__meta-count{color:var(--color-text-muted)}.investments-subtotal__meta-sep{color:var(--color-text-subtle)}.investments-subtotal__meta-alloc{display:inline-flex;align-items:center;gap:4px}.investments-subtotal__meta-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.investments-subtotal__meta-alloc-label{color:var(--color-text)}.investments-subtotal__meta-alloc-pct{color:var(--color-text-subtle);font-variant-numeric:tabular-nums}@media(max-width:640px){.investments-subtotal{padding:var(--spacing-sm) var(--spacing-md)}.investments-subtotal__row{gap:var(--spacing-md)}.investments-subtotal__sliver{width:100%;max-width:none}}.select-input{display:flex;flex-direction:column;gap:var(--spacing-xs)}.select-input__label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500;white-space:nowrap;overflow:visible}.select-input__field{padding:6px var(--spacing-sm);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;appearance:auto;transition:border-color .15s;min-width:0;width:100%}.select-input__field:focus{outline:none;border-color:var(--color-primary)}.select-input__field option{background:var(--color-surface-2)}.accounts-view{max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.accounts-view__sub-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);padding-bottom:0;margin:0 calc(var(--spacing-sm) * -1);padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.accounts-view__sub-tab{padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.accounts-view__sub-tab--active{color:var(--color-text);font-weight:600;border-bottom-color:var(--color-primary)}.accounts-view__sub-tab:hover:not(.accounts-view__sub-tab--active){color:var(--color-text)}.accounts-view__tab-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.accounts-view__tab-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.accounts-view__tab-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:400;letter-spacing:-.01em;margin:0;color:var(--color-text)}.accounts-view__room-footer{margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.accounts-view__room-footer-label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.accounts-view__holdings-link{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:2px 6px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);cursor:pointer;transition:color .15s,background .15s;flex-shrink:0;border-radius:var(--radius-sm)}.accounts-view__holdings-link:hover{color:var(--color-primary);background:var(--color-primary-dim)}.accounts-view__holdings-link-chevron{font-size:10px;color:inherit;width:.8em}.accounts-view__holdings-link-pro{font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.1em;padding:1px 5px;border-radius:3px;background:var(--color-primary-dim);color:var(--color-primary);margin-left:2px;font-weight:600}.accounts-view__hero{text-align:center;padding:var(--spacing-2xl) 0 var(--spacing-xl)}.accounts-view__hero-label{font-family:var(--font-mono);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.accounts-view__hero-amount{font-family:var(--font-display);font-size:clamp(42px,8vw,64px);font-weight:300;color:var(--color-text);line-height:1;letter-spacing:-.02em;animation:accounts-fade-in .6s ease-out}.accounts-view__hero-subtotals{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs);display:flex;justify-content:center;gap:var(--spacing-sm);letter-spacing:.02em}.accounts-view__hero-breakdown{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-sm);display:flex;justify-content:center;gap:var(--spacing-sm);letter-spacing:.02em}.accounts-view__hero-sep{color:var(--color-text-subtle)}@keyframes accounts-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.allocation-bar-group{margin-top:var(--spacing-md);max-width:320px;margin-left:auto;margin-right:auto}.allocation-bar-group+.allocation-bar-group{margin-top:var(--spacing-sm)}.allocation-bar__label{font-family:var(--font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);margin-bottom:4px}.allocation-bar{display:flex;height:6px;border-radius:var(--radius-full);overflow:hidden;background:var(--color-surface-2)}.allocation-bar__segment{min-width:3px;transition:width .4s ease}.allocation-bar__legend{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-sm);margin-top:4px}.allocation-bar__legend-item{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9px;color:var(--color-text-subtle);letter-spacing:.02em}.allocation-bar__legend-dot{width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0}.accounts-view__section{margin-bottom:0}.accounts-view__section-title{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:600;color:var(--color-text);margin:0;letter-spacing:.01em}.accounts-view__section-title--serif{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:400;letter-spacing:-.01em;margin-bottom:var(--spacing-md)}.accounts-view__section--partner{padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.accounts-view__category{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.accounts-view__category-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;cursor:pointer;text-align:left;transition:background .15s}.accounts-view__category-header:hover{background:var(--color-surface-2)}.accounts-view__category-header--investments{cursor:default;padding:0}.accounts-view__category-header--investments:hover{background:none}.accounts-view__category-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;cursor:pointer;text-align:left;transition:background .15s}.accounts-view__category-toggle:hover{background:var(--color-surface-2);border-radius:var(--radius-sm)}.accounts-view__category-arrow{font-size:var(--font-size-sm);color:var(--color-text-muted);width:1em}.accounts-view__partner-note{margin:0 var(--spacing-lg) var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:color-mix(in srgb,var(--ember-core) 6%,var(--color-surface));border-left:3px solid var(--ember-core);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--font-size-sm);color:var(--color-text);line-height:1.5}.accounts-view__partner-note strong{color:var(--ember-core);font-weight:600}.accounts-view__columns{padding:0 var(--spacing-lg) var(--spacing-lg)}.accounts-view__columns--duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.accounts-view__person-col{min-width:0}.accounts-view__person-label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}@media(max-width:768px){.accounts-view__columns--duo{grid-template-columns:1fr}.accounts-view__category-header{padding:var(--spacing-sm) var(--spacing-md)}.accounts-view__category-header--investments{padding:0}.accounts-view__category-toggle{padding:var(--spacing-sm) var(--spacing-md)}.accounts-view__columns{padding:0 var(--spacing-md) var(--spacing-md)}.accounts-view__add-cash-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}}.accounts-view__groups{display:flex;flex-direction:column;gap:var(--spacing-md)}.accounts-view__group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.accounts-view__group:hover{border-color:var(--color-border-light);box-shadow:var(--shadow-sm)}.accounts-view__group-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-2)}.accounts-view__group-color{width:4px;height:20px;border-radius:2px;flex-shrink:0}.accounts-view__group-label{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;text-transform:none;letter-spacing:.01em;color:var(--color-text);flex:1}.accounts-view__group-total{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-left:auto}.accounts-view__group-badge{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;padding:1px 6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);flex-shrink:0}.accounts-view__group-rows{padding:0}.accounts-view__account-row{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light, var(--color-border));display:flex;flex-direction:column;gap:2px;transition:background .15s ease}.accounts-view__account-row:hover{background:var(--color-surface-2)}.accounts-view__account-row:last-child{border-bottom:none}.accounts-view__account-row-main{display:flex;align-items:center;gap:var(--spacing-md);min-width:0}.accounts-view__account-row-identity{flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.accounts-view__account-row-balance{flex-shrink:0;text-align:right;min-width:0}.accounts-view__account-row-sub{display:flex;align-items:center;gap:var(--spacing-md);min-width:0;min-height:22px}.accounts-view__account-row-meta{flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.accounts-view__account-row-type{color:var(--color-text-muted);font-weight:500}.accounts-view__account-row-source{color:var(--color-text-subtle);text-transform:capitalize}.accounts-view__account-row-sample-chip{font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-ember);background:color-mix(in srgb,var(--color-ember) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-ember) 30%,transparent);padding:1px 6px;border-radius:var(--radius-sm);margin-left:4px;flex-shrink:0}.accounts-view__account-row-sep{color:var(--color-text-subtle);opacity:.6;font-size:10px}.accounts-view__account-row-actions{display:inline-flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}@media(max-width:640px){.accounts-view__account-row{padding:var(--spacing-sm) var(--spacing-md);gap:4px}.accounts-view__account-row-main{flex-direction:column;align-items:flex-start;gap:2px}.accounts-view__account-row-balance{text-align:left;align-self:flex-start}.accounts-view__account-row-sub{flex-direction:column;align-items:flex-start;gap:4px}.accounts-view__account-row-actions{align-self:flex-end}}.accounts-view__institution-badge{width:22px;height:22px;border-radius:50%;background:var(--color-surface-2);color:var(--color-text-muted);font-family:var(--font-sans);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--color-border)}.accounts-view__match-pill{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;font-family:var(--font-mono);font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);background:var(--color-primary-dim);border:1px solid var(--color-primary);border-radius:6px;padding:2px 5px;flex-shrink:0;white-space:nowrap;font-weight:600;gap:1px}.accounts-view__match-pill-line{display:block}.accounts-view__match-pill-line+.accounts-view__match-pill-line{color:var(--color-primary);opacity:.85}.accounts-view__match-ghost{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:7px;text-transform:uppercase;letter-spacing:.08em;background:transparent;border:1px dashed var(--color-border);border-radius:6px;padding:2px 5px;color:var(--color-text-subtle);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity .15s ease,color .15s,border-color .15s,background .15s;line-height:1;font-weight:600;white-space:nowrap}.accounts-view__account-row:hover .accounts-view__match-ghost,.accounts-view__account-row:focus-within .accounts-view__match-ghost,.accounts-view__match-ghost:focus{opacity:1}.accounts-view__match-ghost:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-dim);opacity:1}.accounts-view__match-ghost-plus{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;line-height:1;color:inherit;display:inline-flex;align-items:center}.accounts-view__match-ghost-text{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px}.accounts-view__match-ghost-line{display:block}@media(hover:none),(max-width:640px){.accounts-view__match-ghost{opacity:1}}.accounts-view__source-pill{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;padding:1px 6px;flex-shrink:0;white-space:nowrap}.accounts-view__editable-label{background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);padding:2px 4px;border-radius:var(--radius-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:80px;text-align:left;transition:background .15s ease}.accounts-view__editable-label:hover{background:var(--color-surface-2)}.accounts-view__editable-label-input{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:2px 4px;min-width:80px;outline:none}.accounts-view__delete-btn{opacity:.55;transition:opacity .15s ease,color .15s,background .15s;padding:2px 8px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;background:none;border:none;color:var(--color-text-subtle);cursor:pointer;border-radius:var(--radius-sm);line-height:1.4;flex-shrink:0}.accounts-view__account-row:hover .accounts-view__delete-btn{opacity:1}.accounts-view__delete-btn:focus{opacity:1}@media(hover:none),(max-width:640px){.accounts-view__delete-btn{opacity:1}}.accounts-view__delete-btn:hover:not(:disabled){color:var(--color-danger);background:var(--color-danger-dim)}.accounts-view__delete-btn:disabled{opacity:.3!important;cursor:not-allowed}.accounts-view__delete-confirm{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px 8px;background:var(--color-danger-dim, rgba(196, 69, 26, .08));border:1px solid var(--color-danger, #A5400F);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-text);white-space:nowrap;animation:delete-confirm-in .15s ease-out;flex-wrap:wrap}@keyframes delete-confirm-in{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}.accounts-view__delete-confirm-text{color:var(--color-text-muted);font-size:11px}.accounts-view__delete-confirm-btn{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;background:var(--color-danger, #A5400F);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.accounts-view__delete-confirm-btn:hover{background:var(--color-primary-hover, #A5400F);filter:brightness(.9)}.accounts-view__delete-cancel-btn{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;background:none;color:var(--color-text-muted);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background .15s}.accounts-view__delete-cancel-btn:hover{color:var(--color-text);background:var(--color-surface-2)}.accounts-view__view-txns-btn{background:none;border:none;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--color-text-muted);cursor:pointer;padding:2px 6px;letter-spacing:.05em;transition:color .15s,background .15s;border-radius:var(--radius-sm)}.accounts-view__view-txns-btn:hover{color:var(--color-primary);background:var(--color-primary-dim)}.accounts-view__add-btn{display:block;width:100%;padding:var(--spacing-xs) var(--spacing-md);background:none;border:none;border-top:1px solid var(--color-border);cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--color-text-subtle);text-align:left;transition:color .15s ease,background .15s ease}.accounts-view__add-btn:hover{color:var(--color-primary);background:var(--color-surface-2)}.accounts-view__cash-section{margin-top:var(--spacing-lg)}.accounts-view__cash-title{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.accounts-view__add-cash-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.accounts-view__add-cash-btn{background:none;border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;transition:color .15s,border-color .15s}.accounts-view__add-cash-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.accounts-view__insights-section{padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.accounts-view__insights{display:flex;flex-direction:column;gap:var(--spacing-sm)}.insight-card{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);transition:background .2s ease}.insight-card:hover{background:var(--color-surface-3)}.insight-card__icon{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;line-height:1}.insight-card--success .insight-card__icon{background:var(--color-success-dim);color:var(--color-success)}.insight-card--warning .insight-card__icon{background:var(--color-warning-dim);color:var(--color-warning)}.insight-card--danger .insight-card__icon{background:var(--color-danger-dim);color:var(--color-danger)}.insight-card--ember .insight-card__icon{background:var(--color-primary-dim);color:var(--color-primary)}.insight-card__content{flex:1;min-width:0}.insight-card__title{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:2px;line-height:1.3}.insight-card__body{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.5}.accounts-view__connect-section{margin-top:var(--spacing-lg)}.accounts-view__connect-title{font-family:var(--font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin:0 0 var(--spacing-sm)}.accounts-view__connectors{display:flex;flex-direction:column;gap:var(--spacing-sm)}.accounts-view__connector{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm)}.accounts-view__connector--coming-soon{opacity:.6}.accounts-view__connector-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.accounts-view__connector-name{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.accounts-view__connector-badge{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-primary-dim);color:var(--color-primary)}.accounts-view__connector-badge--soon{background:var(--color-surface-2);color:var(--color-text-subtle)}.accounts-view__connector-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}@media(max-width:600px){.accounts-view{padding:var(--spacing-md)}.accounts-view__hero{padding:var(--spacing-xl) 0 var(--spacing-md)}.accounts-view__insights-section{padding:var(--spacing-md)}.insight-card{padding:var(--spacing-sm)}.accounts-view__hero-breakdown,.accounts-view__hero-subtotals{flex-direction:column;gap:2px}.accounts-view__hero-sep{display:none}.accounts-view__account-row-main{flex-wrap:wrap}.accounts-view__account-row-balance{max-width:none;flex-basis:100%;order:3;margin-top:var(--spacing-xs)}.accounts-view__editable-label{flex:1}}.accounts-view__room{margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface-2);border-radius:var(--radius-md);border:1px solid var(--color-border)}.accounts-view__room-title{font-family:var(--font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);margin-bottom:var(--spacing-sm)}.accounts-view__room-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:600px){.accounts-view__room-fields{grid-template-columns:1fr}.accounts-view__room{padding:var(--spacing-sm) var(--spacing-md)}}.accounts-view__pro-badge{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;padding:1px 6px;border-radius:3px;background:var(--color-primary-dim);color:var(--color-primary)}.accounts-view__account-row-rate{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.accounts-view__account-row-rate .number-input{width:56px}.accounts-view__account-row-rate .number-input__wrapper{min-height:22px}.accounts-view__account-row-rate .number-input__field{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.02em;padding:2px 6px}.accounts-view__account-row-rate .number-input__suffix{font-size:10px;padding-right:4px}.accounts-view__rate-label{font-family:var(--font-mono);font-size:10px;color:var(--color-text-subtle);white-space:nowrap}.accounts-view__rental-list{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.accounts-view__rental-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);overflow:hidden}.accounts-view__rental-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;font-family:var(--font-sans);color:var(--color-text)}.accounts-view__rental-toggle{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-muted);transition:color .15s ease}.accounts-view__rental-toggle:hover{color:var(--color-text)}.accounts-view__rental-label{font-weight:600;font-size:var(--font-size-sm);flex:1}.accounts-view__rental-summary{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-subtle)}.accounts-view__rental-fields{padding:0 var(--spacing-md) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.accounts-view__category-total{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-left:auto;padding-right:var(--spacing-md)}.accounts-view__rental-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);align-items:start}.accounts-view__rental-hint{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);line-height:1.5;margin:0}.accounts-view__rental-hint-link{color:var(--ember-core);text-decoration:none;background:none;border:none;cursor:pointer;font:inherit;padding:0}.accounts-view__rental-hint-link:hover{text-decoration:underline}.accounts-view__add-btn--danger{color:var(--color-danger, #dc2626)}.accounts-view__add-btn--danger:hover{color:var(--color-danger);background:var(--color-danger-dim, rgba(220, 38, 38, .1))}@media(max-width:600px){.accounts-view__account-row-rate{width:70px}.accounts-view__rental-row{grid-template-columns:1fr}}.headline-number{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-lg) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:200px}.headline-number__net-worth{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-md);background:#ffffff0a;border-radius:var(--radius-sm)}.headline-number__net-worth-label{font-family:var(--font-mono);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle)}.headline-number__net-worth-value{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:400;background:linear-gradient(135deg,var(--ember-core),var(--ember-glow));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.headline-number__prefix{font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:400;font-style:italic;letter-spacing:.02em;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.headline-number__number{font-family:var(--font-display);font-size:88px;font-weight:300;line-height:1;color:var(--color-text);margin-bottom:var(--spacing-xs)}.headline-number--success .headline-number__number{color:var(--color-success)}.headline-number--ember .headline-number__number{background:linear-gradient(135deg,var(--ember-core),var(--ember-glow));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.headline-number--danger .headline-number__number{color:var(--color-danger)}.headline-number__suffix{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:300;color:var(--color-text-muted)}.headline-number__detail{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-xs);max-width:280px}.headline-number__todays{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--ember-core);margin-top:2px;opacity:.8}.headline-number__cta{margin-top:var(--spacing-md);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:all .15s ease}.headline-number__cta:hover{border-color:var(--ember-core);color:var(--ember-core)}@media(max-width:768px){.headline-number{min-height:140px;padding:var(--spacing-md)}.headline-number__number{font-size:var(--text-hero);line-height:1.05}.headline-number__prefix,.headline-number__suffix{font-size:var(--font-size-base)}}@media(max-width:480px){.headline-number{min-height:120px}.headline-number__number{font-size:40px}}.mini-chart{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);min-height:200px;cursor:pointer;transition:border-color .15s ease}.mini-chart:hover{border-color:var(--ember-core)}.mini-chart__label{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:400;font-style:italic;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.mini-chart__container{flex:1;min-height:120px}.mini-chart__hint{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);text-align:center;margin-top:var(--spacing-xs);opacity:0;transition:opacity .15s ease}.mini-chart:hover .mini-chart__hint{opacity:1}.mini-chart__tooltip{display:flex;flex-direction:column;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;box-shadow:0 2px 8px #0003;pointer-events:none}.mini-chart__tooltip-age{font-family:var(--font-mono);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle)}.mini-chart__tooltip-val{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:400;color:var(--ember-core)}@media(max-width:768px){.mini-chart{min-height:160px}.mini-chart__hint{display:none}}.score-compact{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-lg) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:200px;position:relative}.score-compact__particles{position:absolute;inset:0;opacity:.4;pointer-events:none;z-index:0;overflow:hidden;border-radius:var(--radius-lg)}.score-compact>*:not(.score-compact__particles){position:relative;z-index:1}.score-compact__label{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:400;font-style:italic;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.score-compact__number{font-family:var(--font-display);font-size:56px;font-weight:300;line-height:1;color:var(--color-text);margin-bottom:var(--spacing-sm)}.score-compact__number--ember{background:linear-gradient(135deg,var(--ember-core),var(--ember-glow));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.score-compact__bar{width:120px;height:3px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-bottom:var(--spacing-xs)}.score-compact__bar-fill{height:100%;background:linear-gradient(90deg,var(--ember-core),var(--ember-glow));border-radius:2px;transition:width 1.2s cubic-bezier(.22,1,.36,1)}.score-compact__tier{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:var(--radius-sm);background:rgba(var(--ember-core-rgb, 232, 121, 47),.1);color:var(--ember-core)}.score-compact__sparkline{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.score-compact__spark-delta{font-family:var(--font-mono);font-size:10px;font-weight:600}.score-compact__spark-delta--up{color:var(--color-success)}.score-compact__spark-delta--down{color:var(--color-danger)}.score-compact__spark-delta--flat{color:var(--color-text-subtle)}.score-compact__signin{margin-top:var(--spacing-sm);background:none;border:none;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color .15s}.score-compact__signin:hover{color:var(--ember-core)}.score-compact__toggle{margin-top:var(--spacing-sm);background:none;border:none;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);cursor:pointer;padding:var(--spacing-xs);transition:color .15s}.score-compact__toggle:hover{color:var(--color-text-muted)}.score-compact__breakdown{width:100%;margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:4px}.score-compact__bd-row{display:flex;align-items:center;gap:var(--spacing-xs)}.score-compact__bd-label{font-size:10px;color:var(--color-text-muted);width:72px;text-align:right;flex-shrink:0}.score-compact__bd-bar{flex:1;height:3px;background:var(--color-border);border-radius:2px;overflow:hidden}.score-compact__bd-fill{height:100%;background:var(--ember-core);border-radius:2px;transition:width .6s ease}.score-compact__bd-fill--pending{background:var(--color-border);opacity:.4}.score-compact__bd-pts{font-family:var(--font-mono);font-size:9px;color:var(--color-text-subtle);width:36px;flex-shrink:0}@media(max-width:768px){.score-compact{min-height:160px;padding:var(--spacing-md)}.score-compact__number{font-size:var(--text-3xl)}}.quick-scenario{display:flex;flex-direction:column;gap:var(--spacing-sm)}.quick-scenario__label{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:400;font-style:italic;color:var(--color-text-muted);text-align:center}.quick-scenario__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.quick-scenario__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:rgba(var(--ember-core-rgb, 232, 121, 47),.06);border:1px solid rgba(var(--ember-core-rgb, 232, 121, 47),.2);border-radius:var(--radius-lg);cursor:pointer;transition:all .15s ease;min-height:80px;position:relative}.quick-scenario__btn:hover{border-color:var(--ember-core);background:rgba(var(--ember-core-rgb, 232, 121, 47),.12);box-shadow:0 0 12px rgba(var(--ember-core-rgb, 232, 121, 47),.15)}.quick-scenario__btn:after{content:"→";position:absolute;top:var(--spacing-xs);right:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--ember-core);opacity:0;transform:translate(-4px);transition:all .15s ease}.quick-scenario__btn:hover:after{opacity:1;transform:translate(0)}.quick-scenario__btn-text{font-size:var(--font-size-sm);font-weight:600;color:var(--ember-core);line-height:1.3}.quick-scenario__btn-desc{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);line-height:1.3}@media(max-width:768px){.quick-scenario__grid{grid-template-columns:1fr;gap:var(--spacing-xs)}.quick-scenario__btn{flex-direction:row;text-align:left;min-height:auto;padding:var(--spacing-sm) var(--spacing-md)}.quick-scenario__btn-text{flex:1;font-size:var(--font-size-xs)}.quick-scenario__btn-desc{display:none}.quick-scenario__btn:after{opacity:.6;transform:translate(0);position:static;font-size:var(--font-size-sm);flex-shrink:0}}.home-view{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-lg)}.home-view__error{background:var(--color-danger-dim);border:1px solid var(--color-danger);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.home-view__error p{color:var(--color-danger);font-size:var(--font-size-sm)}.home-view__hero-triptych{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:var(--spacing-lg);align-items:stretch}@media(max-width:1024px){.home-view__hero-triptych{grid-template-columns:1fr 1fr}.home-view__hero-triptych>:nth-child(2){grid-column:1 / -1;order:-1}}@media(max-width:600px){.home-view{gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-sm)}.home-view__hero-triptych{grid-template-columns:1fr;gap:var(--spacing-sm)}.home-view__hero-triptych>:nth-child(2){order:0}.home-view__simulators{gap:var(--spacing-sm)}}.home-view__simulators{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.home-view__simulators .purchase-sim{margin-bottom:0}@media(max-width:768px){.home-view__simulators{grid-template-columns:1fr}}.home-view__skeleton{min-height:180px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--color-surface) 0%,var(--color-surface-2) 50%,var(--color-surface) 100%);background-size:200% 100%;animation:home-view-skeleton 1.2s ease-in-out infinite}@keyframes home-view-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.strategy-compare__empty{color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-xl) 0}.strategy-compare{overflow-x:auto}.strategy-compare__table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.strategy-compare__table th{text-align:left;padding:var(--spacing-sm) var(--spacing-sm);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-sans);font-weight:500;white-space:nowrap}.strategy-compare__table td{padding:var(--spacing-sm) var(--spacing-sm);border-bottom:1px solid var(--color-border)}.strategy-compare__table tr:last-child td{border-bottom:none}.strategy-compare__name-cell{display:flex;flex-direction:column;gap:2px}.strategy-compare__name{font-weight:600;font-size:var(--font-size-base)}.strategy-compare__desc{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.strategy-compare__rate-cell{min-width:100px}.strategy-compare__rate{font-weight:700;font-size:var(--font-size-lg);display:block;margin-bottom:var(--spacing-xs)}.strategy-compare__rate-bar{height:4px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden;max-width:120px}.strategy-compare__rate-fill{height:100%;border-radius:var(--radius-sm);transition:width .4s ease}.strategy-compare__spend-cell{white-space:nowrap}.strategy-compare__delta{display:inline-block;margin-left:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-tfsa);font-weight:600}.strategy-compare__delta--neg{color:var(--ember-core)}.strategy-compare__th-secondary,.strategy-compare__td-secondary{display:none}@media(min-width:640px){.strategy-compare__th-secondary,.strategy-compare__td-secondary{display:table-cell}}.strategy-compare__guide-link{display:inline-block;margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--ember-core);text-decoration:none}.strategy-compare__guide-link:hover{text-decoration:underline}.simulations-tab__empty{color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-xl) 0}.simulations-tab{display:flex;flex-direction:column;gap:var(--spacing-md)}.simulations-tab__inputs-summary{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.simulations-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:2rem}.simulations-timeline:before{content:"";position:absolute;left:.55rem;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(to bottom,var(--color-border) 0%,var(--ember-core) 30%,var(--ember-core) 70%,var(--color-border) 100%);opacity:.5}.simulations-timeline__era{display:flex;flex-direction:column;gap:1px;position:relative}.simulations-timeline__era-header{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-xs);position:relative;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;font-family:var(--font-sans);color:var(--color-text)}.simulations-timeline__era-header:hover .simulations-timeline__era-name{color:var(--ember-core)}.simulations-timeline__era-chevron{font-size:.65rem;color:var(--color-text-muted);width:.8rem;flex-shrink:0}.simulations-timeline__era-header:before{content:"";position:absolute;left:-2rem;top:50%;transform:translate(.15rem,-50%);width:10px;height:10px;border-radius:50%;background:var(--ember-core);border:2px solid var(--color-bg, var(--color-surface));box-shadow:0 0 0 2px var(--ember-core),0 0 8px color-mix(in srgb,var(--ember-core) 40%,transparent);z-index:1}.simulations-timeline__era-name{font-weight:700;font-size:var(--font-size-sm);letter-spacing:.01em;flex:1}.simulations-timeline__era-stats{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);background:var(--color-surface);padding:.15rem .5rem;border-radius:10px;border:1px solid var(--color-border)}.simulations-timeline__row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:none;background:transparent;text-align:left;cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-sans);transition:background .15s,transform .1s;color:var(--color-text);position:relative}.simulations-timeline__row:before{content:"";position:absolute;left:-1.55rem;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--color-tfsa);opacity:.7;transition:opacity .15s,transform .15s}.simulations-timeline__row--failed:before{background:var(--ember-core)}.simulations-timeline__row:hover:before,.simulations-timeline__row--active:before{opacity:1;transform:translateY(-50%) scale(1.4)}.simulations-timeline__row:hover{background:var(--color-surface)}.simulations-timeline__row--active{background:var(--color-surface);border-left:2px solid var(--ember-core)}.simulations-timeline__row--failed .simulations-timeline__period{opacity:.8}.simulations-timeline__period{flex:1;font-weight:500;font-family:var(--font-mono);font-size:var(--font-size-xs)}.simulations-timeline__verdict{font-size:var(--font-size-xs);padding:.15rem .5rem;border-radius:10px;white-space:nowrap;font-weight:500}.simulations-timeline__verdict--pass{background:color-mix(in srgb,var(--color-tfsa) 15%,transparent);color:var(--color-tfsa)}.simulations-timeline__verdict--fail{background:color-mix(in srgb,var(--ember-core) 15%,transparent);color:var(--ember-core)}.simulations-timeline__final{font-size:var(--font-size-xs);color:var(--color-text-muted);min-width:90px;text-align:right;font-family:var(--font-mono)}.simulations-tab__depleted-summary{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px dashed color-mix(in srgb,var(--ember-core) 30%,transparent);background:color-mix(in srgb,var(--ember-core) 5%,transparent);color:var(--ember-core);font-size:var(--font-size-xs);font-family:var(--font-sans);cursor:pointer;transition:background .15s,border-color .15s;width:100%;text-align:left;position:relative}.simulations-tab__depleted-summary:before{content:"";position:absolute;left:-1.55rem;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--ember-core);opacity:.4}.simulations-tab__depleted-summary:hover{background:color-mix(in srgb,var(--ember-core) 12%,transparent);border-color:color-mix(in srgb,var(--ember-core) 50%,transparent)}.simulations-tab__depleted-chevron{font-size:.7rem;line-height:1;transition:transform .15s}.simulations-tab__detail{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);margin-left:-.5rem;border-left:3px solid var(--ember-core);animation:detail-slide-in .2s ease-out}@keyframes detail-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.simulations-tab__detail-title{font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--spacing-sm)}.simulations-tab__chart{margin-bottom:var(--spacing-sm)}.simulations-tab__event-links{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.simulations-tab__event-link{display:inline-flex;align-items:baseline;gap:.3em;padding:.2rem .6rem;border-radius:20px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:var(--font-size-xs);font-family:var(--font-sans);text-decoration:none;transition:background .15s,border-color .15s}.simulations-tab__event-link:hover{border-color:var(--ember-core);color:var(--color-text);background:#ffffff0a}.simulations-tab__event-drawdown{color:var(--ember-core);font-family:var(--font-mono);font-size:var(--font-size-xs)}.simulations-tab__detail-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.simulations-tab__stat{display:flex;flex-direction:column;gap:2px}.simulations-tab__stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.simulations-tab__stat-value{font-size:var(--font-size-base);font-weight:600}.simulations-tab__stat-value--pass{color:var(--color-tfsa)}.simulations-tab__stat-value--fail{color:var(--ember-core)}.backtest-view{max-width:900px;margin:0 auto;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-3xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.backtest-view__hero{text-align:center;padding:var(--spacing-xs) 0;position:relative}.backtest-view__hero-glow{position:absolute;top:50%;left:50%;width:320px;height:200px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(232,98,42,.08) 0%,transparent 70%);pointer-events:none}.backtest-view__hero-label{font-family:var(--font-mono);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);position:relative}.backtest-view__hero-amount{font-family:var(--font-display);font-size:clamp(var(--font-size-hero),8vw,64px);font-weight:300;color:var(--color-text);line-height:1;letter-spacing:-.02em;position:relative;animation:backtest-hero-in .6s ease-out}@keyframes backtest-hero-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.backtest-view__hero-sub{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-sm);position:relative}.backtest-view__hero-bar{width:100%;max-width:320px;height:6px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden;margin:var(--spacing-md) auto 0;position:relative}.backtest-view__hero-bar-fill{height:100%;border-radius:var(--radius-sm);transition:width .4s ease}.backtest-view__sub-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);padding-bottom:0}.backtest-view__sub-tab{padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--font-size-base);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s}.backtest-view__sub-tab--active{color:var(--color-text);font-weight:600;border-bottom-color:var(--ember-core)}.backtest-view__sub-tab:hover:not(.backtest-view__sub-tab--active){color:var(--color-text)}.backtest-view__toast{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);z-index:50;font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;animation:backtest-toast-in .3s ease;pointer-events:none}@keyframes backtest-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.backtest-view__content{flex:1}.backtest-view__budget-warning{background:var(--color-warning-dim, #fff8e1);border:1px solid var(--color-warning, #f0ad4e);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md)}.backtest-view__budget-warning p{flex:1;margin:0;font-size:var(--font-size-sm);color:var(--color-text)}.backtest-view__budget-warning button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.backtest-view__shared-config{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.backtest-view__shared-row{display:flex;align-items:center;gap:var(--spacing-md)}.backtest-view__shared-label{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;min-width:200px}.backtest-view__shared-label strong{color:var(--color-text)}.backtest-view__shared-slider{flex:1;max-width:300px;accent-color:var(--ember-core)}.backtest-view__shared-pills{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.backtest-view__shared-value{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text)}.backtest-view__pro-teaser{text-align:center;padding:var(--spacing-lg);color:var(--color-text-muted);font-size:var(--font-size-sm)}.backtest-view__shared-controls{display:flex;flex-direction:column;gap:var(--spacing-md)}@media(max-width:600px){.backtest-view__shared-row{flex-direction:column;align-items:flex-start}.backtest-view__shared-slider{width:100%;max-width:none}}.backtest-view__mode-switcher{display:flex;gap:2px;background:var(--color-surface-2, #f0ebe4);border-radius:var(--radius-md);padding:3px;margin-bottom:var(--spacing-lg);width:fit-content}[data-theme=dark] .backtest-view__mode-switcher{background:var(--color-surface-2, #1a1a1a)}.backtest-view__mode-btn{padding:var(--spacing-xs) var(--spacing-lg);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.backtest-view__mode-btn:hover{color:var(--color-text)}.backtest-view__mode-btn--active{background:var(--color-surface);color:var(--color-text);font-weight:600;box-shadow:0 1px 3px #00000014}.backtest-view__mc-description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--spacing-md)}.backtest-view__run-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);background:var(--ember-core);color:#fff;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.backtest-view__run-btn:hover{background:var(--ember-glow)}.backtest-view__run-btn:disabled{opacity:.6;cursor:not-allowed}.backtest-view__mc-config{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md);max-width:640px}@media(max-width:600px){.backtest-view__mc-config{grid-template-columns:1fr}}.backtest-view__mc-progress{position:relative;height:28px;background:var(--color-surface-2);border-radius:var(--radius-sm);overflow:hidden;margin-top:var(--spacing-sm)}.backtest-view__mc-progress-bar{position:absolute;top:0;left:0;height:100%;background:var(--ember-core);opacity:.2;transition:width .3s ease}.backtest-view__mc-progress-text{position:relative;z-index:1;display:flex;align-items:center;height:100%;padding:0 var(--spacing-sm);font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted)}.backtest-view__mc-results{margin-top:var(--spacing-lg)}.backtest-view__mc-metrics{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-md)}.backtest-view__mc-metric{display:flex;flex-direction:column;gap:2px}.backtest-view__mc-metric-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle)}.backtest-view__mc-metric-value{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:300;color:var(--color-text)}.backtest-view__mc-chart{height:400px;margin-top:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;display:flex;flex-direction:column}.backtest-view__mc-presets{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.backtest-view__mc-preset{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.backtest-view__mc-preset:hover{border-color:var(--ember-core);color:var(--color-text)}.backtest-view__mc-preset--active{background:var(--ember-core);color:#fff;border-color:var(--ember-core)}.backtest-view__mc-modes{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.backtest-view__mc-scenarios{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-top:var(--spacing-md)}.backtest-view__mc-scenario{padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.backtest-view__mc-scenario-label{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle);margin-bottom:var(--spacing-xs)}.backtest-view__mc-scenario-value{display:block;font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:300;color:var(--color-text)}.backtest-view__mc-scenario--best .backtest-view__mc-scenario-value{color:var(--color-success)}.backtest-view__mc-scenario--worst .backtest-view__mc-scenario-value{color:var(--color-danger)}.backtest-view__mc-scenario-sub{display:block;font-family:var(--font-mono);font-size:10px;color:var(--color-text-subtle);margin-top:2px}.backtest-view__mc-comparison,.backtest-view__mc-breakdown{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-md);line-height:1.5}.backtest-view__mc-callout{margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-2);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}@media(max-width:600px){.backtest-view__mc-scenarios{grid-template-columns:1fr}.backtest-view__mc-presets{flex-wrap:wrap}}.inapp-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-md);animation:wizard-welcome-in .6s ease-out;padding:var(--spacing-lg) 0}.inapp-step__icon{color:var(--ember-core);opacity:.8}.inapp-step__title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:300;color:var(--color-text);margin:0;line-height:1.2}.inapp-step__subtitle{font-family:var(--font-sans);color:var(--color-text-muted);line-height:1.6;margin:0;font-size:var(--font-size-base);max-width:400px}.inapp-step__instruction{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);color:var(--color-text);line-height:1.6;max-width:400px;width:100%}.inapp-step__instruction strong{color:var(--ember-core);font-weight:600}.inapp-step__copy-btn{margin-top:var(--spacing-sm)}.inapp-step__continue{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-sm) 0;text-decoration:underline;text-underline-offset:2px}.inapp-step__continue:hover{color:var(--color-text)}@media(max-width:600px){.inapp-step__title{font-size:var(--font-size-xl)}.inapp-step__instruction{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}}.wizard-overlay{position:fixed;top:var(--nav-height);left:0;right:0;bottom:0;z-index:50;background:var(--color-bg);display:flex;justify-content:center;padding:var(--spacing-lg);overflow-y:auto}.wizard-container{width:100%;max-width:520px;margin:auto 0;display:flex;flex-direction:column;gap:var(--spacing-xl)}.wizard-container:has(.value-demo){margin:0;flex:1;max-width:960px}.wizard-step{display:flex;flex-direction:column;gap:var(--spacing-lg)}.wizard-step__progress{height:3px;background:var(--color-border);border-radius:2px;overflow:hidden}.wizard-step__progress-fill{height:100%;background:linear-gradient(90deg,var(--ember-mid),var(--ember-glow));border-radius:2px;transition:width .3s ease}.wizard-step__title{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:300;color:var(--color-text);margin:0;line-height:1.2}.wizard-step__hint a,.wizard-step__link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.wizard-step__hint a:hover,.wizard-step__link:hover{color:var(--ember-glow)}.wizard-step__hint{font-family:var(--font-sans);color:var(--color-text-muted);line-height:1.7;margin:0;font-size:var(--font-size-base)}.wizard-step__context{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-subtle);margin:0}.wizard__acb-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;padding:var(--spacing-xs) 0}.wizard-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;animation:wizard-welcome-in .6s ease-out}@keyframes wizard-welcome-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.wizard-welcome__ember{position:relative;width:160px;height:160px;margin-bottom:var(--spacing-md)}.wizard-welcome__glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(232,98,42,.2) 0%,rgba(245,156,90,.08) 50%,transparent 70%);animation:welcome-glow 3s ease-in-out infinite}@keyframes welcome-glow{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}}.wizard-welcome__lottie{position:relative;width:100%;height:100%;z-index:1}.wizard-welcome__brand{position:absolute;bottom:10px;left:50%;transform:translate(-50%);z-index:2;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:300;letter-spacing:-.02em;color:var(--color-text);margin:0;line-height:.9;white-space:nowrap}.wizard-welcome__brand-fi{background:linear-gradient(135deg,var(--ember-glow),var(--ember-core));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.wizard-welcome__tagline{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-muted);margin:var(--spacing-xs) 0 0;letter-spacing:.02em}.wizard-welcome__divider{width:48px;height:2px;background:linear-gradient(90deg,var(--ember-core),var(--ember-glow));border-radius:1px;margin:var(--spacing-lg) 0}.wizard-welcome__features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md);text-align:left;width:100%;max-width:400px}.wizard-welcome__features li{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.wizard-welcome__feature-icon{font-size:var(--text-md);line-height:1.4;flex-shrink:0;width:28px;text-align:center}.wizard-welcome__features li div{display:flex;flex-direction:column;gap:1px}.wizard-welcome__features li strong{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.wizard-welcome__features li span{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.wizard-welcome__location{display:flex;gap:.75rem;margin-top:1rem}.wizard-welcome__location>*{flex:1}.wizard-welcome__cta{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.05em;margin:var(--spacing-lg) 0 0}.wizard-welcome__coming-soon{font-family:var(--font-mono);font-size:10px;color:var(--color-text-subtle);margin:var(--spacing-xs) 0 0;letter-spacing:.05em}.wizard-welcome__signin{margin-top:var(--spacing-md);text-align:center}.wizard-welcome__signin-link{background:none;border:none;color:var(--color-accent);font-size:var(--font-size-sm);cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0}.wizard-welcome__signin-link:hover{color:var(--color-accent-hover, var(--color-accent))}.wizard-welcome__signin-form{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:320px;margin:0 auto}.wizard-welcome__google-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s}.wizard-welcome__google-btn:hover{background:var(--color-surface-2)}.wizard-welcome__signin-divider{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-muted);font-size:var(--font-size-xs)}.wizard-welcome__signin-divider:before,.wizard-welcome__signin-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.wizard-welcome__email-form{display:flex;flex-direction:column;gap:var(--spacing-xs)}.wizard-welcome__email-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm)}.wizard-welcome__email-input--error{border-color:var(--color-danger)}.wizard-welcome__error{color:var(--color-danger);font-size:var(--font-size-xs);margin:0}.wizard-welcome__email-submit{padding:var(--spacing-xs) var(--spacing-md);border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:opacity .15s}.wizard-welcome__email-submit:hover{opacity:.9}.wizard-welcome__email-submit:disabled{opacity:.6;cursor:not-allowed}.wizard-welcome__signin-sent{font-size:var(--font-size-sm);color:var(--color-text-muted)}.wizard-welcome__lang-toggle{display:flex;gap:var(--spacing-xs);justify-content:center;margin:var(--spacing-md) 0 0}.wizard-welcome__lang-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.wizard-welcome__lang-btn:hover{border-color:var(--ember-core);color:var(--color-text)}.wizard-welcome__lang-btn--active{border-color:var(--ember-core);color:var(--ember-core);background:rgba(var(--ember-core-rgb, 232, 121, 47),.08)}.wizard-import-btn{align-self:stretch;font-size:var(--font-size-sm)!important;padding:var(--spacing-sm) var(--spacing-lg)!important;text-align:center}.wizard-budget-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.wizard-budget-option{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.wizard-budget-option__header{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text)}.wizard-budget-option__icon{font-size:var(--text-base);flex-shrink:0}.wizard-budget-option__desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5;margin:0}.wizard-budget-option__btn{align-self:stretch;font-size:var(--font-size-sm)!important;padding:var(--spacing-xs) var(--spacing-md)!important;text-align:center;margin-top:var(--spacing-xs)}.wizard-budget-option--highlight{border-color:var(--ember-core, #C04E18);background:rgba(var(--ember-core-rgb, 232, 121, 47),.04)}.wizard-budget-option__badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:10px;background:linear-gradient(135deg,var(--ember-deep, #A5400F),var(--ember-mid, #C04E18));color:#fff;line-height:1;flex-shrink:0}.wizard-step__divider{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.wizard-step__divider:before,.wizard-step__divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.wizard-step__divider span{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);white-space:nowrap}.wizard-step__input{display:flex;flex-direction:column;gap:var(--spacing-lg)}.wizard-step__row{display:flex;gap:var(--spacing-md)}.wizard-step__row>*{flex:1}.wizard-actions{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md)}.wizard-actions--centered{justify-content:center;margin-top:auto}.wizard-actions--landing{display:none}.wizard-actions__right{display:flex;gap:var(--spacing-sm)}.wizard-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-base);cursor:pointer;transition:opacity .15s ease,background .15s ease;line-height:1.4}.wizard-btn:disabled{opacity:.3;cursor:not-allowed}.wizard-btn--primary{background:linear-gradient(135deg,var(--ember-mid),var(--ember-core));color:#fff;border:none;font-weight:500}.wizard-btn--primary:hover:not(:disabled){opacity:.9}.wizard-btn--ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted)}.wizard-btn--ghost:hover:not(:disabled){background:var(--color-surface)}.wizard-signin-link{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-sm) 0;text-decoration:underline;text-underline-offset:2px}.wizard-signin-link:hover{color:var(--color-text)}.wizard-btn--wide{width:100%;max-width:360px;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);text-align:center}@media(max-width:600px){.wizard-overlay{padding:0;display:flex;flex-direction:column}.wizard-container{gap:0;flex:1;display:flex;flex-direction:column;margin:0;min-height:100%}.wizard-container>*:first-child{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-md) var(--spacing-lg);-webkit-overflow-scrolling:touch}.wizard-step{gap:var(--spacing-md)}.wizard-step__progress{margin:0 calc(-1 * var(--spacing-md));border-radius:0;height:4px}.wizard-step__progress-fill{border-radius:0}.wizard-step__title{font-size:var(--font-size-2xl);margin-top:var(--spacing-xs)}.wizard-step__row{flex-direction:column}.wizard-actions{position:sticky;bottom:0;padding:var(--spacing-sm) var(--spacing-md) calc(var(--spacing-sm) + env(safe-area-inset-bottom,0));background:var(--color-bg);border-top:1px solid var(--color-border);margin:0}.wizard-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);min-height:44px}.wizard-actions__right{flex:1;justify-content:flex-end}.wizard-actions__right .wizard-btn--primary{flex:1;max-width:240px}.wizard-welcome__ember{width:100px;height:100px;margin-bottom:var(--spacing-xs)}.wizard-welcome__glow{width:140px;height:140px}.wizard-welcome__brand{font-size:var(--text-2xl);bottom:4px}.wizard-welcome__divider{margin:var(--spacing-sm) 0}.wizard-welcome__features{gap:var(--spacing-sm)}.wizard-welcome__cta{margin-top:var(--spacing-sm)}.wizard-btn--wide{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base)}}.employment-status-options{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.employment-status-option{padding:1.125rem 1.25rem;min-height:56px;border:1.5px solid var(--color-border);border-radius:.75rem;background:var(--color-surface);color:var(--color-text);font-size:1rem;font-weight:500;cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .08s;text-align:left}.employment-status-option:active{transform:scale(.98)}@media(hover:hover){.employment-status-option:hover{border-color:var(--color-border-light);background:var(--color-surface-2)}}.employment-status-option--active{border-color:var(--ember-core);border-width:2px;background:var(--ember-core-alpha, rgba(255, 107, 53, .08));box-shadow:0 0 0 1px var(--ember-core)}.mortgage-matcher{display:flex;flex-direction:column;gap:4px;grid-column:1 / -1;padding:0 var(--spacing-sm) var(--spacing-xs)}.mortgage-matcher__select{font-family:var(--font-sans);font-size:var(--font-size-xs);padding:3px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm, 4px);background:var(--color-surface);color:var(--color-text);max-width:200px}.mortgage-matcher__hint{font-size:11px;color:var(--ember-core, #C04E18);font-weight:500;margin:0;line-height:1.3}.mortgage-matcher__linked{font-size:11px;color:var(--color-success, #5cc85c);font-weight:500;margin:0}.mortgage-matcher__no-properties{font-size:11px;color:var(--color-text-muted);margin:0}.ynab-connect{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ynab-connect__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.ynab-connect__token-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-sizing:border-box}.ynab-connect__token-input:focus{outline:none;border-color:var(--color-primary)}.ynab-connect__get-token{font-size:var(--font-size-xs);color:var(--color-primary);text-decoration:underline;cursor:pointer}.ynab-connect__connect-btn{padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s}.ynab-connect__connect-btn:hover:not(:disabled){opacity:.85}.ynab-connect__connect-btn:disabled{opacity:.4;cursor:not-allowed}.ynab-connect__privacy-note{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-style:italic}.ynab-connect__budget-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-sizing:border-box}.ynab-connect__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.ynab-connect__connected-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.ynab-connect__disconnect-link{background:none;border:none;padding:0;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-danger);cursor:pointer;text-decoration:underline}.ynab-connect__disconnect-link:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.ynab-connect__status{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ynab-connect__account-list{display:flex;flex-direction:column;gap:1px;margin-top:var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.ynab-connect__account-row{display:grid;grid-template-columns:1fr auto 140px;gap:var(--spacing-sm);align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface)}.ynab-connect__account-row--header{background:var(--color-surface-raised, var(--color-surface));font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border)}.ynab-connect__account-row--skipped{opacity:.45}.ynab-connect__account-name{font-size:var(--font-size-sm);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ynab-connect__account-balance{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text);text-align:right;white-space:nowrap}.ynab-connect__type-select{font-family:var(--font-sans);font-size:var(--font-size-xs);padding:2px 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm, 4px);background:var(--color-surface);color:var(--color-text)}.ynab-connect__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.ynab-connect__sync-btn,.ynab-connect__balance-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);cursor:pointer;transition:border-color .15s,background .15s}.ynab-connect__sync-btn:hover:not(:disabled),.ynab-connect__balance-btn:hover:not(:disabled){border-color:var(--ember-core);background:#e8622a0f}.ynab-connect__sync-btn:disabled,.ynab-connect__balance-btn:disabled{opacity:.4;cursor:not-allowed}.ynab-connect__error{font-size:var(--font-size-sm);color:var(--color-danger);font-weight:500}.ynab-connect__error-block{display:flex;align-items:center;gap:var(--spacing-sm)}.ynab-connect__retry-btn{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--color-primary);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.ynab-connect__syncing{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.ynab-connect__stats{font-size:var(--font-size-sm);color:var(--color-success);font-weight:500}.ynab-connect__replace-prompt{padding:var(--spacing-sm);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ynab-connect__replace-text{font-size:var(--font-size-sm);color:var(--color-text);margin:0 0 var(--spacing-sm)}.ynab-connect__replace-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.ynab-connect__replace-btn,.ynab-connect__keep-btn,.ynab-connect__cancel-btn{padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;background:var(--color-surface);color:var(--color-text)}.ynab-connect__replace-btn{background:var(--color-primary);color:var(--color-on-primary, #fff);border-color:var(--color-primary)}.ynab-connect__keep-btn:hover,.ynab-connect__cancel-btn:hover{background:var(--color-surface-2)}.settings-view{max-width:680px;margin:0 auto;padding:var(--spacing-md) var(--spacing-xl) var(--spacing-xl)}.settings-view__nav{display:flex;gap:2px;background:var(--color-surface-2);border-radius:var(--radius-md);padding:3px;margin-bottom:var(--spacing-xl)}.settings-view__nav-btn{flex:1;padding:8px 16px;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s}.settings-view__nav-btn:hover{color:var(--color-text)}.settings-view__nav-btn--active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 3px #00000014}.settings-view__content{display:flex;flex-direction:column}.settings-view__section{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-view__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.settings-view__account-header{display:flex;align-items:center;gap:var(--spacing-md)}.settings-view__avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.settings-view__avatar--initial{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ember-deep, #A5400F),var(--ember-mid, #C04E18));color:#fff;font-family:var(--font-sans);font-size:var(--text-base);font-weight:600}.settings-view__account-info{display:flex;flex-direction:column;flex:1;min-width:0}.settings-view__account-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.settings-view__account-email{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-section{display:flex;flex-direction:column;gap:0}.settings-section__heading{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) 0}.settings-section__title{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.12em}.settings-section__edit-btn{background:none;border:none;font-size:var(--font-size-md);color:var(--color-text-muted);cursor:pointer;padding:2px 8px;border-radius:var(--radius-sm);transition:color .15s,background .15s}.settings-section__edit-btn:hover{color:var(--color-text);background:var(--color-surface-3)}.settings-section__edit-fields{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);overflow:hidden}.settings-info-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);min-height:36px}.settings-info-row__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.settings-info-row__value{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:right}.settings-info-row__control{min-width:0}.settings-info-row__control .select-input{margin:0;min-width:0}.settings-info-row__control .select-input__label{display:none}.settings-info-row__control .select-input__field{padding:4px var(--spacing-sm);font-size:var(--font-size-sm);background:var(--color-surface-2);max-width:100%;text-overflow:ellipsis}.settings-info-row__control .toggle{margin:0;flex-direction:row;align-items:center;gap:var(--spacing-xs)}.settings-info-row__control .toggle__label{display:none}.settings-theme-picker{display:flex;background:var(--color-surface-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);overflow:hidden}.settings-theme-picker__btn{padding:4px 12px;font-size:var(--font-size-sm);font-weight:500;background:none;border:none;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.settings-theme-picker__btn:not(:last-child){border-right:1px solid var(--color-border)}.settings-theme-picker__btn--active{background:var(--color-surface);color:var(--color-text);font-weight:600}.settings-theme-picker__btn:hover:not(.settings-theme-picker__btn--active){background:var(--color-surface-3)}.settings-theme-picker__btn-short{display:none}@media(max-width:480px){.settings-theme-picker__btn{padding:4px 8px;font-size:var(--font-size-xs)}.settings-theme-picker__btn-full{display:none}.settings-theme-picker__btn-short{display:inline}}.settings-status-options{display:flex;gap:6px;margin-bottom:var(--spacing-sm)}.settings-status-btn{flex:1;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.settings-status-btn:hover{border-color:var(--ember-mid);color:var(--color-text)}.settings-status-btn--active{border-color:var(--ember-core);color:var(--ember-core);background:rgba(var(--ember-core-rgb, 232, 121, 47),.08)}.settings-plan-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.03em;background:var(--color-surface-2);color:var(--color-text-muted)}.settings-plan-badge--pro{background:linear-gradient(135deg,var(--ember-deep, #A5400F),var(--ember-mid, #C04E18));color:#fff}.settings-account__actions{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-xs)}.settings-account__signout-btn{width:100%;background:none;color:var(--color-text-muted);border:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.settings-account__signout-btn:hover{background:var(--color-danger, #dc3545);color:#fff;border-color:var(--color-danger, #dc3545)}.settings-account__delete-btn{width:100%;background:none;color:var(--color-danger, #dc3545);border:1px solid var(--color-danger, #dc3545);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.settings-account__delete-btn:hover{background:var(--color-danger, #dc3545);color:#fff}.settings-account__delete-btn:disabled{opacity:.5;cursor:not-allowed}.settings-account__error{color:var(--color-danger, #dc3545);font-size:var(--font-size-sm);margin:0}.settings-signin__text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--spacing-sm);line-height:1.5}.settings-api-key{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-text-secondary)}.settings-api-key--revealed{background:var(--color-surface);border:1px solid var(--ember-core, #C04E18);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-api-key__warning{font-size:var(--font-size-sm);color:var(--ember-core, #C04E18);font-weight:500;margin:0}.settings-api-key__display{display:flex;align-items:center;gap:var(--spacing-sm)}.settings-api-key__value{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-text);word-break:break-all;flex:1;background:var(--color-bg);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.settings-api-key__copy{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-base);line-height:1;transition:background .15s}.settings-api-key__copy:hover{background:var(--color-surface)}.settings-api-key__links{display:flex;flex-direction:column;gap:4px;margin-top:var(--spacing-sm)}.settings-api-key__link{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--ember-core, #C04E18);text-decoration:none}.settings-api-key__link:hover{text-decoration:underline}.settings-view__connections{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-view__connector{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-view__connector-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.settings-view__connector-name{font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:600;color:var(--color-text)}.settings-view__pro-badge{display:inline-block;margin-left:var(--spacing-xs);padding:1px 6px;font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ember, #f59e0b);background:color-mix(in srgb,var(--color-ember, #f59e0b) 15%,transparent);border-radius:var(--radius-sm);vertical-align:middle}.settings-view__connector-badge{font-size:var(--font-size-xs);font-weight:500;padding:2px 10px;border-radius:12px;background:var(--color-surface-2);color:var(--color-text-muted)}.settings-view__connector-hint{margin:var(--spacing-xs) 0 var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.settings-view__connector-cta{align-self:flex-start;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;padding:6px 14px;background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.settings-view__connector-cta:hover{background:var(--color-surface);border-color:var(--color-text-subtle);color:var(--color-primary)}.settings-view__action-btn{width:100%;background:none;color:var(--color-primary);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s}.settings-view__action-btn:hover{background:var(--color-surface)}.settings-view__action-btn:disabled{opacity:.6;cursor:not-allowed}.settings-view__primary-btn{width:100%;padding:var(--spacing-xs) var(--spacing-md);border-radius:8px;border:none;background:linear-gradient(135deg,var(--ember-deep, #A5400F),var(--ember-mid, #C04E18));color:#fff;font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:opacity .15s}.settings-view__primary-btn:hover{opacity:.9}.settings-view__primary-btn:disabled{opacity:.6;cursor:not-allowed}.settings-view__reset-btn{width:100%;background:none;color:var(--color-danger, #dc3545);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s}.settings-view__reset-btn:hover{background:var(--color-surface)}.settings-view__bmac-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);color:var(--ember-glow, #e67e22);border:1px solid var(--ember-glow, #e67e22);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.settings-view__bmac-btn:hover{background:var(--ember-glow, #e67e22);color:#fff}.settings-view__secondary-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.settings-view__ghost-btn{flex:1;background:none;color:var(--color-text-muted);border:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.settings-view__ghost-btn:hover{background:var(--color-surface-3);color:var(--color-text)}.settings-view__ghost-btn:disabled{opacity:.5;cursor:not-allowed}.settings-view__ghost-btn--danger{color:var(--color-danger, #dc3545);border-color:var(--color-danger, #dc3545)}.settings-view__ghost-btn--danger:hover{background:var(--color-danger, #dc3545);color:#fff}.settings-view__start-fresh-confirm{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-view__start-fresh-text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;margin:0}.settings-view__start-fresh-option{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.settings-view__start-fresh-option input[type=checkbox]{accent-color:var(--ember-core, #C04E18)}.settings-section__title--danger{color:var(--color-danger, #dc3545)}.settings-card--danger{border-color:var(--color-danger, #dc3545);border-style:dashed}@media(max-width:768px){.settings-view{padding:var(--spacing-md)}.settings-view__nav{overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-view__nav-btn{white-space:nowrap;padding:8px 12px}}.save-prompt{position:fixed;inset:0;z-index:300;padding:var(--spacing-md);display:flex;align-items:center;justify-content:center;animation:save-prompt-fade-in .3s ease-out both}.save-prompt:before{content:"";position:fixed;inset:0;background:#0a090799;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@keyframes save-prompt-fade-in{0%{opacity:0}to{opacity:1}}.save-prompt__inner{width:100%;max-width:540px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:var(--spacing-xl);box-shadow:0 8px 40px #0000003d,0 2px 8px #0000001f;display:flex;flex-direction:column;gap:var(--spacing-lg);position:relative;z-index:1;animation:save-prompt-scale-in .3s cubic-bezier(.22,1,.36,1) both}@keyframes save-prompt-scale-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.save-prompt__inner:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--ember-mid),transparent);opacity:.6;border-radius:1px}.save-prompt__header{display:flex;gap:var(--spacing-md);align-items:flex-start}.save-prompt__icon{font-size:1.6rem;line-height:1;flex-shrink:0;margin-top:2px}.save-prompt__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:400;color:var(--color-text);margin:0 0 var(--spacing-xs);line-height:1.2}.save-prompt__body{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.5}.save-prompt__urgency{font-size:var(--font-size-xs);color:var(--color-warning, #d97706);margin:0;line-height:1.4}.save-prompt__social{display:flex;flex-direction:column;gap:var(--spacing-sm)}.save-prompt__social-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-2);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.save-prompt__social-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-dim)}.save-prompt__social-btn:disabled{opacity:.6;cursor:default}.save-prompt__divider{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-subtle);font-size:var(--font-size-xs)}.save-prompt__divider:before,.save-prompt__divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.save-prompt__form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.save-prompt__input{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-sm);outline:none;transition:border-color .15s;box-sizing:border-box}.save-prompt__input:focus{border-color:var(--ember-mid)}.save-prompt__input--error{border-color:var(--color-danger, #e05)}.save-prompt__error{font-size:var(--font-size-xs);color:var(--color-danger, #e05);margin:0}.save-prompt__cta{width:100%;padding:11px 20px;border-radius:8px;border:none;background:linear-gradient(135deg,var(--ember-deep, #A5400F),var(--ember-mid, #C04E18));color:#fff;font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s}.save-prompt__cta:hover{opacity:.9}.save-prompt__cta:active{transform:scale(.98)}.save-prompt__cta--ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.save-prompt__dismiss{background:none;border:none;padding:0;font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-text-subtle);cursor:pointer;text-align:center;text-decoration:underline;text-underline-offset:3px;transition:color .15s}.save-prompt__dismiss:hover{color:var(--color-text-muted)}.save-prompt__features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.save-prompt__feature{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.save-prompt__feature-icon{flex-shrink:0;font-size:.9rem}.save-prompt__pro-hint{font-size:var(--font-size-xs);color:var(--color-primary);margin:0;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-dim);border-radius:var(--radius-sm);line-height:1.4;text-align:center}.save-prompt__footer{display:flex;justify-content:center;gap:var(--spacing-lg)}.save-prompt__settings-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle);text-align:center;margin:0}.save-prompt__success{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-align:center;padding:var(--spacing-md) 0}.save-prompt__success-icon{width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--ember-mid) 15%,transparent);border:1px solid color-mix(in srgb,var(--ember-mid) 40%,transparent);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--ember-mid)}.save-prompt__promo-badge{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;margin:.75rem 0 .25rem;border-radius:10px;background:#e8622a14;border:1px solid rgba(232,98,42,.4);color:var(--color-text, #F5EFE8);font-size:var(--font-size-sm);line-height:1.4}.save-prompt__promo-badge strong{font-weight:600;letter-spacing:.04em;color:var(--color-primary)}.save-prompt__promo-badge-icon{font-size:1rem;flex-shrink:0}.save-prompt__pricing{display:flex;gap:.75rem;margin:1rem 0}.save-prompt__price-card{flex:1;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background:var(--color-surface);cursor:pointer;text-align:center;transition:border-color .15s;display:flex;flex-direction:column;align-items:center;gap:.25rem}.save-prompt__price-card:hover:not(:disabled){border-color:var(--color-primary)}.save-prompt__price-card:disabled{opacity:.6;cursor:not-allowed}.save-prompt__price-card--highlight{border-color:var(--color-primary);background:var(--color-surface-raised, var(--color-surface))}.save-prompt__price{font-size:var(--font-size-xl, 1.25rem);font-weight:700;color:var(--color-text)}.save-prompt__period{font-size:var(--font-size-sm, .875rem);color:var(--color-text-muted)}.save-prompt__savings{display:block;font-size:var(--font-size-xs, .75rem);color:var(--color-primary);margin-top:.125rem}.save-prompt__price-card--loading{min-height:70px;display:flex;align-items:center;justify-content:center}.save-prompt__spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:save-prompt-spin .6s linear infinite}@keyframes save-prompt-spin{to{transform:rotate(360deg)}}@media(min-width:640px){.save-prompt__form{flex-direction:row;align-items:flex-start}.save-prompt__input{flex:1}.save-prompt__cta{width:auto;white-space:nowrap}}.dual-tab-warning{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:8px 16px;background:var(--color-warning-bg, #fef3cd);color:var(--color-warning-text, #856404);font-size:var(--font-size-sm);font-weight:500;border-bottom:1px solid var(--color-warning-border, #ffc107)}.dual-tab-warning button{background:none;border:none;font-size:var(--text-md);cursor:pointer;color:inherit;padding:0 4px;line-height:1;opacity:.7;transition:opacity .15s}.dual-tab-warning button:hover{opacity:1}.migration-toast{position:fixed;left:var(--spacing-md);right:var(--spacing-md);bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom,0));z-index:120;display:flex;align-items:center;gap:10px;max-width:420px;margin:0 auto;padding:10px 12px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 10px 30px #00000026,0 2px 6px #0000000f;font-size:var(--text-sm);line-height:1.4;opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.migration-toast--visible{opacity:1;transform:translateY(0);pointer-events:auto}.migration-toast__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--ember-glow),var(--ember-core));color:#fff;flex-shrink:0}.migration-toast__text{flex:1}.migration-toast__text strong{font-weight:600}.migration-toast__link{background:none;border:none;padding:0 0 0 4px;color:var(--ember-core);font-family:inherit;font-size:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.migration-toast__link:hover{color:var(--ember-glow)}.migration-toast__close{background:none;border:none;color:var(--color-text-muted);font-size:var(--text-lg);line-height:1;cursor:pointer;padding:0 4px;flex-shrink:0}.migration-toast__close:hover{color:var(--color-text)}@media(max-width:767px){.migration-toast{bottom:calc(64px + var(--spacing-sm) + env(safe-area-inset-bottom,0))}}
