.experimental-badge{display:inline-block;background:#fef3c7;color:#92400e;border:1px solid #f59e0b;font-size:.7em;padding:2px 6px;border-radius:4px;vertical-align:middle;cursor:default;margin-left:6px}:root{--color-bg: #f8f9fb;--color-surface: #ffffff;--color-border: #e2e8f0;--color-border-subtle: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #64748b;--color-text-tertiary: #94a3b8;--color-primary: #1e40af;--color-primary-hover: #1e3a8a;--color-primary-light: #dbeafe;--color-success: #16a34a;--color-success-light: #dcfce7;--color-warning: #d97706;--color-warning-light: #fef3c7;--color-danger: #dc2626;--color-danger-light: #fee2e2;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.5}body{margin:0;background:var(--color-bg);color:var(--color-text)}.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}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.app-header h1{margin:0;font-size:var(--text-xl);font-weight:700;color:var(--color-text)}.app-header-actions{margin-left:auto}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{width:280px;min-width:280px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-4) var(--space-3)}.sidebar-header h2{margin:0;font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.sidebar-list{list-style:none;margin:0;padding:0;flex:1}.scenario-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;border-left:3px solid transparent;transition:background-color .15s ease,border-color .15s ease;position:relative}.scenario-card:hover{background:var(--color-border-subtle)}.scenario-card.active{background:var(--color-primary-light);border-left-color:var(--color-primary)}.scenario-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.scenario-card-info{flex:1;min-width:0}.scenario-card-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scenario-card-meta{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1);line-height:1.35;max-height:2.7em;overflow-wrap:anywhere}.scenario-card-meta-item{display:inline}.scenario-card-meta-item+.scenario-card-meta-item:before{content:" • ";color:var(--color-text-tertiary)}.scenario-card-actions{display:flex;gap:var(--space-1);position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:var(--color-surface);padding:var(--space-1);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);visibility:hidden;opacity:0;pointer-events:none;z-index:1;transition:opacity .15s ease,visibility .15s ease}.scenario-card:hover .scenario-card-actions,.scenario-card:focus-visible .scenario-card-actions,.scenario-card-actions:focus-within{visibility:visible;opacity:1;pointer-events:auto}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;line-height:1;white-space:nowrap}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger)}.badge-neutral{background:var(--color-border-subtle);color:var(--color-text-tertiary)}.sidebar-new-btn{margin:0 var(--space-4) var(--space-3);flex-shrink:0}.scenario-group{list-style:none;margin-bottom:var(--space-4)}.scenario-group:last-child{margin-bottom:0}.scenario-group-list{list-style:none;margin:0;padding:0}.scenario-group-children{border-left:2px solid color-mix(in srgb,var(--color-primary) 30%,transparent);margin-left:calc(var(--space-3) + 8px);padding-left:0}.scenario-group-children-list{list-style:none;margin:0;padding:0}.scenario-group-children .scenario-card-exploration{margin-top:var(--space-1)}.scenario-card-exploration{padding-left:var(--space-3);border-left:none}.scenario-card-exploration .scenario-card-info{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.scenario-card-name-exploration{font-size:var(--text-xs)!important;font-weight:500!important;color:var(--color-text-secondary)!important}.exploration-badges{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.exploration-delta{font-size:11px;font-weight:600;color:var(--color-text-tertiary);white-space:nowrap}.badge-sm{font-size:11px;padding:1px var(--space-1)}.btn-explore{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-light);color:var(--color-primary);font-size:.92rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease;margin:0}.btn-explore:hover{background:var(--color-primary);color:#fff}.btn-explore svg{flex-shrink:0}.main-content{flex:1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.mobile-back-btn{display:none;align-items:center;gap:var(--space-2);background:none;border:none;color:var(--color-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:0;margin-bottom:var(--space-2)}.mobile-back-btn:hover{text-decoration:underline}.hero-metric{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--space-8);text-align:center}.hero-metric-value{font-size:var(--text-4xl);font-weight:800;line-height:1.1;margin-bottom:var(--space-2)}.hero-metric-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.hero-metric-subtext{font-size:var(--text-xs);color:var(--color-text-tertiary)}.hero-gauge{width:100%;max-width:400px;height:8px;background:var(--color-border-subtle);border-radius:var(--radius-full);margin:var(--space-4) auto;overflow:hidden}.hero-gauge-fill{height:100%;border-radius:var(--radius-full);transition:width .6s ease}.hero-tier-annotation{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2)}.hero-secondary{display:flex;justify-content:center;gap:var(--space-8);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.hero-secondary-item{text-align:center}.hero-secondary-value{font-size:var(--text-lg);font-weight:700;color:var(--color-text)}.hero-secondary-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.hero-empty{padding:var(--space-12) var(--space-8);text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.hero-empty h2{margin:0 0 var(--space-2);font-size:var(--text-xl);color:var(--color-text)}.hero-empty p{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.hero-skeleton{padding:var(--space-8);text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.skeleton-pulse{background:linear-gradient(90deg,var(--color-border-subtle) 25%,var(--color-border) 50%,var(--color-border-subtle) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-value{width:180px;height:48px;margin:0 auto var(--space-2)}.skeleton-label{width:140px;height:16px;margin:0 auto var(--space-4)}.skeleton-bar{width:100%;max-width:400px;height:8px;margin:0 auto}.hero-skeleton-status{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary)}.key-outcomes{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--space-5)}.key-outcomes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.outcome-metric{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-5);border-left:1px solid var(--color-border-subtle)}.outcome-metric:first-child{border-left:none;padding-left:0}.outcome-metric-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.outcome-metric-primary{font-size:var(--text-xl);font-weight:700;color:var(--color-text)}.outcome-metric-range{font-size:var(--text-xs);color:var(--color-text-tertiary)}.outcome-metric-annotation{font-size:var(--text-xs);color:var(--color-text-tertiary);font-style:italic}.results-summary{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.6;padding:var(--space-2) 0}.results-summary p{margin:0}.tax-detail-toggle{background:none;border:none;padding:0;font-size:var(--text-xs);color:var(--color-primary);cursor:pointer;font-weight:500;align-self:flex-start;text-align:left}.tax-detail-toggle:hover{text-decoration:underline}.plan-summary{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-5);margin-bottom:var(--space-2)}.plan-summary-title{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin-bottom:var(--space-4)}.plan-summary-details{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.plan-detail-group{display:flex;flex-direction:column;gap:var(--space-1)}.plan-detail-header{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.plan-detail-value{font-size:var(--text-base);font-weight:600;color:var(--color-text)}.plan-detail-item{font-size:var(--text-sm);color:var(--color-text-tertiary)}.account-structure{display:flex;flex-direction:column}.account-structure-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;cursor:pointer;padding:0;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);min-height:44px}.acct-toggle-arrow{font-size:var(--text-xs);color:var(--color-text-tertiary)}.acct-details{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-4);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-variant-numeric:tabular-nums}.acct-bar{display:flex;height:6px;border-radius:var(--radius-full);overflow:hidden;gap:2px}.acct-bar-segment{min-width:4px;border-radius:var(--radius-full)}.acct-bar-taxable{background:var(--color-primary)}.acct-bar-taxdeferred{background:#6366f1}.acct-bar-taxfree{background:#22c55e}.acct-rows{display:flex;flex-direction:column;gap:var(--space-2)}.acct-row{display:grid;grid-template-columns:8px 1fr auto auto;gap:var(--space-3);align-items:center;font-size:var(--text-sm)}.acct-dot{width:8px;height:8px;border-radius:var(--radius-full)}.acct-dot-taxable{background:var(--color-primary)}.acct-dot-taxdeferred{background:#6366f1}.acct-dot-taxfree{background:#22c55e}.acct-label{color:var(--color-text-secondary)}.acct-value{font-weight:600;color:var(--color-text);text-align:right}.acct-pct{color:var(--color-text-tertiary);font-size:var(--text-xs);min-width:2.5rem;text-align:right}.acct-supplementary{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.acct-sup-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-sm)}.acct-sup-label{color:var(--color-text-tertiary)}.acct-sup-value{font-weight:500;color:var(--color-text);display:flex;align-items:baseline;gap:var(--space-2)}.acct-sup-note{font-size:var(--text-xs);font-weight:400;color:var(--color-text-tertiary)}.acct-mix-sliders{display:flex;flex-direction:column;gap:var(--space-3);overflow:hidden;min-width:0}.acct-mix-bar{display:flex;height:6px;border-radius:var(--radius-full);overflow:hidden;gap:2px}.acct-mix-bar-seg{min-width:3px;border-radius:var(--radius-full);transition:width .15s ease}.acct-mix-row{display:grid;grid-template-columns:8px auto auto auto minmax(0,1fr);gap:var(--space-3);align-items:center;font-size:var(--text-sm);min-width:0;font-variant-numeric:tabular-nums}.acct-mix-dot{width:8px;height:8px;border-radius:var(--radius-full)}.acct-mix-label{color:var(--color-text-secondary);white-space:nowrap}.acct-mix-value{font-weight:600;color:var(--color-text);text-align:right;min-width:4rem}.acct-mix-pct{color:var(--color-text-tertiary);font-size:var(--text-xs);min-width:2.5rem;text-align:right}.acct-mix-range{width:100%;min-width:0;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-border-subtle);border-radius:var(--radius-full);outline:none;cursor:pointer}.acct-mix-range:disabled{opacity:.4;cursor:default}.acct-mix-range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-surface);box-shadow:0 1px 3px #0003;cursor:pointer}.acct-mix-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-surface);box-shadow:0 1px 3px #0003;cursor:pointer}.tax-policy-inline{margin-top:var(--space-2)}.tax-policy-pill{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;cursor:pointer;min-height:44px;transition:background-color .15s}.tax-policy-pill:hover{background:var(--color-primary);color:var(--color-surface)}.card{background:var(--color-surface);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.card-header{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.card-value{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-1)}.card-detail{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.tax-assumptions-card{display:flex;flex-direction:column;gap:var(--space-2)}.tax-assumptions-effective{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.tax-assumptions-section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);font-weight:600}.tax-assumptions-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text);font-size:var(--text-sm)}.tax-assumptions-list li{line-height:1.4}.tax-assumptions-link{color:var(--color-primary);word-break:break-all}.stat-primary-value{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-1)}.stat-range{font-size:var(--text-xs);color:var(--color-text-tertiary)}.tax-summary-section{display:flex;flex-direction:column;gap:var(--space-3)}.tax-summary-headline{display:flex;gap:var(--space-6);align-items:baseline}.tax-summary-rate,.tax-summary-total{display:flex;flex-direction:column}.tax-summary-rate-value,.tax-summary-total-value{font-size:var(--text-2xl);font-weight:700;color:var(--color-text)}.tax-summary-rate-label,.tax-summary-total-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.tax-summary-breakdown{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);padding-left:var(--space-4);border-left:2px solid var(--color-border)}.tax-summary-breakdown-panel{display:flex;flex-direction:column;gap:var(--space-2)}.tax-summary-breakdown-title{font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-secondary)}.tax-summary-breakdown-item{display:flex;justify-content:space-between;font-size:var(--text-sm);padding:var(--space-1) 0}.tax-summary-breakdown-total{border-top:1px solid var(--color-border);margin-top:var(--space-1);padding-top:var(--space-2)}.tax-summary-breakdown-label{color:var(--color-text-secondary)}.tax-summary-breakdown-value{font-weight:600;color:var(--color-text)}.tax-impact-metrics{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1)}.tax-impact-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-sm)}.tax-impact-metric-label{color:var(--color-text-secondary);font-size:var(--text-xs)}.tax-impact-metric-value{font-weight:700;font-size:var(--text-sm);color:var(--color-text)}.tax-impact-negative{color:var(--color-danger)}.tax-impact-fallback{font-size:var(--text-sm)!important;font-weight:400!important;color:var(--color-text-tertiary)!important;font-style:italic}.tax-impact-detail-explanation{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--space-2)}.tax-impact-failure-rates{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2)}.tax-impact-rate-row{display:flex;justify-content:space-between;font-size:var(--text-sm)}.tax-impact-rate-label{color:var(--color-text-secondary)}.tax-impact-rate-value{font-weight:600;color:var(--color-text)}.tax-breakdown-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 600px){.tax-breakdown-columns{grid-template-columns:1fr;gap:var(--space-3)}}.tax-breakdown-annotation{font-size:var(--text-xs);color:var(--color-text-tertiary);font-style:italic;margin-top:var(--space-1)}.tax-policy-disclosure{margin:0}.tax-policy-summary{cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--color-text);list-style:none;display:flex;align-items:center;gap:var(--space-2)}.tax-policy-summary::-webkit-details-marker{display:none}.tax-policy-summary:before{content:"▸";font-size:var(--text-xs);transition:transform .15s ease}.tax-policy-disclosure[open]>.tax-policy-summary:before{transform:rotate(90deg)}.tax-policy-details{padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}button{font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;border:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--color-primary);color:var(--color-surface);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:600}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:default}.btn-secondary{background:var(--color-surface);color:var(--color-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border);font-weight:600}.btn-secondary:hover{background:var(--color-border-subtle)}.btn-danger{background:var(--color-danger);color:var(--color-surface);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:600}.btn-danger:hover{background:#b91c1c}.ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm)}.ghost:hover{background:var(--color-border-subtle)}.icon-button{width:1.75rem;height:1.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);background:transparent;border:none;color:var(--color-text-secondary);border-radius:var(--radius-sm)}.icon-button:hover{background:var(--color-border-subtle);color:var(--color-text)}.icon-button:disabled{color:var(--color-text-tertiary);cursor:default}.icon-button:disabled:hover{background:transparent}input,textarea,select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-sans);background:var(--color-surface);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:calc(var(--space-3) + 1.5rem);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px 8px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}@media (hover: none){input,textarea,select{font-size:16px!important}}.input-prefix-group{display:flex;align-items:stretch}.input-prefix-group input{flex:1;min-width:0;border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.input-prefix-group input:focus{position:relative;z-index:1}.input-prefix{display:flex;align-items:center;padding:var(--space-2) var(--space-2);background:var(--color-border-subtle);border:1px solid var(--color-border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none}label{display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--space-1);color:var(--color-text-secondary);font-weight:500}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-surface);width:min(900px,calc(100% - 2rem));max-height:calc(100vh - 4rem);overflow-y:auto;border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-lg)}.modal header,.modal footer{display:flex;justify-content:space-between;align-items:center}.modal-confirm{box-sizing:border-box;width:min(480px,calc(100% - 2rem))}.modal-confirm footer,.modal-confirm .modal-actions{justify-content:flex-end;gap:var(--space-3)}.modal-confirm .modal-body{gap:var(--space-2)}.baseline-save-hint{font-size:.85em;color:var(--color-text-secondary)}.modal-body{display:flex;flex-direction:column;gap:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.row-grid{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.row-grid-income{grid-template-columns:repeat(5,1fr) auto}.section-header{display:flex;justify-content:space-between;align-items:center}.timeline-chart{margin-top:var(--space-2);position:relative;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--space-5)}.timeline-legend{display:flex;gap:var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-3);color:var(--color-text-secondary)}.legend-item{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:1px solid transparent;cursor:pointer;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font:inherit;font-size:var(--text-sm)}.legend-item:before{content:"";width:12px;height:12px;border-radius:2px;display:inline-block;border:2px solid currentColor;background:currentColor;flex-shrink:0}.legend-item.inactive:before{background:transparent}.legend-item.success{color:#1e40af}.legend-item.failure{color:#ef4444}.legend-item.inactive{opacity:.6}.legend-item:focus-visible{outline:2px solid var(--color-text-tertiary)}.timeline-svg{width:100%;max-width:100%}.timeline-tooltip{position:absolute;top:var(--space-12);right:var(--space-4);display:inline-block;background:var(--color-text);color:var(--color-surface);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);box-shadow:var(--shadow-lg);pointer-events:none;line-height:1.6}.timeline-axis-label{font-size:var(--text-xs);fill:var(--color-text-secondary)}.timeline-grid-line{stroke:var(--color-border);stroke-dasharray:4 4}.timeline-empty{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.timeline-header-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.chart-view-toggle{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;min-height:44px;display:inline-flex;align-items:center;transition:background-color .15s,color .15s}.chart-view-toggle:hover{background:var(--color-border-subtle);color:var(--color-text)}.fan-band-outer{fill:var(--color-primary-light);opacity:.4}.fan-band-inner{fill:var(--color-primary-light);opacity:.7}.fan-median-line{fill:none;stroke:var(--color-primary);stroke-width:2.5}.fan-band-outer-negative{fill:var(--color-danger-light);opacity:.4}.fan-band-inner-negative{fill:var(--color-danger-light);opacity:.7}.fan-zero-line{stroke:var(--color-text-secondary, #64748b);stroke-width:1.5;stroke-dasharray:6 3;opacity:.7}.fan-legend{display:flex;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-secondary)}.fan-legend-item{display:inline-flex;align-items:center;gap:var(--space-1)}.fan-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:2px}.fan-legend-median{background:var(--color-primary);height:3px;width:16px}.fan-legend-inner{background:var(--color-primary-light);opacity:.7}.fan-legend-outer{background:var(--color-primary-light);opacity:.4}.fan-success-label{font-size:11px;fill:var(--color-text-secondary, #64748b);font-weight:600}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12);color:var(--color-text-secondary)}.empty-state h2{margin:0 0 var(--space-2);font-size:var(--text-xl);color:var(--color-text)}.empty-state p{margin:0;font-size:var(--text-sm)}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:var(--text-lg);color:var(--color-text-secondary)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.auth-card{width:min(420px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-8);text-align:center}.auth-card h1{margin:0 0 var(--space-2)}.auth-card p{margin:0 0 var(--space-4);color:var(--color-text-secondary)}.google-signin{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.auth-error{margin:var(--space-2) 0 0;color:var(--color-danger);font-size:var(--text-sm)}.auth-error-block{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.auth-error-banner{display:flex;align-items:center;gap:var(--space-3);justify-content:center;background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.auth-error-banner .auth-error{margin:0}.auth-retry-btn,.auth-dismiss-btn{background:none;border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);cursor:pointer;white-space:nowrap}.auth-retry-btn:hover,.auth-dismiss-btn:hover{background:var(--color-danger-light)}.slide-over-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:1000;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.slide-over{position:fixed;top:0;right:0;width:min(560px,calc(100vw - 2rem));height:100vh;height:100dvh;background:var(--color-surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide-in .25s ease;z-index:1001}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-over-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.slide-over-header h2{margin:0;font-size:var(--text-lg);font-weight:700}.wizard-header-name{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.wizard-rename-link{background:none;border:none;color:var(--color-primary);font-size:var(--text-xs);font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.wizard-rename-link:hover{color:var(--color-primary-hover)}.slide-over-tabs{display:flex;border-bottom:1px solid var(--color-border);padding:0 var(--space-5);gap:0;overflow-x:auto}.slide-over-tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.slide-over-tab:hover{color:var(--color-text)}.slide-over-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.slide-over-body{flex:1;overflow-y:auto;padding:var(--space-5);container-type:inline-size}.slide-over-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.slide-over-footer-actions{display:flex;gap:var(--space-2)}.discard-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fade-in .15s ease}.discard-confirm{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);width:min(400px,calc(100% - 2rem));box-shadow:var(--shadow-lg)}.discard-confirm h3{margin:0 0 var(--space-2);font-size:var(--text-lg);color:var(--color-text)}.discard-confirm p{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.discard-confirm-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.editor-tab-content{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;overflow-x:hidden}.form-section-group{display:flex;flex-direction:column;gap:var(--space-3)}.form-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);font-weight:600;margin:0}.editor-tab-content>.form-section-group+.form-section-group{margin-top:var(--space-3)}.field-group{display:flex;flex-direction:column;gap:var(--space-1)}.field-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.field-help{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.info-button{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:var(--radius-full);border:1.5px solid var(--color-text-tertiary);background:transparent;color:var(--color-text-tertiary);font-size:.7rem;font-weight:700;line-height:1;padding:0;cursor:pointer;flex-shrink:0;vertical-align:middle;margin-left:var(--space-1)}.info-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.info-popover{position:fixed;z-index:9999;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;padding:var(--space-3);max-width:min(360px,calc(100vw - 16px));min-width:200px}.info-popover-close{position:absolute;top:var(--space-1);right:var(--space-1);background:none;border:none;font-size:1.1rem;color:var(--color-text-tertiary);cursor:pointer;padding:2px 6px;line-height:1}.info-popover-close:hover{color:var(--color-text)}.info-popover-content{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5;padding-right:var(--space-4)}.info-popover-content .tax-assumptions-list{margin:0;padding-left:1.1rem}.label-with-info{display:flex;flex-direction:row;align-items:center;gap:0}.tax-assumptions-link{background:none;border:none;padding:0;font-size:var(--text-xs);color:var(--color-primary);cursor:pointer;text-decoration:underline;margin-top:var(--space-1)}.tax-assumptions-link:hover{color:var(--color-primary-hover)}.conversion-notice{color:var(--color-primary);font-weight:600;animation:conversion-fade 5s ease-out forwards}@keyframes conversion-fade{0%,80%{opacity:1}to{opacity:0}}.field-inline-action{align-self:flex-start;padding:0;border:none;background:transparent;color:var(--color-primary);font-size:var(--text-xs);font-weight:600;cursor:pointer}.field-inline-action:hover{text-decoration:underline}.field-group-error input{border-color:var(--color-danger)}.field-group-error input:focus{box-shadow:0 0 0 3px var(--color-danger-light);border-color:var(--color-danger)}.field-error{font-size:var(--text-xs);color:var(--color-danger);margin-top:var(--space-1)}.form-error-summary{margin:0 var(--space-6);padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-light);color:var(--color-danger)}.form-error-summary-message{margin:0;font-size:var(--text-sm);font-weight:600}.form-error-list{margin:var(--space-2) 0 0;padding-left:1.2rem}.form-error-list li+li{margin-top:var(--space-1)}.field-group-readonly input{background:var(--color-border-subtle);color:var(--color-text-tertiary);cursor:default;border-color:var(--color-border-subtle)}.field-group-readonly .field-label{color:var(--color-text-tertiary)}.field-group select{padding:var(--space-2) var(--space-3);padding-right:calc(var(--space-3) + 1.5rem);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-sans);background-color:var(--color-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px 8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.field-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.preset-group{display:flex;flex-direction:column;gap:var(--space-2)}.preset-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background-color .15s;flex-direction:row}.preset-option:hover{background:var(--color-border-subtle)}.preset-option.active{border-color:var(--color-primary);background:var(--color-primary-light)}.preset-option input[type=radio]{accent-color:var(--color-primary);margin:0;width:16px;height:16px;flex-shrink:0}.preset-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.preset-description{font-size:var(--text-xs);color:var(--color-text-secondary)}.expense-row{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-2);overflow:hidden;position:relative}.expense-row-remove{position:absolute;top:var(--space-2);right:var(--space-2)}.expense-row-top{display:flex;flex-direction:column;gap:var(--space-1);padding-right:var(--space-8)}.expense-row-top input{width:100%;box-sizing:border-box}.expense-row-bottom{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.income-type-help{margin-top:0}.expense-row label{font-size:var(--text-xs);gap:var(--space-1);min-width:0}.expense-row-bottom input{width:100%;box-sizing:border-box}.benefit-card{border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2);position:relative;background:var(--color-surface)}.benefit-card--expanded{background:var(--color-bg)}.benefit-card-remove{position:absolute;top:var(--space-2);right:var(--space-2)}.benefit-card-header{cursor:pointer;display:flex;flex-direction:column;gap:2px;padding-right:var(--space-8);-webkit-user-select:none;user-select:none}.benefit-card-primary{font-size:var(--text-sm);font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.benefit-card-secondary{font-size:var(--text-xs);color:var(--color-text-muted)}.benefit-card-hint{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}.benefit-card-fields{margin-top:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.benefit-card-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.benefit-card-fields-grid label{font-size:var(--text-xs);gap:var(--space-1);min-width:0}.benefit-card-fields-grid input,.benefit-card-fields-grid select{width:100%;box-sizing:border-box}.person-labels-row{display:flex;gap:var(--space-2)}.person-labels-row input{flex:1;min-width:0}.person-selector{display:flex;align-items:center;gap:var(--space-1);min-width:max-content}.person-selector-label{font-size:var(--text-xs);color:var(--color-text-muted)}.person-pill{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.person-pill-option{font-size:var(--text-xs);padding:1px 6px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;line-height:1.4}.person-pill-option+.person-pill-option{border-left:1px solid var(--color-border)}.person-pill-option.active{background:var(--color-primary);color:#fff}.wizard-stepper{display:flex;align-items:center;justify-content:center;padding:var(--space-4) var(--space-5);gap:var(--space-2);border-bottom:1px solid var(--color-border)}.wizard-step{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary)}.wizard-step+.wizard-step:before{content:"";display:block;width:24px;height:1px;background:var(--color-border);margin-right:var(--space-2)}.wizard-step-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;background:var(--color-border-subtle);color:var(--color-text-tertiary);flex-shrink:0}.wizard-step.active .wizard-step-number{background:var(--color-primary);color:#fff}.wizard-step.completed .wizard-step-number{background:var(--color-success-light);color:var(--color-success)}.wizard-step.active{color:var(--color-primary)}.wizard-step.completed{color:var(--color-success)}.wizard-step-label{font-size:var(--text-xs);font-weight:600;white-space:nowrap}.country-cards{display:flex;flex-wrap:wrap;gap:var(--space-2)}.country-card{flex:1 1 140px;min-width:120px;padding:var(--space-4) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);font-weight:600;color:var(--color-text);cursor:pointer;text-align:center;transition:border-color .15s,background-color .15s}.country-card:hover{border-color:var(--color-text-secondary)}.country-card.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-bg)}.login-content{width:min(560px,100%);text-align:center}.login-title{font-size:var(--text-4xl);font-weight:800;color:var(--color-text);margin:0 0 var(--space-4)}.login-tagline{font-size:var(--text-lg);color:var(--color-text-secondary);margin:0 0 var(--space-8);line-height:1.6}.login-cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);width:min(400px,100%);margin-left:auto;margin-right:auto}.login-or-separator{display:flex;align-items:center;gap:var(--space-3);width:100%}.login-or-line{flex:1;border:none;border-top:1px solid var(--color-border);margin:0}.login-or-text{font-size:var(--text-sm);color:var(--color-text-tertiary);white-space:nowrap}.login-privacy{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0 0 var(--space-10)}.login-back-link{display:inline-block;font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;margin-top:var(--space-4);margin-bottom:var(--space-8)}.login-back-link:hover{color:var(--color-primary)}.login-features{display:flex;gap:var(--space-4);justify-content:center}.login-feature-card{flex:1;max-width:160px;padding:var(--space-4) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.login-feature-title{font-size:var(--text-sm);font-weight:700;color:var(--color-text);margin-bottom:var(--space-1)}.login-feature-desc{font-size:var(--text-xs);color:var(--color-text-secondary)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:background-color .15s}.user-menu-trigger:hover{background:var(--color-border-subtle)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.user-avatar-initials{display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary);font-size:var(--text-xs);font-weight:700}.user-menu-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.user-menu-dropdown{position:absolute;top:calc(100% + var(--space-1));right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.user-menu-info{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.user-menu-info-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.user-menu-info-email{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.user-menu-item{width:100%;padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-sm);color:var(--color-text);background:transparent;border:none;cursor:pointer;transition:background-color .15s}.user-menu-item:hover{background:var(--color-border-subtle)}.badge-spinning{display:inline-flex;align-items:center;justify-content:center}.badge-spinner{animation:badge-spin 1s linear infinite}@keyframes badge-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.whatif-section{display:flex;flex-direction:column}.whatif-section-header{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.whatif-body{display:flex;flex-direction:column;gap:var(--space-4)}.whatif-controls{display:flex;align-items:flex-end;gap:var(--space-3)}.whatif-select-label{flex:1;max-width:240px}.whatif-run-btn{flex-shrink:0;border:1px solid transparent}.whatif-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) 0}.whatif-loading-bar{width:100%;max-width:300px;height:6px}.whatif-loading-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.whatif-error{font-size:var(--text-sm);color:var(--color-danger);padding:var(--space-2) 0}.whatif-result{margin-top:var(--space-2)}.whatif-disclaimer{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5}.sweep-threshold-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-bottom:var(--space-2)}.sweep-threshold-label-text{font-size:var(--text-xs);color:var(--color-text-secondary)}.sweep-threshold-pills{display:flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.sweep-threshold-pill{padding:2px 8px;font-size:var(--text-xs);background:var(--color-surface);color:var(--color-text-secondary);border:none;border-right:1px solid var(--color-border);cursor:pointer;transition:background .15s,color .15s}.sweep-threshold-pill:last-child{border-right:none}.sweep-threshold-pill.active{background:var(--color-primary);color:var(--color-surface)}.sweep-threshold-label{font-size:10px;fill:var(--color-text-secondary)}.sweep-intersection-label{font-size:11px;font-weight:600;fill:var(--color-text-secondary)}.whatif-country-picker{display:flex;flex-direction:column;gap:var(--space-2)}.whatif-country-picker-hint{font-size:var(--text-sm);color:var(--color-text-secondary)}.whatif-country-list{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.whatif-country-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);white-space:nowrap}.whatif-country-checkbox-label{display:inline-flex;align-items:center;gap:var(--space-1);cursor:pointer}.whatif-country-item input[type=checkbox]{margin:0}.whatif-country-baseline .whatif-country-name{font-weight:600}.whatif-col-toggle{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer}.whatif-col-toggle input[type=checkbox]{margin:0}.whatif-col-multiplier{display:inline-flex;align-items:center;gap:1px;margin-left:auto}.whatif-col-input{width:4em;padding:1px 4px;font-size:var(--text-xs);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);text-align:right}.whatif-col-input:focus{color:var(--color-text);border-color:var(--color-primary);outline:none}.whatif-col-suffix{font-size:var(--text-xs);color:var(--color-text-secondary)}.whatif-col-label{font-size:var(--text-xs);color:var(--color-text-secondary);border-bottom:1px dashed var(--color-text-tertiary);cursor:pointer;padding-bottom:1px;-webkit-user-select:none;user-select:none}.sweep-bar-value-label{font-size:11px;fill:var(--color-text-secondary)}.segmented-control-wrapper{display:flex;flex-direction:column;gap:var(--space-1)}.segmented-control{display:flex;flex-wrap:wrap;background:var(--color-border-subtle);border-radius:var(--radius-md);padding:2px;gap:2px}.segmented-control-segment{flex:1 1 auto;min-width:0;min-height:44px;padding:var(--space-2) var(--space-3);border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color .15s,color .15s,box-shadow .15s;white-space:normal;text-align:center}.segmented-control-segment:hover{color:var(--color-text)}.segmented-control-segment.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.segmented-control-description{font-size:var(--text-xs);color:var(--color-text-tertiary)}@media (max-width: 639px){.segmented-control{display:grid;grid-template-columns:1fr 1fr}}.form-tier{border-bottom:1px solid var(--color-border-subtle);padding-bottom:var(--space-4);margin-bottom:var(--space-4)}.form-tier:last-child{border-bottom:none;margin-bottom:0}.form-tier-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) 0;background:transparent;border:none;cursor:pointer;font-size:var(--text-base);font-weight:700;color:var(--color-text);text-align:left}.form-tier-toggle:hover{color:var(--color-primary)}.tier-chevron{transition:transform .2s ease;color:var(--color-text-secondary);flex-shrink:0}.tier-chevron-open{transform:rotate(180deg)}.tier-summary{margin-left:auto;font-weight:400;font-size:.8125rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.form-tier-content{margin-top:var(--space-4)}.form-header-left{display:flex;flex-direction:column;min-width:0}.form-header-name{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1)}.form-header-name-display{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:none;padding:0;cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500;text-align:left;min-width:0}.form-header-name-display:hover{color:var(--color-primary)}.form-header-name-display span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-header-name-input{font-size:var(--text-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-sm);outline:none;box-shadow:0 0 0 3px var(--color-primary-light);min-width:0;width:200px}.form-header-name-error{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px var(--color-danger-light)!important}.age-life-expectancy-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);align-items:end}.age-life-expectancy-row .age-field,.age-life-expectancy-row .life-expectancy-field{min-width:0}.age-life-expectancy-row .age-field label,.age-life-expectancy-row .life-expectancy-field label,.age-life-expectancy-row .age-field .field-label,.age-life-expectancy-row .life-expectancy-field .field-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.age-life-expectancy-row input{width:100%}.field-pair-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-start}.field-pair-row>.field-group{flex:1 1 0}.field-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.field-row>label{flex:1 1 0}.life-expectancy-disabled{opacity:.45;pointer-events:none}.field-invalid,input.field-invalid,select.field-invalid{border-color:var(--color-danger)!important;box-shadow:0 0 0 1px var(--color-danger-light)}.partner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.btn-add-partner{background:none;border:1px dashed var(--color-border);border-radius:var(--radius-md, 6px);color:var(--color-primary);font-size:var(--text-sm);cursor:pointer;padding:var(--space-2) var(--space-3);margin-top:var(--space-1);width:100%;transition:border-color .15s,background-color .15s}.btn-add-partner:hover{border-color:var(--color-primary);background:var(--color-surface-hover, rgba(0, 0, 0, .03))}.btn-text{background:none;border:none;color:var(--color-primary);font-size:var(--text-sm);cursor:pointer;padding:var(--space-1) 0}.btn-text:hover{text-decoration:underline}.btn-text-danger{background:none;border:none;color:var(--color-danger);font-size:var(--text-xs);cursor:pointer;padding:var(--space-1) 0}.btn-text-danger:hover{text-decoration:underline}.timeline-sentence{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text);flex-wrap:wrap}.timeline-sentence input{width:5ch;text-align:center;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border:none;border-bottom:2px solid var(--color-border);border-radius:0;background:transparent}.timeline-sentence input:focus{border-bottom-color:var(--color-primary);box-shadow:none;outline:none}.cashflow-subsection{margin-top:var(--space-4)}.cashflow-subsection h4{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--color-text)}@media (max-width: 768px){.app-body{flex-direction:column}.login-title{font-size:var(--text-3xl)}.login-features{flex-direction:column;align-items:center}.login-feature-card{max-width:100%;width:100%}.user-menu-name,.app-body.master-detail.has-selection .sidebar{display:none}.app-body.master-detail:not(.has-selection) .main-content{display:none}.sidebar{width:100%;min-width:100%;border-right:none;flex:1}.scenario-card-actions{display:flex;opacity:1;visibility:visible;pointer-events:auto;position:static;right:auto;top:auto;transform:none;background:transparent;box-shadow:none;padding:0}.mobile-back-btn{display:flex}.slide-over{width:100vw}.age-life-expectancy-row{grid-template-columns:1fr}.field-pair-row{flex-direction:column}.form-create-btn{width:100%}.key-outcomes-grid{grid-template-columns:1fr;gap:var(--space-4)}.outcome-metric{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:var(--space-1);align-items:baseline;border-left:none;padding:var(--space-3) 0;border-top:1px solid var(--color-border-subtle)}.outcome-metric:first-child{border-top:none}.outcome-metric-label{grid-column:1;grid-row:1}.outcome-metric-primary{grid-column:2;grid-row:1;text-align:right;font-size:var(--text-lg)}.outcome-metric-range{grid-column:1 / -1;grid-row:2;text-align:right}.outcome-metric-annotation{grid-column:1 / -1;grid-row:3;text-align:right}.plan-summary-details{grid-template-columns:1fr}.whatif-controls{flex-direction:column}.whatif-select-label{max-width:none}.whatif-run-btn{width:100%}.main-content{padding:var(--space-3)}.timeline-chart{padding:var(--space-1) 0}.acct-mix-row{grid-template-columns:8px auto auto auto minmax(0,1fr);gap:var(--space-2)}.acct-mix-value{min-width:3rem;font-size:var(--text-xs)}}.scenario-detail{margin-top:var(--space-4)}.scenario-detail-header{margin-bottom:var(--space-4)}.scenario-detail-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text)}.scenario-detail-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.scenario-quick-picks{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.scenario-pick-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s}.scenario-pick-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.scenario-pick-btn.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.scenario-loading{padding:var(--space-6) 0;text-align:center}.scenario-loading-text{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.scenario-error{padding:var(--space-4);color:var(--color-danger);font-size:var(--text-sm)}.scenario-empty{padding:var(--space-6);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.ledger-failure-badge{display:inline-block;padding:var(--space-1) var(--space-3);margin-bottom:var(--space-3);background:var(--color-danger-light);color:var(--color-danger);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-md)}.ledger-container{overflow-x:auto}.ledger-table{width:100%;border-collapse:collapse}.ledger-table thead tr{display:grid;grid-template-columns:60px 100px 1.8fr .8fr .8fr .8fr 1fr;padding:0 var(--space-3)}.ledger-table thead th{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);padding:var(--space-2) 0;border-bottom:2px solid var(--color-border);white-space:nowrap}.ledger-th-short{display:none}.ledger-table thead th:first-child{text-align:left}.ledger-table thead th:nth-child(2){text-align:right}.ledger-table thead th:nth-child(n+3){text-align:right}.ledger-row-group{border-bottom:1px solid var(--color-border-subtle)}.ledger-row-group.ledger-row-group-expanded{border-bottom:none}.ledger-row-cell{padding:0}.ledger-detail-row{border-bottom:1px solid var(--color-border-subtle)}.ledger-row-btn{display:grid;grid-template-columns:60px 100px 1.8fr .8fr .8fr .8fr 1fr;width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;cursor:pointer;text-align:right;font-size:var(--text-sm);color:var(--color-text);transition:background .1s}.ledger-row-btn:hover{background:var(--color-bg)}.ledger-row-btn.ledger-row-expanded{background:var(--color-primary-light)}.ledger-row-btn.ledger-row-depleted{background:var(--color-danger-light)}.ledger-row-btn.ledger-row-depleted:hover{background:#fecaca}.ledger-col{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-col-year{font-weight:600;text-align:left;overflow:visible}.ledger-col-return.positive{color:var(--color-success)}.ledger-col-return.negative{color:var(--color-danger)}.ledger-col-ending.negative{color:var(--color-danger);font-weight:600}.ledger-detail-panel{padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-bg);border-top:1px solid var(--color-border-subtle)}.ledger-detail-section{margin-bottom:var(--space-3)}.ledger-detail-section:last-child{margin-bottom:0}.ledger-detail-heading{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.ledger-detail-line{font-size:var(--text-sm);color:var(--color-text);line-height:1.5}.ledger-detail-muted{color:var(--color-text-tertiary);font-style:italic}.ledger-asset-return-line{display:grid;grid-template-columns:1fr 50px 70px 100px;gap:var(--space-2);align-items:baseline}.ledger-asset-return-total{display:grid;grid-template-columns:1fr 50px 70px 100px;gap:var(--space-2);align-items:baseline;font-weight:600;border-top:1px solid var(--color-border);margin-top:var(--space-1);padding-top:var(--space-1)}.ledger-asset-weight,.ledger-asset-rate,.ledger-asset-amount{text-align:right}.rebalancing-trade{display:flex;gap:var(--space-3);align-items:baseline}.rebalancing-name{font-weight:500;min-width:6em}.rebalancing-drift{color:var(--color-text-secondary)}.rebalancing-sell{color:#b55a5a}.rebalancing-buy{color:#5a8f5a}.rebalancing-turnover{margin-top:var(--space-1);font-weight:500;color:var(--color-text-secondary)}.withdrawal-bound-hit{color:#c47a20;font-size:var(--text-xs);font-weight:500}.regime-indicator{display:inline-flex;align-items:center;margin-right:6px;vertical-align:middle;cursor:help;position:relative}.regime-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--regime-color)}.regime-tooltip{position:absolute;left:0;bottom:calc(100% + 6px);white-space:nowrap;font-size:var(--text-xs);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;box-shadow:0 2px 8px #00000026;z-index:10;pointer-events:none}@media (max-width: 640px){.regime-tooltip{white-space:normal;max-width:220px}}.regime-legend{font-size:var(--text-xs);padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.regime-legend-items{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4)}.regime-legend-item{display:inline-flex;align-items:center;gap:4px}.regime-legend-label{font-weight:600}.regime-legend-inflation{color:var(--color-text-secondary)}.regime-legend-note{color:var(--color-text-secondary);margin-top:var(--space-1)}.regime-chip{display:inline-block;width:10px;height:10px;border-radius:2px;flex-shrink:0}.regime-run .ledger-row-btn{border-left:3px solid transparent;border-left-color:inherit}@media (max-width: 768px){.ledger-row-btn{grid-template-columns:50px 80px 1.8fr 1fr;font-size:var(--text-xs);gap:var(--space-1)}.ledger-table thead tr{grid-template-columns:50px 80px 1.8fr 1fr;padding:0 var(--space-3)}.ledger-col-income,.ledger-col-expenses,.ledger-col-taxes{display:none}.ledger-table thead th:nth-child(4),.ledger-table thead th:nth-child(5),.ledger-table thead th:nth-child(6){display:none}.ledger-th-full{display:none}.ledger-th-short{display:inline}}.ops-dashboard{padding:var(--space-4) var(--space-6);max-width:960px;margin:0 auto}.ops-dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.ops-dashboard-header h2{margin:0;font-size:var(--text-2xl);font-weight:700;color:var(--color-text)}.ops-close-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xl);cursor:pointer;padding:var(--space-1) var(--space-2);color:var(--color-text-secondary);line-height:1}.ops-close-btn:hover{background:var(--color-border-subtle)}.ops-section{margin-bottom:var(--space-6)}.ops-section-title{font-size:var(--text-base);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3);text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-xs)}.ops-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.ops-health-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ops-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.ops-status-dot-green{background:#22c55e}.ops-status-dot-yellow{background:#eab308}.ops-status-dot-red{background:#ef4444}.ops-health-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.ops-health-value{font-size:var(--text-sm);color:var(--color-text-secondary);margin-left:auto}.ops-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-3)}.ops-stat-card{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.ops-stat-value{font-size:var(--text-lg);font-weight:700;color:var(--color-text)}.ops-stat-label{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.ops-chart-wrapper{overflow-x:auto}.ops-throughput-chart{width:100%;max-height:200px}.ops-bar-completed{fill:var(--color-primary)}.ops-bar-failed{fill:#ef4444}.ops-chart-label{font-size:10px;fill:var(--color-text-secondary)}.ops-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ops-table th{text-align:left;font-weight:600;color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-bottom:2px solid var(--color-border);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.ops-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text)}.ops-mono{font-family:var(--font-mono);font-size:var(--text-xs)}.ops-truncate{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.ops-badge-green{background:#dcfce7;color:#166534}.ops-badge-red{background:#fee2e2;color:#991b1b}.ops-empty{font-size:var(--text-sm);color:var(--color-text-tertiary);padding:var(--space-3) 0}.ops-loading{text-align:center;padding:var(--space-8);color:var(--color-text-secondary)}.ops-error{text-align:center;padding:var(--space-4);color:var(--color-danger)}.ops-footer{text-align:right;font-size:var(--text-xs);color:var(--color-text-tertiary);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.app-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-4) var(--space-6)}.app-footer-content{max-width:64rem;margin:0 auto;text-align:center}.app-footer-disclaimer{margin:0 0 var(--space-2);font-size:var(--text-xs);line-height:1.6;color:var(--color-text-tertiary)}.app-footer-terms-link{font-size:var(--text-xs);color:var(--color-text-secondary);text-decoration:underline}.app-footer-terms-link:hover{color:var(--color-primary)}.results-disclaimer{font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-primary-light);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4);line-height:1.5}.per-asset-note{font-size:var(--text-xs);color:var(--color-text-secondary);font-style:italic;margin-bottom:var(--space-4)}.regime-summary-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4)}.regime-summary-title{font-weight:700;font-size:var(--text-sm);margin-bottom:var(--space-2)}.regime-summary-stat{font-size:var(--text-sm);margin:var(--space-1) 0}.regime-summary-note{font-size:var(--text-xs);color:var(--color-text-secondary);font-style:italic;margin-top:var(--space-2);margin-bottom:0}.regime-frequency-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-3);margin:var(--space-2) 0}.regime-frequency-item{display:flex;align-items:center;gap:6px;font-size:var(--text-sm)}.regime-frequency-item .regime-frequency-value{margin-left:auto}.regime-frequency-label{color:var(--color-text-secondary)}.regime-frequency-value{font-weight:600}.return-overrides-grid{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3);margin-top:var(--space-2);font-size:var(--text-sm)}.return-override-row{display:contents}.return-override-label{color:var(--color-text-secondary);align-self:center;font-size:var(--text-xs)}.return-override-input{width:5rem;text-align:right;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs)}.return-override-readonly{color:var(--color-text-secondary);font-size:var(--text-xs);text-align:right}.wizard-disclaimer{font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0 0 var(--space-4);padding:0 var(--space-1);line-height:1.5}.terms-page{min-height:100vh;background:var(--color-bg);padding:var(--space-8) var(--space-6)}.terms-content{max-width:42rem;margin:0 auto}.terms-content h1{font-size:var(--text-2xl);font-weight:700;margin:0 0 var(--space-2)}.terms-effective{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0 0 var(--space-8)}.terms-content section{margin-bottom:var(--space-6)}.terms-content h2{font-size:var(--text-lg);font-weight:600;margin:0 0 var(--space-2)}.terms-content section p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.7}.terms-back-link{display:inline-block;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-primary);text-decoration:none}.terms-back-link:hover{text-decoration:underline}.terms-nav-links{display:flex;gap:var(--space-6);margin-top:var(--space-4)}.terms-content ul{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin:var(--space-2) 0 0;padding-left:var(--space-6)}.terms-content ul li{margin-bottom:var(--space-2)}.app-footer-links{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.about-quote{font-size:var(--text-lg);font-style:italic;color:var(--color-text);line-height:1.7;border-left:3px solid var(--color-primary);padding-left:var(--space-4);margin:var(--space-4) 0}.pricing-content{max-width:56rem;margin:0 auto}.pricing-content h1{font-size:var(--text-2xl);font-weight:700;margin:0 0 var(--space-2)}.pricing-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-8);line-height:1.7}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-bottom:var(--space-8)}@media (max-width: 768px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-6);display:flex;flex-direction:column}.pricing-card--pro{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.pricing-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-3)}.pricing-card-header h2{font-size:var(--text-lg);font-weight:600;margin:0}.pricing-card-price{font-size:var(--text-lg);font-weight:700;color:var(--color-primary)}.pricing-card-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-4);line-height:1.6}.pricing-card-features{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin:0 0 var(--space-4);padding-left:var(--space-6);flex:1}.pricing-card-features li{margin-bottom:var(--space-1)}.pricing-card-cta{margin-top:auto;text-align:center}.pricing-current-plan{font-size:var(--text-sm);color:var(--color-success);font-weight:600}.pricing-coming-soon{font-size:var(--text-sm);color:var(--color-text-tertiary)}.faq-list{margin:var(--space-4) 0 var(--space-6)}.faq-item{border-bottom:1px solid var(--color-border);padding:var(--space-4) 0}.faq-item:first-child{border-top:1px solid var(--color-border)}.faq-question{font-size:var(--text-base);font-weight:600;cursor:pointer;color:var(--color-text);padding:var(--space-1) 0}.faq-question:hover{color:var(--color-primary)}.faq-answer{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin:var(--space-2) 0 0}.landing-cta-pricing-link{color:var(--color-primary);text-decoration:none}.landing-cta-pricing-link:hover{text-decoration:underline}.delete-account-modal h2{font-size:var(--text-lg);font-weight:700;margin:0}.delete-account-modal p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.user-menu-item-danger{color:var(--color-danger)}.user-menu-item-danger:hover{background:var(--color-danger-light)}.admin-tab-bar{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-4) 0;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.admin-tab{padding:var(--space-2) var(--space-4);border:none;background:none;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.admin-tab:hover{color:var(--color-text)}.admin-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.biz-dashboard{padding:var(--space-4)}.biz-dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.biz-dashboard-header h2{margin:0;font-size:var(--text-xl);font-weight:600}.biz-loading,.biz-error{padding:var(--space-8);text-align:center;color:var(--color-text-secondary)}.biz-error{color:var(--color-danger)}.biz-section{margin-bottom:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-4)}.biz-section-title{margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:600}.biz-subsection-title{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.biz-empty{color:var(--color-text-tertiary);font-size:var(--text-sm);font-style:italic}.biz-stats-grid{display:flex;flex-wrap:wrap;gap:var(--space-3)}.biz-stat-card{flex:1 1 100px;min-width:90px;background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:6px;padding:var(--space-3);text-align:center}.biz-stat-value{font-size:var(--text-xl);font-weight:700;color:var(--color-text)}.biz-stat-label{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.biz-chart-wrapper{overflow-x:auto}.biz-sparkline{width:100%;max-width:400px;height:auto}.biz-bar-signup{fill:var(--color-primary-light)}.biz-bar-activated{fill:var(--color-success)}.biz-sparkline-legend{display:flex;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.biz-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:var(--space-1);vertical-align:middle}.biz-legend-signup{background:var(--color-primary-light)}.biz-legend-activated{background:var(--color-success)}.biz-funnel{display:flex;flex-direction:column;gap:var(--space-2)}.biz-funnel-step{display:flex;flex-direction:column;gap:var(--space-1)}.biz-funnel-bar-container{height:20px;background:var(--color-bg);border-radius:4px;overflow:hidden}.biz-funnel-bar{height:100%;background:var(--color-primary);border-radius:4px;min-width:4px;transition:width .3s ease}.biz-funnel-info{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.biz-funnel-label{font-weight:500;min-width:140px}.biz-funnel-count{font-weight:700;font-size:var(--text-base)}.biz-funnel-rate{color:var(--color-text-secondary);font-size:var(--text-xs)}.biz-acquisition-scroll{overflow-x:auto}.biz-acquisition-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.biz-acquisition-table th,.biz-acquisition-table td{padding:var(--space-2);text-align:right;border-bottom:1px solid var(--color-border-subtle)}.biz-acquisition-table th{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:600;background:var(--color-bg)}.biz-acquisition-table th:first-child,.biz-acquisition-table td:first-child{text-align:left}.biz-acquisition-source{font-weight:600;white-space:nowrap}.biz-engagement-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 700px){.biz-engagement-columns{grid-template-columns:1fr}}.biz-engagement-list{min-width:0}.biz-ranked-list{display:flex;flex-direction:column;gap:var(--space-2)}.biz-ranked-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.biz-ranked-name{min-width:80px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.biz-ranked-bar-container{flex:1;height:14px;background:var(--color-bg);border-radius:3px;overflow:hidden}.biz-ranked-bar{height:100%;background:var(--color-primary-light);border-radius:3px;min-width:2px}.biz-ranked-value{font-weight:600;white-space:nowrap;font-size:var(--text-xs)}.biz-histogram{display:flex;flex-direction:column;gap:var(--space-1)}.biz-histogram-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.biz-histogram-label{min-width:36px;text-align:right;font-weight:500;font-size:var(--text-xs)}.biz-histogram-track{flex:1;height:14px;background:var(--color-bg);border-radius:3px;overflow:hidden}.biz-histogram-fill{height:100%;background:var(--color-primary);border-radius:3px;min-width:2px}.biz-histogram-value{font-weight:600;white-space:nowrap;font-size:var(--text-xs);min-width:24px}.biz-feature-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-3)}@media (max-width: 700px){.biz-feature-columns{grid-template-columns:1fr}}.biz-donut-wrapper{display:flex;flex-direction:column;align-items:center}.biz-donut{width:120px;height:120px}.biz-donut-label{font-size:14px;font-weight:700;fill:var(--color-text)}.biz-donut-sublabel{font-size:8px;fill:var(--color-text-secondary)}.biz-donut-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-2)}.biz-hbar-list{display:flex;flex-direction:column;gap:var(--space-2)}.biz-hbar-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.biz-hbar-label{min-width:60px;font-weight:500;white-space:nowrap}.biz-hbar-track{flex:1;height:14px;background:var(--color-bg);border-radius:3px;overflow:hidden}.biz-hbar-fill{height:100%;background:var(--color-primary);border-radius:3px;min-width:2px}.biz-hbar-stacked{display:flex;height:100%;border-radius:3px;overflow:hidden}.biz-hbar-segment{height:100%;min-width:1px}.biz-toggle-group{display:inline-flex;gap:2px;font-size:var(--text-xs)}.biz-toggle-btn{padding:2px 8px;border:1px solid var(--color-border);border-radius:4px;background:transparent;cursor:pointer;font-size:var(--text-xs);color:var(--color-text-secondary)}.biz-toggle-btn.biz-toggle-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.biz-hbar-value{font-weight:600;font-size:var(--text-xs);min-width:24px;text-align:right}.biz-return-rate-summary{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.biz-return-rate-sep{color:var(--color-text-tertiary)}.biz-retention-scroll{overflow-x:auto}.biz-retention-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.biz-retention-table th,.biz-retention-table td{padding:var(--space-1) var(--space-2);text-align:center;border:1px solid var(--color-border-subtle)}.biz-retention-table th{background:var(--color-bg);font-weight:600;font-size:var(--text-xs);color:var(--color-text-secondary)}.biz-retention-cohort{text-align:left!important;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs)}.biz-retention-cell{min-width:36px;font-weight:500;transition:background-color .2s}.biz-attribution{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2)}.biz-attribution a{color:inherit;text-decoration:underline}.biz-footer{text-align:right;font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-4)}.sign-in-prompt-banner{display:flex;align-items:center;justify-content:space-between;background:var(--color-primary-light);border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-4);gap:var(--space-3)}.sign-in-prompt-content{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.sign-in-prompt-text{font-size:var(--text-sm);color:var(--color-primary);font-weight:500}.sign-in-prompt-dismiss{background:none;border:none;font-size:1.25rem;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);line-height:1;flex-shrink:0}.sign-in-prompt-dismiss:hover{color:var(--color-text)}.sidebar-new-btn-wrapper{display:flex;flex-direction:column;gap:var(--space-1)}.scenario-cap-message{font-size:var(--text-xs);color:var(--color-warning);margin:0;padding:0 var(--space-2)}.runs-remaining-message{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0;padding:0 var(--space-2)}.run-cap-message{font-size:var(--text-xs);color:var(--color-warning);margin:0;padding:0 var(--space-2)}.run-cap-signin{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2)}.run-cap-signin .run-cap-message{padding:0}.run-cap-signin a{text-decoration:none;font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer}.icon-button-locked{color:var(--color-warning)}.icon-button-locked:disabled{color:var(--color-warning);opacity:.7}.ephemeral-results-notice{background:var(--color-warning-light);color:var(--color-warning);font-size:var(--text-sm);font-weight:500;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.run-cap-cta{background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.run-cap-cta p{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--color-primary)}.user-menu-anonymous{display:flex;align-items:center}.feedback-tab{position:fixed;right:20px;bottom:20px;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--color-primary, #2563eb);color:#fff;border:none;padding:0;cursor:pointer;z-index:900;box-shadow:0 2px 8px #0000002e;transition:opacity .15s,transform .15s;opacity:.9}.feedback-tab:hover{opacity:1;transform:scale(1.05)}.feedback-tab-thanks{background:var(--color-success, #22c55e);opacity:1;cursor:default;font-size:18px}.feedback-panel{position:fixed;right:20px;bottom:76px;background:var(--color-bg, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);box-shadow:0 4px 24px #0000001f;padding:16px;width:280px;z-index:1000}.feedback-panel form{display:flex;flex-direction:column;gap:8px}.feedback-textarea{width:100%;resize:vertical;font-size:var(--text-sm, 13px);padding:8px;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-sm, 4px);font-family:inherit;min-height:60px;box-sizing:border-box}.feedback-email{width:100%;font-size:var(--text-sm, 13px);padding:6px 8px;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-sm, 4px);font-family:inherit;box-sizing:border-box}.feedback-submit{align-self:flex-end;background:var(--color-primary, #2563eb);color:#fff;border:none;border-radius:var(--radius-sm, 4px);padding:6px 14px;font-size:var(--text-sm, 13px);font-weight:500;cursor:pointer}.feedback-submit:disabled{opacity:.5;cursor:not-allowed}.biz-feedback-summary{margin-bottom:var(--space-4, 16px)}.biz-subsection-title{font-size:var(--text-sm, 13px);font-weight:600;margin:0 0 8px;color:var(--color-text, #374151)}.biz-feedback-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.biz-feedback-entry{padding:8px 12px;background:var(--color-bg-subtle, #f9fafb);border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e5e7eb)}.biz-feedback-meta{display:flex;gap:8px;font-size:11px;color:var(--color-muted, #9ca3af);margin-bottom:4px}.biz-feedback-type{font-weight:600;text-transform:uppercase;letter-spacing:.03em}.biz-feedback-text{font-size:var(--text-sm, 13px);line-height:1.4;white-space:pre-wrap;word-break:break-word}.biz-feedback-email{margin-top:4px;font-size:11px;color:var(--color-primary, #2563eb)}@media (max-width: 768px){.feedback-tab{right:12px;bottom:12px;width:44px;height:44px}.feedback-panel{right:12px;bottom:64px;width:calc(100vw - 24px);max-width:320px}}.landing-page{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg)}.landing-top-bar{display:flex;justify-content:flex-end;padding:var(--space-2) var(--space-4)}.sign-in-link{font-size:var(--text-sm);font-weight:500;color:var(--color-primary);text-decoration:none}.sign-in-link:hover{text-decoration:underline}.landing-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;max-width:1120px;margin:0 auto;padding:var(--space-12) var(--space-6)}.landing-hero-text{display:flex;flex-direction:column;gap:var(--space-6)}.landing-headline{font-size:clamp(var(--text-2xl),4vw,var(--text-4xl));font-weight:800;line-height:1.15;color:var(--color-text);margin:0}.landing-subheadline{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:1.6;margin:0}.landing-cta{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:var(--space-3) var(--space-8);background:var(--color-primary);color:#fff;font-size:var(--text-lg);font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.landing-cta:hover{background:var(--color-primary-hover)}.landing-hero-visual{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.landing-fan-chart{width:100%;max-width:560px;height:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2);box-shadow:var(--shadow-md)}.landing-visual-caption{font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0}.landing-signals{display:flex;justify-content:center;gap:var(--space-12);padding:var(--space-8) var(--space-6);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.landing-signal{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.landing-signal-value{font-size:var(--text-3xl);font-weight:800;color:var(--color-primary)}.landing-signal-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.landing-features{max-width:1120px;margin:0 auto;padding:var(--space-12) var(--space-6);width:100%;box-sizing:border-box}.landing-section-title{text-align:center;font-size:var(--text-2xl);font-weight:700;margin:0 0 var(--space-8);color:var(--color-text)}.landing-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.landing-feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.landing-feature-card h3{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:600;color:var(--color-text)}.landing-feature-card p{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}@media (max-width: 768px){.landing-hero{grid-template-columns:1fr;gap:var(--space-8);padding:var(--space-8) var(--space-4)}.landing-cta{align-self:stretch;text-align:center}.landing-signals{flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-4)}.landing-feature-grid{grid-template-columns:1fr}.landing-features{padding:var(--space-8) var(--space-4)}}.share-button-container{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0}.share-controls{display:flex;flex:1 1 24rem;flex-direction:column;gap:var(--space-2);min-width:min(100%,24rem)}.share-button{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:500;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.share-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.share-button-active{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.share-button:disabled{opacity:.5;cursor:not-allowed}.share-unshare-button{padding:6px 10px;font-size:.8rem;font-weight:500;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.share-unshare-button:hover{border-color:var(--color-danger);color:var(--color-danger)}.share-url-banner{display:flex;align-items:center;gap:var(--space-2);padding:8px 12px;background:color-mix(in srgb,var(--color-primary) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:8px;margin-bottom:var(--space-3)}.share-controls .share-button-container,.share-controls .share-url-banner{margin:0}.share-url-input{flex:1;font-size:.82rem;font-family:var(--font-mono, monospace);padding:4px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);min-width:0}.share-copy-btn{padding:4px 10px;font-size:.8rem;font-weight:600;border:1px solid var(--color-primary);border-radius:4px;background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap}.share-copy-btn:hover{opacity:.9}.share-url-dismiss{padding:2px 6px;font-size:1.1rem;line-height:1;background:none;border:none;color:var(--color-text-muted);cursor:pointer}.share-url-dismiss:hover{color:var(--color-text)}.share-confirm-dialog{background:var(--color-surface);border-radius:12px;padding:var(--space-6);max-width:440px;width:90%;box-shadow:0 8px 32px #0003}.share-confirm-dialog h3{margin:0 0 var(--space-3) 0;font-size:1.1rem}.share-confirm-dialog p{margin:0 0 var(--space-4) 0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.share-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.share-error{color:var(--color-danger);font-size:.85rem;margin-top:var(--space-2)}.share-sign-in-cta{display:flex;justify-content:center;margin:var(--space-4) 0}.share-page-banner{display:flex;align-items:center;gap:var(--space-3);padding:12px 16px;background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:8px;margin-bottom:var(--space-4);font-size:.9rem}.share-page-banner-text{flex:1}.share-page-banner .btn{white-space:nowrap}.results-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:var(--space-3) 0 0;flex-wrap:wrap}.results-utility-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-left:auto}.results-actions .share-button-container,.results-utility-actions .share-button-container{margin:0}.results-utility-actions .share-controls{flex:0 0 auto;min-width:0}.export-dropdown{position:relative}.export-button{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:500;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.export-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.export-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:10;padding:4px 0}.export-menu-item{display:block;width:100%;padding:8px 14px;font-size:.85rem;text-align:left;background:none;border:none;color:var(--color-text);cursor:pointer}.export-menu-item:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary)}.export-menu-item:disabled{opacity:.5;cursor:not-allowed}.export-button:disabled{opacity:.6;cursor:not-allowed}.export-spinner{animation:export-spin .8s linear infinite}@keyframes export-spin{to{transform:rotate(360deg)}}.pro-gate{display:block;position:relative;border-radius:var(--radius);min-width:0;width:100%}.pro-gate--placeholder{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2, .5rem);background:transparent;border:none;padding:0;cursor:pointer;overflow:visible}.pro-gate--placeholder .btn-text,.pro-gate--placeholder .btn-add-partner{font-size:var(--text-sm);color:var(--color-primary)}.pro-gate--placeholder .pro-gate-upgrade{font-size:.625rem;padding:.1rem .35rem;vertical-align:middle;margin-left:var(--space-1)}.pro-gate-placeholder-desc{width:100%;font-size:var(--text-xs, .75rem);color:var(--color-text-tertiary)}.pro-gate-clickable{cursor:pointer}.pro-gate-click-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer;background:transparent}.pro-gate-banner{position:relative;z-index:2;margin-top:var(--space-2, .5rem);padding:var(--space-3, .75rem) var(--space-4, 1rem);background:var(--color-primary-light, #f0f4ff);border:1px solid var(--color-primary, #4f6ef7);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--space-2, .5rem)}.pro-gate-banner-desc{font-size:var(--text-sm);color:var(--color-text);margin:0;padding-right:1.5rem}.pro-gate-banner-close{position:absolute;top:var(--space-2, .5rem);right:var(--space-2, .5rem);background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--color-text-secondary);padding:.25rem;line-height:1;z-index:3}.pro-gate-upgrade{font-size:var(--text-xs, .75rem);background:var(--color-primary);color:#fff;cursor:pointer;border:none;padding:.15rem .5rem;border-radius:var(--radius-sm, 3px)}.pro-gate-upgrade:disabled{opacity:.7;cursor:default}.pro-gate-coming-soon{font-size:var(--text-xs, .75rem);color:var(--color-text-secondary)}.pro-gate-sign-in{display:flex;flex-direction:column;align-items:center;gap:.25rem}.pro-gate-sign-in-label{font-size:var(--text-xs, .75rem);color:var(--color-text-secondary)}.upgrade-success-banner{background:var(--color-success, #22c55e);color:#fff;text-align:center;padding:.5rem 1rem;font-size:var(--text-sm);font-weight:500}.upgrade-error-banner{background:var(--color-danger, #ef4444);color:#fff;text-align:center;padding:.5rem 1rem;font-size:var(--text-sm);font-weight:500;display:flex;align-items:center;justify-content:center;gap:.75rem}.upgrade-error-banner .btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4)}.pro-badge{display:inline-block;background:var(--color-text-secondary);color:#fff;font-size:.55rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.05rem .35rem;border-radius:var(--radius-sm, 3px);line-height:1.4;vertical-align:middle;margin-left:var(--space-1);opacity:.7}.pro-badge-user{background:#d4a017;color:#3a2500;opacity:1}.field-assumed select,.field-assumed input{opacity:.55}.field-assumed input[type=number],.field-assumed input[type=text]{font-style:italic}.portfolio-configurator{display:flex;flex-direction:column;gap:var(--space-3)}.portfolio-asset-list{display:flex;flex-direction:column;gap:var(--space-1)}.portfolio-asset-row{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2);transition:background .15s}.portfolio-asset-row.active{border-color:var(--color-primary);background:var(--color-bg-secondary, rgba(0, 0, 0, .02))}.portfolio-asset-info{display:flex;align-items:center;gap:var(--space-2);width:100%}.portfolio-asset-check{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);flex:1;min-width:0}.portfolio-asset-check input[type=checkbox]{margin:0;flex-shrink:0}.portfolio-asset-label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.portfolio-asset-params{font-size:var(--text-xs, .75rem);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.portfolio-weight-control{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.portfolio-weight-input{width:48px;text-align:right;font-size:var(--text-sm);padding:2px 4px}.portfolio-weight-pct{font-size:var(--text-sm);color:var(--color-text-secondary)}.spending-analysis{margin-top:var(--space-6)}.spending-analysis-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4)}.spending-analysis-hint{color:var(--color-text-secondary);font-size:var(--text-sm)}.spending-analysis-controls{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}.spending-analysis-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.portfolio-weight-warning{color:var(--color-warning, #d97706);font-size:var(--text-sm);font-weight:500;margin:0}.portfolio-computed-stats{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary, rgba(0, 0, 0, .02));border-radius:var(--radius)}.portfolio-stat{display:flex;flex-direction:column;gap:2px}.portfolio-stat-label{font-size:var(--text-xs, .75rem);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.portfolio-stat-value{font-size:var(--text-base, 1rem);font-weight:600}.portfolio-correlation{margin-top:var(--space-1)}.portfolio-correlation-title{font-size:var(--text-sm);font-weight:500;margin:0 0 var(--space-1) 0}.portfolio-correlation-grid{display:grid;gap:1px;font-size:var(--text-xs, .75rem);overflow-x:auto}.corr-cell{padding:3px 4px;text-align:center;border-radius:2px;color:#fff;font-weight:500;min-width:36px}.corr-cell.corr-header{background:transparent;color:var(--color-text-secondary);font-weight:600;font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spending-analysis-run{white-space:nowrap}.spending-analysis-progress{margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.spending-analysis-error{margin-top:var(--space-4);color:var(--color-danger);font-size:var(--text-sm)}.spending-analysis-result{margin-top:var(--space-6)}.spending-analysis-primary{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4)}.spending-curve-chart{width:100%;max-width:500px;height:auto;margin:var(--space-4) 0}.spending-analysis-confidence{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2)}.spending-analysis-disclaimer{font-size:var(--text-xs);color:var(--color-text-secondary);font-style:italic;margin-top:var(--space-2)}.timing-analysis-section{margin-top:var(--space-6)}.timing-analysis-section .section-title{font-size:var(--text-lg);font-weight:600;margin:0 0 var(--space-3)}.timing-analysis-trigger{text-align:center;padding:var(--space-4) 0}.timing-analysis-description{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-4)}.timing-analysis-error{color:var(--color-danger);font-size:var(--text-sm);margin-top:var(--space-3)}.timing-analysis-summary{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-primary-light);border-radius:var(--radius)}.timing-insight{font-size:var(--text-sm);color:var(--color-text);margin:var(--space-1) 0}.timing-analysis-chart{margin-bottom:var(--space-4)}.timing-chart-svg{display:block;width:100%}.timing-analysis-table-wrap{overflow-x:auto;margin-bottom:var(--space-4)}.timing-analysis-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.timing-analysis-table th{text-align:left;font-weight:600;padding:var(--space-2) var(--space-3);border-bottom:2px solid var(--color-border);color:var(--color-text-secondary)}.timing-analysis-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.timing-row-configured{background:var(--color-primary-light);font-weight:600}.timing-analysis-disclaimer{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2)}.email-auth-toggle{display:block;width:100%;padding:10px var(--space-4);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg-secondary, rgba(0, 0, 0, .02));border:1px solid var(--color-border);border-radius:9999px;cursor:pointer;margin-top:0;transition:background .15s,border-color .15s}.email-auth-toggle:hover{background:var(--color-bg-tertiary, rgba(0, 0, 0, .05));border-color:var(--color-text-tertiary)}.email-auth-toggle-compact{display:inline-block;width:auto;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-md);margin-top:var(--space-1)}.email-auth-form{display:flex;flex-direction:column;gap:var(--space-2);max-width:400px;margin:var(--space-3) auto 0;text-align:left}.email-auth-form-compact{max-width:280px;margin:var(--space-2) 0 0}.email-auth-input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);outline:none;box-sizing:border-box;margin-bottom:var(--space-1)}.email-auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #1e40af1a}.email-auth-code-input{text-align:center;font-size:var(--text-base);letter-spacing:.2em;font-variant-numeric:tabular-nums}.email-auth-actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.email-auth-btn{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.email-auth-btn-primary{background:var(--color-primary);color:#fff}.email-auth-btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.email-auth-btn-primary:disabled{opacity:.5;cursor:not-allowed}.email-auth-links{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-1)}.email-auth-link{background:none;border:none;color:var(--color-primary);font-size:var(--text-xs);cursor:pointer;padding:0;text-decoration:underline}.email-auth-link:hover{color:var(--color-primary-dark)}.email-auth-back{display:block;margin:var(--space-1) auto 0;color:var(--color-text-tertiary);text-decoration:none}.email-auth-back:hover{color:var(--color-text-secondary)}.email-auth-info{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-1);text-align:center}.email-auth-error{font-size:var(--text-xs);color:var(--color-danger);margin:var(--space-1) 0 0;text-align:center}.wwit-cta-section{margin:var(--space-4) 0;text-align:center}.wwit-cta-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600;color:#fff;background:var(--color-primary, #1e40af);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.wwit-cta-btn:hover{background:var(--color-primary-hover, #1d4ed8)}.wwit-page{max-width:680px;margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-8)}.wwit-header{margin-bottom:var(--space-6)}.wwit-header h2{margin:var(--space-2) 0 0;font-size:var(--text-xl, 1.25rem);font-weight:700}.wwit-back-btn{background:none;border:none;color:var(--color-primary, #1e40af);cursor:pointer;font-size:var(--text-sm);padding:0}.wwit-back-btn:hover{text-decoration:underline}.wwit-preview-placeholder{padding:var(--space-8);text-align:center;color:var(--color-text-secondary)}.wwit-loading{text-align:center;padding:var(--space-8) 0}.wwit-fullscreen-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8) var(--space-4);min-height:300px;width:100%}.wwit-loading-title{font-size:var(--text-lg, 1.125rem);font-weight:600;margin-bottom:var(--space-4)}.wwit-progress-bar{position:relative;height:8px;background:var(--color-border, #e5e7eb);border-radius:4px;overflow:hidden;width:100%;max-width:400px;margin:0 auto}.wwit-progress-fill{position:absolute;top:0;left:0;height:100%;background:var(--color-primary, #1e40af);border-radius:4px;transition:width .3s ease}.wwit-progress-fill.wwit-progress-indeterminate{width:40%;animation:wwit-indeterminate 1.5s ease-in-out infinite}@keyframes wwit-indeterminate{0%{left:-40%}to{left:100%}}.wwit-progress-text{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.wwit-error{padding:var(--space-4);color:var(--color-danger);text-align:center}.wwit-target-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.wwit-target-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.wwit-target-pills{display:flex;gap:var(--space-1)}.wwit-target-pill{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);border:1px solid var(--color-border, #e5e7eb);border-radius:999px;background:var(--color-surface, #fff);cursor:pointer;transition:all .15s}.wwit-target-pill--active{background:var(--color-primary, #1e40af);color:#fff;border-color:var(--color-primary, #1e40af)}.wwit-rate-display{text-align:center;margin-bottom:var(--space-6)}.wwit-rate-value{font-size:2.5rem;font-weight:700;line-height:1.2}.wwit-rate-estimated{font-size:var(--text-sm);font-weight:400;opacity:.7}.wwit-rate-loading{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.wwit-infeasible-note{font-size:var(--text-sm);color:var(--color-warning, #d97706);margin-top:var(--space-2)}.wwit-sliders{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.wwit-slider{padding:var(--space-3);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md);transition:opacity .2s}.wwit-slider--locked{opacity:.5}.wwit-slider--disabled{opacity:.4;pointer-events:none}.wwit-slider-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.wwit-slider-label{font-size:var(--text-sm);font-weight:600;flex:1}.wwit-slider-value{font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}.wwit-slider-delta{font-size:var(--text-xs, .75rem);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.wwit-lock-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:2px;line-height:1}.wwit-slider-track{position:relative}.wwit-range-input{width:100%;margin:0;cursor:pointer}.wwit-range-input:disabled{cursor:not-allowed}.wwit-baseline-marker{position:absolute;top:0;width:2px;height:100%;background:var(--color-text-secondary, #6b7280);opacity:.4;pointer-events:none;transform:translate(-1px)}.wwit-delta-summary{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);text-align:center}.wwit-mini-fanchart{display:flex;justify-content:center;margin-bottom:var(--space-4)}.wwit-mini-fanchart--loading{height:80px}.wwit-skeleton{width:300px;height:80px;background:linear-gradient(90deg,var(--color-border, #e5e7eb) 25%,var(--color-surface, #f3f4f6) 50%,var(--color-border, #e5e7eb) 75%);background-size:200% 100%;animation:wwit-skeleton 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes wwit-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.wwit-disclaimer{font-size:var(--text-xs, .75rem);color:var(--color-text-muted, #9ca3af);text-align:center;padding-top:var(--space-4);border-top:1px solid var(--color-border, #e5e7eb)}.wwit-stale-warning{padding:var(--space-3);background:var(--color-warning-bg, #fffbeb);border:1px solid var(--color-warning, #d97706);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.wwit-stale-warning button{background:none;border:none;color:var(--color-primary, #1e40af);cursor:pointer;text-decoration:underline;font-size:inherit}.wwit-content{max-width:100%}.wwit-mini-chart{display:block}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:1100;display:flex;justify-content:flex-end}.drawer{background:var(--color-surface);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);outline:none;overflow:hidden}.drawer--right{width:50vw;height:100vh;animation:drawer-slide-right .25s ease-out}@media (min-width: 768px) and (max-width: 1023px){.drawer--right{width:65vw}}.drawer--bottom{position:fixed;bottom:0;left:0;right:0;height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:drawer-slide-bottom .25s ease-out}@media (max-width: 767px){.drawer-backdrop{align-items:flex-end;justify-content:stretch}}@keyframes drawer-slide-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawer-slide-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0}.drawer-title{font-size:var(--text-lg);font-weight:600;margin:0}.drawer-close{font-size:var(--text-xl);line-height:1;padding:var(--space-1) var(--space-2)}.drawer-drag-handle{width:32px;height:4px;border-radius:2px;background:var(--color-border);margin:var(--space-2) auto 0;flex-shrink:0}.drawer-body{flex:1;overflow-y:auto;padding:var(--space-5)}.drawer-body .portfolio-configurator{gap:var(--space-4)}.drawer-body .portfolio-weight-control{flex-shrink:0}@media (max-width: 767px){.portfolio-asset-check{flex-wrap:wrap}.portfolio-asset-label{flex:1 1 0}.portfolio-asset-params{flex-basis:100%;padding-left:calc(16px + var(--space-2))}}.drawer-portfolio-footer{position:sticky;bottom:0;background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-5);flex-shrink:0}.portfolio-weight-total{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.weight-total-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);flex-shrink:0}.weight-total-track{flex:1;height:6px;border-radius:3px;background:var(--color-border);overflow:hidden}.weight-total-fill{height:100%;border-radius:3px;background:var(--color-primary, #3b82f6);transition:width .15s ease-out}.portfolio-weight-total.over .weight-total-fill{background:var(--color-warning, #f59e0b)}.weight-total-value{font-size:var(--text-sm);font-weight:600;min-width:3ch;text-align:right;color:var(--color-text)}.portfolio-weight-total.over .weight-total-value{color:var(--color-warning, #f59e0b)}.portfolio-summary{display:flex;flex-direction:column;gap:var(--space-2)}.portfolio-summary-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--color-border)}.portfolio-summary-bar-segment{transition:flex .2s ease}.portfolio-summary-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.portfolio-summary-text strong{color:var(--color-text);font-weight:600}.strategy-summary{font-size:var(--text-sm);color:var(--color-text-secondary)}.strategy-summary strong{color:var(--color-text);font-weight:600}.btn-configure{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--color-primary);background:var(--color-primary-light, #dbeafe);border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s}.btn-configure:hover{background:var(--color-primary);color:#fff}.preset-allocation-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-sm);margin-top:var(--space-2)}.preset-allocation-row{display:flex;align-items:center;gap:var(--space-2)}.preset-allocation-label{flex:1;font-size:var(--text-sm);font-weight:500;color:var(--color-text);text-transform:capitalize}.preset-allocation-weight{width:4rem;text-align:right;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-sm);background:var(--color-bg, #fff);cursor:pointer}.preset-allocation-weight:read-only{cursor:pointer;background:var(--color-bg, #fff)}.preset-allocation-pct{font-size:var(--text-sm);color:var(--color-text-secondary)}.preset-allocation-stats{display:flex;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border, #e5e7eb);font-size:var(--text-sm);color:var(--color-text-secondary)}.input-pct-suffix{display:flex;align-items:center;position:relative}.input-pct-suffix input{flex:1;padding-right:1.8rem}.pct-suffix{position:absolute;right:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);pointer-events:none}.correlation-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);cursor:pointer;background:none;border:none;padding:var(--space-1) 0}.correlation-toggle:hover{color:var(--color-text)}.drawer-body .strategy-params{display:flex;flex-direction:column;gap:var(--space-4)}
