.loan-form-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background-color:#f5f7fa}.loan-form{background:white;padding:2rem;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);width:100%;max-width:800px}h2{color:#2d3748;text-align:center;margin-bottom:2rem;font-size:1.8rem}.form-group{margin-bottom:1.5rem}label{display:block;margin-bottom:.5rem;color:#4a5568;font-weight:500}input,select{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;transition:all .3s ease}input:focus,select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px rgba(66,153,225,.1)}.prediction-results{background:linear-gradient(135deg,#667eea,#764ba2);color:white;padding:2rem;border-radius:12px;margin:2rem 0;box-shadow:0 8px 25px rgba(102,126,234,.3)}.prediction-results h3{margin:0 0 1.5rem;font-size:1.5rem;color:white;text-align:center}.prediction-results h4{margin:1.5rem 0 1rem;font-size:1.25rem;color:#e2e8f0}.approval-chance{text-align:center;background:rgba(255,255,255,.1);border-radius:50%;width:180px;height:180px;margin:0 auto 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border:4px solid rgba(255,255,255,.3);backdrop-filter:blur(10px)}.approval-chance strong{font-size:2.5rem;font-weight:700;line-height:1}.approval-chance-label{font-size:.875rem;opacity:.9;margin-top:.5rem}.shap-values{margin:2rem 0}.shap-item,.shap-items{display:grid;gap:1rem}.shap-item{grid-template-columns:180px 30px 140px;align-items:center;background:rgba(255,255,255,.1);padding:.75rem;border-radius:6px;transition:background-color .2s ease;cursor:default}.shap-item:hover{background:rgba(255,255,255,.15);cursor:default}.factor-name{font-size:.875rem;text-transform:capitalize;font-weight:500}.factor-indicator{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 4px rgba(0,0,0,.2)}.factor-value{font-size:.8rem;font-weight:600;text-align:right;line-height:1.2}.factor-value,.factor-value:hover{cursor:default!important}.explanation{background:rgba(255,255,255,.1);padding:1.5rem;border-radius:8px;margin-top:2rem}.explanation h4{margin:0 0 1rem;font-size:1.125rem;color:#e2e8f0}.explanation p{margin:0;line-height:1.6;font-size:.95rem}.download-section{background:rgba(255,255,255,.1);padding:1.5rem;border-radius:8px;margin-top:1.5rem;text-align:center}.download-report-button{background:linear-gradient(135deg,#e53e3e,#c53030);color:white;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem}.download-report-button:hover{background:linear-gradient(135deg,#c53030,#e53e3e);transform:translateY(-2px);box-shadow:0 4px 12px rgba(229,62,62,.3)}.download-report-button:active{transform:translateY(0)}.download-note{color:#e2e8f0;font-size:.875rem;margin:0;opacity:.8}.checkbox-group{display:flex;align-items:center}.checkbox-group input[type=checkbox]{width:auto;margin-right:.5rem}.checkbox-group label{margin-bottom:0}.error{border-color:#e53e3e}.error-message{color:#e53e3e;font-size:.875rem;margin-top:.25rem;display:block}.status-message{padding:1rem;border-radius:6px;margin:20px 0;text-align:center;font-weight:500}.status-message.success{background-color:#c6f6d5;color:#22543d;border:1px solid #9ae6b4}.status-message.error{background-color:#fed7d7;color:#742a2a;border:1px solid #fc8181}.submit-button{width:100%;padding:.75rem;background-color:#4299e1;color:white;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.submit-button:hover{background-color:#3182ce}.submit-button:disabled{background-color:#a0aec0;cursor:not-allowed}@media (max-width:640px){.loan-form{padding:1.5rem}h2{font-size:1.5rem}.submit-button,input,select{padding:.625rem}.shap-item{grid-template-columns:1fr auto;gap:.5rem;text-align:left;justify-items:stretch}.factor-indicator{order:1;justify-self:center;margin-bottom:.5rem}.factor-name{order:2;font-weight:600}.factor-name,.factor-value{grid-column:1/-1;text-align:center}.factor-value{order:3;font-size:.75rem}.approval-chance{width:150px;height:150px}.approval-chance strong{font-size:2rem}}.loading{opacity:.7;pointer-events:none}.success-message{color:#48bb78;text-align:center;margin-top:1rem}.form-group{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}