:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}header{text-align:center;color:#fff;margin-bottom:3rem}header h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.subtitle{font-size:1.1rem;opacity:.9}.calculator-container{max-width:1400px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:3rem}.input-section{margin-bottom:3rem}.input-section h2{color:#333;margin-bottom:1.5rem;font-size:1.75rem;text-align:center}.input-group{margin-bottom:0}.input-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600;font-size:.95rem}.input-group input,.input-group select{width:100%;padding:1rem;font-size:1.1rem;border:2px solid #e0e0e0;border-radius:10px;transition:all .3s ease;font-family:inherit}.input-group input:focus,.input-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-group input::placeholder{color:#aaa}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn{padding:.875rem 2rem;font-size:1rem;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s ease;font-family:inherit;min-width:140px}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.btn-primary:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:hover{background:#e0e0e0;transform:translateY(-2px)}.results-section{animation:fadeIn .5s ease;border-top:2px solid #e0e0e0;padding-top:3rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-section h2{text-align:center;margin-bottom:2rem;color:#333;font-size:1.75rem}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.result-card{background:#f8f9fa;padding:1.5rem;border-radius:12px;text-align:center;border:2px solid #e0e0e0}.result-card.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.result-card.success{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none}.result-card h3{font-size:.9rem;margin-bottom:.75rem;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.result-card.primary h3,.result-card.success h3{opacity:1}.result-value{font-size:1.75rem;font-weight:700}.chart-section{margin-bottom:3rem;background:#f8f9fa;padding:2rem;border-radius:12px;border:2px solid #e0e0e0}.chart-section h3{margin-bottom:1.5rem;color:#333;font-size:1.25rem;text-align:center}.breakdown{margin-top:2rem}.breakdown-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.breakdown-header-section h3{margin-bottom:0;color:#333;font-size:1.25rem}.btn-toggle{padding:.625rem 1.5rem;font-size:.95rem;background:#667eea;color:#fff;min-width:auto}.btn-toggle:hover{background:#5568d3;transform:translateY(-2px)}.breakdown-table{border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;max-height:500px;overflow-y:auto}.breakdown-header{display:grid;grid-template-columns:1fr 2fr 2fr 2fr;background:#667eea;color:#fff;font-weight:600;padding:1rem;position:sticky;top:0;z-index:1}.breakdown-row{display:grid;grid-template-columns:1fr 2fr 2fr 2fr;padding:1rem;border-bottom:1px solid #e0e0e0}.breakdown-row:nth-child(2n){background:#f8f9fa}.breakdown-row:hover{background:#e8eaf6}.breakdown-header div,.breakdown-row div{text-align:center}@media (max-width: 768px){.app{padding:1rem}header h1{font-size:2rem}.calculator-container{padding:2rem 1.5rem}.form-grid,.results-summary{grid-template-columns:1fr}.chart-section{padding:1rem}.breakdown-header-section{flex-direction:column;gap:1rem;align-items:stretch}.breakdown-header-section h3{text-align:center}.breakdown-header,.breakdown-row{font-size:.85rem;padding:.75rem .5rem;grid-template-columns:.5fr 1.5fr 1.5fr 1.5fr}}
