:root{--primary-color: #0d41e1;--success-color: #198754;--danger-color: #dc3545}body{background-color:#fff;min-height:100vh;padding:2rem 0}.form-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.form-header{background:linear-gradient(135deg,#0d41e1,#0a85ed);color:#fff;padding:2rem;text-align:center}.form-header h1{font-weight:700;margin-bottom:.5rem}.form-body{padding:2.5rem}.form-label{font-weight:600;color:#2d3748;margin-bottom:.5rem}.form-label .required{color:var(--danger-color)}.form-control,.form-select{border:2px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem;transition:all .3s ease}.form-control:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #0d6efd26}.form-control.is-invalid,.form-select.is-invalid{border-color:var(--danger-color)}.form-control.is-valid,.form-select.is-valid{border-color:var(--success-color)}.file-upload-wrapper{position:relative;border:2px dashed #cbd5e0;border-radius:10px;padding:2rem;text-align:center;transition:all .3s ease;background:#f7fafc}.file-upload-wrapper:hover{border-color:var(--primary-color);background:#edf2f7}.file-upload-wrapper.drag-over{border-color:var(--primary-color);background:#e6f2ff}.file-upload-wrapper input[type=file]{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;cursor:pointer}.file-upload-icon{font-size:3rem;color:#a0aec0;margin-bottom:1rem}.file-info{display:none;margin-top:1rem;padding:1rem;background:#e6f2ff;border-radius:8px;text-align:left}.file-info.show{display:block}.btn-submit{background:linear-gradient(135deg,#0d41e1,#0a85ed);border:none;padding:1rem 3rem;font-weight:600;border-radius:10px;transition:transform .2s ease}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.spinner-border-sm{width:1rem;height:1rem;border-width:.15em}.alert-container{position:fixed;top:20px;right:20px;z-index:9999;max-width:400px}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.loading-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:9998;justify-content:center;align-items:center}.loading-overlay.show{display:flex}.loading-content{text-align:center;color:#fff}.loading-spinner{width:4rem;height:4rem}
