body{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.card{border:none;border-radius:15px;box-shadow:0 10px 40px #0003}.card-title{color:#667eea;font-weight:600}.upload-area{border:2px dashed #ddd;border-radius:10px;background-color:#f8f9fa;transition:all .3s ease;cursor:pointer}.upload-area:hover{border-color:#667eea;background-color:#eef2ff;transform:translateY(-2px)}.upload-area.drag-over{border-color:#667eea;background-color:#eef2ff;border-style:solid}.upload-content i{color:#667eea;transition:transform .3s ease}.upload-area:hover .upload-content i{transform:scale(1.1)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;padding:12px 40px;font-size:1.1rem;font-weight:500;transition:all .3s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd6,#6a4190);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-success{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;font-weight:500;transition:all .3s ease}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#0f8a7f,#32d96d);transform:translateY(-2px);box-shadow:0 6px 20px #11998e66}.btn-outline-success{border-color:#11998e;color:#11998e;font-weight:500;transition:all .3s ease}.btn-outline-success:hover:not(:disabled){background:linear-gradient(135deg,#11998e,#38ef7d);border-color:#11998e;color:#fff;transform:translateY(-2px)}.progress-container{margin:2rem 0;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.progress-bar-wrapper{position:relative;height:30px;background:#e0e0e0;border-radius:15px;overflow:hidden;margin-bottom:1rem}.progress-bar{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:15px;transition:width .3s ease-out;display:flex;align-items:center;justify-content:flex-end;padding-right:15px}.progress-text{color:#fff;font-weight:700;font-size:.9rem;white-space:nowrap}.progress-status{text-align:center;color:#666;font-size:1rem;margin:0}.progress-steps{display:flex;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e0e0e0}.progress-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.step-number{width:40px;height:40px;border-radius:50%;background:#e0e0e0;color:#999;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;margin-bottom:.5rem;transition:all .3s ease}.progress-step.completed .step-number{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.step-title{font-size:.85rem;color:#666;text-align:center}.progress-step.completed .step-title{color:#11998e;font-weight:500}.result-area{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:12px}.form-select,.form-control{border-radius:8px;border:1px solid #ddd;transition:all .3s ease}.form-select:focus,.form-control:focus{border-color:#667eea;box-shadow:0 0 0 .2rem #667eea40}.form-range::-webkit-slider-thumb{background:linear-gradient(135deg,#667eea,#764ba2)}.form-range::-moz-range-thumb{background:linear-gradient(135deg,#667eea,#764ba2)}@media (max-width: 768px){.progress-steps{flex-direction:column;gap:1rem}.btn-primary{width:100%}.upload-content{padding:2rem 1rem!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card,.alert{animation:fadeIn .3s ease-out}.spinner-border-sm{width:1rem;height:1rem;border-width:.15em}
