.milestones{max-width:350px;margin:2rem;padding:2rem}.milestones h2{margin:0 0 1.5rem;font-size:1.5rem;color:#111827}.milestones .input-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.milestones .input-group label{font-size:.9rem;font-weight:500;color:#4b5563}.milestones .input-group input{padding:.5rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;width:100%;transition:all .2s}.milestones .input-group input:focus{outline:none;border-color:#3245ff;box-shadow:0 0 0 2px #3245ff1a}.equity-summary{text-align:center;margin-bottom:1.5rem}.equity-percent{font-size:2.5rem;font-weight:700;color:#111827;line-height:1}.equity-label{font-size:.9rem;color:#6b7280;margin-top:.25rem}.progress-bar-container{position:relative;margin-bottom:2rem}.progress-bar-track{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3245ff,#10b981);border-radius:6px;transition:width .5s ease}.progress-markers{position:relative;width:100%;height:20px;margin-top:4px}.progress-marker{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.progress-marker-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;border:2px solid white;margin-top:-14px}.progress-marker-dot.reached{background:#10b981}.progress-marker-label{font-size:.7rem;color:#9ca3af;margin-top:2px;white-space:nowrap}.progress-marker-label.reached{color:#10b981;font-weight:600}.milestone-cards{display:flex;flex-direction:column;gap:.75rem}.milestone-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border-radius:10px;border:1px solid #f3f4f6;transition:all .2s}.milestone-card.reached{background:#ecfdf5;border-color:#a7f3d0}.milestone-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}.milestone-icon.reached{background:#d1fae5;color:#059669}.milestone-icon.upcoming{background:#f3f4f6;color:#9ca3af}.milestone-info{flex:1;min-width:0}.milestone-title{font-weight:600;font-size:.9rem;color:#111827}.milestone-card.reached .milestone-title{color:#065f46}.milestone-description{font-size:.8rem;color:#6b7280;margin-top:.125rem}.milestone-card.reached .milestone-description{color:#047857}.milestone-date{font-size:.75rem;color:#9ca3af;white-space:nowrap;flex-shrink:0}.milestone-card.reached .milestone-date{color:#10b981;font-weight:600}.milestones-empty{text-align:center;padding:1.5rem 0;color:#6b7280}.milestones-empty p{margin:.5rem 0;font-size:.9rem}.milestones-empty .empty-icon{font-size:2rem;margin-bottom:.5rem}@media (max-width: 767px){.milestones{margin:1rem 0;padding:1.5rem 1rem;max-width:100%}}.mortgage-calculator{max-width:400px;margin:2rem;padding:2rem;max-height:650px}.calculator-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-row{display:flex;gap:1rem;margin-bottom:1.5rem}.input-row .input-group{flex:1;margin-bottom:0}.mortgage-calculator label{font-size:.9rem;color:#4b5563}.mortgage-calculator input{padding:.5rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;width:100%}.mortgage-calculator input:focus{outline:none;border-color:#3245ff;box-shadow:0 0 0 2px #3245ff1a}.mortgage-calculator h2{margin-bottom:1.5rem;font-size:1.5rem;color:#111827}.mode-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.mode-tab{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:#6b7280;transition:all .2s;position:relative;bottom:-2px}.mode-tab:hover{color:#3245ff;background:#3245ff0d}.mode-tab.active{color:#3245ff;border-bottom-color:#3245ff;font-weight:600}.validation-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem}.advanced-settings-toggle{background:none;border:none;color:#3245ff;cursor:pointer;font-size:.9rem;text-align:left;padding:.5rem 0;transition:color .2s;font-weight:500}.advanced-settings-toggle:hover{color:#1e3acc;text-decoration:underline}.box{background:#fffffff2;border-radius:16px;border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(8px)}.box-top{background:#fffffff2;border-top-left-radius:16px;border-top-right-radius:16px;border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(8px)}.box-bottom{background:#fffffff2;border-bottom-left-radius:16px;border-bottom-right-radius:16px;border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(8px)}.results{display:flex;flex-direction:column;gap:.5rem}.result-item{display:flex;justify-content:space-between;padding:.1rem;background:#f9fafb;border-radius:6px}.result-item span:last-child{font-weight:600;color:#111827}@media (max-width: 767px){.mortgage-calculator{margin:1rem 0;padding:1.5rem 1rem;width:100%;max-width:100%}.input-row{flex-direction:column}}.forecast-component{max-width:600px;padding:2rem 2rem 0;margin:2rem 2rem 0;box-sizing:border-box}.forecast-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.forecast-header h3{margin:0;font-size:1.5rem;color:#111827}.header-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.forecast-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.input-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px;flex:1}.input-group label{font-size:.9rem;color:#4b5563;font-weight:500}.input-group input,.input-group select{padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.input-group input:focus,.input-group select:focus{outline:none;border-color:#3245ff;box-shadow:0 0 0 2px #3245ff1a}.forecast-description{border-top:1px solid #e5e7eb;padding-top:1rem;margin-top:1rem}.forecast-description p{font-size:.9rem;color:#6b7280;margin:0;line-height:1.5}.toggle-btn{background:#8b5cf6;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.toggle-btn:hover{background:#7c3aed}.log-payments-btn{background:#10b981;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.log-payments-btn:hover{background:#059669}@media (max-width: 767px){.forecast-component{margin:1rem 0 0;padding:1.5rem 1rem;width:100%;max-width:100%}}@media (max-width: 640px){.form-row{display:flex;flex-wrap:wrap;gap:.75rem}.input-group{min-width:0}.input-group:nth-child(1){flex:1 1 55%;min-width:0}.input-group:nth-child(2){flex:1 1 40%;min-width:0}.input-group:nth-child(3){flex:1 1 100%}}.right-side-panel{display:flex;flex-direction:column;margin:0;gap:0;width:100%}@media (min-width: 768px){.right-side-panel{height:100%}}
