.refinance-calculator{max-width:600px;margin:2rem;padding:2rem;min-height:400px}.refinance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.refinance-calculator h2{margin:0;font-size:1.5rem;color:#1f2937}.nerd-out-link{color:#667eea;text-decoration:none;font-size:.85rem;font-weight:600;padding:.35rem .85rem;border:1px solid rgba(102,126,234,.3);border-radius:50px;transition:all .2s ease;white-space:nowrap}.nerd-out-link:hover{background:#667eea;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.fred-rates-container{background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem;border-radius:12px;margin-bottom:1.5rem;color:#fff}.fred-rates-container.loading{background:linear-gradient(135deg,#9ca3af,#6b7280);text-align:center}.fred-rates-container.error{background:linear-gradient(135deg,#f87171,#dc2626)}.fred-rates-container h3{margin:0 0 1rem;font-size:1rem;font-weight:600}.fred-rates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.fred-rates-header h3{margin:0}.rate-boxes{display:flex;gap:1rem;margin-bottom:.75rem}.rate-box{flex:1;background:#fff3;padding:.75rem;border-radius:8px;text-align:center}.rate-label{font-size:.875rem;opacity:.9;margin-bottom:.25rem}.rate-value{font-size:1.5rem;font-weight:700}.rate-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;opacity:.9}.fred-rates-header .rate-meta{font-size:.75rem;opacity:.9;margin:0}.refresh-button,.retry-button{background:#ffffff40;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s}.refresh-button:hover,.retry-button:hover{background:#ffffff59}.error-message{margin:0 0 .5rem;font-weight:600}.refinance-form{margin-bottom:1.5rem}.refinance-form .input-group{margin-bottom:1.25rem}.input-row{display:flex;gap:1rem;margin-bottom:1.25rem}.input-row .input-group{flex:1;margin-bottom:0}.input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#4b5563;font-size:.9rem}.input-group fieldset{border:none;padding:0;margin:0}.input-group legend{display:block;margin-bottom:.5rem;font-weight:500;color:#4b5563;font-size:.9rem;padding:0}.input-group input[type=number],.input-group input[type=text]{width:100%;padding:.5rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s}.input-group input:focus{outline:none;border-color:#3245ff;box-shadow:0 0 0 2px #3245ff1a}.term-selector{display:flex;gap:1rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:8px;transition:all .2s}.radio-label:hover{border-color:#3245ff;background:#3245ff0d}.radio-label input[type=radio]{margin:0;cursor:pointer}.radio-label input[type=radio]:checked+span{font-weight:600;color:#3245ff}.closing-costs-toggle{margin-bottom:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.slider-container{margin-top:.75rem}.percentage-slider{width:100%;height:8px;border-radius:4px;background:#e5e7eb;outline:none;-webkit-appearance:none;appearance:none}.percentage-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#3245ff;cursor:pointer;transition:all .2s}.percentage-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.percentage-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#3245ff;cursor:pointer;border:none;transition:all .2s}.percentage-slider::-moz-range-thumb:hover{transform:scale(1.2)}.slider-value{margin-top:.5rem;text-align:center;font-weight:600;color:#1f2937}.slider-amount{color:#6b7280;font-weight:400;font-size:.9rem}.manual-costs-input{margin-top:.75rem}.results-section{border-top:2px solid #e5e7eb;padding-top:1.5rem;margin-top:1.5rem}.recommendation-badge{padding:1rem;border-radius:12px;font-weight:600;text-align:center;margin-bottom:1.5rem;font-size:1.1rem}.recommendation-badge.recommend{background:#d1fae5;border:2px solid #10b981;color:#065f46}.recommendation-badge.worth-exploring{background:#fef3c7;border:2px solid #f59e0b;color:#92400e}.recommendation-badge.not-recommend{background:#fee2e2;border:2px solid #ef4444;color:#991b1b}.show-the-math{padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#166534;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.results-subsection{margin-bottom:1.5rem}.results-subsection h4{font-size:1rem;color:#4b5563;margin-bottom:.75rem;font-weight:600}.result-line{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.result-line:last-child{border-bottom:none}.result-line.highlight{font-weight:600;color:#1f2937}.result-line .savings{color:#10b981;font-weight:600}.result-line .increase{color:#ef4444;font-weight:600}.reasons-list{list-style:none;padding:0;margin:0}.reasons-list li{padding:.5rem;margin:.25rem 0;background:#f9fafb;border-radius:6px;display:flex;align-items:flex-start;gap:.5rem}.reasons-list li:before{content:"•";color:#6b7280;font-weight:700;flex-shrink:0}.recommended-rate-box{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6;border-radius:12px;color:#1e40af;line-height:1.6}.recommended-rate-box strong{color:#1e3a8a}.refinance-notification-toggle{margin-top:1rem;padding:1rem 1.25rem;background:#f3f4f6;border-radius:10px;border:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.notification-info{flex:1}.notification-label{color:#1f2937;font-size:.95rem;font-weight:500;display:block;margin-bottom:.25rem;cursor:pointer}.notification-description{color:#6b7280;font-size:.85rem;margin:0;line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.toggle-switch{position:relative;flex-shrink:0}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-label{display:block;width:60px;height:32px;background:#d1d5db;border-radius:16px;cursor:pointer;position:relative;transition:background .3s ease}.toggle-label:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .3s ease}.toggle-input:checked+.toggle-label{background:#10b981}.toggle-input:checked+.toggle-label:after{transform:translate(28px)}.toggle-input:focus+.toggle-label{box-shadow:0 0 0 3px #3b82f633}.no-results{text-align:center;padding:2rem;color:#6b7280}@media (max-width: 767px){.refinance-calculator{margin:1rem 0;padding:1.5rem 1rem;max-width:100%}.fred-rates-header{flex-direction:column;align-items:flex-start;gap:.5rem}.rate-boxes,.input-row,.term-selector{flex-direction:column}.radio-label{width:100%}.refinance-notification-toggle{flex-direction:column;align-items:flex-start;gap:1rem}.toggle-switch{align-self:flex-end}}@media (max-width: 640px){.refinance-calculator{padding:1rem}.refinance-calculator h2,.rate-value{font-size:1.25rem}.recommendation-badge{font-size:1rem;padding:.75rem}}
