:root {
    --iems-vino: #691C32;
    --iems-vino-oscuro: #4E152B;
    --iems-vino-claro: #7E2842;
    --iems-dorado: #BC955C;
    --iems-dorado-oscuro: #A17D48;
    --iems-dorado-claro: #D4B07A;
    --iems-verde: #008000;
    --iems-verde-oscuro: #006600;
    --iems-verde-claro: #33A033;    
    --iems-blanco: #FFFFFF;

    --iems-gris-50: #F8F9FA;
    --iems-gris-100: #F1F3F5;
    --iems-gris-200: #E9ECEF;
    --iems-gris-300: #DEE2E6;
    --iems-gris-400: #ADB5BD;
    --iems-gris-500: #6C757D;
    --iems-gris-600: #495057;
    --iems-gris-700: #343A40;
    --iems-gris-800: #212529;

    --iems-exito: var(--iems-verde);
    --iems-error: #DC3545;
    --iems-advertencia: #F0AD4E;
    --iems-info: #5BC0DE;

    --iems-fuente-base: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    --iems-fuente-peso-normal: 400;
    --iems-fuente-peso-medio: 500;
    --iems-fuente-peso-bold: 600;

    --iems-radio-borde: 0.375rem;

    --iems-sombra-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --iems-sombra-md: 0 2px 8px rgba(0, 0, 0, 0.1);
    --iems-sombra-lg: 0 4px 16px rgba(0, 0, 0, 0.12);

    --iems-transicion: all 0.2s ease-in-out;
}

:root {
    --vino: #691C32;
    --vino-oscuro: #4E152B;
    --vino-claro: #7E2842;
    --dorado: #BC955C;
    --dorado-claro: #D4B07A;
    --dorado-oscuro: #A17D48;
    --verde: #008000;
    --blanco: #FFFFFF;
    --gris-200: #E9ECEF;
    --gris-300: #DEE2E6;
    --gris-400: #ADB5BD;
    --gris-500: #6C757D;
    --gris-700: #343A40;
    --gris-800: #212529;
    --error: #DC3545;
}


body {
    font-family: var(--iems-fuente-base);
    background-color: var(--iems-gris-50);
    color: var(--iems-gris-800);
    min-height: 100vh;
}

.iems-contenido-principal {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
}

.iems-navbar {
    background-color: var(--iems-blanco);
    border-bottom: 3px solid var(--iems-vino);
    box-shadow: var(--iems-sombra-sm);
    padding: 0.5rem 0;
}

.iems-navbar-logo {
    width: 200px;
    height: auto;
    background-color: var(--iems-gris-200);
    border-radius: var(--iems-radio-borde);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6rem;
    color: var(--iems-gris-500);
    font-weight: var(--iems-fuente-peso-bold);
    text-transform: uppercase;
    flex-shrink: 0;
}

.iems-navbar-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
    border-radius: var(--iems-radio-borde); 
}


.iems-navbar-titulo {
    font-size: 0.95rem;
    font-weight: var(--iems-fuente-peso-bold);
    color: var(--iems-vino);
    line-height: 1.2;
    margin: 0;
}

.iems-navbar-subtitulo {
    font-size: 0.75rem;
    color: var(--iems-gris-500);
    margin: 0;
}

.iems-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: var(--iems-vino);
    color: var(--iems-blanco);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: var(--iems-fuente-peso-bold);
    letter-spacing: 0.5px;
    flex-shrink: 0;
}

.iems-usuario-nombre {
    font-size: 0.85rem;
    font-weight: var(--iems-fuente-peso-medio);
    color: var(--iems-gris-700);
    line-height: 1.2;
    margin: 0;
}

.iems-usuario-matricula {
    font-size: 0.72rem;
    color: var(--iems-gris-500);
    margin: 0;
}

.iems-btn-logout {
    background: none;
    border: 1px solid var(--iems-gris-300);
    border-radius: var(--iems-radio-borde);
    color: var(--iems-gris-500);
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
    cursor: pointer;
    transition: var(--iems-transicion);
    display: flex;
    align-items: center;
    gap: 0.35rem;
    text-decoration: none;
}

.iems-btn-logout:hover {
    color: var(--iems-error);
    border-color: var(--iems-error);
    background-color: #FEF2F2;
}

.iems-btn-logout span {
    font-size: 0.78rem;
    font-weight: var(--iems-fuente-peso-medio);
}

.iems-encuesta-card {
    background-color: var(--iems-blanco);
    border-radius: var(--iems-radio-borde);
    box-shadow: var(--iems-sombra-md);
    border: none;
    overflow: hidden;
}

.iems-modulo-header {
    background-color: var(--iems-vino);
    color: var(--iems-blanco);
    padding: 1.25rem 1.5rem;
}

.iems-modulo-header h2 {
    font-size: 1.15rem;
    font-weight: var(--iems-fuente-peso-bold);
    margin: 0;
}

.iems-modulo-header p {
    font-size: 0.82rem;
    opacity: 0.85;
    margin: 0.25rem 0 0 0;
}

.iems-encuesta-body {
    padding: 1.5rem;
}

.iems-pregunta-bloque {
    margin-bottom: 1.75rem;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid var(--iems-gris-200);
}

.iems-pregunta-bloque:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.iems-pregunta-numero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: var(--iems-vino);
    color: var(--iems-blanco);
    font-size: 0.75rem;
    font-weight: var(--iems-fuente-peso-bold);
    flex-shrink: 0;
}

.iems-pregunta-texto {
    font-size: 0.95rem;
    font-weight: var(--iems-fuente-peso-medio);
    color: var(--iems-gris-800);
    margin: 0;
    line-height: 1.5;
}

.iems-opciones-lista {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.iems-opcion-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 1rem;
    border: 1.5px solid var(--iems-gris-300);
    border-radius: var(--iems-radio-borde);
    cursor: pointer;
    transition: var(--iems-transicion);
    font-size: 0.9rem;
    color: var(--iems-gris-700);
    background-color: var(--iems-blanco);
    user-select: none;
    -webkit-user-select: none;
}

.iems-opcion-label:hover {
    border-color: var(--iems-vino-claro);
    background-color: #FDF5F8;
}

.iems-opcion-radio {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid var(--iems-gris-400);
    border-radius: 50%;
    flex-shrink: 0;
    transition: var(--iems-transicion);
    position: relative;
    cursor: pointer;
    margin: 0;
}

.iems-opcion-radio:checked {
    border-color: var(--iems-vino);
    background-color: var(--iems-blanco);
}

.iems-opcion-radio:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--iems-vino);
}

.iems-opcion-label:has(.iems-opcion-radio:checked) {
    border-color: var(--iems-vino);
    background-color: #FDF5F8;
    color: var(--iems-gris-800);
    font-weight: var(--iems-fuente-peso-medio);
}

.iems-pregunta-bloque.iems-sin-respuesta .iems-pregunta-texto {
    color: var(--iems-error);
}

.iems-pregunta-bloque.iems-sin-respuesta .iems-opciones-lista .iems-opcion-label {
    border-color: #F5C6CB;
}

.iems-btn-enviar {
    background-color: var(--iems-vino);
    color: var(--iems-blanco);
    border: none;
    padding: 0.7rem 2rem;
    font-size: 0.9rem;
    font-weight: var(--iems-fuente-peso-bold);
    border-radius: var(--iems-radio-borde);
    cursor: pointer;
    transition: var(--iems-transicion);
}

.iems-btn-enviar:hover {
    background-color: var(--iems-vino-oscuro);
    color: var(--iems-blanco);
}

.iems-btn-enviar:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.iems-finalizado-icono {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #E8F5E9;
    color: var(--iems-verde);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    margin: 0 auto 1rem auto;
}

.iems-spinner {
    width: 20px;
    height: 20px;
    border: 2.5px solid var(--iems-gris-300);
    border-top-color: var(--iems-blanco);
    border-radius: 50%;
    animation: iems-spin 0.6s linear infinite;
    display: inline-block;
}

@keyframes iems-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 575.98px) {
    .iems-btn-logout span {
        display: none;
    }

    .iems-navbar-titulo {
        font-size: 0.82rem;
    }

    .iems-usuario-nombre,
    .iems-usuario-matricula {
        display: none;
    }

    .iems-modulo-header {
        padding: 1rem 1.15rem;
    }

    .iems-encuesta-body {
        padding: 1.15rem;
    }

    .iems-opcion-label {
        padding: 0.65rem 0.85rem;
        font-size: 0.85rem;
    }
}


.nav-logo img {
    height: 40px;   
    width: auto;   
    display: block; 
}
