.fire-planner *{box-sizing:border-box}.fire-planner-root .fire-results-anchor{scroll-margin-top:6.5rem;outline:none}.fire-planner{--fp-accent:hsl(var(--primary));--fp-accent-soft-bg:hsl(var(--primary)/0.12);--fp-accent-dashed:hsl(var(--primary)/0.42);--fp-accent-hover:color-mix(in hsl,hsl(var(--primary)) 88%,hsl(var(--foreground)) 12%);--fp-track-empty:hsl(var(--muted));--fp-text-xs:13px;--fp-text-sm:14px;--fp-text-md:15px;--fp-coral:#D85A30;--fp-coral-light:#FAECE7;--fp-amber:#BA7517;--fp-amber-light:#FAEEDA;--fp-blue:#378ADD;--fp-blue-light:#E6F1FB;--fp-bg:hsl(var(--card));--fp-bg-2:hsl(var(--muted));--fp-bg-3:hsl(var(--background));--fp-border:hsl(var(--border)/0.9);--fp-border-2:hsl(var(--border));--fp-text:hsl(var(--foreground));--fp-text-2:hsl(var(--muted-foreground));--fp-text-3:hsl(var(--muted-foreground)/0.88);--fp-radius-md:8px;--fp-radius-lg:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.45;color:var(--fp-text);background:var(--fp-bg-3);min-height:100vh}.fire-planner--embedded{background:transparent;min-height:0}.fire-planner--embedded .fire-planner-wrapper{max-width:none;margin:0;padding:0}.fire-planner-wrapper{max-width:1000px;margin:0 auto;padding:2rem 1.5rem 4rem}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.fire-planner h1{font-size:28px;font-weight:600;letter-spacing:-.5px}.subtitle{font-size:var(--fp-text-md);color:var(--fp-text-2);margin-bottom:1.75rem}.badge{display:inline-block;font-size:var(--fp-text-xs);font-weight:500;padding:3px 10px;border-radius:20px}.badge-teal{background:var(--fp-accent-soft-bg);color:var(--fp-accent)}.badge-coral{background:var(--fp-coral-light);color:var(--fp-coral)}.badge-amber{background:var(--fp-amber-light);color:var(--fp-amber)}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--fp-border);border:1px solid var(--fp-border);border-radius:var(--fp-radius-lg);overflow:hidden;margin-bottom:1.5rem}.summary-cell{background:var(--fp-bg);padding:1.1rem 1.4rem}.summary-cell .s-label{font-size:var(--fp-text-xs);color:var(--fp-text-3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.summary-cell .s-value{font-size:24px;font-weight:600;letter-spacing:-.5px;color:var(--fp-accent)}.summary-cell .s-value.neutral{color:var(--fp-text)}.summary-cell .s-value.warn{color:var(--fp-coral)}.summary-cell .s-meta{font-size:var(--fp-text-xs);color:var(--fp-text-3);margin-top:3px}.section{background:var(--fp-bg);border:1px solid var(--fp-border);border-radius:var(--fp-radius-lg);margin-bottom:.85rem;overflow:hidden}.section-header{justify-content:space-between;padding:.85rem 1.25rem .5rem;background:transparent}.section-header,.section-title{display:flex;align-items:center}.section-title{gap:10px}.section-title h3{font-size:var(--fp-text-md);font-weight:600;letter-spacing:.2px;text-transform:uppercase;color:var(--fp-text-2);margin:0}.section-icon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.icon-teal{background:var(--fp-accent-soft-bg)}.icon-coral{background:var(--fp-coral-light)}.icon-amber{background:var(--fp-amber-light)}.section-body{padding:.4rem 1.25rem 1.15rem}.pair{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.field,.pair .section{margin-bottom:0}.field label{display:block;font-size:var(--fp-text-sm);font-weight:500;color:var(--fp-text-2);margin-bottom:6px}.input-row{display:grid;gap:1rem;margin-bottom:1rem}.input-row.cols-3{grid-template-columns:repeat(3,1fr)}.input-row.cols-2{grid-template-columns:repeat(2,1fr)}.input-wrap{display:flex;align-items:center;border:1px solid var(--fp-border-2);border-radius:var(--fp-radius-md);background:var(--fp-bg);height:38px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.input-wrap:focus-within{border-color:var(--fp-accent);box-shadow:0 0 0 3px var(--fp-accent-soft-bg)}.input-wrap .prefix,.input-wrap .suffix{padding:0 11px;font-size:14px;color:var(--fp-text-2);background:var(--fp-bg-2);height:100%;display:flex;align-items:center;flex-shrink:0}.input-wrap .prefix{border-right:1px solid var(--fp-border)}.input-wrap .suffix{border-left:1px solid var(--fp-border)}.input-wrap input[type=number],.input-wrap input[type=text]{border:none;background:transparent;padding:0 11px;font-size:15px;font-weight:500;color:var(--fp-text);width:100%;height:100%;outline:none}.fire-planner .pension-add-name-input{flex:1;min-width:0;font-size:var(--fp-text-sm);font-weight:500;border:1px solid var(--fp-border-2);border-radius:var(--fp-radius-md);padding:8px 10px;outline:none;color:var(--fp-text);background:var(--fp-bg);transition:border-color .15s,box-shadow .15s}.fire-planner .pension-add-name-input::-moz-placeholder{color:var(--fp-text-2);opacity:1}.fire-planner .pension-add-name-input::placeholder{color:var(--fp-text-2);opacity:1}.fire-planner .pension-add-name-input:focus{border-color:var(--fp-accent);box-shadow:0 0 0 3px var(--fp-accent-soft-bg)}.slider-field{margin-bottom:1.1rem}.slider-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.slider-label{font-size:14px;font-weight:500;color:var(--fp-text-2)}.slider-value{font-size:16px;font-weight:600;color:var(--fp-text)}.slider-meta{font-weight:400;color:var(--fp-text-2);margin-left:2px}.slider-ticks{display:flex;justify-content:space-between;font-size:var(--fp-text-xs);color:var(--fp-text-3);margin-top:5px}.fire-planner input[type=range].fp-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;background:transparent;outline:none;cursor:pointer;--fp-range-fill:0%}.fire-planner input[type=range].fp-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--fp-accent) 0,var(--fp-accent) var(--fp-range-fill),var(--fp-track-empty) var(--fp-range-fill),var(--fp-track-empty) 100%)}.fire-planner input[type=range].fp-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:var(--fp-accent);border:2px solid hsl(var(--card));box-shadow:0 0 0 1px var(--fp-accent)}.fire-planner input[type=range].fp-range::-moz-range-track{height:4px;border-radius:2px;background:var(--fp-track-empty)}.fire-planner input[type=range].fp-range::-moz-range-progress{height:4px;border-radius:2px;background:var(--fp-accent)}.fire-planner input[type=range].fp-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--fp-accent);border:2px solid hsl(var(--card));box-shadow:0 0 0 1px var(--fp-accent);cursor:pointer}.divider{height:1px;background:var(--fp-border);margin:1.1rem 0}.budget-segments{display:flex;height:7px;border-radius:4px;overflow:hidden;margin:8px 0 6px}.seg-income{background:var(--fp-accent)}.seg-living{background:var(--fp-blue)}.seg-invest{background:var(--fp-amber)}.budget-legend{display:flex;gap:14px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--fp-text-2)}.legend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.strategy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:1.25rem}.strategy-card{border:1px solid var(--fp-border-2);border-radius:var(--fp-radius-md);padding:10px 11px;cursor:pointer;transition:all .15s}.strategy-card:hover{background:var(--fp-bg-2)}.strategy-card.active{border-color:var(--fp-accent);background:var(--fp-accent-soft-bg)}.strategy-card .s-name{font-size:14px;font-weight:600;margin-bottom:3px}.strategy-card .s-ret{font-size:19px;font-weight:600;color:var(--fp-accent)}.strategy-card .s-vol{font-size:var(--fp-text-sm);color:var(--fp-text-2);margin-top:2px}.alloc-item{margin-bottom:12px}.alloc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.alloc-name{font-size:14px}.alloc-right{display:flex;align-items:center;gap:8px}.alloc-pct{font-size:14px;font-weight:600;min-width:34px;text-align:right}.alloc-bar-bg{height:5px;background:var(--fp-bg-3);border-radius:3px}.alloc-bar{height:100%;border-radius:3px}.fire-goals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1.5rem}.fire-card{border:1px solid var(--fp-border-2);border-radius:var(--fp-radius-md);padding:14px 12px;cursor:pointer;text-align:center;transition:all .15s}.fire-card:hover{background:var(--fp-bg-2)}.fire-card.active{border-color:var(--fp-accent);background:var(--fp-accent-soft-bg)}.fire-card .fc-icon{font-size:22px;margin-bottom:6px}.fire-card .fc-name{font-size:15px;font-weight:600}.fire-card .fc-desc{font-size:var(--fp-text-sm);color:var(--fp-text-2);margin-top:4px;line-height:1.45}.pension-row{display:grid;grid-template-columns:1fr 130px 30px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--fp-border)}.pension-row .p-name{font-size:14px;font-weight:500}.pension-row .p-amount{font-size:var(--fp-text-xs);color:var(--fp-text-3)}.del-btn{width:26px;height:26px;border:none;background:none;color:var(--fp-text-3);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:17px}.del-btn:hover{background:var(--fp-coral-light);color:var(--fp-coral)}.add-btn{display:inline-flex;align-items:center;gap:5px;font-size:var(--fp-text-sm);color:var(--fp-accent);border:1px dashed var(--fp-accent-dashed);border-radius:var(--fp-radius-md);padding:5px 12px;cursor:pointer;background:transparent;margin-top:8px;margin-right:6px}.add-btn:hover{background:var(--fp-accent-soft-bg)}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.events-col-title{font-size:var(--fp-text-sm);font-weight:600;margin-bottom:5px}.events-col-desc{font-size:var(--fp-text-xs);color:var(--fp-text-3);margin-bottom:4px;line-height:1.4}.cta-bar{display:flex;gap:1rem;margin-top:1.75rem}.profile-input{display:flex;align-items:center;border:1px solid var(--fp-border-2);border-radius:var(--fp-radius-md);height:46px;overflow:hidden;flex:1;background:var(--fp-bg)}.profile-input input[type=text]{border:none;background:transparent;padding:0 14px;font-size:14px;color:var(--fp-text);flex:1;height:100%;outline:none}.profile-input input::-moz-placeholder{color:var(--fp-text-3)}.profile-input input::placeholder{color:var(--fp-text-3)}.save-btn{height:100%;padding:0 14px;background:var(--fp-bg-2);border:none;border-left:1px solid var(--fp-border);font-size:var(--fp-text-sm);color:var(--fp-text-2);cursor:pointer}.save-btn:hover{color:var(--fp-text)}.btn-primary{flex:1;background:var(--fp-accent);color:hsl(var(--primary-foreground));border:none;border-radius:var(--fp-radius-md);height:46px;font-size:15px;font-weight:600;cursor:pointer;letter-spacing:.1px}.btn-primary:hover{background:var(--fp-accent-hover)}.btn-primary:active{transform:scale(.99)}.hint{color:var(--fp-text-3);margin-top:6px;line-height:1.45}.fp-toast,.hint{font-size:var(--fp-text-sm)}.fp-toast{position:fixed;bottom:24px;right:24px;background:var(--fp-accent);color:hsl(var(--primary-foreground));padding:8px 16px;border-radius:20px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:9999}.fp-toast.show{opacity:1}@media (max-width:1024px){.strategy-grid,.summary-strip{grid-template-columns:repeat(2,1fr)}.events-grid{grid-template-columns:1fr}}@media (max-width:768px){.fire-planner-wrapper{padding:1rem 1rem 2rem}.summary-strip{grid-template-columns:repeat(2,1fr)}.fire-goals{grid-template-columns:1fr}.input-row.cols-3,.strategy-grid{grid-template-columns:repeat(2,1fr)}.pension-row{grid-template-columns:1fr 100px 30px}}