:root{--background:#ffffff;--card-bg:#f9fafb;--border:#e5e7eb;--text:#111827;--primary:#22c55e;--primary-hover:#16a34a;--secondary:#2563eb;--title-bg:#2CEC00;--title-text:#ffffff;--error:#ef4444;--warning:#f59e0b;--success:#10b981}.retirement-calculator-container *{box-sizing:border-box;margin:0;padding:0}.retirement-calculator-container{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;line-height:1.6;color:var(--text);background:var(--background);max-width:1200px;margin:0 auto;padding:1rem}.calculator-title-section{background:var(--title-bg);color:var(--title-text);padding:2rem 1rem;text-align:center;border-radius:.5rem;margin-bottom:2rem}.calculator-title-section h1{font-size:clamp(1.75rem, 4vw, 2.5rem);margin-bottom:.5rem;font-weight:700}.calculator-title-section p{font-size:clamp(1rem, 2vw, 1.25rem);opacity:.9;max-width:600px;margin:0 auto}.calculator-form-container{background:var(--card-bg);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text);font-weight:600}.form-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.form-group{position:relative}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem;color:var(--text)}.form-group input{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--border);border-radius:.375rem;background:var(--background);color:var(--text);transition:border-color 0.2s;min-height:44px}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgb(34 197 94 / .1)}.form-group input:invalid{border-color:var(--error)}.input-with-symbol{position:relative}.currency-symbol{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text);font-weight:500}.input-with-symbol input{padding-left:2rem}.input-unit{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;font-size:.875rem}.error-message{color:var(--error);font-size:.75rem;margin-top:.25rem;min-height:1rem}.toggle-advanced{width:100%;padding:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:.375rem;display:flex;align-items:center;justify-content:space-between;font-size:1rem;font-weight:500;color:var(--text);cursor:pointer;transition:background-color 0.2s;min-height:44px}.toggle-advanced:hover{background:#f3f4f6}.toggle-advanced span{font-size:1.25rem;transition:transform 0.3s}.toggle-advanced.active span{transform:rotate(45deg)}.advanced-options{margin-top:1rem;padding:1.5rem;background:var(--background);border:1px solid var(--border);border-radius:.5rem}.form-actions{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.primary-btn,.secondary-btn{padding:1rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s;min-height:44px;display:flex;align-items:center;justify-content:center;gap:.5rem}.primary-btn{background:var(--primary);color:#fff}.primary-btn:hover{background:var(--primary-hover)}.secondary-btn{background:var(--secondary);color:#fff}.secondary-btn:hover{background:#1d4ed8}.loading-spinner{display:none}.primary-btn.loading .btn-text{display:none}.primary-btn.loading .loading-spinner{display:block}.results-container{background:var(--card-bg);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;margin-top:2rem}.results-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.results-header h2{font-size:1.5rem;color:var(--text)}.results-actions{display:flex;gap:1rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:var(--background);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem;text-align:center}.card-icon{font-size:2rem;margin-bottom:1rem}.summary-card h3{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:#6b7280}.card-value{font-size:1.75rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.summary-card p{font-size:.875rem;color:#6b7280}.progress-section{margin-bottom:2rem}.progress-section h3{font-size:1.25rem;margin-bottom:1rem}.progress-bar-container{margin-bottom:.5rem}.progress-bar{height:1rem;background:var(--border);border-radius:.5rem;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:.5rem;transition:width 1s ease-in-out}.progress-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#6b7280}.progress-text{font-size:1rem;text-align:center;margin-top:1rem}.charts-container{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.chart-wrapper{background:var(--background);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem}.chart-wrapper h3{font-size:1.25rem;margin-bottom:1rem;text-align:center}.chart-wrapper canvas{width:100%!important;height:250px!important}.breakdown-section{background:var(--background);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem;margin-bottom:2rem}.breakdown-section h3{font-size:1.25rem;margin-bottom:1rem}.breakdown-grid{display:grid;grid-template-columns:1fr;gap:1rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.breakdown-item:last-child{border-bottom:none}.breakdown-label{font-size:.875rem;color:#6b7280}.breakdown-value{font-size:1rem;font-weight:600;color:var(--text)}.timeline-section{margin-bottom:2rem}.timeline-section h3{font-size:1.25rem;margin-bottom:1rem}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:.5rem;background:var(--background)}#timeline-table{width:100%;border-collapse:collapse;min-width:600px}#timeline-table th,#timeline-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}#timeline-table th{background:var(--card-bg);font-weight:600;font-size:.875rem;color:var(--text);position:sticky;top:0}#timeline-table tr:last-child td{border-bottom:none}#timeline-table tr:hover{background:var(--card-bg)}.recommendations-section{background:var(--background);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem;margin-bottom:2rem}.recommendations-section h3{font-size:1.25rem;margin-bottom:1rem}.recommendations-list{display:flex;flex-direction:column;gap:.75rem}.recommendations-list div{padding:.75rem;background:var(--card-bg);border-left:3px solid var(--primary);border-radius:.25rem}.results-actions-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid var(--border)}@media (min-width:481px){.retirement-calculator-container{padding:2rem}.calculator-title-section{padding:2.5rem 2rem}.calculator-form-container{padding:2rem}.form-grid{grid-template-columns:repeat(2,1fr)}.form-actions{flex-direction:row;justify-content:center}.results-actions{flex-direction:row;justify-content:flex-end}}@media (min-width:769px){.charts-container{grid-template-columns:repeat(2,1fr)}.breakdown-grid{grid-template-columns:repeat(2,1fr)}.chart-wrapper canvas{height:300px!important}}@media (max-width:360px){.retirement-calculator-container{padding:.75rem}.calculator-title-section{padding:1.5rem 1rem}.calculator-form-container,.results-container{padding:1rem}.summary-cards{grid-template-columns:1fr}.primary-btn,.secondary-btn{padding:.875rem 1rem;font-size:.875rem}}@media print{.retirement-calculator-container{padding:0;max-width:none}.calculator-title-section{background:#000!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-actions,.results-actions,.results-actions-bottom,.toggle-advanced{display:none!important}.results-container{display:block!important;border:none;padding:0}.summary-cards{break-inside:avoid}.chart-wrapper{break-inside:avoid;page-break-inside:avoid}.table-container{overflow:visible}#timeline-table{min-width:auto}}.retirement-calculator-container button:focus,.retirement-calculator-container input:focus,.retirement-calculator-container select:focus{outline:2px solid var(--primary);outline-offset:2px}.retirement-calculator-container [aria-invalid="true"]{border-color:var(--error)}.retirement-calculator-container [aria-hidden="true"]{display:none}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-container{animation:fadeIn 0.5s ease-out}