:root {
    --color-primary: #ff001a;
    --color-primary-dark: #d91529;

    /* Paleta de colores */
    --blue: #007bff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --primary: #007bff;
    --secondary: #6c757d;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;

    /* Tipografía */
    --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/* Estilo general */
body {
    font-family: var(--font-family-sans-serif);
    background-color: var(--light); /* Fondo suave */
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

/* Caja de sesión */
.caja-sesion {
    width: 360px;
    background-color: var(--white);
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* Encabezado */
.encabezado-tarjeta {
    background-color: var(--color-primary);
    color: var(--white);
    text-align: center;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.encabezado-tarjeta h1 {
    font-size: 22px;
    margin: 0;
}

/* Cuerpo */
.cuerpo-tarjeta {
    padding: 20px;
}

.mensaje-sesion {
    text-align: center;
    color: var(--gray);
    margin-bottom: 20px;
}

/* Grupo de entrada */
.grupo-entrada {
    margin-bottom: 20px;
}

.grupo-entrada label {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    color: var(--dark);
}

/* Contenedor de entrada */
.grupo-entrada {
    position: relative;
}

.entrada-formulario {
    margin: auto;
    width: 100%;
    padding: 10px 10px 10px 40px;
    border: 2px solid var(--color-primary); /* Ajustado al nuevo color */
    border-radius: 8px;
    font-size: 19px; /* Ajustado al nuevo tamaño */
    outline: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Color del borde al enfocar */
.entrada-formulario:focus {
    border-color: var(--color-primary); 
}

/* Ícono dentro del input */
.icono {
    position: absolute;
    left: 10px;
    top: 70%;
    transform: translateY(-50%); 
    color: var(--color-primary);
}

.icono svg {
    width: 20px;
    height: 20px;
}

/* Botón */
.boton {
    margin-top: 5%;
    width: 100%;
    background-color: var(--color-primary);
    color: var(--white);
    border: none;
    padding: 10px 15px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
}

.boton:hover {
    background-color: var(--yellow);
    color: var(--color-primary-dark);
}

/* Enlaces */
.enlaces p {
    text-align: left;
    margin-top: 10px;
}

.enlaces a {
    text-decoration: none;
}

.enlaces a:hover {
    text-decoration: underline;
}


/* Mensajes de éxito */
.mensaje-exito {
    background-color: #d4edda;
    color: #155724;
    padding: 12px;
    border-radius: 5px;
    margin-bottom: 15px;
    border: 1px solid #c3e6cb;
}

/* Estilo para inputs de código */
.codigo-input {
    letter-spacing: 10px;
    font-size: 24px;
    text-align: center;
    font-weight: bold;
}

/* Estilo para requisitos de contraseña */
.requisitos-contrasena {
    background-color: #f8f9fa;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 15px;
    font-size: 14px;
}

/* Instrucciones */
.instrucciones {
    background-color: #e9f7fe;
    border-left: 4px solid #2196F3;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
}
