        /* --- Variables y Estilos Base --- */
        :root {
            --color-white: #ffffff;
            --color-text-main: #34495e;
            /* Texto principal oscuro */
            --color-text-sub: #7f8c8d;
            /* Texto secundario gris */
            --color-blue-link: #007bff;
            --color-teal: #00a896;
            /* Azul/verde del logo */
            --color-card-bg: #ffffff;
            --color-border: #e0e0e0;
            --color-button-blue: #3498db;
            /* Azul principal de acción */
            --color-button-blue-hover: #2980b9;
            --color-progress-active: #2ecc71;
            /* Verde para progreso */
            --color-progress-inactive: #bdc3c7;
            /* Gris claro para progreso */
        }

        body {
            font-family: 'Inter', sans-serif;
            margin: 0;
            padding: 20px;
            background-color: #f0f2f5;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
        }

        /* Contenedor principal del formulario */
        .register-container {
            background-color: var(--color-card-bg);
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
            padding: 28px 2px;
            width: 100%;
            max-width: 500px;
            /* Un poco más ancho para el slider */
            text-align: center;
            overflow: hidden;
            /* Oculta los pasos que no están activos */
        }

        /* Logo CreditLink */
        .logo-div {
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--color-text-main);
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 25px;
        }

        .logo-icon {
            width: 18px;
            height: 18px;
            margin-right: 8px;
            display: inline-grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5px;
        }

        .logo-icon>div {
            background-color: var(--color-teal);
            border-radius: 2px;
        }

        /* --- Estilos de Título y Pasos --- */
        .register-container h2 {
            font-size: 1.6rem;
            font-weight: 700;
            color: var(--color-text-main);
            margin-bottom: 8px;
        }

        .register-container p {
            font-size: 0.95rem;
            color: var(--color-text-sub);
            margin-bottom: 20px;
            line-height: 1.4;
        }

        /* Contenedor del Slider */
        .steps-wrapper {
            display: flex;
            width: 500%;
            /* 5 pasos * 100% de ancho del contenedor */
            transition: transform 0.4s ease-in-out;
            margin-bottom: 20px;
        }

        .step {
            width: 20%;
            /* 100% / 5 pasos */
            flex-shrink: 0;
            /* Asegura que el paso no se encoja */
            padding: 0 10px;
            box-sizing: border-box;
            /* text-align: left; */
        }

        /* Grupos de formulario */
        .form-group {
            margin-bottom: 15px;
        }

        .form-group input {
            width: 85%;
            padding: 12px 15px;
            border: 1px solid var(--color-border);
            border-radius: 5px;
            box-sizing: border-box;
            font-size: 0.95rem;
            color: var(--color-text-main);
            transition: border-color 0.2s, box-shadow 0.2s;
            background-color: var(--color-white);
        }

        .form-group input:focus {
            border-color: var(--color-blue-link);
            outline: none;
            box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
        }

        /* Contenido de la confirmación (Paso 5) */
        .confirmation-content {
            padding: 30px 0;
            text-align: center;
        }

        .confirmation-content h3 {
            color: var(--color-progress-active);
            font-size: 1.4rem;
            margin-bottom: 10px;
        }

        /* --- Indicador de Progreso (Dots) --- */
        .progress-indicator {
            display: flex;
            justify-content: center;
            margin-bottom: 30px;
        }

        .progress-dot {
            height: 10px;
            width: 10px;
            margin: 0 6px;
            background-color: var(--color-progress-inactive);
            border-radius: 50%;
            transition: background-color 0.3s;
        }

        .progress-dot.active {
            background-color: var(--color-progress-active);
        }

        /* --- Botones de Navegación --- */
        .navigation-buttons {
            display: flex;
            justify-content: space-between;
            gap: 15px;
            margin-top: 30px;
            width: 75%;
            margin: auto;
        }

        .nav-button {
            flex-grow: 1;
            padding: 12px 20px;
            border: none;
            border-radius: 5px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: background-color 0.2s, transform 0.1s;
        }

        .nav-button.primary {
            background-color: #a90115;
            color: var(--color-white);
            box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
        }

        .nav-button.primary:hover {
            background-color: #202020ff;
        }

        .nav-button.secondary {
            background-color: #ecf0f1;
            color: var(--color-text-main);
        }

        .nav-button.secondary:hover {
            background-color: #dbe4e6;
        }

        /* Estilo para el botón de Finalizar Registro */
        #btn-finish {
            background-color: var(--color-progress-active);
            box-shadow: 0 2px 8px rgba(46, 204, 113, 0.3);
        }

        #btn-finish:hover {
            background-color: #27ae60;
        }

        /* Contenedor de mensajes (reemplazo de alert) */
        #message-box {
            margin-top: 15px;
            padding: 10px;
            border-radius: 5px;
            font-size: 0.9rem;
            font-weight: 500;
            opacity: 0;
            transition: opacity 0.3s ease-in-out;
            pointer-events: none;
        }

        #message-box.visible {
            opacity: 1;
            pointer-events: auto;
        }

        #message-box.error {
            background-color: #f8d7da;
            color: #721c24;
            border: 1px solid #f5c6cb;
        }