/* /Components/Compartidos/CorregirDatos.razor.rz.scp.css */
/* País y tipo de documento, uno al lado del otro cuando caben. */
.fila[b-b08w7izewz] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.fila > .eduvi-campo[b-b08w7izewz] {
    flex: 1 1 220px;
}
/* /Components/Compartidos/EncabezadoPagina.razor.rz.scp.css */
.encabezado-pagina[b-bemibdgd1g] {
    margin-bottom: 24px;
}

.volver[b-bemibdgd1g] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-primary);
    text-decoration: none;
}

.volver:hover[b-bemibdgd1g] {
    text-decoration: underline;
}

.volver:focus-visible[b-bemibdgd1g] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

.fila[b-bemibdgd1g] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 24px;
}

.titulo[b-bemibdgd1g] {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.textos[b-bemibdgd1g] {
    min-width: 0;
}

.etiquetas[b-bemibdgd1g] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.contexto[b-bemibdgd1g] {
    margin: 4px 0 0;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.acciones[b-bemibdgd1g] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
/* /Components/Compartidos/EsperaInteractividad.razor.rz.scp.css */
/* El fieldset solo agrupa: sin borde, márgenes ni ancho mínimo propios. */
.espera-interactividad[b-jppcmrjhf1] {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}
/* /Components/Compartidos/EstadoVacio.razor.rz.scp.css */
.estado-vacio[b-w2irf9a1d0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 40px 16px;
    border: 1px dashed var(--mud-palette-lines-inputs);
    border-radius: var(--eduvi-radio-tarjeta);
    text-align: center;
}

.icono[b-w2irf9a1d0] {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 999px;
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

.mensaje[b-w2irf9a1d0] {
    margin: 0;
    max-width: 420px;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Compartidos/EtiquetaEstado.razor.rz.scp.css */
.etiqueta-estado[b-fd52yzulqv] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25rem;
    white-space: nowrap;
    color: var(--mud-palette-text-primary);
}

/* Un punto del color del estado antes del texto. */
.etiqueta-estado[b-fd52yzulqv]::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: currentColor;
}

.neutro[b-fd52yzulqv] { background: var(--mud-palette-action-default-hover); }
.neutro[b-fd52yzulqv]::before { background: var(--mud-palette-text-secondary); }
.info[b-fd52yzulqv] { background: var(--eduvi-info-suave); }
.info[b-fd52yzulqv]::before { background: var(--mud-palette-info); }
.exito[b-fd52yzulqv] { background: var(--eduvi-exito-suave); }
.exito[b-fd52yzulqv]::before { background: var(--mud-palette-success); }
.advertencia[b-fd52yzulqv] { background: var(--eduvi-advertencia-suave); }
.advertencia[b-fd52yzulqv]::before { background: var(--mud-palette-warning); }
.error[b-fd52yzulqv] { background: var(--eduvi-error-suave); }
.error[b-fd52yzulqv]::before { background: var(--mud-palette-error); }
/* /Components/Compartidos/FormularioUbicacion.razor.rz.scp.css */
/* Dos listas, una al lado de la otra cuando caben. */
.fila[b-2bxvwpvnfl] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.fila > .eduvi-campo[b-2bxvwpvnfl] {
    flex: 1 1 220px;
}
/* /Components/Compartidos/GraficoBarras.razor.rz.scp.css */
/* Columnas iguales; cada barra crece desde abajo según su valor sobre el máximo del gráfico. */
.grafico-barras[b-0t24ah6txh] {
    margin: 0;
}

.barras[b-0t24ah6txh] {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.columna[b-0t24ah6txh] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.pista[b-0t24ah6txh] {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    max-width: 28px;
    height: var(--alto);
    border-radius: 999px;
    background: var(--mud-palette-action-default-hover);
    overflow: hidden;
}

.barra[b-0t24ah6txh] {
    width: 100%;
    min-height: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mud-palette-primary) 45%, transparent);
}

.barra.resaltada[b-0t24ah6txh] {
    background: var(--mud-palette-primary);
}

.etiqueta[b-0t24ah6txh] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.solo-lector[b-0t24ah6txh] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Compartidos/Indicador.razor.rz.scp.css */
/* Indicador del sistema de diseño EDUVI: ícono en un cuadro primario-suave, la cifra con cifras tabulares y su nombre. */
.indicador[b-ihqbthdace] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    height: 100%;
    box-sizing: border-box;
    padding: 16px;
    background: var(--mud-palette-surface);
    border-radius: var(--eduvi-radio-tarjeta);
    box-shadow: var(--mud-elevation-1);
}

.icono[b-ihqbthdace] {
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

.textos[b-ihqbthdace] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cifra[b-ihqbthdace] {
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.nombre[b-ihqbthdace] {
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Compartidos/PanelLoteImportacion.razor.rz.scp.css */
.cifras[b-z74lq7xjc7] {
    margin: 0 0 16px;
    padding-left: 20px;
    line-height: 1.8;
}

.avance[b-z74lq7xjc7] {
    margin: 12px 0 0;
    font-weight: 500;
}
/* /Components/Compartidos/PreguntaSere.razor.rz.scp.css */
/* Una pregunta SERE+: tarjeta con el enunciado grande, los ejemplos con su pictograma y la escala en fila (en columna en
   el celular). Solo variables del tema. */
.pregunta-sere[b-9dpxzx3of4] {
    padding: 20px 24px;
    margin-bottom: 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
}

.enunciado[b-9dpxzx3of4] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    font-size: 1.125rem;
    line-height: 1.5;
}

.numero[b-9dpxzx3of4] {
    font-weight: 700;
    color: var(--mud-palette-text-secondary);
}

.pictograma[b-9dpxzx3of4] {
    width: 44px;
    height: 44px;
    object-fit: contain; /* las imágenes subidas no siempre son cuadradas */
    flex: none;
}

.ejemplos[b-9dpxzx3of4] {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    color: var(--mud-palette-text-secondary);
}

.ejemplos li[b-9dpxzx3of4] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.escala[b-9dpxzx3of4] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.opcion[b-9dpxzx3of4] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: 999px;
    font-size: 0.9375rem;
}

.circulo[b-9dpxzx3of4] {
    width: 28px;
    height: 28px;
}

@media (max-width: 600px) {
    .escala[b-9dpxzx3of4] {
        flex-direction: column;
    }
}
/* /Components/Compartidos/RolPersona.razor.rz.scp.css */
/* Rol de una persona: ícono en un círculo con el tono del rol, y su nombre. Solo variables del tema. */
.roles-persona[b-jma01ojkwh] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px 12px;
}

.rol-persona[b-jma01ojkwh] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.icono[b-jma01ojkwh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex: none;
}

.tono-primario[b-jma01ojkwh] { color: var(--mud-palette-primary); background: color-mix(in srgb, var(--mud-palette-primary) 16%, transparent); }
.tono-secundario[b-jma01ojkwh] { color: var(--mud-palette-secondary); background: color-mix(in srgb, var(--mud-palette-secondary) 16%, transparent); }
.tono-info[b-jma01ojkwh] { color: var(--mud-palette-info); background: color-mix(in srgb, var(--mud-palette-info) 16%, transparent); }
.tono-exito[b-jma01ojkwh] { color: var(--mud-palette-success); background: color-mix(in srgb, var(--mud-palette-success) 16%, transparent); }
.tono-advertencia[b-jma01ojkwh] { color: var(--mud-palette-warning); background: color-mix(in srgb, var(--mud-palette-warning) 16%, transparent); }
.tono-neutro[b-jma01ojkwh] { color: var(--mud-palette-text-secondary); background: var(--mud-palette-action-default-hover); }
/* /Components/Compartidos/SelectorNivelEscolar.razor.rz.scp.css */
/* Como los campos nativos de la aplicación (.eduvi-campo), pero compacto: va dentro de la fila de una tabla. */
.nivel-escolar[b-nygn7sa35w] {
    padding: 6px 8px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.nivel-escolar:focus-visible[b-nygn7sa35w] {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.nivel-escolar:disabled[b-nygn7sa35w] {
    opacity: 0.6;
}
/* /Components/Compartidos/TarjetaDatos.razor.rz.scp.css */
/* Nombre a la izquierda en el tono secundario, valor a la derecha; en el celular, uno debajo del otro. */
.tarjeta-datos[b-fkijdlczs8] {
    height: 100%;
}

.datos[b-fkijdlczs8] {
    width: 100%;
    border-collapse: collapse;
}

.datos[b-fkijdlczs8]  th,
.datos[b-fkijdlczs8]  td {
    padding: 8px 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    text-align: left;
    vertical-align: top;
    font-size: 0.875rem;
}

.datos[b-fkijdlczs8]  tr:last-child th,
.datos[b-fkijdlczs8]  tr:last-child td {
    border-bottom: none;
}

.datos[b-fkijdlczs8]  th {
    width: 40%;
    padding-right: 16px;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
}

.datos[b-fkijdlczs8]  td {
    overflow-wrap: anywhere;
}

.pie[b-fkijdlczs8] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

@media (max-width: 599.98px) {
    .datos[b-fkijdlczs8]  tr {
        display: block;
        padding: 8px 0;
        border-bottom: 1px solid var(--mud-palette-lines-default);
    }

    .datos[b-fkijdlczs8]  tr:last-child {
        border-bottom: none;
    }

    .datos[b-fkijdlczs8]  th,
    .datos[b-fkijdlczs8]  td {
        display: block;
        width: auto;
        padding: 0;
        border-bottom: none;
    }
}
/* /Components/Layout/AyudaPantalla.razor.rz.scp.css */
/* Como la campana: redondo con solo el ícono; desde 960 px, una pastilla con el texto. */
.ayuda-pantalla[b-l3gqkbk7by] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 40px;
    height: 40px;
    border-radius: 999px;
    color: inherit;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
}

.ayuda-pantalla:hover[b-l3gqkbk7by] {
    background: var(--mud-palette-action-default-hover);
}

.ayuda-pantalla:focus-visible[b-l3gqkbk7by] {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.texto[b-l3gqkbk7by] {
    display: none;
}

@media (min-width: 960px) {
    .ayuda-pantalla[b-l3gqkbk7by] {
        padding: 0 12px;
    }

    .texto[b-l3gqkbk7by] {
        display: inline;
    }
}
/* /Components/Layout/CampanaAvisos.razor.rz.scp.css */
/* Botón redondo de ícono; el contador queda sobre la esquina de la campana. */
.campana[b-fpjniu7f3z] {
    position: relative;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    color: inherit;
}

.campana:hover[b-fpjniu7f3z] {
    background: var(--mud-palette-action-default-hover);
}

.campana:focus-visible[b-fpjniu7f3z] {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.campana[b-fpjniu7f3z]  .contador-menu {
    position: absolute;
    top: 0;
    right: -2px;
    margin: 0;
    min-width: 18px;
    padding: 0 5px;
    font-size: 0.6875rem;
    line-height: 18px;
}
/* /Components/Layout/CampoBusqueda.razor.rz.scp.css */
/* Campo redondeado en el fondo de la página, con la lupa a la izquierda. */
.campo-busqueda[b-r16op21u61] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: min(360px, 100%);
    padding: 0 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 999px;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-secondary);
}

.campo-busqueda:focus-within[b-r16op21u61] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

.campo-busqueda input[b-r16op21u61] {
    flex: 1;
    min-width: 0;
    height: 40px;
    border: 0;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.875rem;
    outline: none;
}

.solo-lector[b-r16op21u61] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Layout/EnlacePanel.razor.rz.scp.css */
/* Enlace del menú principal. El actual lleva el tono suave del color de la institución y su ícono en ese color; el texto
   queda en la tinta del tema, porque un color de marca claro no siempre contrasta sobre blanco. */
.enlace-panel[b-71vxauspoj] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: var(--eduvi-radio-control);
    color: var(--mud-palette-text-secondary);
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.25rem;
    text-decoration: none;
    white-space: nowrap;
}

.enlace-panel:hover[b-71vxauspoj] {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
}

.enlace-panel:focus-visible[b-71vxauspoj] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.enlace-panel.actual[b-71vxauspoj] {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    color: var(--mud-palette-text-primary);
    font-weight: 600;
}

.enlace-panel.actual[b-71vxauspoj]  .mud-icon-root {
    color: var(--mud-palette-primary);
}

.texto[b-71vxauspoj] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Panel contraído: solo el ícono. El nombre queda para el lector de pantalla y el contador pasa a un punto sobre el
   ícono. */
.panel-contraido .panel-lateral .enlace-panel[b-71vxauspoj] {
    justify-content: center;
    padding: 8px;
}

.panel-contraido .panel-lateral .texto[b-71vxauspoj] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.panel-contraido .panel-lateral .enlace-panel[b-71vxauspoj]  .contador-menu {
    position: absolute;
    top: 2px;
    right: 6px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 0.625rem;
    line-height: 16px;
    margin: 0;
}
/* /Components/Layout/FranjaAnuncios.razor.rz.scp.css */
/* Franja de anuncios: el fondo suave del estado y el ícono en su color (el color nunca va solo: también el ícono y el
   nombre accesible). */
.franja-anuncios[b-x4vinh3wmy] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.anuncio[b-x4vinh3wmy] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 16px;
    border-radius: var(--eduvi-radio-tarjeta);
    color: var(--mud-palette-text-primary);
}

.informacion[b-x4vinh3wmy] {
    background: var(--eduvi-info-suave);
}

.mantenimiento[b-x4vinh3wmy] {
    background: var(--eduvi-advertencia-suave);
}

.urgente[b-x4vinh3wmy] {
    background: var(--eduvi-error-suave);
}

.icono[b-x4vinh3wmy] {
    flex: none;
    display: grid;
    place-items: center;
    padding-top: 2px;
}

.informacion .icono[b-x4vinh3wmy] {
    color: var(--mud-palette-info);
}

.mantenimiento .icono[b-x4vinh3wmy] {
    color: var(--mud-palette-warning);
}

.urgente .icono[b-x4vinh3wmy] {
    color: var(--mud-palette-error);
}

.textos[b-x4vinh3wmy] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    font-size: 0.875rem;
}

.texto[b-x4vinh3wmy] {
    white-space: pre-line;
}

.ventana[b-x4vinh3wmy] {
    font-weight: 600;
}

.ocultar[b-x4vinh3wmy] {
    flex: none;
    margin: 0;
}

.ocultar button[b-x4vinh3wmy] {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
}

.ocultar button:hover[b-x4vinh3wmy] {
    background: var(--mud-palette-action-default-hover);
}

.ocultar button:focus-visible[b-x4vinh3wmy] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}
/* /Components/Layout/LayoutIngreso.razor.rz.scp.css */
.imagen-ingreso[b-56sxj9y7ov] {
    width: 100%;
    height: 100%;
    max-height: 420px;
    object-fit: cover;
    border-radius: var(--mud-default-borderradius);
    display: block;
}
/* /Components/Layout/LayoutMinimo.razor.rz.scp.css */
/* Páginas de error con el sistema de diseño EDUVI: tarjeta centrada, título y texto con la tipografía del tema y el enlace
   con el color primario. Las páginas escriben HTML simple (h1, p, a): aquí toman su forma. Solo variables del tema. */
.minimo[b-flzzd4jsz3] {
    min-height: 100vh;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
    font-family: var(--mud-typography-default-family);
}

.logo[b-flzzd4jsz3] {
    display: block;
    height: 40px;
    margin-bottom: 24px;
}

.minimo[b-flzzd4jsz3]  h1 {
    margin: 0 0 12px;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.3;
}

.minimo[b-flzzd4jsz3]  p {
    margin: 0 0 12px;
    line-height: 1.6;
    color: var(--mud-palette-text-secondary);
}

.minimo[b-flzzd4jsz3]  a {
    color: var(--mud-palette-primary);
    font-weight: 600;
}
/* /Components/Layout/LogoMarca.razor.rz.scp.css */
.logo[b-0zxe09qlzh] {
    max-height: 40px;
    max-width: 220px;
    display: block;
}

/* En el ingreso: protagonista de la tarjeta. */
.logo-grande[b-0zxe09qlzh] {
    max-height: 104px;
    max-width: min(100%, 300px);
    margin: 0 auto;
}

.logo-grande.logo-fondo-blanco[b-0zxe09qlzh] {
    padding: 12px 22px;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.logo-fondo-blanco[b-0zxe09qlzh] {
    background: #ffffff;
    padding: 4px 8px;
    border-radius: var(--mud-default-borderradius);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-ius6zq0vqt] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-ius6zq0vqt] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* Barra superior en la superficie. Con panel lateral (960 px en adelante) la barra empieza donde termina el panel y el
   contenido se corre lo mismo: 280 px, o 72 px con el panel contraído. Solo variables del tema. */
.eduvi[b-ius6zq0vqt]  .barra-superior {
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.eduvi[b-ius6zq0vqt]  .barra-superior .mud-toolbar {
    gap: 4px;
}

.logo-barra[b-ius6zq0vqt] {
    display: flex;
    align-items: center;
    min-width: 0;
}

/* Sin logo, el nombre de la institución en una línea (con puntos suspensivos si no cabe). */
.logo-barra[b-ius6zq0vqt]  .mud-typography {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* El buscador en la barra: solo en pantallas anchas (en el celular va dentro de "Menú"). */
.busqueda-barra[b-ius6zq0vqt] {
    display: none;
    flex: 1;
    max-width: 360px;
    margin-left: 8px;
}

@media (min-width: 960px) {
    .busqueda-barra[b-ius6zq0vqt] {
        display: block;
    }

    .con-panel[b-ius6zq0vqt]  .barra-superior {
        left: 280px;
        right: 0;
        width: auto;
        transition: left 0.2s ease;
    }

    .con-panel[b-ius6zq0vqt]  .mud-main-content {
        padding-left: 280px;
        transition: padding-left 0.2s ease;
    }

    .con-panel.panel-contraido[b-ius6zq0vqt]  .barra-superior {
        left: 72px;
    }

    .con-panel.panel-contraido[b-ius6zq0vqt]  .mud-main-content {
        padding-left: 72px;
    }

    .con-panel .logo-barra[b-ius6zq0vqt],
    .con-panel .menu-estrecho[b-ius6zq0vqt] {
        display: none;
    }
}

/* Secciones del menú (Administración, Plataforma). Con el panel contraído, el título se vuelve una línea. */
/* Título de sección (Administración, Plataforma): en el color de la marca y con una línea encima, para que se note
   dónde empiezan las opciones de ese rol (revisión visual de Alejandro). */
.titulo-seccion[b-ius6zq0vqt] {
    margin: 8px 4px 4px;
    padding: 8px 8px 0;
    border-top: 1px solid var(--mud-palette-lines-default);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mud-palette-primary);
}

.separador-seccion[b-ius6zq0vqt] {
    margin: 12px 4px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.panel-contraido .panel-lateral .titulo-seccion[b-ius6zq0vqt] {
    margin: 12px 8px;
    padding: 0;
    font-size: 0;
    line-height: 0;
    border-top: 1px solid var(--mud-palette-lines-default);
}

/* Pantallas estrechas: el mismo menú dentro de "Menú", en un panel bajo la barra, a lo ancho de la pantalla (con 16 px a
   cada lado), que se desplaza si no cabe. */
.menu-estrecho[b-ius6zq0vqt] {
    flex: none;
}

.boton-menu[b-ius6zq0vqt] {
    cursor: pointer;
    list-style: none;
    padding: 6px 8px;
    border-radius: var(--mud-default-borderradius);
    font-size: 0.875rem;
    /* Como los botones del sistema de diseño: seminegrita, sin mayúsculas sostenidas. */
    font-weight: 600;
    white-space: nowrap;
}

.boton-menu[b-ius6zq0vqt]::-webkit-details-marker {
    display: none;
}

.boton-menu[b-ius6zq0vqt]::after {
    content: " ▾";
}

.boton-menu:hover[b-ius6zq0vqt],
details[open] > .boton-menu[b-ius6zq0vqt] {
    background: color-mix(in srgb, currentColor 14%, transparent);
}

.boton-menu:focus-visible[b-ius6zq0vqt] {
    outline: 2px solid currentColor;
    outline-offset: 1px;
}

.panel-menu[b-ius6zq0vqt] {
    position: fixed;
    top: calc(var(--mud-appbar-height) + 4px);
    right: 16px;
    left: 16px;
    z-index: 1300;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 360px;
    margin-left: auto;
    max-height: calc(100vh - var(--mud-appbar-height) - 24px);
    overflow-y: auto;
    padding: 8px;
    /* Fondo opaco: en el modo oscuro "traslúcido" de la marca las superficies dejarían ver la página detrás. */
    background: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-primary);
    border-radius: var(--eduvi-radio-tarjeta);
    box-shadow: var(--mud-elevation-8);
}
/* /Components/Layout/MenuConfiguracion.razor.rz.scp.css */
/* La rueda de configuración: abre un panel a la derecha de la barra. Solo variables del tema. */
.menu-configuracion[b-17g0oy212i] {
    position: relative;
    margin-left: 8px;
}

.boton-configuracion[b-17g0oy212i] {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 8px;
    border-radius: 999px;
}

.boton-configuracion[b-17g0oy212i]::-webkit-details-marker {
    display: none;
}

.boton-configuracion:hover[b-17g0oy212i],
details[open] > .boton-configuracion[b-17g0oy212i] {
    /* Del color del texto de la barra: blanco o negro según el contraste con la marca. */
    background: color-mix(in srgb, currentColor 14%, transparent);
}

.boton-configuracion:focus-visible[b-17g0oy212i] {
    outline: 3px solid currentColor;
    outline-offset: 2px;
}

.panel-configuracion[b-17g0oy212i] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 1300;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 260px;
    padding: 16px;
    /* Opaco: en el modo oscuro traslúcido la barra dejaría ver la página detrás. */
    background: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-primary);
    border-radius: 12px;
    box-shadow: var(--mud-elevation-8);
}

.panel-configuracion[b-17g0oy212i]  .mud-button-root {
    justify-content: flex-start;
}
/* /Components/Layout/PanelLateral.razor.rz.scp.css */
/* Panel lateral fijo a la izquierda: 280 px con nombres, 72 px contraído. En pantallas estrechas no se muestra (el menú
   va en el botón "Menú" de la barra). Solo variables del tema. */
.panel-lateral[b-iiba75t8hr] {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    width: 280px;
    background: var(--mud-palette-drawer-background);
    color: var(--mud-palette-text-primary);
    border-right: 1px solid var(--mud-palette-lines-default);
    transition: width 0.2s ease;
}

.cabecera[b-iiba75t8hr] {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    height: 64px;
    padding: 0 12px 0 20px;
}

.logo-panel[b-iiba75t8hr] {
    display: flex;
    align-items: center;
    min-width: 0;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}

.logo-panel[b-iiba75t8hr]  .logo {
    max-width: 168px;
}

/* El isotipo de la institución (RN-13): solo con el panel contraído, encima del botón. */
.isotipo-panel[b-iiba75t8hr] {
    display: none;
}

.isotipo-panel img[b-iiba75t8hr] {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: var(--eduvi-radio-control);
}

.boton-contraer[b-iiba75t8hr] {
    flex: none;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--eduvi-radio-control);
    background: transparent;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
}

.boton-contraer:hover[b-iiba75t8hr] {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
}

.boton-contraer:focus-visible[b-iiba75t8hr] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.enlaces[b-iiba75t8hr] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow-y: auto;
    padding: 8px 12px 16px;
}

/* Contraído: sin logo (con el isotipo, si la institución lo subió), el botón centrado con la flecha al revés y los
   enlaces solo con su ícono. */
.panel-contraido .panel-lateral[b-iiba75t8hr] {
    width: 72px;
}

.panel-contraido .logo-panel[b-iiba75t8hr] {
    display: none;
}

.panel-contraido .cabecera[b-iiba75t8hr] {
    justify-content: center;
    padding: 0;
}

.panel-contraido .cabecera:has(.isotipo-panel)[b-iiba75t8hr] {
    flex-direction: column;
    height: auto;
    padding: 12px 0 8px;
}

.panel-contraido .isotipo-panel[b-iiba75t8hr] {
    display: block;
}

.panel-contraido .boton-contraer[b-iiba75t8hr]  .mud-icon-root {
    transform: rotate(180deg);
}

.panel-contraido .enlaces[b-iiba75t8hr] {
    padding: 8px;
}

@media (max-width: 959.98px) {
    .panel-lateral[b-iiba75t8hr] {
        display: none;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-0zwta4u0mv],
.components-reconnect-repeated-attempt-visible[b-0zwta4u0mv],
.components-reconnect-failed-visible[b-0zwta4u0mv],
.components-pause-visible[b-0zwta4u0mv],
.components-resume-failed-visible[b-0zwta4u0mv],
.components-rejoining-animation[b-0zwta4u0mv] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-0zwta4u0mv],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-0zwta4u0mv],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-0zwta4u0mv],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-0zwta4u0mv],
#components-reconnect-modal.components-reconnect-retrying[b-0zwta4u0mv],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-0zwta4u0mv],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-0zwta4u0mv],
#components-reconnect-modal.components-reconnect-failed[b-0zwta4u0mv],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-0zwta4u0mv] {
    display: block;
}


#components-reconnect-modal[b-0zwta4u0mv] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-0zwta4u0mv 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-0zwta4u0mv 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-0zwta4u0mv 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-0zwta4u0mv]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-0zwta4u0mv 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-0zwta4u0mv {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-0zwta4u0mv {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-0zwta4u0mv {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-0zwta4u0mv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-0zwta4u0mv] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-0zwta4u0mv] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-0zwta4u0mv] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-0zwta4u0mv] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-0zwta4u0mv] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-0zwta4u0mv] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-0zwta4u0mv 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-0zwta4u0mv] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-0zwta4u0mv {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/TarjetaPersona.razor.rz.scp.css */
/* Foto o iniciales en un círculo, y a la derecha el nombre sobre el rol. */
.tarjeta-persona[b-s7vva65icw] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 10px 4px 4px;
    border-radius: 999px;
    color: inherit;
    text-decoration: none;
}

.tarjeta-persona:hover[b-s7vva65icw] {
    background: var(--mud-palette-action-default-hover);
}

.tarjeta-persona:focus-visible[b-s7vva65icw] {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.avatar[b-s7vva65icw] {
    flex: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}

.iniciales[b-s7vva65icw] {
    display: grid;
    place-items: center;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    font-size: 0.8125rem;
    font-weight: 700;
}

.textos[b-s7vva65icw] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.2;
}

.nombre[b-s7vva65icw] {
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.875rem;
    font-weight: 600;
}

.rol[b-s7vva65icw] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.rol[b-s7vva65icw]  .icono-rol {
    font-size: 0.95rem;
    color: var(--mud-palette-primary);
}

@media (max-width: 599.98px) {
    .textos[b-s7vva65icw] {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .tarjeta-persona[b-s7vva65icw] {
        padding: 4px;
    }
}
/* /Components/Pages/Academico/EstructuraCurso.razor.rz.scp.css */
.arbol[b-hcgp8ethzm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nodo[b-hcgp8ethzm] {
    display: flex;
    align-items: center;
    gap: 2px;
    border-radius: var(--mud-default-borderradius);
}

.nodo.seleccionado[b-hcgp8ethzm] {
    background: var(--mud-palette-action-default-hover);
    outline: 1px solid var(--mud-palette-primary);
}

.nodo.inactivo .titulo[b-hcgp8ethzm] {
    opacity: 0.55;
}

.titulo[b-hcgp8ethzm] {
    display: block; /* los botones del tema son flex centrados */
    flex: 1;
    min-width: 0;
    padding: 6px 4px;
    border: 0;
    background: none;
    color: var(--mud-palette-text-primary);
    font: inherit;
    text-align: left;
    overflow-wrap: anywhere;
    cursor: pointer;
}

.tipo[b-hcgp8ethzm] {
    margin-right: 6px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.85em;
}

.marca[b-hcgp8ethzm] {
    margin-left: 6px;
    padding: 0 6px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    font-size: 0.75em;
}

.problemas[b-hcgp8ethzm] {
    margin: 4px 0 0 20px;
}

/* En pantallas anchas el panel acompaña al árbol al desplazarse. */
@media (min-width: 960px) {
    .panel[b-hcgp8ethzm] {
        position: sticky;
        top: 16px;
    }
}
/* /Components/Pages/Academico/FichaCurso.razor.rz.scp.css */
/* En pantallas anchas, los datos a la izquierda y el resumen a la derecha; en el celular, el resumen primero. */
.resumen[b-r21fsb3tna] {
    margin-bottom: 24px;
}

@media (min-width: 1280px) {
    .columnas[b-r21fsb3tna] {
        display: grid;
        grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
        gap: 24px;
        align-items: start;
    }

    .resumen[b-r21fsb3tna] {
        grid-column: 2;
        grid-row: 1;
        margin-bottom: 0;
    }

    .columnas[b-r21fsb3tna]  .datos-curso {
        grid-column: 1;
        grid-row: 1;
    }
}
/* /Components/Pages/Academico/InscritosCurso.razor.rz.scp.css */
.accion[b-cl2fnne8zh] {
    text-align: right;
    white-space: nowrap;
}
/* /Components/Pages/Academico/SelectorImagen.razor.rz.scp.css */
.galeria[b-pprif8oeyi] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.opcion[b-pprif8oeyi] {
    padding: 0;
    border: 2px solid transparent;
    border-radius: var(--mud-default-borderradius);
    background: none;
    cursor: pointer;
}

.opcion.elegida[b-pprif8oeyi] {
    border-color: var(--mud-palette-primary);
}

.opcion img[b-pprif8oeyi] {
    display: block;
    width: 100%;
    height: 72px;
    object-fit: cover;
    border-radius: var(--mud-default-borderradius);
}

.miniatura-elegida[b-pprif8oeyi] {
    max-height: 72px;
    max-width: 160px;
    border-radius: var(--mud-default-borderradius);
}
/* /Components/Pages/Academico/SelectorRecurso.razor.rz.scp.css */
.resultados[b-0uypl1zr2w] {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
}

.resultados li[b-0uypl1zr2w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 2px 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    overflow-wrap: anywhere;
}

.resultados small[b-0uypl1zr2w] {
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Avance/CalificacionesDelCurso.razor.rz.scp.css */
/* Tabla ancha con desplazamiento propio: el nombre del estudiante queda fijo a la izquierda y, desde 600 px, el promedio
   a la derecha (es lo que más se consulta y, con cuatro actividades o más, quedaba fuera de la vista). */
.libro[b-pgb1cwqpsq] {
    overflow-x: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
}

table[b-pgb1cwqpsq] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

th[b-pgb1cwqpsq],
td[b-pgb1cwqpsq] {
    padding: 10px 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

thead th[b-pgb1cwqpsq] {
    background: var(--mud-palette-background);
    font-weight: 600;
    vertical-align: bottom;
}

thead th:first-child[b-pgb1cwqpsq],
tbody th[b-pgb1cwqpsq],
tfoot th[b-pgb1cwqpsq] {
    position: sticky;
    left: 0;
    z-index: 1;
    box-shadow: 1px 0 0 var(--mud-palette-lines-default);
}

tbody th[b-pgb1cwqpsq],
tfoot th[b-pgb1cwqpsq] {
    background: var(--mud-palette-surface);
    font-weight: 500;
}

tfoot th[b-pgb1cwqpsq],
tfoot td[b-pgb1cwqpsq] {
    border-bottom: none;
    font-weight: 600;
}

.num[b-pgb1cwqpsq] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* El título de la actividad ocupa las líneas que necesite: así las columnas son más angostas y caben más. */
.actividad[b-pgb1cwqpsq] {
    display: block;
    min-width: 7rem;
    max-width: 11rem;
    margin-left: auto;
    white-space: normal;
}

.tipo[b-pgb1cwqpsq],
.sin-enviar[b-pgb1cwqpsq] {
    color: var(--mud-palette-text-secondary);
    font-weight: 400;
}

.tipo[b-pgb1cwqpsq] {
    display: block;
    font-size: 0.75rem;
}

.promedio[b-pgb1cwqpsq] {
    font-weight: 600;
}

@media (min-width: 600px) {
    .promedio[b-pgb1cwqpsq] {
        position: sticky;
        right: 0;
        z-index: 1;
        background: var(--mud-palette-surface);
        box-shadow: -1px 0 0 var(--mud-palette-lines-default);
    }

    thead .promedio[b-pgb1cwqpsq] {
        background: var(--mud-palette-background);
    }
}

.solo-lector[b-pgb1cwqpsq] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Avance/CeldaAvance.razor.rz.scp.css */
.avance[b-lg9j72r2ec] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 180px;
}

.avance[b-lg9j72r2ec]  .barra {
    width: 80px;
}
/* /Components/Pages/Avance/ReporteDelCurso.razor.rz.scp.css */
.indicadores[b-hfvl8bf6gy] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}
/* /Components/Pages/Avance/ReportesCursos.razor.rz.scp.css */
.busqueda[b-oreked8oz5] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.busqueda .eduvi-campo[b-oreked8oz5] {
    flex: 1 1 280px;
}
/* /Components/Pages/Buscar.razor.rz.scp.css */
/* Formulario de búsqueda de la página y resultados por grupo, en tarjetas de dos en dos. */
.busqueda[b-fvz9ck0p1f] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.campo[b-fvz9ck0p1f] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 4px;
    min-width: 240px;
}

.campo input[b-fvz9ck0p1f] {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--eduvi-radio-control);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.campo input:focus[b-fvz9ck0p1f] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

.grupos[b-fvz9ck0p1f] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
}

.resultados[b-fvz9ck0p1f] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.resultados li[b-fvz9ck0p1f] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.icono[b-fvz9ck0p1f] {
    flex: none;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: var(--eduvi-radio-control);
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

.textos[b-fvz9ck0p1f] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.textos a[b-fvz9ck0p1f] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
    text-decoration: none;
}

.textos a:hover[b-fvz9ck0p1f] {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.detalle[b-fvz9ck0p1f] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Certificados/DocumentoCertificado.razor.rz.scp.css */
/* Proporción de una hoja carta horizontal; en pantalla se adapta al ancho y en papel ocupa la hoja (app.css: @page certificado). */
.certificado[b-3d2op4kvqq] {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    aspect-ratio: 11 / 8.5;
    margin: 0 auto;
    padding: 5% 7%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #1c1c1c;
    background: #fff;
    border: 10px double var(--mud-palette-primary);
    overflow: hidden;
}

.encabezado[b-3d2op4kvqq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.logo[b-3d2op4kvqq] {
    max-height: 72px;
    max-width: 260px;
    object-fit: contain;
}

.institucion[b-3d2op4kvqq] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.titulo[b-3d2op4kvqq] {
    margin: 4% 0 1%;
    font-size: 2.2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mud-palette-primary);
}

.introduccion[b-3d2op4kvqq] {
    margin: 0;
    font-size: 1.1rem;
}

.titular[b-3d2op4kvqq] {
    margin: 2% 0;
    font-size: 2rem;
    font-weight: 600;
    border-bottom: 1px solid #999;
    padding: 0 2rem 0.3rem;
}

.texto[b-3d2op4kvqq] {
    max-width: 80%;
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.6;
}

.cursos[b-3d2op4kvqq] {
    max-width: 85%;
    margin: 1.5% 0 0;
    font-size: 0.85rem;
    line-height: 1.4;
    color: #444;
}

.pie[b-3d2op4kvqq] {
    margin-top: auto;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    font-size: 0.85rem;
}

.firma[b-3d2op4kvqq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 40%;
}

.imagen-firma[b-3d2op4kvqq] {
    max-height: 70px;
    max-width: 240px;
    object-fit: contain;
    margin-bottom: 0.2rem;
}

.linea[b-3d2op4kvqq] {
    width: 100%;
    border-top: 1px solid #333;
    margin-bottom: 0.3rem;
}

.firmante[b-3d2op4kvqq] {
    font-weight: 600;
}

.verificacion[b-3d2op4kvqq] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.codigo[b-3d2op4kvqq] {
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: 1.05rem;
    letter-spacing: 0.08em;
}

.url[b-3d2op4kvqq] {
    word-break: break-all;
}

.marca-anulado[b-3d2op4kvqq] {
    position: absolute;
    top: 42%;
    left: 50%;
    margin: 0;
    transform: translate(-50%, -50%) rotate(-18deg);
    font-size: 6rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: rgba(200, 30, 30, 0.35);
    border: 8px solid rgba(200, 30, 30, 0.35);
    padding: 0 2rem;
    pointer-events: none;
}

/* Celulares: la hoja se lee en vertical, sin forzar la proporción. */
@media (max-width: 700px) {
    .certificado[b-3d2op4kvqq] {
        aspect-ratio: auto;
        padding: 1.5rem 1rem;
    }

    .titulo[b-3d2op4kvqq] {
        font-size: 1.4rem;
    }

    .titular[b-3d2op4kvqq] {
        font-size: 1.4rem;
        padding: 0 0.5rem 0.3rem;
    }

    .texto[b-3d2op4kvqq] {
        max-width: 100%;
    }

    .pie[b-3d2op4kvqq] {
        flex-direction: column;
        align-items: stretch;
        margin-top: 2rem;
    }

    .verificacion[b-3d2op4kvqq] {
        align-items: center;
        text-align: center;
    }

    .marca-anulado[b-3d2op4kvqq] {
        font-size: 3rem;
    }
}

@media print {
    .certificado[b-3d2op4kvqq] {
        max-width: none;
        height: 100%;
        aspect-ratio: auto;
        page: certificado;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}
/* /Components/Pages/Contenidos/EditorH5P.razor.rz.scp.css */
/* El editor H5P: js/h5p.js ajusta la altura a la de la página del editor. */
.editor-h5p[b-lmg1ficd6u] {
    display: block;
    width: 100%;
    height: 720px;
    border: 0;
}
/* /Components/Pages/Contenidos/FichaRecurso.razor.rz.scp.css */
.vista-previa[b-nf6lnxczn0] {
    display: block;
    max-width: 100%;
    max-height: 480px;
    border-radius: var(--mud-default-borderradius);
}

/* El reproductor H5P: js/h5p.js ajusta la altura a la del contenido. */
.h5p[b-nf6lnxczn0] {
    display: block;
    width: 100%;
    height: 480px;
    border: 0;
}
/* /Components/Pages/Contenidos/NuevoRecurso.razor.rz.scp.css */
/* Campos HTML normales (formularios SSR) con el aspecto del tema de MudBlazor: solo variables del tema. */
.campo[b-9htaodgenq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.campo input[b-9htaodgenq] {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.campo input:focus[b-9htaodgenq] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}
/* /Components/Pages/Cuenta/ClaveDosFactores.razor.rz.scp.css */
.pasos[b-0cu8o8mtwj] {
    padding-left: 1.2em;
}

.qr[b-0cu8o8mtwj] {
    display: block;
    background: #fff; /* el QR necesita fondo blanco también en modo oscuro para que la cámara lo lea */
    padding: 8px;
    border-radius: var(--mud-default-borderradius);
}

.clave[b-0cu8o8mtwj] {
    font-family: monospace;
    font-size: 1.05em;
    letter-spacing: 0.05em;
    word-break: break-all;
}
/* /Components/Pages/Cuenta/CodigosRecuperacion.razor.rz.scp.css */
.codigos[b-faws8ncjm0] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9em, 1fr));
    gap: 4px 16px;
    list-style: none;
    padding: 0;
    font-family: monospace;
    font-size: 1.05em;
}
/* /Components/Pages/Cuenta/CrearCuenta.razor.rz.scp.css */
/* Campos HTML normales (formularios SSR) con el aspecto del tema de MudBlazor, como en Ingresar. */
.campo[b-cbzagjx68v] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.campo[b-cbzagjx68v]  input,
.campo[b-cbzagjx68v]  select {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.campo[b-cbzagjx68v]  input:focus,
.campo[b-cbzagjx68v]  select:focus {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

[b-cbzagjx68v] .validation-errors {
    color: var(--mud-palette-error);
    padding-left: 1.2em;
}

/* Campo trampa: fuera de la pantalla (no display:none, que algunos bots detectan). */
.trampa[b-cbzagjx68v] {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
/* /Components/Pages/Cuenta/DocumentosPorAceptar.razor.rz.scp.css */
/* Igual que en la página de aceptar (AceptarPrivacidad): lista de documentos y casilla con el texto aceptado. */
.documentos[b-lxv3ekf4s7] {
    margin: 0;
    padding-left: 20px;
}

.casilla[b-lxv3ekf4s7] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.casilla input[b-lxv3ekf4s7] {
    margin-top: 4px;
    width: 18px;
    height: 18px;
    flex: none;
}
/* /Components/Pages/Cuenta/Ingresar.razor.rz.scp.css */
/* Campos HTML normales (formularios SSR) con el aspecto del tema de MudBlazor: solo variables del tema. */
.campo[b-9ku9xf3pbk] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.campo label[b-9ku9xf3pbk] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
}

.campo[b-9ku9xf3pbk]  input,
.campo[b-9ku9xf3pbk]  select {
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: 10px;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
    font: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.campo[b-9ku9xf3pbk]  input:hover,
.campo[b-9ku9xf3pbk]  select:hover {
    border-color: var(--mud-palette-primary);
}

.campo[b-9ku9xf3pbk]  input:focus,
.campo[b-9ku9xf3pbk]  select:focus {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

[b-9ku9xf3pbk] .validation-errors {
    color: var(--mud-palette-error);
    padding-left: 1.2em;
}
/* /Components/Pages/Cuenta/Perfil.razor.rz.scp.css */
/* Campos HTML normales (formularios SSR) con el aspecto del tema de MudBlazor: solo variables del tema. */
.campo[b-iyvb80z29o] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.campo[b-iyvb80z29o]  input,
.campo[b-iyvb80z29o]  select {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.campo[b-iyvb80z29o]  input:focus,
.campo[b-iyvb80z29o]  select:focus {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

[b-iyvb80z29o] .validation-errors {
    color: var(--mud-palette-error);
    padding-left: 1.2em;
}

.foto-perfil[b-iyvb80z29o] {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}
/* /Components/Pages/Cuenta/PreferenciasAvisosPerfil.razor.rz.scp.css */
/* Una casilla por grupo, con su nombre y, debajo, de qué avisa. */
.grupos[b-dcj4ynq37z] {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
}

.grupo[b-dcj4ynq37z] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.grupo input[b-dcj4ynq37z] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--mud-palette-primary);
}

.grupo label[b-dcj4ynq37z] {
    display: flex;
    flex-direction: column;
    cursor: pointer;
}

.nombre[b-dcj4ynq37z] {
    font-weight: 600;
}

.descripcion[b-dcj4ynq37z] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.solo-lector[b-dcj4ynq37z] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Estudiante/ActividadEstudiante.razor.rz.scp.css */
.medio[b-m8s3goxn69] {
    display: block;
    width: 100%;
    max-height: 70vh;
    background: #000;
    border-radius: var(--eduvi-radio-tarjeta);
}

.documento[b-m8s3goxn69] {
    display: block;
    width: 100%;
    height: 75vh;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--eduvi-radio-tarjeta);
}

.apoyo[b-m8s3goxn69] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.apoyo li[b-m8s3goxn69] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Barra de navegación: anterior a la izquierda; terminar o seguir a la derecha. */
.barra-actividad[b-m8s3goxn69] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    padding: 12px 16px;
    border-radius: var(--eduvi-radio-tarjeta);
    background: var(--mud-palette-surface);
    box-shadow: var(--mud-elevation-1);
}

.espacio[b-m8s3goxn69] {
    flex: 1;
}

/* El reproductor H5P: js/h5p.js ajusta la altura a la del contenido. */
.h5p[b-m8s3goxn69] {
    display: block;
    width: 100%;
    height: 480px;
    border: 0;
}
/* /Components/Pages/Estudiante/Calendario.razor.rz.scp.css */
/* Cuadrícula del mes: siete columnas iguales, hoy resaltado y los días de otros meses atenuados. Cada fecha límite es un
   enlace con un borde del color de su estado (el estado también va en el título y, en el celular, en su etiqueta). */
.mes[b-q3jh3cv93e] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    background: var(--mud-palette-surface);
    border-radius: var(--eduvi-radio-tarjeta);
    box-shadow: var(--mud-elevation-1);
    overflow: hidden;
}

.mes th[b-q3jh3cv93e] {
    padding: 10px 8px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.mes td[b-q3jh3cv93e] {
    height: 112px;
    padding: 6px;
    vertical-align: top;
    border-right: 1px solid var(--mud-palette-lines-default);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.mes td:last-child[b-q3jh3cv93e] {
    border-right: 0;
}

.mes tr:last-child td[b-q3jh3cv93e] {
    border-bottom: 0;
}

.mes td.fuera[b-q3jh3cv93e] {
    background: var(--mud-palette-background);
}

.mes td.fuera .numero[b-q3jh3cv93e] {
    color: var(--mud-palette-text-disabled);
}

.numero[b-q3jh3cv93e] {
    display: inline-grid;
    place-items: center;
    min-width: 26px;
    height: 26px;
    margin-bottom: 4px;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
}

.hoy .numero[b-q3jh3cv93e] {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.evento[b-q3jh3cv93e] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
    padding: 2px 6px;
    border-left: 3px solid var(--mud-palette-info);
    border-radius: 4px;
    background: var(--eduvi-info-suave);
    color: var(--mud-palette-text-primary);
    font-size: 0.6875rem;
    line-height: 1.35;
    text-decoration: none;
}

.evento span[b-q3jh3cv93e] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.evento:hover[b-q3jh3cv93e] {
    text-decoration: underline;
}

.evento:focus-visible[b-q3jh3cv93e] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

.evento.completada[b-q3jh3cv93e] {
    border-left-color: var(--mud-palette-success);
    background: var(--eduvi-exito-suave);
}

.evento.pendiente[b-q3jh3cv93e] {
    border-left-color: var(--mud-palette-warning);
    background: var(--eduvi-advertencia-suave);
}

.evento.vencida[b-q3jh3cv93e] {
    border-left-color: var(--mud-palette-error);
    background: var(--eduvi-error-suave);
}

.evento.grupo[b-q3jh3cv93e] {
    border-left-color: var(--mud-palette-primary);
    background: var(--eduvi-primario-suave);
}

/* Prueba SERE+: su propio color (verde azulado), que contrasta con el primario y con los estados de los cursos. */
.evento.sere[b-q3jh3cv93e] {
    border-left-color: var(--eduvi-sere);
    background: var(--eduvi-sere-suave);
}

.evento.sere[b-q3jh3cv93e]  .mud-icon-root {
    color: var(--eduvi-sere);
}

/* Prueba SERE+ cerrada sin enviar: historia del mes, sin urgencia. */
.evento.cerrada[b-q3jh3cv93e] {
    border-left-color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-action-default-hover);
}

/* Su último día para responder: se nota la urgencia. */
.evento.ultimo-dia[b-q3jh3cv93e] {
    border-left-color: var(--mud-palette-error);
    background: var(--eduvi-error-suave);
    font-weight: 600;
}

/* Celular: lista por día en lugar de la cuadrícula. */
.lista-dias[b-q3jh3cv93e],
.lista-dias ul[b-q3jh3cv93e] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lista-dias[b-q3jh3cv93e] {
    display: none;
    flex-direction: column;
    gap: 16px;
}

.nombre-dia[b-q3jh3cv93e] {
    display: block;
    margin-bottom: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.nombre-dia.hoy[b-q3jh3cv93e] {
    color: var(--mud-palette-primary);
}

.evento-lista[b-q3jh3cv93e] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    padding: 12px;
    border-radius: var(--eduvi-radio-tarjeta);
    background: var(--mud-palette-surface);
    box-shadow: var(--mud-elevation-1);
}

.evento-lista .icono[b-q3jh3cv93e] {
    flex: none;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: var(--eduvi-radio-control);
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

.evento-lista .textos[b-q3jh3cv93e] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.evento-lista a[b-q3jh3cv93e] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
    text-decoration: none;
}

.evento-lista .detalle[b-q3jh3cv93e] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.solo-lector[b-q3jh3cv93e] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

@media (max-width: 759.98px) {
    .mes[b-q3jh3cv93e] {
        display: none;
    }

    .lista-dias[b-q3jh3cv93e] {
        display: flex;
    }
}
/* /Components/Pages/Estudiante/CuestionarioEstudiante.razor.rz.scp.css */
.imagen[b-5cj9sp2yiu] {
    display: block;
    max-width: 100%;
    max-height: 320px;
    margin: 8px 0;
    border-radius: var(--eduvi-radio-control);
}

/* Datos del cuestionario: en fila, cada uno con su ícono. */
.datos-cuestionario[b-5cj9sp2yiu] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.datos-cuestionario li[b-5cj9sp2yiu] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.datos-cuestionario li[b-5cj9sp2yiu]  .mud-icon-root {
    color: var(--mud-palette-primary);
}

/* Cada pregunta de la revisión: su número en un círculo, el enunciado y su estado. */
.encabezado-pregunta[b-5cj9sp2yiu] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.numero[b-5cj9sp2yiu] {
    flex: none;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
    font-size: 0.8125rem;
    font-weight: 700;
}

.encabezado-pregunta[b-5cj9sp2yiu]  .enunciado {
    flex: 1;
}

.solo-lector[b-5cj9sp2yiu] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.revision[b-5cj9sp2yiu] {
    list-style: none;
    margin: 8px 0;
    padding: 0;
    line-height: 1.8;
}

.revision li[b-5cj9sp2yiu] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.revision li .retro[b-5cj9sp2yiu] {
    flex-basis: 100%;
}

.correcta[b-5cj9sp2yiu] {
    color: var(--mud-palette-success);
    font-weight: 500;
}

.acierto[b-5cj9sp2yiu] {
    color: var(--mud-palette-success);
}

.fallo[b-5cj9sp2yiu] {
    color: var(--mud-palette-error);
}

/* Lo que escribió el estudiante y la respuesta modelo: se respetan los saltos de línea. */
.texto[b-5cj9sp2yiu] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 8px 0;
}

.pendiente[b-5cj9sp2yiu] {
    color: var(--mud-palette-info);
}

.retro[b-5cj9sp2yiu] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
    margin-left: 20px;
}
/* /Components/Pages/Estudiante/CursoEstudiante.razor.rz.scp.css */
/* Portada: la imagen del curso (16:9) y, al lado en pantallas anchas, el avance y el detalle. */
.portada[b-goveo6iwey] {
    display: grid;
    grid-template-columns: minmax(0, 320px) 1fr;
    gap: 24px;
    padding: 16px;
}

.imagen[b-goveo6iwey] {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--eduvi-radio-control);
}

.sin-imagen[b-goveo6iwey] {
    display: grid;
    place-items: center;
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

.detalle[b-goveo6iwey] {
    min-width: 0;
}

.detalle[b-goveo6iwey]  .texto-secundario {
    color: var(--mud-palette-text-secondary);
}

@media (max-width: 599.98px) {
    .portada[b-goveo6iwey] {
        grid-template-columns: 1fr;
    }
}

/* Contenido del curso: las secciones como títulos y cada actividad con su ícono, su título y su estado. La sangría sigue
   la profundidad en la estructura. */
.recorrido[b-goveo6iwey] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.seccion[b-goveo6iwey],
.paso[b-goveo6iwey] {
    margin-left: calc(var(--nivel, 0) * 16px);
}

.seccion[b-goveo6iwey] {
    margin-top: 8px;
    font-weight: 600;
}

.seccion.raiz[b-goveo6iwey] {
    margin-top: 16px;
    font-size: 1rem;
}

.seccion.raiz:first-child[b-goveo6iwey] {
    margin-top: 0;
}

.paso[b-goveo6iwey] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    border-radius: var(--eduvi-radio-control);
}

.paso:hover[b-goveo6iwey] {
    background: var(--mud-palette-action-default-hover);
}

.icono-tipo[b-goveo6iwey] {
    flex: none;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: var(--eduvi-radio-control);
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

.titulo-paso[b-goveo6iwey] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.titulo-paso a[b-goveo6iwey] {
    color: var(--mud-palette-text-primary);
    font-weight: 500;
    text-decoration: none;
}

.titulo-paso a:hover[b-goveo6iwey] {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.fecha[b-goveo6iwey] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.bloqueado[b-goveo6iwey] {
    color: var(--mud-palette-text-disabled);
}

.bloqueado .icono-tipo[b-goveo6iwey] {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-disabled);
}
/* /Components/Pages/Estudiante/FormularioPreguntas.razor.rz.scp.css */
.pregunta[b-ydbtj7t4re] {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

/* El número de la pregunta en un círculo, a la izquierda del enunciado (el detalle debajo). */
.pregunta legend[b-ydbtj7t4re] {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    align-items: start;
    width: 100%;
    padding: 0;
    margin-bottom: 12px;
}

.numero[b-ydbtj7t4re] {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
    font-size: 0.8125rem;
    font-weight: 700;
}

.solo-lector[b-ydbtj7t4re] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* Cada opción, un renglón con borde que se resalta al pasar el mouse y al elegirla. */
.opcion[b-ydbtj7t4re] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--eduvi-radio-control);
    cursor: pointer;
}

.opcion:hover[b-ydbtj7t4re] {
    background: var(--mud-palette-action-default-hover);
}

.opcion:has(input:checked)[b-ydbtj7t4re] {
    border-color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
}

.opcion:has(input:focus-visible)[b-ydbtj7t4re] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.opcion input[b-ydbtj7t4re] {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    flex: none;
    accent-color: var(--mud-palette-primary);
}

/* Respuesta escrita (pregunta abierta), con el aspecto del tema de MudBlazor: solo variables del tema. */
.respuesta[b-ydbtj7t4re] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--eduvi-radio-control);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    resize: vertical;
}

.respuesta:focus[b-ydbtj7t4re] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

.imagen[b-ydbtj7t4re] {
    display: block;
    max-width: 100%;
    max-height: 320px;
    margin: 8px 0;
    border-radius: var(--eduvi-radio-control);
}


/* Cuenta regresiva del tiempo límite: siempre a la vista mientras se responde. */
.cronometro[b-ydbtj7t4re] {
    position: sticky;
    top: 72px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    padding: 10px 16px;
    border: 1px solid var(--mud-palette-primary);
    border-radius: var(--eduvi-radio-tarjeta);
    background: var(--mud-palette-surface);
    box-shadow: var(--mud-elevation-1);
    color: var(--mud-palette-text-primary);
}

.cronometro[b-ydbtj7t4re]  .mud-icon-root {
    color: var(--mud-palette-primary);
}
/* /Components/Pages/Estudiante/FormularioPruebaSere.razor.rz.scp.css */
/* Avance: la barra y, al lado, cuántas van. */
.avance[b-tvpz4o64n3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin-bottom: 16px;
}

.barra[b-tvpz4o64n3] {
    flex: 1 1 220px;
    height: 8px;
    border-radius: 999px;
    background: var(--mud-palette-lines-default);
    overflow: hidden;
}

.barra span[b-tvpz4o64n3] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--mud-palette-primary);
}

/* Los botones de la página: anteriores a la izquierda, la página en el centro y seguir a la derecha. */
.acciones[b-tvpz4o64n3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
/* /Components/Pages/Estudiante/InicioEstudiante.razor.rz.scp.css */
/* Indicadores del sistema de diseño: una cuadrícula que pasa a una columna en el celular. */
.indicadores[b-a06e7eb61p] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

/* Horas de actividad y próximas fechas, lado a lado en pantallas anchas. */
.tablero[b-a06e7eb61p] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
}

.resumen-semana[b-a06e7eb61p] {
    margin: 4px 0 16px;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.resumen-semana strong[b-a06e7eb61p] {
    color: var(--mud-palette-text-primary);
    font-size: 1.125rem;
}

/* Continuar aprendiendo: la tarjeta de curso del sistema (imagen 16:9, programa y nivel, nombre y avance). */
.cursos[b-a06e7eb61p] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}

.curso[b-a06e7eb61p] {
    color: inherit;
    text-decoration: none;
}

.curso[b-a06e7eb61p]  .mud-paper {
    height: 100%;
    overflow: hidden;
}

.imagen[b-a06e7eb61p] {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.sin-imagen[b-a06e7eb61p] {
    display: grid;
    place-items: center;
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

.curso[b-a06e7eb61p]  .etiqueta {
    display: block;
    color: var(--mud-palette-text-secondary);
}

/* Listas con ícono (próximas fechas y actividad reciente). */
.lista-simple[b-a06e7eb61p],
.linea-tiempo[b-a06e7eb61p],
.linea-tiempo ul[b-a06e7eb61p] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lista-simple[b-a06e7eb61p] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lista-simple li[b-a06e7eb61p],
.evento[b-a06e7eb61p] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.icono-lista[b-a06e7eb61p] {
    flex: none;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: var(--eduvi-radio-control);
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

.textos-lista[b-a06e7eb61p] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.detalle-lista[b-a06e7eb61p] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

/* Actividad reciente como línea de tiempo: el día, y sus eventos unidos por una línea a la izquierda. */
.linea-tiempo[b-a06e7eb61p] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nombre-dia[b-a06e7eb61p] {
    display: block;
    margin-bottom: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.dia ul[b-a06e7eb61p] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-left: 15px;
    padding-left: 16px;
    border-left: 2px solid var(--mud-palette-lines-default);
}

.dia .evento[b-a06e7eb61p] {
    margin-left: -33px;
}
/* /Components/Pages/Estudiante/ListaCertificados.razor.rz.scp.css */
/* Certificados en tarjetas: el ícono, el nombre con su tipo y fecha, y su estado. */
.certificados[b-hr566u07m9] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 12px;
}

.certificado[b-hr566u07m9] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-radius: var(--eduvi-radio-tarjeta);
    background: var(--mud-palette-surface);
    box-shadow: var(--mud-elevation-1);
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.certificado:hover[b-hr566u07m9] {
    box-shadow: var(--mud-elevation-8);
}

.certificado:focus-visible[b-hr566u07m9] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.icono[b-hr566u07m9] {
    flex: none;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: var(--eduvi-radio-control);
    background: var(--eduvi-logro);
    color: var(--eduvi-marino);
}

.anulado .icono[b-hr566u07m9] {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-secondary);
}

.textos[b-hr566u07m9] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.nombre[b-hr566u07m9] {
    font-weight: 600;
}

.detalle[b-hr566u07m9] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Estudiante/LogrosEstudiante.razor.rz.scp.css */
/* Los logros en una cuadrícula que se acomoda al ancho (en el celular, uno por fila). Sistema de diseño (Logro): el
   obtenido, con el naranja de la marca y texto marino (6,9:1); el por obtener, con borde punteado y texto secundario. */
.logros[b-197jjcx6ug] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}

.logros[b-197jjcx6ug]  .logro.obtenido {
    background: var(--eduvi-logro);
    color: var(--eduvi-marino);
}

.logros[b-197jjcx6ug]  .logro.obtenido .mud-typography {
    color: var(--eduvi-marino);
}

.logros[b-197jjcx6ug]  .logro.pendiente {
    background: var(--mud-palette-surface);
    border: 1px dashed var(--mud-palette-lines-inputs);
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Estudiante/MisCalificaciones.razor.rz.scp.css */
/* El nombre del curso y su promedio en una línea (o uno debajo del otro en el celular). */
.encabezado-curso[b-9mjsk9nc2s] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: 4px 16px;
    margin-bottom: 8px;
}

/* Texto solo para lectores de pantalla (el título de cada tabla). */
.solo-lector[b-9mjsk9nc2s] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Estudiante/MisCursos.razor.rz.scp.css */
.cursos[b-y607u6ph7s] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}

.curso[b-y607u6ph7s] {
    color: inherit;
    text-decoration: none;
}

.curso[b-y607u6ph7s]  .mud-paper {
    height: 100%;
    overflow: hidden;
}

.imagen[b-y607u6ph7s] {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* Sin imagen: el color suave de la institución con el ícono del curso, para que la tarjeta no se vea vacía. */
.sin-imagen[b-y607u6ph7s] {
    display: grid;
    place-items: center;
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

/* Programa y nivel sobre el nombre (sistema de diseño: estilo etiqueta, en texto secundario). */
.curso[b-y607u6ph7s]  .etiqueta {
    display: block;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Estudiante/MisGuardados.razor.rz.scp.css */
/* Un curso por tarjeta; cada actividad con su enlace y "Quitar" a la derecha. */
.cursos[b-acnwwun4p0] {
    display: grid;
    gap: 16px;
}

.actividades[b-acnwwun4p0] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.actividades li[b-acnwwun4p0] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.actividades li:last-child[b-acnwwun4p0] {
    border-bottom: none;
}

.actividades[b-acnwwun4p0]  .titulo {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}
/* /Components/Pages/Estudiante/MisPruebasSere.razor.rz.scp.css */
/* Una prueba por renglón: el nombre con su detalle, el estado y el botón. */
.pruebas[b-icajk9j18o] {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pruebas li[b-icajk9j18o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.pruebas li:last-child[b-icajk9j18o] {
    border-bottom: 0;
}

.textos[b-icajk9j18o] {
    flex: 1 1 240px;
    display: grid;
    gap: 2px;
}

.detalle[b-icajk9j18o] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Estudiante/PreguntaSereRespuesta.razor.rz.scp.css */
/* Una pregunta SERE+ para responder: tarjeta con el enunciado grande, los ejemplos con su pictograma y la escala en fila
   (en columna en el celular); la opción elegida se resalta. Solo variables del tema. */
.pregunta-sere[b-id4td65wsh] {
    min-width: 0;
    margin: 0 0 16px;
    padding: 20px 24px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
}

/* El enunciado va dentro del cuadro (float saca la leyenda de la línea del borde) y con su propio fondo, para que resalte. */
.enunciado[b-id4td65wsh] {
    float: left;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    margin: 0 0 14px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--mud-palette-primary) 16%, var(--mud-palette-surface));
    color: var(--mud-palette-text-primary);
    font-size: 1.125rem;
    line-height: 1.5;
}

.enunciado + *[b-id4td65wsh] {
    clear: both;
}

/* "Escuchar": oculto hasta que js/escuchar.js confirma que hay una voz en español (marca <html> con eduvi-voz). */
.escuchar[b-id4td65wsh] {
    display: none;
    margin: -6px 0 10px;
}

html.eduvi-voz .escuchar[b-id4td65wsh] {
    display: block;
}

/* Lo que se está leyendo en voz alta, para seguirlo con la vista. */
.leyendo[b-id4td65wsh] {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: 8px;
}

.numero[b-id4td65wsh] {
    flex: none;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
    font-size: 0.875rem;
    font-weight: 700;
}

.solo-lector[b-id4td65wsh] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.pictograma[b-id4td65wsh] {
    width: 44px;
    height: 44px;
    object-fit: contain; /* las imágenes subidas no siempre son cuadradas */
    flex: none;
}

.ejemplos[b-id4td65wsh] {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    color: var(--mud-palette-text-secondary);
}

.ejemplos li[b-id4td65wsh] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.escala[b-id4td65wsh] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.opcion[b-id4td65wsh] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: 999px;
    font-size: 0.9375rem;
    cursor: pointer;
}

.opcion:hover[b-id4td65wsh] {
    background: var(--mud-palette-action-default-hover);
}

/* La opción elegida, en un tono parecido al del enunciado (más intenso), con su borde. */
.opcion:has(input:checked)[b-id4td65wsh] {
    border-color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 28%, var(--mud-palette-surface));
    font-weight: 600;
}

.opcion:has(input:focus-visible)[b-id4td65wsh] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

/* El radio nativo queda invisible pero activo (teclado, lector de pantalla y foco iguales); lo que se ve es la marca de al
   lado: un cuadrito redondeado (no un punto, que se confundía con el gráfico circular de la opción) que, al elegir, se
   llena con el color principal y muestra un visto bueno en el color de texto que contrasta con él (cualquier marca). */
.opcion input[b-id4td65wsh] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
}

.marca[b-id4td65wsh] {
    position: relative;
    flex: none;
    width: 20px;
    height: 20px;
    box-sizing: border-box;
    border: 2px solid var(--mud-palette-lines-inputs);
    border-radius: 6px;
    background: var(--mud-palette-surface);
}

.opcion input:checked + .marca[b-id4td65wsh] {
    border-color: var(--mud-palette-primary);
    background: var(--mud-palette-primary);
}

/* El visto bueno: una "L" girada con los bordes, en el color de texto sobre el principal. */
.opcion input:checked + .marca[b-id4td65wsh]::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 6px;
    height: 11px;
    border: solid var(--mud-palette-primary-text);
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.circulo[b-id4td65wsh] {
    width: 28px;
    height: 28px;
}

@media (max-width: 600px) {
    .pregunta-sere[b-id4td65wsh] {
        padding: 16px;
    }

    .escala[b-id4td65wsh] {
        flex-direction: column;
    }
}
/* /Components/Pages/Estudiante/PruebaDiagnosticaEstudiante.razor.rz.scp.css */
/* Resultado de la prueba: el puntaje grande al lado del texto. */
.resultado[b-owtq1pvgqs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 24px;
}

.cifra[b-owtq1pvgqs] {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--mud-palette-primary);
}

.convalidados[b-owtq1pvgqs] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.convalidados li[b-owtq1pvgqs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

/* Presentación antes de comenzar: el ícono a la izquierda del texto y el botón. */
.presentacion[b-owtq1pvgqs] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.icono[b-owtq1pvgqs] {
    flex: none;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: var(--eduvi-radio-control);
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}
/* /Components/Pages/Estudiante/PruebaSereEstudiante.razor.rz.scp.css */
/* Presentación y cierre: el ícono a la izquierda del texto y el botón. */
.presentacion[b-6yiqqzdrlr] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.icono[b-6yiqqzdrlr] {
    flex: none;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: var(--eduvi-radio-control);
    background: var(--eduvi-primario-suave);
    color: var(--mud-palette-primary);
}

.icono.exito[b-6yiqqzdrlr] {
    background: color-mix(in srgb, var(--mud-palette-success) 14%, transparent);
    color: var(--mud-palette-success);
}
/* /Components/Pages/Estudiante/TareaEstudiante.razor.rz.scp.css */
/* Campos HTML normales (formularios SSR) con el aspecto del tema de MudBlazor: solo variables del tema. */
.campo[b-k9tm9py5ik] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.campo input[b-k9tm9py5ik],
.campo textarea[b-k9tm9py5ik] {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--eduvi-radio-control);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    resize: vertical;
}

.campo input:focus[b-k9tm9py5ik],
.campo textarea:focus[b-k9tm9py5ik] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

/* Las instrucciones las escribe el docente: se respetan los saltos de línea. */
.instrucciones[b-k9tm9py5ik] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 0;
}

/* Datos de la tarea: en fila, cada uno con su ícono. */
.datos-tarea[b-k9tm9py5ik] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.datos-tarea li[b-k9tm9py5ik] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.datos-tarea li[b-k9tm9py5ik]  .mud-icon-root {
    color: var(--mud-palette-primary);
}
/* /Components/Pages/Evaluaciones/CalificarEntrega.razor.rz.scp.css */
/* Campos HTML normales (formularios SSR) con el aspecto del tema de MudBlazor: solo variables del tema. */
.campo[b-nm13ncet7c] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.campo input[b-nm13ncet7c],
.campo textarea[b-nm13ncet7c] {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    resize: vertical;
}

.campo input[b-nm13ncet7c] {
    max-width: 200px;
}

.campo input:focus[b-nm13ncet7c],
.campo textarea:focus[b-nm13ncet7c] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

/* Las instrucciones las escribe el docente: se respetan los saltos de línea. */
.texto[b-nm13ncet7c] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 0;
}
/* /Components/Pages/Evaluaciones/CalificarIntento.razor.rz.scp.css */
/* Campos HTML normales (formularios SSR) con el aspecto del tema de MudBlazor: solo variables del tema. */
.campo[b-02m2dvjju9] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.campo input[b-02m2dvjju9],
.campo textarea[b-02m2dvjju9] {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    resize: vertical;
}

.campo input[b-02m2dvjju9] {
    max-width: 200px;
}

.campo input:focus[b-02m2dvjju9],
.campo textarea:focus[b-02m2dvjju9] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

/* Textos de las personas (respuestas, respuesta modelo, comentarios): se respetan los saltos de línea. */
.texto[b-02m2dvjju9] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 4px 0 12px;
}

.modelo[b-02m2dvjju9] {
    padding: 8px 12px;
    border-left: 3px solid var(--mud-palette-primary);
    background: var(--mud-palette-background-gray);
}
/* /Components/Pages/Evaluaciones/ImportarPreguntas.razor.rz.scp.css */
/* El ejemplo del formato, tal cual (con sus saltos de línea). */
.ejemplo[b-sz76zb97bd] {
    margin: 8px 0 0;
    font-family: ui-monospace, monospace;
    white-space: pre-wrap;
}

/* Las primeras preguntas de la revisión: el enunciado puede ser largo. */
.vista-previa[b-sz76zb97bd] {
    margin: 0 0 16px;
    padding-left: 24px;
    overflow-wrap: anywhere;
}
/* /Components/Pages/Evaluaciones/Pendientes.razor.rz.scp.css */
.filtros[b-yt59xiyg8y] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}
/* /Components/Pages/Evaluaciones/VistaEntrega.razor.rz.scp.css */
/* Texto escrito por el estudiante o el docente: se respetan los saltos de línea. */
.texto-entrega[b-icecbj13i0] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 8px 0 0;
}

.retro[b-icecbj13i0] {
    padding: 8px 12px;
    border-left: 3px solid var(--mud-palette-primary);
    border-radius: 0 var(--eduvi-radio-control) var(--eduvi-radio-control) 0;
    background: var(--eduvi-primario-suave);
}

/* El número y la fecha de la entrega, con su estado (y si fue tardía) al lado. */
.encabezado-entrega[b-icecbj13i0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.foto[b-thclek01sr] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
}
/* /Components/Pages/Institucion/AcudientesYAutorizaciones.razor.rz.scp.css */
.finalidades[b-lmi486x1sc] {
    list-style: none;
    padding: 0;
    margin-top: 0.5rem;
}

.finalidades li[b-lmi486x1sc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.formulario[b-lmi486x1sc] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    padding: 1rem;
}

.formulario legend[b-lmi486x1sc] {
    font-weight: 600;
    padding: 0 0.25rem;
}

.campos[b-lmi486x1sc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
}

.fecha[b-lmi486x1sc] {
    white-space: nowrap;
}

.accion[b-lmi486x1sc] {
    text-align: right;
    white-space: nowrap;
}
/* /Components/Pages/Institucion/AplicacionesSereColegio.razor.rz.scp.css */
/* El encabezado de la columna de acciones: solo para lectores de pantalla. */
.solo-lector[b-2h9mzccvxh] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Institucion/AuditoriaInstitucion.razor.rz.scp.css */
.tabla-desplazable[b-jq458266p2] {
    overflow-x: auto;
}

[b-jq458266p2] .fecha {
    white-space: nowrap;
}
/* /Components/Pages/Institucion/Escala.razor.rz.scp.css */
/* Texto solo para lectores de pantalla (el título de la tabla). */
.solo-lector[b-vrobbcwd6d] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Institucion/FichaPersona.razor.rz.scp.css */
/* Iniciales en un círculo junto al nombre (como en la barra), y las tarjetas de dos en dos en pantallas anchas. */
.insignia[b-zfthuqvn3i] {
    display: grid;
    flex: none;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    font-size: 1.125rem;
    font-weight: 700;
}

.columnas[b-zfthuqvn3i] {
    display: grid;
    gap: 24px;
}

@media (min-width: 1280px) {
    .columnas[b-zfthuqvn3i] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }
}
/* /Components/Pages/Institucion/FormatoAutorizacion.razor.rz.scp.css */
.formato-autorizacion[b-vmzb9ps889] {
    max-width: 48rem;
    margin: 0 auto 2rem;
    line-height: 1.5;
}

.formato-autorizacion + .formato-autorizacion[b-vmzb9ps889] {
    break-before: page;
}

.institucion[b-vmzb9ps889] {
    font-weight: 600;
    margin: 0.25rem 0 1rem;
}

h2[b-vmzb9ps889] {
    font-size: 1.05rem;
    margin: 1.25rem 0 0.5rem;
}

.campos[b-vmzb9ps889] {
    display: grid;
    grid-template-columns: 15rem 1fr;
    gap: 0.75rem 1rem;
    margin: 0;
}

.campos dt[b-vmzb9ps889] {
    font-weight: 600;
}

.campos dd[b-vmzb9ps889] {
    margin: 0;
    min-height: 1.5rem;
    border-bottom: 1px solid currentColor;
}

.campos dd.firma[b-vmzb9ps889] {
    min-height: 3.5rem;
}

.casilla[b-vmzb9ps889] {
    margin: 0.5rem 0;
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.cuadro[b-vmzb9ps889] {
    flex: none;
    width: 1rem;
    height: 1rem;
    margin-top: 0.25rem;
    border: 1.5px solid currentColor;
}

.opinion[b-vmzb9ps889] {
    margin-top: 1rem;
}

/* En papel, negro sobre blanco aunque la pantalla esté en modo oscuro. */
@media print {
    .formato-autorizacion[b-vmzb9ps889],
    .formato-autorizacion *[b-vmzb9ps889] {
        color: #000 !important;
    }
}

@media (max-width: 599px) {
    .campos[b-vmzb9ps889] {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }
}
/* /Components/Pages/Institucion/InicioAdministrador.razor.rz.scp.css */
/* Tablero del administrador: indicadores en una cuadrícula que pasa a una columna en el celular, y tarjetas de dos en
   dos. */
.indicadores[b-xklhpti7oa] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.tablero[b-xklhpti7oa] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
}

.actualizado[b-xklhpti7oa] {
    margin: 0 0 12px;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.por-atender[b-xklhpti7oa] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.por-atender li[b-xklhpti7oa] {
    display: flex;
    align-items: center;
    gap: 10px;
}
/* /Components/Pages/Institucion/InicioDocente.razor.rz.scp.css */
/* Tablero del docente: indicadores y los grupos como tarjetas que enlazan a "Mis grupos". */
.indicadores[b-qvsl8b3v1b] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.grupos[b-qvsl8b3v1b] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}

.grupo[b-qvsl8b3v1b] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 16px;
    border-radius: var(--eduvi-radio-tarjeta);
    background: var(--mud-palette-surface);
    box-shadow: var(--mud-elevation-1);
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.grupo:hover[b-qvsl8b3v1b] {
    box-shadow: var(--mud-elevation-8);
}

.grupo:focus-visible[b-qvsl8b3v1b] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.grado[b-qvsl8b3v1b] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.nombre[b-qvsl8b3v1b] {
    font-size: 1rem;
    font-weight: 600;
}

.detalle[b-qvsl8b3v1b] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Institucion/InscribirPersona.razor.rz.scp.css */
/* Listas desplegables HTML (MudSelect necesita un proveedor de popovers que el layout estático no tiene). */
.fila[b-w1nbp2cegq] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.campo[b-w1nbp2cegq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 220px;
}

.campo select[b-w1nbp2cegq] {
    padding: 14px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.campo select:focus[b-w1nbp2cegq] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

[b-w1nbp2cegq] .contrasena-temporal {
    font-family: ui-monospace, monospace;
    letter-spacing: 0.05em;
}
/* /Components/Pages/Institucion/Marca.razor.rz.scp.css */
.muestra[b-u9u5be0vy7] {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 0.4em;
    border-radius: 50%;
    vertical-align: middle;
}

.miniatura[b-u9u5be0vy7] {
    max-height: 48px;
    max-width: 160px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
}

.nombre-imagen[b-u9u5be0vy7] {
    min-width: 240px;
}
/* /Components/Pages/Institucion/PrivacidadInstitucion.razor.rz.scp.css */
.versiones[b-21t9gn5wyc] {
    margin: 0 0 12px;
    padding-left: 20px;
}

.casilla[b-21t9gn5wyc] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.casilla input[b-21t9gn5wyc] {
    margin-top: 4px;
    width: 18px;
    height: 18px;
    flex: none;
}
/* /Components/Pages/Institucion/RedInstitucion.razor.rz.scp.css */
/* La red del colegio: datos y miembros en dos columnas en pantallas anchas; una en el celular. */
.columnas[b-u5ad078aag] {
    display: grid;
    gap: 24px;
}

@media (min-width: 1280px) {
    .columnas[b-u5ad078aag] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }
}

.miembros[b-u5ad078aag] {
    margin: 0;
    padding-left: 20px;
}

[b-u5ad078aag] .explicacion {
    margin: -8px 0 0 44px;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Institucion/SolicitudesDatos.razor.rz.scp.css */
.texto[b-fhiz7ekwtd] {
    white-space: pre-wrap; /* respeta los saltos de línea del detalle y la respuesta */
    margin: 4px 0 12px;
}
/* /Components/Pages/Notificaciones/AvisoInstitucion.razor.rz.scp.css */
/* El texto es plano: se respetan sus saltos de línea y no se desborda en el celular. */
.texto-aviso[b-v4sqswlsph] {
    margin: 0;
    white-space: pre-line;
    overflow-wrap: anywhere;
}
/* /Components/Pages/Notificaciones/AvisosPersona.razor.rz.scp.css */
.avisos[b-13gnv01hbv] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.aviso[b-13gnv01hbv] {
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.aviso:last-child[b-13gnv01hbv] {
    border-bottom: none;
}

/* Cada aviso es un botón de formulario con aspecto de fila (abrirlo lo marca leído en el servidor). */
.abrir[b-13gnv01hbv] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
    padding: 12px 8px;
    border: none;
    background: none;
    color: var(--mud-palette-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.abrir:hover[b-13gnv01hbv],
.abrir:focus-visible[b-13gnv01hbv] {
    background: var(--mud-palette-action-default-hover);
}

.nuevo .texto[b-13gnv01hbv] {
    font-weight: 600;
}

.nuevo .abrir[b-13gnv01hbv] {
    border-left: 3px solid var(--mud-palette-primary);
}

.fecha[b-13gnv01hbv] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}
/* /Components/Pages/OrganizacionEscolar/FichaGrupo.razor.rz.scp.css */
.accion[b-3cw69nu09u] {
    text-align: right;
    white-space: nowrap;
}
/* /Components/Pages/OrganizacionEscolar/Grados.razor.rz.scp.css */
.accion[b-b7fimicofq] {
    text-align: right;
    white-space: nowrap;
}
/* /Components/Pages/OrganizacionEscolar/NinosObservacionSere.razor.rz.scp.css */
/* El encabezado de la columna de acciones: solo para lectores de pantalla. */
.solo-lector[b-32q3xp57j9] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/OrganizacionEscolar/ObservacionSere.razor.rz.scp.css */
/* Al terminar: volver a la lista a la izquierda y "Siguiente niño" a la derecha. */
.acciones[b-rb74q7vh2h] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

/* La observación general en la revisión final (va dentro del formulario de envío). */
.campo[b-rb74q7vh2h] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.campo label[b-rb74q7vh2h] {
    font-weight: 600;
}

.campo textarea[b-rb74q7vh2h] {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    resize: vertical;
}

.campo textarea:focus[b-rb74q7vh2h] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

/* La guía es un MudText (otro componente): ::deep para alcanzarla. */
.campo[b-rb74q7vh2h]  .guia {
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Orientacion/AccionesAlertaSere.razor.rz.scp.css */
.acciones[b-phec2xy25i] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
/* /Components/Pages/Orientacion/BarrasComparadasSere.razor.rz.scp.css */
.barras-comparadas[b-vi37nv1oga] {
    display: grid;
    gap: 10px;
}

.leyenda[b-vi37nv1oga] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 0.85rem;
    color: var(--mud-palette-text-secondary);
}

.leyenda span[b-vi37nv1oga] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.muestra[b-vi37nv1oga] {
    display: inline-block;
    width: 14px;
    height: 10px;
    border-radius: 3px;
}

.fila[b-vi37nv1oga] {
    display: grid;
    grid-template-columns: minmax(140px, 32%) 1fr;
    align-items: center;
    gap: 12px;
}

.barras[b-vi37nv1oga] {
    display: grid;
    gap: 3px;
}

.linea[b-vi37nv1oga] {
    display: grid;
    grid-template-columns: 1fr 44px;
    align-items: center;
    gap: 8px;
}

.pista[b-vi37nv1oga] {
    height: 12px;
    border-radius: 6px;
    background: var(--mud-palette-action-disabled-background);
}

.barra[b-vi37nv1oga] {
    height: 100%;
    border-radius: 6px;
}

.principal[b-vi37nv1oga] {
    background: var(--mud-palette-primary);
}

.referencia[b-vi37nv1oga] {
    background: var(--mud-palette-text-disabled);
}

.linea .valor[b-vi37nv1oga] {
    font-size: 0.85rem;
    text-align: right;
}

@media (max-width: 600px) {
    .fila[b-vi37nv1oga] {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

@media print {
    .principal[b-vi37nv1oga],
    .referencia[b-vi37nv1oga],
    .muestra[b-vi37nv1oga] {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}
/* /Components/Pages/Orientacion/ContenidoEjecutivoSere.razor.rz.scp.css */
/* Los cinco indicadores del informe ejecutivo: tantos por fila como quepan sin cortar el texto (en el celular, uno). */
.indicadores[b-hgdzg84tm6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
}
/* /Components/Pages/Orientacion/DesignacionOrientacionSere.razor.rz.scp.css */
/* Designar: la lista de personas y el botón en una fila (en columna en el celular). Solo variables del tema. */
.designar[b-5kq2h51yp2] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.campo[b-5kq2h51yp2] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 260px;
    flex: 1;
}

.campo select[b-5kq2h51yp2] {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}
/* /Components/Pages/Orientacion/DocumentoInformeSere.razor.rz.scp.css */
/* Informe SERE+: hoja clara sobre el fondo, con la cabecera de color y secciones separadas. Solo variables del tema; en
   papel, negro sobre blanco aunque la pantalla esté en modo oscuro. */
.acciones-informe[b-bfcbt73ddy] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.informe-sere[b-bfcbt73ddy] {
    max-width: 1040px;
    margin: 0 auto;
    padding: 32px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
}

.cabecera[b-bfcbt73ddy] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding: 16px 20px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, var(--mud-palette-surface));
}

.sello[b-bfcbt73ddy] {
    flex: none;
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    font-weight: 800;
    letter-spacing: 0.04em;
}

.subtitulo[b-bfcbt73ddy] {
    margin: 4px 0 0;
    color: var(--mud-palette-text-secondary);
}

.informe-sere[b-bfcbt73ddy]  section {
    margin-bottom: 24px;
    break-inside: avoid;
}

.informe-sere[b-bfcbt73ddy]  h2 {
    margin: 0 0 12px;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--mud-palette-lines-default);
    font-size: 1.1rem;
    font-weight: 700;
}

/* Las listas (recomendaciones, alertas) con la misma letra que los párrafos del informe. */
.informe-sere[b-bfcbt73ddy]  ul {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 1rem;
    line-height: 1.6;
}

.nota-legal[b-bfcbt73ddy] {
    margin-top: 24px;
    padding-top: 12px;
    border-top: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: 0.8rem;
}

/* En pantallas estrechas, menos margen dentro de la hoja para que quepan las tablas. */
@media (max-width: 960px) {
    .informe-sere[b-bfcbt73ddy] {
        padding: 20px 16px;
    }
}

@media print {
    .informe-sere[b-bfcbt73ddy] {
        max-width: none;
        padding: 0;
        border: none;
    }

    .informe-sere[b-bfcbt73ddy],
    .informe-sere *[b-bfcbt73ddy] {
        color: #000 !important;
    }
}
/* /Components/Pages/Orientacion/DonaNivelesSere.razor.rz.scp.css */
.dona-niveles[b-8knmuanv0c] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
}

/* El hueco de la dona es un círculo del color de la superficie con el total en el centro. */
.dona[b-8knmuanv0c] {
    position: relative;
    flex: none;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}

.centro[b-8knmuanv0c] {
    position: absolute;
    inset: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--mud-palette-surface);
    font-size: 1.4rem;
    font-weight: 700;
}

.leyenda[b-8knmuanv0c] {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.leyenda li[b-8knmuanv0c] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.muestra[b-8knmuanv0c] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 4px;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}
/* /Components/Pages/Orientacion/ImpresionDetalladoSere.razor.rz.scp.css */
/* Tablas del informe detallado: compactas para que el ranking (once columnas) quepa sin desplazarse; los números a la
   derecha y sin partirse. MudSimpleTable es otro componente: ::deep. */
.compacta[b-79svddsbo7]  th,
.compacta[b-79svddsbo7]  td {
    padding: 6px 8px !important;
    font-size: 0.8rem;
}

.compacta[b-79svddsbo7]  th {
    white-space: nowrap;
}

.compacta[b-79svddsbo7]  td.numero {
    white-space: nowrap;
    text-align: right;
}
/* /Components/Pages/Orientacion/InformeTerritorialColegio.razor.rz.scp.css */
/* La casilla «Por sexo» alineada con las listas del filtro. */
.casilla-sexo[b-cic9l7v8wb] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-bottom: 10px;
    cursor: pointer;
}
/* /Components/Pages/Orientacion/InformeTerritorialSere.razor.rz.scp.css */
/* Informe territorial SERE+: barras apiladas de niveles y matriz de calor, solo con variables del tema. En papel se
   conservan los colores (print-color-adjust) y cada valor lleva su número escrito. */
.leyenda-niveles[b-pcbbzkq7po] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
    font-size: 0.875rem;
}

.leyenda-niveles li[b-pcbbzkq7po] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.muestra[b-pcbbzkq7po] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 3px;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}

.niveles[b-pcbbzkq7po] {
    display: grid;
    gap: 12px;
}

.fila-nivel[b-pcbbzkq7po] {
    display: grid;
    gap: 4px;
    break-inside: avoid;
}

.nombre-celda[b-pcbbzkq7po] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: baseline;
}

.nombre-celda span[b-pcbbzkq7po],
.detalle-niveles[b-pcbbzkq7po],
.sin-cifras[b-pcbbzkq7po] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.85rem;
}

.barra-niveles[b-pcbbzkq7po] {
    display: flex;
    height: 16px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--mud-palette-action-disabled-background);
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}

.barra-niveles span[b-pcbbzkq7po] {
    display: block;
    height: 100%;
}

.matriz[b-pcbbzkq7po] {
    border-collapse: collapse;
    font-size: 0.85rem;
}

.matriz th[b-pcbbzkq7po],
.matriz td[b-pcbbzkq7po] {
    padding: 6px 8px;
    border: 1px solid var(--mud-palette-lines-default);
    text-align: center;
    white-space: nowrap;
}

.matriz th[scope="row"][b-pcbbzkq7po] {
    text-align: left;
    font-weight: 600;
}

/* De menos a más intensidad: más estudiantes en Inicio (o, en el miedo, menos frecuencia). */
.matriz .calor-0[b-pcbbzkq7po] { background: var(--mud-palette-surface); }
.matriz .calor-1[b-pcbbzkq7po] { background: color-mix(in srgb, var(--mud-palette-error) 12%, var(--mud-palette-surface)); }
.matriz .calor-2[b-pcbbzkq7po] { background: color-mix(in srgb, var(--mud-palette-error) 26%, var(--mud-palette-surface)); }
.matriz .calor-3[b-pcbbzkq7po] { background: color-mix(in srgb, var(--mud-palette-error) 42%, var(--mud-palette-surface)); }
.matriz .calor-4[b-pcbbzkq7po] { background: color-mix(in srgb, var(--mud-palette-error) 60%, var(--mud-palette-surface)); font-weight: 700; }

.matriz td[class^="calor-"][b-pcbbzkq7po] {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}

.codigos[b-pcbbzkq7po] {
    columns: 2 280px;
    font-size: 0.85rem;
}

.numero[b-pcbbzkq7po] {
    text-align: right;
    white-space: nowrap;
}

/* Las tablas anchas (muchas dimensiones) se desplazan dentro de la hoja, sin ensanchar la página. */
.tabla-desplazable[b-pcbbzkq7po] {
    overflow-x: auto;
}
/* /Components/Pages/Orientacion/TablaPromediosSere.razor.rz.scp.css */
/* La barra del promedio ocupa un ancho fijo para que se puedan comparar las filas. */
.celda-barra[b-lu4gdvr3xi] {
    width: 30%;
    min-width: 120px;
}

/* La nota de la alimentación, bajo el nombre de la dimensión 7 (punto 55 de las mallas v9). */
.nota-dimension[b-lu4gdvr3xi] {
    display: block;
    margin-top: 2px;
    font-size: 0.8rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Plataforma/ArticulosAyudaPlataforma.razor.rz.scp.css */
/* La lista de artículos y la vista previa del formato (FormatoAyuda). */
.lista-articulos[b-0s7ifr6m0f] {
    margin: 0;
    padding-left: 20px;
}

.lista-articulos li[b-0s7ifr6m0f] {
    margin-bottom: 6px;
    overflow-wrap: anywhere;
}

.vista-previa[b-0s7ifr6m0f] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    padding: 12px;
    overflow-wrap: anywhere;
}
/* /Components/Pages/Plataforma/AuditoriaPlataforma.razor.rz.scp.css */
.tabla-desplazable[b-ckxc37l818] {
    overflow-x: auto;
}

[b-ckxc37l818] .fecha {
    white-space: nowrap;
}
/* /Components/Pages/Plataforma/BancoSere.razor.rz.scp.css */
/* Banco y evaluaciones SERE+: indicadores en cuadrícula (una columna en el celular). */
.indicadores[b-elxi8espxt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.fecha[b-elxi8espxt] {
    white-space: nowrap;
    color: var(--mud-palette-text-secondary);
}

.accion[b-elxi8espxt] {
    text-align: right;
    white-space: nowrap;
}
/* /Components/Pages/Plataforma/CamposAdministrador.razor.rz.scp.css */
/* Listas desplegables HTML (MudSelect necesita un proveedor de popovers que el layout estático no tiene). */
.fila[b-srhq1ac6jb] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.campo[b-srhq1ac6jb] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 220px;
}

.campo select[b-srhq1ac6jb] {
    padding: 14px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.campo select:focus[b-srhq1ac6jb] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

/* /Components/Pages/Plataforma/CamposPersonaPlataforma.razor.rz.scp.css */
/* El aviso pequeño bajo el correo: si la persona ya tiene cuenta o si se va a crear. Ícono y texto, no solo color. */
.aviso[b-c2kruhuy55] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: -8px 0 0;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.aviso.existe[b-c2kruhuy55] {
    color: var(--mud-palette-success);
    font-weight: 500;
}
/* /Components/Pages/Plataforma/EquipoAcademicoPlataforma.razor.rz.scp.css */
[b-htclshxxch] .contrasena-temporal {
    font-family: ui-monospace, monospace;
    letter-spacing: 0.05em;
}

/* Las acciones de cada integrante alineadas a la izquierda y en una línea si caben; si no, baja el botón entero (nunca
   se parte una palabra ni queda centrado). */
.acciones[b-htclshxxch] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0 4px;
}

/* El correo va debajo del nombre, más discreto: una columna menos y la tabla cabe sin desplazarse. */
.correo[b-htclshxxch] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
    overflow-wrap: anywhere;
}

.solo-lector[b-htclshxxch] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.acciones[b-htclshxxch]  .mud-button-root {
    white-space: nowrap;
}

.sin-partir[b-htclshxxch] {
    white-space: nowrap;
}
/* /Components/Pages/Plataforma/EquipoPlataforma.razor.rz.scp.css */
[b-jiohz0nnym] .contrasena-temporal {
    font-family: ui-monospace, monospace;
    letter-spacing: 0.05em;
}
/* /Components/Pages/Plataforma/EvaluacionesDeCoordinadores.razor.rz.scp.css */
/* Evaluaciones de cada coordinador: un grupo de casillas por persona. Solo variables del tema. */
.coordinador[b-zxr1y5eu1r] {
    margin: 0 0 16px;
    padding: 12px 16px 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.coordinador legend[b-zxr1y5eu1r] {
    padding: 0 6px;
    font-weight: 600;
}

.evaluaciones[b-zxr1y5eu1r] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-bottom: 12px;
}

.evaluacion[b-zxr1y5eu1r] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
/* /Components/Pages/Plataforma/FichaInstitucion.razor.rz.scp.css */
.tabla-desplazable[b-2l9dekjbb0] {
    overflow-x: auto;
}

[b-2l9dekjbb0] .contrasena-temporal {
    font-family: ui-monospace, monospace;
    letter-spacing: 0.05em;
}

/* La fila de este momento (D24), arriba de los días calculados: se distingue de la historia. */
.fila-actual td[b-2l9dekjbb0] {
    font-weight: 600;
    background: var(--eduvi-primario-suave);
}
/* /Components/Pages/Plataforma/FichaRed.razor.rz.scp.css */
.fecha[b-ru0vekvqea] {
    white-space: nowrap;
}

.accion[b-ru0vekvqea] {
    text-align: right;
    white-space: nowrap;
}

[b-ru0vekvqea] .contrasena-temporal {
    font-family: ui-monospace, monospace;
    letter-spacing: 0.05em;
}
/* /Components/Pages/Plataforma/NuevaInstitucion.razor.rz.scp.css */
[b-9is5116asj] .contrasena-temporal {
    font-family: ui-monospace, monospace;
    letter-spacing: 0.05em;
}
/* /Components/Pages/Plataforma/PrivacidadPlataforma.razor.rz.scp.css */
.versiones[b-fhi2e89ai2] {
    margin: 0 0 12px;
    padding-left: 20px;
}
/* /Components/Pages/Plataforma/RedesColegios.razor.rz.scp.css */
.fecha[b-yx9uwnje31] {
    white-space: nowrap;
}
/* /Components/Pages/Plataforma/ReportesPlataforma.razor.rz.scp.css */
.cifras-plataforma[b-mceo4gjsux] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px 16px;
}

.tabla-desplazable[b-mceo4gjsux] {
    overflow-x: auto;
}
/* /Components/Pages/Plataforma/VersionEvaluacionSere.razor.rz.scp.css */
/* Preguntas de una versión: el código no se parte, los ejemplos y la clasificación van en letra secundaria. */
.codigo[b-fypf7tbk6r] {
    white-space: nowrap;
    font-family: ui-monospace, monospace;
    font-size: 0.8125rem;
}

.ejemplos[b-fypf7tbk6r] {
    margin: 4px 0 0;
    padding-left: 18px;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

.clasificacion[b-fypf7tbk6r] {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/PrimerosPasos.razor.rz.scp.css */
/* Título con su avance y "Ocultar" a la derecha, una barra de progreso y la lista de pasos. */
.cabecera[b-qg08gbieu0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.cabecera[b-qg08gbieu0]  .secundario {
    color: var(--mud-palette-text-secondary);
}

.barra[b-qg08gbieu0] {
    height: 6px;
    margin: 12px 0 16px;
    border-radius: 999px;
    background: var(--mud-palette-lines-default);
    overflow: hidden;
}

.barra span[b-qg08gbieu0] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--mud-palette-success);
}

.pasos[b-qg08gbieu0] {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pasos li[b-qg08gbieu0] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pasos a[b-qg08gbieu0] {
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.hecho[b-qg08gbieu0] {
    color: var(--mud-palette-text-secondary);
    text-decoration: line-through;
}

/* "(hecho)" solo para el lector de pantalla: el tachado y el ícono lo dicen a la vista. */
.solo-lector[b-qg08gbieu0] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Privacidad/AceptarPrivacidad.razor.rz.scp.css */
.documentos[b-qckeqoxl6g] {
    margin: 0;
    padding-left: 20px;
}

.casilla[b-qckeqoxl6g] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.casilla input[b-qckeqoxl6g] {
    margin-top: 4px;
    width: 18px;
    height: 18px;
    flex: none;
}
/* /Components/Pages/Privacidad/DocumentosPrivacidad.razor.rz.scp.css */
.documentos[b-lutyrvp2w9] {
    margin: 0;
    padding-left: 20px;
}
/* /Components/Pages/Privacidad/MiEvaluacionSocioemocional.razor.rz.scp.css */
/* La evaluación socioemocional del estudiante adulto en "Privacidad". Solo variables del tema. */
.casilla[b-hibikoamf9] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.casilla input[b-hibikoamf9] {
    margin-top: 4px;
    width: 18px;
    height: 18px;
    flex: none;
}
/* /Components/Pages/Privacidad/SolicitudesTitular.razor.rz.scp.css */
/* Campos HTML normales (formularios SSR) con el aspecto del tema de MudBlazor, como en Ingresar. */
.campo[b-h7a8pcu7zq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.campo[b-h7a8pcu7zq]  input,
.campo[b-h7a8pcu7zq]  select,
.campo[b-h7a8pcu7zq]  textarea,
.campo textarea[b-h7a8pcu7zq],
.campo select[b-h7a8pcu7zq] {
    padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.campo[b-h7a8pcu7zq]  input:focus,
.campo[b-h7a8pcu7zq]  select:focus,
.campo textarea:focus[b-h7a8pcu7zq],
.campo select:focus[b-h7a8pcu7zq] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

[b-h7a8pcu7zq] .validation-errors {
    color: var(--mud-palette-error);
    padding-left: 1.2em;
}

.texto[b-h7a8pcu7zq] {
    white-space: pre-wrap; /* respeta los saltos de línea del detalle y la respuesta */
    margin: 4px 0 8px;
}

.solicitud[b-h7a8pcu7zq] {
    border-bottom: 1px solid var(--mud-palette-lines-default);
    padding-bottom: 12px;
}
/* /Components/Pages/Red/AplicacionesColegioRed.razor.rz.scp.css */
/* Crear una aplicación SERE+: los grupos del año como casillas. Solo variables del tema. */
.grupos[b-qtkli7ni77] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.grupos legend[b-qtkli7ni77] {
    padding: 0 6px;
    font-weight: 600;
}

.grupo[b-qtkli7ni77] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

/* El protocolo de la confrontación del miedo. */
.protocolo[b-qtkli7ni77] {
    margin: 0;
    padding: 12px 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.protocolo legend[b-qtkli7ni77] {
    padding: 0 6px;
    font-weight: 600;
}

.confirmacion[b-qtkli7ni77] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
}

.confirmacion input[b-qtkli7ni77] {
    margin-top: 4px;
}
/* /Components/Pages/Red/ColegioConsola.razor.rz.scp.css */
.accion[b-ytkm87gw74] {
    text-align: right;
    white-space: nowrap;
}

/* El enlace de importar va después del botón de cambiar el nombre: con aire entre los dos. */
.accion[b-ytkm87gw74]  a {
    margin-left: 16px;
}
/* /Components/Pages/Red/ConsolaRed.razor.rz.scp.css */
/* Inicio de la consola SERE+: indicadores en cuadrícula (una columna en el celular). */
.indicadores[b-weqz5xueld] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.permisos[b-weqz5xueld] {
    font-size: 0.875rem;
}
/* /Components/Pages/Red/GruposResultadosRedSere.razor.rz.scp.css */
/* Compacta, como las tablas del informe detallado: los números a la derecha y sin partirse. MudSimpleTable es otro
   componente: ::deep. */
.compacta[b-1mg7twwbsq]  th,
.compacta[b-1mg7twwbsq]  td {
    padding: 6px 8px !important;
    font-size: 0.8rem;
}

.compacta[b-1mg7twwbsq]  th {
    white-space: nowrap;
}

.compacta[b-1mg7twwbsq]  td.numero {
    white-space: nowrap;
    text-align: right;
}
/* /Components/Pages/Red/InformeTerritorialRed.razor.rz.scp.css */
/* La casilla «Por sexo» alineada con las listas del filtro. */
.casilla-sexo[b-axqbnfn5hy] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-bottom: 10px;
    cursor: pointer;
}
/* /Components/Pages/Red/NuevoColegioRed.razor.rz.scp.css */
[b-yhudo6y3el] .contrasena-temporal {
    font-family: ui-monospace, monospace;
    letter-spacing: 0.05em;
}
/* /Components/Pages/Red/ResultadosRed.razor.rz.scp.css */
/* Los indicadores del total de la red: tantos por fila como quepan (en el celular, uno). */
.indicadores[b-r78gbb79nr] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
}

/* La tabla del comparativo, compacta como las de los informes: los números a la derecha y sin partirse; el total resalta.
   MudSimpleTable es otro componente: ::deep. */
.compacta[b-r78gbb79nr]  th,
.compacta[b-r78gbb79nr]  td {
    padding: 6px 8px !important;
    font-size: 0.8rem;
}

.compacta[b-r78gbb79nr]  th {
    white-space: nowrap;
}

.compacta[b-r78gbb79nr]  td.numero {
    white-space: nowrap;
    text-align: right;
}

.compacta[b-r78gbb79nr]  tr.total td {
    font-weight: 600;
    border-top: 2px solid var(--mud-palette-lines-default);
}
/* /Components/Pages/Revision/AgregarPreguntaRevisionAcademica.razor.rz.scp.css */
/* Proponer una pregunta para un grado en la revisión académica. Solo variables del tema. */
.modo[b-ul00oq6ypi] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin: 0;
    padding: 0;
    border: 0;
}

.modo legend[b-ul00oq6ypi] {
    width: 100%;
    margin-bottom: 4px;
    padding: 0;
    font-weight: 600;
}

.modo label[b-ul00oq6ypi] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.codigo[b-ul00oq6ypi] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-secondary);
}

/* Encabezado de la columna de los botones: visible solo para el lector de pantalla. */
.solo-lector[b-ul00oq6ypi] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Revision/EditorTextoPregunta.razor.rz.scp.css */
/* El texto de una pregunta mientras se propone. Solo variables del tema. */
.ejemplo[b-edj0okslr5] {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}
/* /Components/Pages/Revision/EscalasRevisionAcademica.razor.rz.scp.css */
/* Escalas de respuesta en la revisión académica: las opciones en fila, como las ve quien responde. Solo variables del tema. */
.escala[b-0fg2jrqpnv] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
}

.opcion[b-0fg2jrqpnv] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: 999px;
    font-size: 0.9375rem;
}

.circulo[b-0fg2jrqpnv] {
    width: 28px;
    height: 28px;
}
/* /Components/Pages/Revision/EvaluacionRevisionAcademica.razor.rz.scp.css */
/* La evaluación de un grado en la revisión académica. Solo variables del tema. */
.problemas[b-52wn41gvek] {
    margin: 4px 0 0;
    padding-left: 20px;
}

.codigo[b-52wn41gvek] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-secondary);
}

.marca[b-52wn41gvek] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

/* Encabezado de la columna de las casillas: visible solo para el lector de pantalla. */
.solo-lector[b-52wn41gvek] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Revision/InicioRevisionAcademica.razor.rz.scp.css */
/* Inicio de la revisión académica: indicadores en cuadrícula (una columna en el celular). */
.indicadores[b-t22efubohn] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}
/* /Components/Pages/Revision/OrdenarPreguntasRevisionAcademica.razor.rz.scp.css */
/* Ordenar las preguntas de un grado. Solo variables del tema. Una fila movida se resalta, y su lugar anterior se lee en la
   columna "Antes" (el color nunca va solo). */
.codigo[b-ovnssi2zrh] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-secondary);
}

.marca[b-ovnssi2zrh] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

.movida[b-ovnssi2zrh] {
    background: var(--mud-palette-action-default-hover);
    box-shadow: inset 4px 0 0 var(--mud-palette-primary);
}

.movida td:first-child[b-ovnssi2zrh] {
    font-weight: 700;
}

.acciones[b-ovnssi2zrh] {
    white-space: nowrap;
}

.solo-lector[b-ovnssi2zrh] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Revision/PreguntaRevisionAcademica.razor.rz.scp.css */
/* Una pregunta en la revisión académica. Solo variables del tema. */
.anotaciones[b-0l8gtnz86g] {
    display: grid;
    gap: 12px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

.anotaciones li[b-0l8gtnz86g] {
    padding-left: 12px;
    border-left: 3px solid var(--mud-palette-lines-default);
}

.autor[b-0l8gtnz86g] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
}
/* /Components/Pages/Revision/PropuestaRevisionAcademica.razor.rz.scp.css */
/* Una propuesta de cambio: lo que había y lo que propone, lado a lado (uno debajo del otro en el celular). Solo variables del tema. */
.comparacion[b-0tuvjzsp52] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.comparacion section[b-0tuvjzsp52] {
    padding: 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.enunciado[b-0tuvjzsp52] {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.0625rem;
    line-height: 1.5;
}

.pictograma[b-0tuvjzsp52] {
    width: 40px;
    height: 40px;
    object-fit: contain; /* las imágenes subidas no siempre son cuadradas */
    flex: none;
}

.alt[b-0tuvjzsp52] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.8125rem;
}

.ejemplos[b-0tuvjzsp52] {
    display: grid;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.ejemplos li[b-0tuvjzsp52] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.etiquetas-escala[b-0tuvjzsp52] {
    margin: 0;
    padding-left: 20px;
}

/* Ordenar: las preguntas que cambian de lugar. */
.codigo[b-0tuvjzsp52] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* Agregar o retirar: lo que es la pregunta en el grado, antes del texto. */
.datos-en-grado[b-0tuvjzsp52] {
    margin: 0 0 8px;
    padding-left: 20px;
}
/* /Components/Pages/Revision/PropuestasRevisionAcademica.razor.rz.scp.css */
/* Bandeja de propuestas de cambio. Solo variables del tema. */
.lote[b-3lqxmk9b13] {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

/* Encabezado de la columna de las casillas: visible solo para el lector de pantalla. */
.solo-lector[b-3lqxmk9b13] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Pages/Revision/RevisoresRevisionAcademica.razor.rz.scp.css */
/* Reparto de evaluaciones entre los revisores: una tabla de revisores por evaluaciones, con desplazamiento horizontal si
   no cabe y la columna del nombre fija. Solo variables del tema. */
.tabla-ancha[b-tg9e1wxeve] {
    overflow-x: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.reparto[b-tg9e1wxeve] {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.reparto th[b-tg9e1wxeve],
.reparto td[b-tg9e1wxeve] {
    padding: 8px 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    text-align: left;
    white-space: nowrap;
}

.reparto tbody tr:last-child th[b-tg9e1wxeve],
.reparto tbody tr:last-child td[b-tg9e1wxeve] {
    border-bottom: none;
}

.reparto thead th[b-tg9e1wxeve] {
    font-weight: 600;
    background: var(--mud-palette-background-gray);
}

/* La columna del nombre no se va al desplazar: fondo opaco para tapar lo que pasa por debajo. */
.reparto .revisor[b-tg9e1wxeve] {
    position: sticky;
    left: 0;
    z-index: 1;
    font-weight: 500;
    background: var(--mud-palette-background);
    border-right: 1px solid var(--mud-palette-lines-default);
}

.reparto thead .revisor[b-tg9e1wxeve] {
    z-index: 2;
    font-weight: 600;
    background: var(--mud-palette-background-gray);
}

.asignacion[b-tg9e1wxeve] {
    padding: 4px 8px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: 6px;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
    font: inherit;
}

.asignacion:focus-visible[b-tg9e1wxeve] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

/* Un cambio sin guardar: borde y marca, no solo color. */
.cambiada .asignacion[b-tg9e1wxeve] {
    border: 2px solid var(--mud-palette-warning);
    font-weight: 600;
}

.cambiada[b-tg9e1wxeve]::after {
    content: " •";
    color: var(--mud-palette-warning);
    font-weight: 700;
}

.acciones[b-tg9e1wxeve] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 44px;
    margin-top: 16px;
}

.estado[b-tg9e1wxeve] {
    color: var(--mud-palette-success);
    font-size: 0.875rem;
}

.estado.error[b-tg9e1wxeve] {
    color: var(--mud-palette-error);
}
/* /Components/Pages/Revision/SelectorPictograma.razor.rz.scp.css */
/* Selector de imágenes del banco SERE+: la elegida y, al abrirlo, los pictogramas o las imágenes subidas en cuadrícula. Solo variables del tema. */
.selector-pictograma[b-wjb6hbup6d] {
    display: grid;
    gap: 8px;
}

.actual[b-wjb6hbup6d] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.imagen-actual[b-wjb6hbup6d] {
    width: 48px;
    height: 48px;
    object-fit: contain; /* las imágenes subidas no siempre son cuadradas */
}

.sin-imagen[b-wjb6hbup6d] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

.catalogo[b-wjb6hbup6d] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(52px, 1fr));
    gap: 6px;
    max-height: 240px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.opcion[b-wjb6hbup6d] {
    padding: 4px;
    border: 2px solid transparent;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
}

.opcion:hover[b-wjb6hbup6d],
.opcion:focus-visible[b-wjb6hbup6d] {
    border-color: var(--mud-palette-primary);
}

.opcion.elegida[b-wjb6hbup6d] {
    border-color: var(--mud-palette-primary);
    background: var(--mud-palette-action-default-hover);
}

.opcion img[b-wjb6hbup6d] {
    display: block;
    width: 40px;
    height: 40px;
}

.pestanas[b-wjb6hbup6d],
.paginas[b-wjb6hbup6d] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.subir[b-wjb6hbup6d] {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.opcion img[b-wjb6hbup6d] {
    object-fit: contain;
}
/* /Components/Pages/Soporte/Ayuda.razor.rz.scp.css */
.tabla-desplazable[b-nvi3pjtdc3] {
    overflow-x: auto;
}

.fecha[b-nvi3pjtdc3] {
    white-space: nowrap;
}

/* Tutoriales: una lista por categoría, con el resumen al lado del título. */
.tutoriales[b-nvi3pjtdc3] {
    margin: 4px 0 12px;
    padding-left: 20px;
}

.tutoriales li[b-nvi3pjtdc3] {
    margin-bottom: 4px;
    overflow-wrap: anywhere;
}
/* /Components/Pages/Soporte/BandejaTickets.razor.rz.scp.css */
.tabla-desplazable[b-fshurl1cx7] {
    overflow-x: auto;
}

.fecha[b-fshurl1cx7] {
    white-space: nowrap;
}
/* /Components/Pages/Soporte/ConversacionTicket.razor.rz.scp.css */
.mensaje[b-zmuwpu666t] {
    border-left: 3px solid var(--mud-palette-lines-default);
    padding: 4px 0 4px 12px;
}

.mensaje.propio[b-zmuwpu666t] {
    border-left-color: var(--mud-palette-primary);
}

.texto[b-zmuwpu666t] {
    white-space: pre-wrap; /* respeta los saltos de línea del mensaje */
    overflow-wrap: anywhere;
    margin: 4px 0 0;
}

.fecha[b-zmuwpu666t] {
    white-space: nowrap;
}
/* /Components/Pages/Soporte/CuerpoAyuda.razor.rz.scp.css */
/* El cuerpo del artículo: títulos, párrafos, listas e imágenes del formato mínimo (FormatoAyuda). */
.cuerpo-articulo[b-ji39jjzr8j]  h2 {
    font-size: 1.25rem;
    margin: 16px 0 8px;
}

.cuerpo-articulo[b-ji39jjzr8j]  h3 {
    font-size: 1.05rem;
    margin: 12px 0 6px;
}

.cuerpo-articulo[b-ji39jjzr8j]  p {
    margin: 0 0 12px;
}

.cuerpo-articulo[b-ji39jjzr8j]  ul,
.cuerpo-articulo[b-ji39jjzr8j]  ol {
    margin: 0 0 12px;
    padding-left: 24px;
}

.cuerpo-articulo[b-ji39jjzr8j]  figure {
    margin: 4px 0 16px;
}

.cuerpo-articulo[b-ji39jjzr8j]  img {
    display: block;
    max-width: 100%;
    height: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--eduvi-radio-control);
}

.cuerpo-articulo[b-ji39jjzr8j] {
    max-width: 78ch;
    overflow-wrap: anywhere;
}
/* /Components/Pages/Soporte/ManualAyuda.razor.rz.scp.css */
/* El índice del manual: los artículos de una categoría, cada uno con su resumen debajo. */
.articulos-manual[b-d9qsiv8ggm] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.articulos-manual li[b-d9qsiv8ggm] {
    padding: 8px 0;
    border-top: 1px solid var(--mud-palette-lines-default);
    overflow-wrap: anywhere;
}

.articulos-manual li:first-child[b-d9qsiv8ggm] {
    border-top: 0;
    padding-top: 0;
}

.articulos-manual p[b-d9qsiv8ggm] {
    margin: 2px 0 0;
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}
