body {
            font-family: 'Poppins', sans-serif;
            background: linear-gradient(135deg, #F7FAFC 0%, #EDF2F7 100%);
        }
        .form-container {
            backdrop-filter: blur(10px);
            background: rgba(255, 255, 255, 0.9);
            box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2);
        }
        .input-effect {
            transition: all 0.3s ease;
        }
        .input-effect:focus {
            transform: translateY(-2px);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }
        .form-step {
            position: absolute;
            width: 100%;
            opacity: 0;
            transform: translateX(20px);
            transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
            pointer-events: none;
        }
        .form-step.active {
            position: relative;
            opacity: 1;
            transform: translateX(0);
            pointer-events: all;
        }
        .form-step.next {
            transform: translateX(20px);
        }
        .form-step.prev {
            transform: translateX(-20px);
        }
        .radio-option {
            display: flex;
            align-items: center;
            margin-right: 1rem;
        }
        .radio-option input {
            margin-right: 0.5rem;
        }
        .progress-bar {
            height: 6px;
            background: #E2E8F0;
            border-radius: 3px;
            margin-bottom: 1.5rem;
            overflow: hidden;
        }
        .progress {
            height: 100%;
            background: #000000;
            transition: width 0.5s ease;
        }
        .btn-primary {
            background: #000000;
            color: #FFFFFF;
        }
        .btn-primary:hover {
            background: #333333;
        }
        .btn-secondary {
            background: linear-gradient(to right, #6B46FF, #5A2EFF);
            color: white;
        }
        .btn-secondary:hover {
            background: linear-gradient(to right, #5A2EFF, #4A1EFF);
        }
        .btn-submit {
            position: relative;
            overflow: hidden;
        }
        .btn-submit::after {
            content: '';
            position: absolute;
            top: -50%;
            left: -60%;
            width: 200%;
            height: 200%;
            background: rgba(255, 255, 255, 0.2);
            transform: rotate(30deg);
            transition: all 0.3s ease;
        }
        .btn-submit:hover::after {
            left: 100%;
        }
        /* Animación de shake para campos inválidos */
        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
            20%, 40%, 60%, 80% { transform: translateX(5px); }
        }
        /* Estilos para el mensaje de éxito */
        .success-message {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.95);
            z-index: 100;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 2rem;
            border-radius: 1rem;
            animation: fadeIn 0.5s ease-out;
        }
        .success-icon {
            width: 80px;
            height: 80px;
            background-color: #4BB543;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 1.5rem;
            animation: bounceIn 0.5s ease-out;
        }
        .success-icon svg {
            width: 50px;
            height: 50px;
            color: white;
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        @keyframes bounceIn {
            0% { transform: scale(0.5); opacity: 0; }
            50% { transform: scale(1.1); }
            100% { transform: scale(1); opacity: 1; }
        }