/* /Components/Calendario/ControlDeFecha.razor.rz.scp.css */
/* Tres pasos pegados en un solo control. */
.control-de-fecha[b-9o6syzrm8q] {
  display: inline-flex; flex: none;
  border: 1px solid var(--linea); border-radius: var(--radio-control);
  background: var(--tarjeta);
}
.paso-de-fecha[b-9o6syzrm8q] {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.5rem; padding: var(--campo-y) var(--campo-x);
  color: var(--tinta); font-weight: 500; line-height: var(--interlinea-control);
  text-decoration: none;
  transition: background var(--transicion);
}
.paso-de-fecha + .paso-de-fecha[b-9o6syzrm8q] { border-left: 1px solid var(--linea); }
.paso-de-fecha:first-child[b-9o6syzrm8q] { border-radius: var(--radio-control) 0 0 var(--radio-control); }
.paso-de-fecha:last-child[b-9o6syzrm8q] { border-radius: 0 var(--radio-control) var(--radio-control) 0; }
.paso-de-fecha:hover[b-9o6syzrm8q] { background: var(--fondo); text-decoration: none; }
/* Por dentro: pegados, el contorno de uno taparía la línea del vecino. */
.paso-de-fecha:focus-visible[b-9o6syzrm8q] { outline-offset: -2px; }
.paso-de-fecha[b-9o6syzrm8q]  svg { width: var(--icono); height: var(--icono); }
/* /Components/Calendario/DetalleDelEvento.razor.rz.scp.css */
.invitados-del-evento[b-u2qrz43osn] { display: flex; flex-direction: column; gap: 0.25rem; margin: 0; padding: 0; list-style: none; }
/* /Components/Calendario/FormularioDeEvento.razor.rz.scp.css */
/* Con muchos invitados, el botón dice los primeros y corta: la lista completa
   está en el panel. */
.campo[b-e42i612lsh]  .lista-desplegable > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* /Components/Calendario/MesesDelAnio.razor.rz.scp.css */
/* Doce meses en cuatro columnas; en el teléfono, tres. Cada mes lleva a su
   vista. Sin iniciales de los días, como el año en los calendarios del
   teléfono: la columna ya lo dice. Si la ventana no alcanza para los tres renglones, corren por dentro,
   como las listas. */
.meses-del-anio[b-1gduuljs25] {
  flex: 1; min-height: 0; overflow-y: auto;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem 2rem;
  align-content: start;
}
.mes-del-anio[b-1gduuljs25] {
  display: flex; flex-direction: column; gap: 0.375rem;
  padding: 0.5rem;
  border-radius: var(--radio-tarjeta);
  color: var(--tinta); text-decoration: none;
  transition: background var(--transicion);
}
.mes-del-anio:hover[b-1gduuljs25] { background: var(--fondo); text-decoration: none; }
.nombre-del-mes[b-1gduuljs25] { font-weight: 600; }
.mes-de-hoy .nombre-del-mes[b-1gduuljs25] { color: var(--acento); }

.dias-del-mes[b-1gduuljs25] {
  display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); row-gap: 0;
  font-size: var(--texto-menor); text-align: center;
}
.dia-chico[b-1gduuljs25] {
  position: relative;
  justify-self: center;
  display: inline-grid; place-items: center;
  width: 1.375rem; height: 1.375rem;
  border-radius: 50%;
}
.dia-chico.hoy[b-1gduuljs25] { background: var(--acento); color: #fff; font-weight: 600; }
.con-evento[b-1gduuljs25]::after {
  content: "";
  position: absolute; bottom: -1px; left: 50%;
  width: 4px; height: 4px; margin-left: -2px;
  border-radius: 50%;
  background: var(--acento);
}

@media (max-width: 1100px) {
  .meses-del-anio[b-1gduuljs25] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
}
@media (max-width: 720px) {
  .meses-del-anio[b-1gduuljs25] { gap: 0.75rem 0.5rem; }
  .mes-del-anio[b-1gduuljs25] { padding: 0.25rem; }
  .dia-chico[b-1gduuljs25] { width: 1.125rem; height: 1.125rem; font-size: 10px; }
}
/* /Components/Calendario/VistaDelCalendario.razor.rz.scp.css */
/* El mes llena lo que deja el encabezado y las semanas se reparten ese alto:
   caben cinco o seis sin cortarse. En una ventana baja o angosta la página
   corre entera, como las listas, y cada semana mide su alto mínimo. */
/* Lo que crece en el zoom no desborda la página. */
.vista-del-calendario[b-vyls537891] { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: clip; }
.anio-del-calendario[b-vyls537891], .mes-del-calendario[b-vyls537891], .dia-del-calendario[b-vyls537891] { flex: 1; min-height: 0; display: flex; flex-direction: column; }

/* A la izquierda, de dónde se viene y dónde se está; a la derecha, «‹ Hoy ›»
   en el mismo lugar en las dos vistas. */
.cabeza-del-calendario[b-vyls537891] {
  flex: none;
  display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.5rem 1rem;
  margin-bottom: 1rem;
}
.titulo-con-regreso[b-vyls537891] { display: flex; flex-direction: column; align-items: flex-start; gap: 0.25rem; min-width: 0; }
.titulo-calendario[b-vyls537891] { margin: 0; font-size: var(--texto-titulo); }
.regreso[b-vyls537891] {
  display: inline-flex; align-items: center; gap: 0.25rem;
  margin-left: -0.25rem;
  color: var(--acento); font-weight: 500;
}
.regreso:hover[b-vyls537891] { color: var(--acento-fuerte); text-decoration: none; }
.regreso[b-vyls537891]  svg { width: var(--icono); height: var(--icono); }

.cuadricula-mes[b-vyls537891], .semana-del-dia[b-vyls537891], .eventos-del-dia[b-vyls537891] {
  background: var(--tarjeta);
  border: 1px solid var(--linea); border-radius: var(--radio-tarjeta);
}
.cuadricula-mes[b-vyls537891] {
  flex: 1;
  display: grid; grid-template-rows: auto; grid-auto-rows: minmax(4.5rem, 1fr);
  overflow: hidden;
}
.fila-semana[b-vyls537891] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.fila-semana + .fila-semana[b-vyls537891] { border-top: 1px solid var(--linea); }
.encabezado-semana span[b-vyls537891] { padding: 0.5rem; font-size: var(--texto-menor); font-weight: 600; color: var(--gris); }

.dia[b-vyls537891] { display: flex; min-width: 0; }
.dia + .dia[b-vyls537891] { border-left: 1px solid var(--linea); }
.fuera-del-mes[b-vyls537891] { background: var(--fondo); }

.enlace-del-dia[b-vyls537891] {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; align-items: flex-start; gap: 0.25rem;
  padding: 0.5rem;
  color: inherit; text-decoration: none;
  transition: background var(--transicion);
}
.enlace-del-dia:hover[b-vyls537891] { background: var(--fondo); text-decoration: none; }
.fuera-del-mes .enlace-del-dia:hover[b-vyls537891] { background: var(--linea); }

.numero-dia[b-vyls537891] {
  display: inline-grid; place-items: center;
  width: 1.75rem; height: 1.75rem;
  border-radius: 50%;
  color: var(--tinta);
}
.fuera-del-mes .numero-dia[b-vyls537891] { color: var(--gris-claro); }
.hoy .numero-dia[b-vyls537891] { background: var(--acento); color: #fff; font-weight: 600; }

/* El texto completo está en la vista del día: en la celda se corta antes que
   salirse. */
.inicio-bloque[b-vyls537891], .festivo-del-dia[b-vyls537891], .evento-del-mes[b-vyls537891] {
  max-width: 100%;
  padding: 1px 6px; border: 1px solid transparent;
  line-height: var(--interlinea-control);
  border-radius: 999px;
  background: var(--acento-tinte); color: var(--acento);
  font-size: var(--texto-menor); font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* El festivo se lee como día de descanso. */
.festivo-del-dia[b-vyls537891] { background: var(--fondo); color: var(--atencion); }

/* Cada tipo con su color (componentes.css), en la celda y en la semana. Lo
   pendiente todavía no es un hecho: se ve con orilla punteada y sin relleno. */
.evento-del-mes[b-vyls537891] { font-weight: 500; }
.evento-del-mes[b-vyls537891] { background: var(--tinte-del-evento); color: var(--color-del-evento); }
.evento-del-mes.evento-pendiente[b-vyls537891] { background: var(--tarjeta); border: 1px dashed var(--color-del-evento); }
/* Lo que agendó Enseñanza va relleno, como las barras de todo el día de un
   calendario: se distingue de lo de cada residente. */
.evento-del-mes.evento-agendado[b-vyls537891] { background: var(--color-del-evento); color: #fff; }
.mas-eventos[b-vyls537891] { display: none; padding-inline: 6px; font-size: var(--texto-menor); line-height: var(--interlinea-control); color: var(--gris); }

/* La celda muestra los renglones que le caben a su alto, sin salirse a la
   semana de abajo. Si no caben todos, el último lugar dice cuántos faltan: la
   página trae un «+N más» por cada alto posible y se ve el que toca. Cada
   renglón mide 18px y 2px de separación; el número y el bloque, 24px. */
.cuadricula-mes .dia[b-vyls537891] { container: celda / size; }
.cuadricula-mes .enlace-del-dia[b-vyls537891] { gap: 2px; padding: 4px 6px; overflow: hidden; }
.cabeza-de-la-celda[b-vyls537891] { display: flex; align-items: center; gap: 0.25rem; min-width: 0; max-width: 100%; }
.cabeza-de-la-celda .numero-dia[b-vyls537891] { flex: none; width: 1.5rem; height: 1.5rem; }
.renglones-de-la-celda[b-vyls537891] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; max-width: 100%; }
@container celda (height < 76px) {
  .enlace-del-dia:has(> [data-caben="1"]) .renglones-de-la-celda > *[b-vyls537891] { display: none; }
  .mas-eventos[data-caben="1"][b-vyls537891] { display: block; }
}
@container celda (76px <= height < 97px) {
  .enlace-del-dia:has(> [data-caben="2"]) .renglones-de-la-celda > :nth-child(n+2)[b-vyls537891] { display: none; }
  .mas-eventos[data-caben="2"][b-vyls537891] { display: block; }
}
@container celda (97px <= height < 118px) {
  .enlace-del-dia:has(> [data-caben="3"]) .renglones-de-la-celda > :nth-child(n+3)[b-vyls537891] { display: none; }
  .mas-eventos[data-caben="3"][b-vyls537891] { display: block; }
}
@container celda (118px <= height < 139px) {
  .enlace-del-dia:has(> [data-caben="4"]) .renglones-de-la-celda > :nth-child(n+4)[b-vyls537891] { display: none; }
  .mas-eventos[data-caben="4"][b-vyls537891] { display: block; }
}
@container celda (139px <= height < 160px) {
  .enlace-del-dia:has(> [data-caben="5"]) .renglones-de-la-celda > :nth-child(n+5)[b-vyls537891] { display: none; }
  .mas-eventos[data-caben="5"][b-vyls537891] { display: block; }
}
@container celda (height >= 160px) {
  .enlace-del-dia:has(> [data-caben="6"]) .renglones-de-la-celda > :nth-child(n+6)[b-vyls537891] { display: none; }
  .mas-eventos[data-caben="6"][b-vyls537891] { display: block; }
}

/* Un evento que no cabe escrito se vuelve un punto, como en los calendarios
   del teléfono, y el lector sigue leyendo el texto. */
.semana-del-dia .inicio-bloque[b-vyls537891] { width: 8px; height: 8px; padding: 0; background: var(--acento); }
.semana-del-dia .evento-del-mes[b-vyls537891] { width: 8px; height: 8px; padding: 0; background: var(--color-del-evento); }
.semana-del-dia .festivo-del-dia[b-vyls537891] { width: 8px; height: 8px; padding: 0; background: var(--atencion); }
.semana-del-dia .rotulo-del-evento[b-vyls537891] {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
}

/* La semana del día elegido: el nombre arriba, el número y el punto abajo. */
.semana-del-dia[b-vyls537891] { flex: none; overflow: hidden; margin-bottom: 1rem; }
.semana-del-dia .enlace-del-dia[b-vyls537891] { align-items: center; min-height: 5rem; }
/* Los puntos se acomodan en fila, como en el mes del teléfono: la semana no
   crece hacia abajo con cada evento. */
.puntos-del-dia[b-vyls537891] { display: flex; flex-wrap: wrap; justify-content: center; gap: 3px; max-width: 100%; }
.nombre-dia[b-vyls537891] { font-size: var(--texto-menor); font-weight: 600; color: var(--gris); }
.elegido .numero-dia[b-vyls537891] { background: var(--tinta); color: #fff; font-weight: 600; }
.semana-del-dia .hoy:not(.elegido) .numero-dia[b-vyls537891] { background: transparent; color: var(--acento); }

/* La semana se queda arriba y la lista corre dentro de su tarjeta: la vista mide
   lo que deja la ventana y lo que no cabe no se corta. */
.eventos-del-dia[b-vyls537891] { flex: 1; min-height: 0; overflow-y: auto; padding: 1rem 1.25rem; }
.eventos-del-dia .nota:last-child[b-vyls537891] { margin-bottom: 0; }
.evento-del-dia[b-vyls537891] { --color-del-evento: var(--acento); }
.abrir-evento[b-vyls537891] {
  display: block; width: 100%; padding: 0;
  border: 0; border-radius: var(--radio-control); background: none;
  font: inherit; color: inherit; text-align: left; cursor: pointer;
}
.abrir-evento:hover[b-vyls537891] { background: var(--fondo); }
.cabeza-de-eventos[b-vyls537891] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1rem; margin-bottom: 0.75rem; }
.cabeza-de-eventos .nota[b-vyls537891] { margin: 0; }

/* Al bajar de nivel la vista sale de la celda que se tocó; al subir, regresa
   a ella. Un día se ubica por semana y columna del mes; un mes, por su lugar
   en la cuadrícula del año. */
[data-columna][b-vyls537891] {
  --semana: attr(data-semana type(<number>), 2);
  --columna: attr(data-columna type(<number>), 3);
  --semanas: attr(data-semanas type(<number>), 5);
  transform-origin: calc((var(--columna) + 0.5) / 7 * 100%) calc((var(--semana) + 1) / (var(--semanas) + 1) * 100%);
}
[data-mes][b-vyls537891] {
  --mes: attr(data-mes type(<number>), 5);
  --columnas: 4;
  transform-origin: calc((mod(var(--mes), var(--columnas)) + 0.5) / var(--columnas) * 100%)
                    calc((round(down, var(--mes) / var(--columnas)) + 0.5) / round(up, 12 / var(--columnas)) * 100%);
}
.se-acerca[b-vyls537891] { animation: acercar-b-vyls537891 0.28s cubic-bezier(0.2, 0.8, 0.2, 1); }
.se-aleja[b-vyls537891] { animation: alejar-b-vyls537891 0.28s cubic-bezier(0.2, 0.8, 0.2, 1); }
@keyframes acercar-b-vyls537891 { from { transform: scale(0.15); opacity: 0; } }
@keyframes alejar-b-vyls537891 { from { transform: scale(2.5); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .se-acerca[b-vyls537891], .se-aleja[b-vyls537891] { animation: none; }
}

@media (max-width: 1100px) {
  [data-mes][b-vyls537891] { --columnas: 3; }
}

/* Cuando la página corre entera la semana no tiene alto que repartir: se le da
   el de cuatro renglones. */
@media (max-width: 900px), (max-height: 800px) {
  .cuadricula-mes[b-vyls537891] { grid-auto-rows: minmax(7.5rem, auto); }
}

/* En el teléfono cada evento es un punto y los puntos se acomodan en fila: la
   celda crece con ellos y ya no se mide. */
@media (max-width: 720px) {
  .cuadricula-mes[b-vyls537891] { grid-auto-rows: minmax(3.5rem, auto); }
  .cuadricula-mes .dia[b-vyls537891] { container-type: normal; }
  .cuadricula-mes .enlace-del-dia[b-vyls537891] { padding: 0.375rem 0.25rem; }
  .cabeza-de-la-celda[b-vyls537891] { flex-direction: column; }
  .renglones-de-la-celda[b-vyls537891] { flex-direction: row; flex-wrap: wrap; justify-content: center; }
  .encabezado-semana span[b-vyls537891] { padding: 0.5rem 0.25rem; text-align: center; }
  .enlace-del-dia[b-vyls537891] { align-items: center; }
  .cuadricula-mes .inicio-bloque[b-vyls537891] { width: 8px; height: 8px; padding: 0; background: var(--acento); }
  .cuadricula-mes .evento-del-mes[b-vyls537891] { width: 8px; height: 8px; padding: 0; background: var(--color-del-evento); }
  .cuadricula-mes .festivo-del-dia[b-vyls537891] { width: 8px; height: 8px; padding: 0; background: var(--atencion); }
  .cuadricula-mes .rotulo-del-evento[b-vyls537891] {
    position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip-path: inset(50%); white-space: nowrap;
  }
  .semana-del-dia .enlace-del-dia[b-vyls537891] { min-height: 4rem; }
}
/* /Components/Comunes/SeccionEnConstruccion.razor.rz.scp.css */
/* La ilustración dice de qué se trata antes de leer; el rótulo nombra el caso
   y el enlace saca de ahí. Ocupa el alto que le queda al armazón para no
   dejar el aviso pegado arriba. */
.seccion-ilustrada[b-egkjlsez88] {
  flex: 1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 0.75rem;
  max-width: 34rem; margin: 0 auto; padding-bottom: 2rem;
  text-align: center;
}
.seccion-ilustrada img[b-egkjlsez88] { width: min(20rem, 70%); height: auto; margin-bottom: 0.5rem; }

.seccion-ilustrada .rotulo[b-egkjlsez88] {
  margin: 0;
  font-size: var(--texto-menor); font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gris);
}
.seccion-ilustrada h2[b-egkjlsez88] {
  margin: 0;
  font-size: var(--texto-pantalla); font-weight: 700; letter-spacing: -0.02em;
}
.seccion-ilustrada .nota[b-egkjlsez88] { margin: 0; text-wrap: pretty; }
/* /Components/Configuracion/DiasFestivos.razor.rz.scp.css */
.fecha-del-festivo[b-g7utf30iwf] { white-space: nowrap; }
.accion-del-festivo[b-g7utf30iwf] { text-align: right; width: 1%; }
/* /Components/Configuracion/HorariosDeGuardia.razor.rz.scp.css */
.tabla-del-horario td[b-980qq2iaab] { white-space: nowrap; }
.tabla-del-horario input[type="time"][b-980qq2iaab] { width: 7.5rem; }
[b-980qq2iaab] .selector-de-opciones { margin: 1rem 0 0.75rem; }
.nota-del-horario[b-980qq2iaab] { margin: 0.75rem 0 0; }
/* /Components/Configuracion/PreguntasDeLaEvaluacion.razor.rz.scp.css */
.preguntas-en-edicion[b-t1o349n2q1] { display: flex; flex-direction: column; gap: 1rem; margin: 1rem 0; padding: 0; list-style: none; }
.pregunta-en-edicion[b-t1o349n2q1] {
  display: flex; flex-direction: column; gap: 0.75rem;
  padding: 1rem;
  border: 1px solid var(--linea); border-radius: var(--radio-tarjeta);
}
.cabeza-de-la-pregunta[b-t1o349n2q1] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.botones-de-la-pregunta[b-t1o349n2q1] { display: flex; gap: 0.375rem; }
.descriptores-en-edicion[b-t1o349n2q1] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }

@media (max-width: 720px) {
  .descriptores-en-edicion[b-t1o349n2q1] { grid-template-columns: minmax(0, 1fr); }
}

.empezar-el-formulario[b-t1o349n2q1] { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }


/* El error de guardar va bajo los botones, separado de ellos. */
.acciones-del-formulario + .aviso-error[b-t1o349n2q1] { margin-top: 1rem; }
/* /Components/Configuracion/ReglasDeSolicitudes.razor.rz.scp.css */
.regla-del-maximo[b-86ppjqf52x], .nueva-regla[b-86ppjqf52x] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1rem; }
.regla-del-maximo .campo[b-86ppjqf52x] { width: 8rem; }
.nueva-regla[b-86ppjqf52x] { margin-top: 1rem; }
.nueva-regla .campo[b-86ppjqf52x] { flex: 1 1 12rem; }
/* /Components/Configuracion/RolesYPermisos.razor.rz.scp.css */
.lista-de-insignias[b-hiplzg1ejn] { display: flex; flex-wrap: wrap; gap: 3.5px; }
.nombre-del-rol[b-hiplzg1ejn] { white-space: nowrap; }
/* /Components/Layout/AvisoDeReconexion.razor.rz.scp.css */
/* Las clases components-* las pone el propio Blazor según el estado de la conexión. */
.components-reconnect-first-attempt-visible[b-8jw0idstrs],
.components-reconnect-repeated-attempt-visible[b-8jw0idstrs],
.components-reconnect-failed-visible[b-8jw0idstrs],
.components-pause-visible[b-8jw0idstrs],
.components-resume-failed-visible[b-8jw0idstrs] { display: none; }

.components-reconnect-show .components-reconnect-first-attempt-visible[b-8jw0idstrs],
.components-reconnect-paused .components-pause-visible[b-8jw0idstrs],
.components-reconnect-resume-failed .components-resume-failed-visible[b-8jw0idstrs],
.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-8jw0idstrs],
.components-reconnect-failed .components-reconnect-failed-visible[b-8jw0idstrs] { display: block; }

.aviso-de-reconexion[b-8jw0idstrs] {
  width: min(22rem, calc(100vw - 2rem));
  margin: 20vh auto;
  padding: 1.5rem;
  border: 1px solid var(--linea); border-radius: var(--radio-tarjeta);
  background: var(--tarjeta); color: var(--tinta);
  box-shadow: var(--sombra-ventana);
  text-align: center;
}
.aviso-de-reconexion[open][b-8jw0idstrs] { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.aviso-de-reconexion[b-8jw0idstrs]::backdrop { background: rgb(2 24 56 / 0.45); }
.aviso-de-reconexion p[b-8jw0idstrs] { margin: 0; }
/* /Components/Pages/Calendario.razor.rz.scp.css */
/* Los filtros van en el renglón del título para no quitarle alto al mes. En el
   teléfono bajan bajo el título y se reparten el ancho. */
.filtros-del-calendario[b-u8g3mqo60f] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }

@media (max-width: 40rem) {
  [b-u8g3mqo60f] .encabezado-derecha:has(.filtros-del-calendario) { flex: 1 1 100%; }
  .filtros-del-calendario[b-u8g3mqo60f] { flex: 1; }
  .filtros-del-calendario[b-u8g3mqo60f]  > * { flex: 1 1 0; min-width: 0; }
  .filtros-del-calendario[b-u8g3mqo60f]  .lista-desplegable { width: 100%; }
}
/* /Components/Pages/CiclosAcademicos.razor.rz.scp.css */
.columna-enlace[b-14j72xjla5] { white-space: nowrap; }
tbody th[b-14j72xjla5] { font-weight: 400; }
/* /Components/Pages/Configuracion.razor.rz.scp.css */
.celda-de-meta[b-lummszm3d9] { display: flex; align-items: center; gap: 0.5rem; }

/* Cabe la leyenda «Sin meta», que es lo más largo que muestra el campo. */
.celda-de-meta input[b-lummszm3d9] { width: 6.75rem; }

.celda-de-meta input.angosto[b-lummszm3d9] { width: 5.5rem; }

.hasta-la-meta[b-lummszm3d9] { color: var(--gris-claro); }

.unidad[b-lummszm3d9] { color: var(--gris); }

.campo-con-unidad[b-lummszm3d9] { display: flex; align-items: center; gap: 0.375rem; }

.campo-con-unidad input[b-lummszm3d9] { width: 7rem; }

/* Se ofrece sin ruido: hasta que alguien lo usa, la celda es un solo campo. */
.sumar-maximo[b-lummszm3d9] {
  padding: 0; border: 0; background: transparent;
  color: var(--acento); font: inherit; white-space: nowrap; cursor: pointer;
}
.sumar-maximo:hover[b-lummszm3d9] { text-decoration: underline; }

.suma-de-pesos[b-lummszm3d9] {
  margin: 1rem 0 1.25rem; padding: 0.75rem 0.875rem;
  border: 1px solid var(--linea); border-radius: var(--radio-control);
  background: var(--fondo);
}
/* La suma en rojo es el aviso: mientras no reparta cien, guardar está apagado. */
.suma-de-pesos.suma-incompleta[b-lummszm3d9],
.suma-de-pesos.suma-incompleta b[b-lummszm3d9] { color: var(--peligro); }
.suma-de-pesos.suma-incompleta[b-lummszm3d9] { border-color: var(--peligro); }

/* Un peso fuera de uno a cien lo marca el propio campo. */
.bloque-de-pesos .celda-de-meta input:invalid[b-lummszm3d9] { border-color: var(--peligro); }

.cortes-del-semaforo[b-lummszm3d9] { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 1rem; }

.muestra-del-semaforo[b-lummszm3d9] {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem;
  margin: 0 0 1.25rem; padding: 0.75rem 0.875rem;
  border: 1px solid var(--linea); border-radius: var(--radio-control);
  background: var(--fondo);
}

.pie-de-configuracion[b-lummszm3d9] {
  display: flex; flex-wrap: wrap; align-items: center; gap: 1rem;
  margin-top: 1rem;
}

.lista-de-cambios[b-lummszm3d9] {
  margin: 0; padding: 0; list-style: none;
  border: 1px solid var(--linea); border-radius: var(--radio-control);
}
.lista-de-cambios li[b-lummszm3d9] {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.75rem;
  padding: 10.5px 14px;
}
.lista-de-cambios li + li[b-lummszm3d9] { border-top: 1px solid var(--linea); }

.explica[b-lummszm3d9] { color: var(--gris); }

.cambia[b-lummszm3d9] { color: var(--gris); }
.empieza[b-lummszm3d9] { color: var(--correcto); }
.deja[b-lummszm3d9] { color: var(--peligro); }
/* /Components/Pages/Evaluacion.razor.rz.scp.css */
.preguntas-de-evaluacion[b-qtv5xa54y8] { display: flex; flex-direction: column; gap: 1rem; margin: 0; padding: 0; list-style: none; }

/* La pregunta y su escala a la izquierda; lo que significan el 5 y el 10, al lado. */
.pregunta-de-evaluacion[b-qtv5xa54y8] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; }
.pregunta-de-evaluacion.sin-calificar[b-qtv5xa54y8] { border-color: var(--peligro); }
.pregunta-y-escala[b-qtv5xa54y8] { display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; }
.pregunta-y-escala h2[b-qtv5xa54y8], .pregunta-y-escala .nota[b-qtv5xa54y8], .pregunta-y-escala .aviso-error[b-qtv5xa54y8], .calificacion-registrada[b-qtv5xa54y8] { margin: 0; }

.calificacion-global[b-qtv5xa54y8] { display: flex; flex-direction: column; gap: 0.5rem; }
.calificacion-global h2[b-qtv5xa54y8], .calificacion-global .nota[b-qtv5xa54y8] { margin: 0; }

.descriptores[b-qtv5xa54y8] { display: flex; flex-direction: column; gap: 0.5rem; margin: 0; }
.descriptor[b-qtv5xa54y8] {
  display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-left: 3px solid var(--linea); border-radius: var(--radio-control);
  background: var(--fondo);
}
.descriptor dt[b-qtv5xa54y8] { color: var(--gris); }
.descriptor dd[b-qtv5xa54y8] { margin: 0; }

.cierre-de-evaluacion[b-qtv5xa54y8] { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; }
.cierre-de-evaluacion h2[b-qtv5xa54y8], .cierre-de-evaluacion .nota[b-qtv5xa54y8], .resultado-final[b-qtv5xa54y8] { margin: 0; }
.pie-de-evaluacion[b-qtv5xa54y8] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.pie-de-evaluacion .nota[b-qtv5xa54y8] { margin: 0; }
.acciones-de-evaluacion[b-qtv5xa54y8] { display: flex; flex-wrap: wrap; gap: 0.5rem; }

.resumen-de-evaluacion[b-qtv5xa54y8] { margin: 0 0 1rem; }
.renglon-del-resumen[b-qtv5xa54y8] {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: 0.375rem 0;
  border-bottom: 1px solid var(--linea);
}
.renglon-del-resumen dd[b-qtv5xa54y8] { margin: 0; }
.total-del-resumen[b-qtv5xa54y8] { border-bottom: 0; }

@media (max-width: 720px) {
  .pregunta-de-evaluacion[b-qtv5xa54y8] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/Guardias.razor.rz.scp.css */
.mes-del-rol[b-kljxreu4xd] { margin: 0; font-size: var(--texto-titulo); }

/* Un día es una columna angosta: el mes cabe en una pantalla ancha, y en una
   angosta la tabla corre de lado con los nombres fijos a la izquierda y los
   días fijos arriba, como una hoja de cálculo. */
.tabla-del-rol[b-kljxreu4xd] { width: 100%; border-collapse: separate; border-spacing: 0; }
.tabla-del-rol th[b-kljxreu4xd],
.tabla-del-rol td[b-kljxreu4xd] {
  min-width: 1.625rem; height: 2.25rem; padding: 0;
  border-right: 1px solid var(--linea); border-bottom: 1px solid var(--linea);
  text-align: center; vertical-align: middle;
  font-weight: 400;
}
.tabla-del-rol thead th[b-kljxreu4xd] {
  position: sticky; top: 0; z-index: 2;
  height: 3rem;
  background: var(--tarjeta);
}
.tabla-del-rol tfoot td[b-kljxreu4xd],
.tabla-del-rol tfoot th[b-kljxreu4xd] { color: var(--gris); border-bottom: 0; }
.letra-del-dia[b-kljxreu4xd] { display: block; font-size: var(--texto-menor); color: var(--gris); }
.numero-del-dia[b-kljxreu4xd] { display: block; font-weight: 600; }

.tabla-del-rol .columna-del-residente[b-kljxreu4xd] {
  position: sticky; left: 0; z-index: 1;
  width: 10.5rem; min-width: 10.5rem; max-width: 10.5rem; padding: 0 0.75rem;
  background: var(--tarjeta);
  text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tabla-del-rol thead .columna-del-residente[b-kljxreu4xd] { z-index: 3; }
.tabla-del-rol .columna-del-total[b-kljxreu4xd] { min-width: 3rem; font-weight: 600; }

/* El grado parte la lista y se queda a la vista mientras corren sus renglones. */
.renglon-del-grado th[b-kljxreu4xd] {
  position: sticky; top: 3rem; z-index: 1;
  height: 2.25rem; padding: 0 0.75rem;
  background: var(--fondo); text-align: left;
}
.nombre-del-grado[b-kljxreu4xd] { position: sticky; left: 0.75rem; font-weight: 700; }

/* Fin de semana y festivo se leen de un vistazo; hoy, en el color del acento. */
.fin-de-semana[b-kljxreu4xd] { background: var(--fondo); }
.dia-festivo[b-kljxreu4xd] { background: var(--acento-tinte); }
thead .dia-de-hoy .numero-del-dia[b-kljxreu4xd] { color: var(--acento); font-weight: 700; }
tbody .dia-de-hoy[b-kljxreu4xd] { box-shadow: inset 1px 0 var(--acento-borde), inset -1px 0 var(--acento-borde); }

.dia-libre[b-kljxreu4xd],
.dia-de-guardia[b-kljxreu4xd] {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%; min-height: 2.25rem; padding: 0;
  border: 0; border-radius: 0; background: transparent;
  font: inherit; cursor: pointer;
}
.dia-libre:hover[b-kljxreu4xd] { background: var(--acento-tenue); box-shadow: inset 0 0 0 1px var(--acento-borde); }
.dia-libre:focus-visible[b-kljxreu4xd],
.dia-de-guardia:focus-visible[b-kljxreu4xd] { outline: 2px solid var(--acento); outline-offset: -2px; }
.dia-de-guardia span[b-kljxreu4xd] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.5rem; height: 1.5rem;
  border-radius: var(--radio-control);
  background: var(--acento); color: var(--tarjeta); font-weight: 700;
}
.dia-de-guardia:hover span[b-kljxreu4xd] { background: var(--acento-fuerte); }
.dia-libre:disabled[b-kljxreu4xd], .dia-de-guardia:disabled[b-kljxreu4xd] { cursor: progress; }

/* Lo que la base rechazaría se ve apagado y dice por qué al pasar el cursor. */
.dia-bloqueado[b-kljxreu4xd] {
  display: block; width: 100%; height: 100%; min-height: 2.25rem;
  background: repeating-linear-gradient(135deg, transparent 0 4px, var(--linea) 4px 5px);
  opacity: 0.6; cursor: not-allowed;
}
/* /Components/Pages/Inicio.razor.rz.scp.css */
.tarjeta-sincronizacion[b-9dfi9sic2b] { max-width: 36rem; display: flex; flex-direction: column; gap: 0.75rem; }
.tarjeta-sincronizacion .nota[b-9dfi9sic2b] { margin: 0; }
.aviso-simulado[b-9dfi9sic2b] { margin: 0; font-size: var(--texto-menor); color: var(--gris); }
/* /Components/Pages/Residentes.razor.rz.scp.css */
.corte-de-la-lista[b-2u7wrx0xyd] { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--gris); }
/* /Components/Pages/Rotaciones.razor.rz.scp.css */
.acciones-encabezado[b-3ewpnecsp4] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }

.elegir-ciclo select[b-3ewpnecsp4] {
  padding: var(--campo-y) var(--campo-x);
  border: 1px solid var(--linea); border-radius: var(--radio-control);
  background: var(--tarjeta); color: var(--tinta); font: inherit;
}
.elegir-ciclo select:focus[b-3ewpnecsp4] { border-color: var(--acento); outline: none; }

.recorrer-bloques[b-3ewpnecsp4] { display: inline-flex; align-items: center; gap: 7px; }
.bloques-a-la-vista[b-3ewpnecsp4] { color: var(--gris); white-space: nowrap; }
/* /Components/Pages/Servicio.razor.rz.scp.css */
.bloques-del-servicio[b-n3val8maa1] {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem;
  margin-top: 1rem;
}
.evaluaciones-del-servicio[b-n3val8maa1] { margin-top: 1rem; padding-block: 0; overflow-x: auto; }
/* /Components/Pages/Servicios.razor.rz.scp.css */
.servicios-del-jefe[b-s03249tvhs] { display: flex; flex-direction: column; max-height: 22rem; overflow-y: auto; }
/* /Components/Pages/Usuarios.razor.rz.scp.css */
.persona-encontrada[b-kdidushu3s] {
  display: grid; grid-template-columns: auto 1fr; gap: 0.25rem 1rem;
  margin: 0; padding: var(--campo-y) var(--campo-x);
  border: 1px solid var(--linea); border-radius: var(--radio-control);
  background: var(--fondo);
}
.persona-encontrada dt[b-kdidushu3s] { color: var(--gris); }
.persona-encontrada dd[b-kdidushu3s] { margin: 0; overflow-wrap: anywhere; }

.resultados-de-busqueda[b-kdidushu3s] { display: flex; flex-direction: column; gap: 0.5rem; }

/* Cada resultado se puede elegir, así que es un botón y se ve como tal. */
.resultado-elegible[b-kdidushu3s] {
  display: flex; flex-direction: column; gap: 0.125rem;
  width: 100%;
  padding: var(--campo-y) var(--campo-x);
  border: 1px solid var(--linea);
  border-radius: var(--radio-control);
  background: var(--tarjeta);
  font: inherit; text-align: left;
  cursor: pointer;
  transition: background var(--transicion);
}
.resultado-elegible:hover:not(:disabled)[b-kdidushu3s] { background: var(--acento-tenue); }
.resultado-elegible:active:not(:disabled)[b-kdidushu3s] { background: var(--acento-tinte); }
.resultado-elegible:disabled[b-kdidushu3s] { cursor: default; background: var(--fondo); }
.nombre-del-resultado[b-kdidushu3s] { font-weight: 600; }
.dato-del-resultado[b-kdidushu3s] { font-size: var(--texto-menor); color: var(--gris); }
/* /Components/Residentes/AranaDeCompetencias.razor.rz.scp.css */
.arana-de-competencias[b-hqtdsu1aqb] { display: block; width: 100%; height: auto; margin: 0 auto; overflow: visible; }
.anillo[b-hqtdsu1aqb] { fill: none; stroke: var(--linea); }
.eje[b-hqtdsu1aqb] { stroke: var(--linea); }
.figura-del-grado[b-hqtdsu1aqb] { fill: var(--gris-claro); fill-opacity: 0.18; stroke: var(--gris-claro); stroke-width: 1.5; }
.figura-del-residente[b-hqtdsu1aqb] { fill: var(--acento); fill-opacity: 0.28; stroke: var(--acento); stroke-width: 2; stroke-linejoin: round; }
.punto-del-residente[b-hqtdsu1aqb] { fill: var(--acento); }
.rotulo-del-eje[b-hqtdsu1aqb], .numero-del-eje[b-hqtdsu1aqb] { fill: var(--gris); }

/* El mismo corte que el detalle, que en esa medida numera sus renglones. */
.con-numeros[b-hqtdsu1aqb] { display: none; }
@media (max-width: 600px) {
  .con-nombres[b-hqtdsu1aqb] { display: none; }
  .con-numeros[b-hqtdsu1aqb] { display: block; }
}
/* /Components/Residentes/CirculoDeResidente.razor.rz.scp.css */
.circulo-de-residente[b-wf2yxwxvbe] {
  flex: none;
  display: inline-grid; place-items: center;
  border-radius: 50%;
  background: var(--acento-tinte); color: var(--acento-fuerte);
  font-weight: 600;
  object-fit: cover;
}
.circulo-en-celda[b-wf2yxwxvbe] { width: var(--circulo-en-celda); height: var(--circulo-en-celda); font-size: var(--texto-menor); }
.circulo-grande[b-wf2yxwxvbe] { width: 88px; height: 88px; font-size: var(--texto-dato); }
/* /Components/Residentes/EdicionDeFicha.razor.rz.scp.css */
.foto-de-la-ficha[b-a12232um1n] { display: flex; align-items: center; gap: 1.25rem; margin-bottom: 1.25rem; }
.acciones-de-la-foto[b-a12232um1n] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.acciones-de-la-foto .nota[b-a12232um1n] { flex-basis: 100%; margin: 0; }

/* El botón es la etiqueta: el control de archivo del navegador no se deja
   vestir, así que se esconde y se queda para el teclado y los lectores. */
.eleccion-de-foto[b-a12232um1n] { position: relative; cursor: pointer; }
.eleccion-de-foto:has(:focus-visible)[b-a12232um1n] { outline: 1px solid var(--acento); outline-offset: 2px; }
.eleccion-de-foto[b-a12232um1n]  input { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; }
/* /Components/Residentes/HistorialDeCirugias.razor.rz.scp.css */
.resultado-de-las-cirugias[b-qh7fugc5cy] {
  flex: none;
  margin: 0 0 1rem; padding: 0.75rem 0.875rem;
  border: 1px solid var(--linea); border-radius: var(--radio-control);
  background: var(--tarjeta);
}

/* Lo que no cuenta para las metas se ve, pero en segundo plano. */
.no-cuenta > *[b-qh7fugc5cy] { color: var(--gris); }

col.columna-ojo[b-qh7fugc5cy] { width: 10%; }
col.columna-rol[b-qh7fugc5cy] { width: 13%; }
col.columna-acto[b-qh7fugc5cy] { width: 13%; }
/* /Components/Residentes/HistorialDeConsultas.razor.rz.scp.css */
col.columna-hora[b-1lgw0rpcq6] { width: 12%; }
/* /Components/Residentes/HistorialDeTratamientos.razor.rz.scp.css */
col.columna-tipo[b-9821228hdr] { width: 14%; }
col.columna-ojo[b-9821228hdr] { width: 12%; }
col.columna-en-consulta[b-9821228hdr] { width: 14%; }
/* /Components/Residentes/InicioDelResidente.razor.rz.scp.css */
/* Las cuatro cifras en un renglón y, en el teléfono, de dos en dos. Son
   enlaces a su pestaña: se leen como tarjeta, no como texto subrayado. */
.tira-del-inicio[b-4uuk01knvk] { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 1rem; }
.tira-del-inicio[b-4uuk01knvk]  .indicador { align-items: flex-start; text-align: left; color: inherit; text-decoration: none; transition: border-color var(--transicion); }
.tira-del-inicio[b-4uuk01knvk]  .indicador:hover { border-color: var(--gris-claro); }

.columnas-del-inicio[b-4uuk01knvk] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.columnas-del-inicio .tarjeta[b-4uuk01knvk] { display: flex; flex-direction: column; gap: 0.75rem; }
.columnas-del-inicio h2[b-4uuk01knvk] { margin: 0; }
.cabeza-de-tarjeta[b-4uuk01knvk] { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem 1rem; }
.pie-de-tarjeta[b-4uuk01knvk] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; }

/* Cada parte de las rotaciones: un rótulo chico arriba, el servicio y su bloque. */
.rotacion-del-inicio[b-4uuk01knvk] { display: flex; flex-direction: column; gap: 0.125rem; }
.rotacion-del-inicio + .rotacion-del-inicio[b-4uuk01knvk] { padding-top: 0.75rem; border-top: 1px solid var(--linea); }
.rotacion-del-inicio .nota[b-4uuk01knvk] { margin: 0; }
.rotacion-del-inicio .barra-de-avance[b-4uuk01knvk] { width: 100%; margin-top: 0.5rem; }
.rotulo-del-inicio[b-4uuk01knvk] { font-size: var(--texto-menor); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gris); }
.servicio-actual[b-4uuk01knvk] { font-size: var(--texto-titulo); font-weight: 600; }
.ultima-evaluacion[b-4uuk01knvk] { flex-direction: row; align-items: center; justify-content: space-between; }
.ultima-evaluacion > div[b-4uuk01knvk] { display: flex; flex-direction: column; }
.calificacion-del-inicio[b-4uuk01knvk] { font-size: var(--texto-dato); font-weight: 700; color: var(--correcto); }

/* En el teléfono lo del día a día va primero: los próximos días suben arriba
   de las rotaciones, que ya están en el orden del documento. */
@media (max-width: 900px) {
  .columnas-del-inicio[b-4uuk01knvk] { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .tira-del-inicio[b-4uuk01knvk] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.625rem; }
  .tira-del-inicio[b-4uuk01knvk]  .indicador { padding: 0.75rem 0.875rem; gap: 0.125rem; }
  .tira-del-inicio[b-4uuk01knvk]  .indicador-valor { font-size: var(--texto-dato); }
  .pie-de-tarjeta .boton[b-4uuk01knvk] { width: 100%; min-height: 44px; }
}
/* /Components/Residentes/MedidorDeScore.razor.rz.scp.css */
.medidor[b-34jali7wg8] { position: relative; flex: none; width: 6rem; height: 6rem; }

.medidor svg[b-34jali7wg8] { width: 100%; height: 100%; display: block; }

.medidor-pista[b-34jali7wg8] { fill: none; stroke: var(--linea); stroke-width: 10; }

.medidor-arco[b-34jali7wg8] { fill: none; stroke-width: 10; stroke-linecap: round; }
.medidor-arco.en-meta[b-34jali7wg8] { stroke: var(--correcto); }
.medidor-arco.cumple[b-34jali7wg8] { stroke: var(--atencion); }
.medidor-arco.en-riesgo[b-34jali7wg8] { stroke: var(--peligro); }

/* Centrado sobre el anillo, no dentro del svg: así el número usa la tipografía
   de la página y no la del dibujo. */
.medidor-valor[b-34jali7wg8] {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--texto-dato); font-weight: 700; letter-spacing: -0.02em;
}
.medidor-valor.en-meta[b-34jali7wg8] { color: var(--correcto); }
.medidor-valor.cumple[b-34jali7wg8] { color: var(--atencion); }
.medidor-valor.en-riesgo[b-34jali7wg8] { color: var(--peligro); }
/* /Components/Residentes/ObjetivosYCumplimiento.razor.rz.scp.css */
.nota-del-ciclo[b-cjifahitew] { margin: 0 0 1rem; color: var(--gris); }

.sin-metas[b-cjifahitew] { margin: 0; color: var(--gris); }

.diferencia-abajo[b-cjifahitew] { color: var(--peligro); }

.diferencia-arriba[b-cjifahitew] { color: var(--correcto); }


.renglon-informativo > *[b-cjifahitew] { color: var(--gris); }

col.columna-rubro[b-cjifahitew] { width: 19%; }
col.columna-lleva[b-cjifahitew] { width: 8%; }
col.columna-avance[b-cjifahitew] { width: 10%; }
col.columna-meta[b-cjifahitew] { width: 12%; }
col.columna-cumplimiento[b-cjifahitew] { width: 12%; }
col.columna-esperado[b-cjifahitew] { width: 14%; }
col.columna-diferencia[b-cjifahitew] { width: 11%; }
col.columna-estado[b-cjifahitew] { width: 14%; }
/* /Components/Residentes/OnePage.razor.rz.scp.css */
/* La franja va a todo lo ancho, pegada a la barra superior; la línea bajo las
   pestañas es la frontera con el contenido. */
.franja-one-page[b-j7yamoxp7y] { flex: none; margin: calc(-1 * var(--contenido-y)) calc(-1 * var(--contenido-x)) 1rem; padding: 1.25rem var(--contenido-x) 0; background: var(--tarjeta); }

/* La franja se queda donde está y la tabla toma el alto que sobra: cuando no
   cabe se desplaza por dentro, para no llevarse el nombre y las pestañas. */
.cuerpo-de-pestana[b-j7yamoxp7y] { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.cuerpo-de-pestana[b-j7yamoxp7y] >  * { flex: none; }
.cuerpo-de-pestana[b-j7yamoxp7y] >  .marco-de-tabla { flex: 0 1 auto; }
.cuerpo-de-pestana[b-j7yamoxp7y] >  .competencias { flex: 1; }

.banda-residente[b-j7yamoxp7y] { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 2rem; }
/* La identidad mide lo que mide el nombre y el periodo toma lo que sobra: el
   nombre solo se parte cuando de verdad no cabe. */
.identidad-residente[b-j7yamoxp7y] { flex: 0 1 auto; min-width: 0; display: flex; align-items: center; gap: 1.25rem; }
.datos-de-identidad[b-j7yamoxp7y] { min-width: 0; }
.identidad-residente h1[b-j7yamoxp7y] { display: inline; font-size: var(--texto-pantalla); line-height: 1.25; margin: 0; }
/* En línea con el nombre: si este se parte, el lápiz sigue a la última palabra. */
.nombre-del-residente > button[b-j7yamoxp7y] { margin-left: 0.5rem; vertical-align: 0.375rem; }
.linea-identidad[b-j7yamoxp7y] { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.375rem; margin: 0.25rem 0 0; font-size: var(--texto-base); color: var(--gris); }
.linea-identidad:first-of-type[b-j7yamoxp7y] { margin-top: 0.5rem; }
.linea-identidad b[b-j7yamoxp7y] { font-weight: 600; color: var(--tinta); }
/* El punto separa dos datos: si el renglón se parte, se va con el de la derecha
   en vez de quedarse colgando al final. */
.hasta-cuando[b-j7yamoxp7y] { display: inline-flex; align-items: center; gap: 0.375rem; }

/* La dona va junto a la identidad y el periodo se queda en la orilla; al
   angostarse la ventana cada bloque cae a su propio renglón. El rótulo va al
   lado y no encima: así la franja mide lo que mide el anillo y la pestaña de
   abajo empieza más arriba. */
.score-de-la-banda[b-j7yamoxp7y] { flex: none; display: flex; align-items: center; gap: 0.75rem; }
.score-explicado[b-j7yamoxp7y] { display: flex; flex-direction: column; gap: 0.125rem; margin: 0; }
.score-nombre[b-j7yamoxp7y] { color: var(--gris); }
.score-alcance[b-j7yamoxp7y] { font-size: var(--texto-menor); color: var(--gris); }

/* El periodo es un filtro de la pantalla, no un dato de la persona: se queda
   arriba a la derecha, a la altura del nombre. */
.periodo[b-j7yamoxp7y] { flex: 1 1 auto; align-self: flex-start; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.5rem; margin: 0 0 0 auto; }
.boton-periodo[b-j7yamoxp7y] { display: inline-flex; align-items: center; padding: var(--campo-y) var(--campo-x); border: 1px solid var(--acento-borde); border-radius: var(--radio-control); background: var(--tarjeta); font: inherit; font-weight: 600; line-height: var(--interlinea-control); color: var(--acento); cursor: pointer; }
.boton-periodo:hover[b-j7yamoxp7y] { background: var(--acento-tenue); }

.indicador-promedio[b-j7yamoxp7y] { font-weight: 700; }

/* Las siete cifras van en un renglón mientras quepan sin partir sus rótulos;
   si no, de cuatro en cuatro, y en el teléfono de dos en dos. Se separan de
   las tarjetas de abajo lo mismo que ellas entre sí. */
.tira-indicadores[b-j7yamoxp7y] { flex: none; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 1rem; }
@media (max-width: 1360px) {
  .tira-indicadores[b-j7yamoxp7y] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .tira-indicadores[b-j7yamoxp7y] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* En el teléfono cada bloque va en su renglón y todos parten de la orilla
   izquierda, como el nombre. */
@media (max-width: 560px) {
  .periodo[b-j7yamoxp7y] { justify-content: flex-start; margin: 0; }
}
/* /Components/Residentes/PestanaDeCompetencias.razor.rz.scp.css */
/* El diagrama a la izquierda y lo que lo explica a la derecha. La pestaña cabe
   en la ventana, como las demás de la One Page: si no, la página entera se
   desplaza y el riel se queda corto. En una pantalla angosta o baja, uno bajo
   el otro y sin desplazamiento propio. */
.competencias[b-v4x37wkmnx] {
  flex: 1; min-height: 0;
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr);
  gap: 1rem;
}
/* El diagrama se agranda con la tarjeta, sin pasar de un tamaño en que los
   nombres ya se ven más grandes que el texto, y se encoge si no cabe a lo alto.
   Va centrado junto con su leyenda. */
.competencias > .tarjeta[b-v4x37wkmnx] { min-height: 0; display: flex; flex-direction: column; }
.competencias > .tarjeta:first-child[b-v4x37wkmnx] { justify-content: center; }
.competencias[b-v4x37wkmnx]  .arana-de-competencias { flex: 0 1 auto; min-height: 14rem; max-width: 40rem; }
/* Lo que explica se lee de arriba abajo y crece con cada bloque evaluado: se
   desplaza la tarjeta entera, no un pedazo de ella. */
.lo-que-explica[b-v4x37wkmnx] { overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--linea) transparent; }
.lo-que-explica .detalle-de-competencias[b-v4x37wkmnx] { margin: 0 0 1.5rem; }
@media (max-width: 900px), (max-height: 800px) {
  .competencias[b-v4x37wkmnx] { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .competencias[b-v4x37wkmnx]  .arana-de-competencias { flex: none; }
  .lo-que-explica[b-v4x37wkmnx] { overflow-y: visible; }
}

/* Cada muestra va pegada a su nombre: si la leyenda no cabe, baja completa. */
.leyenda-del-diagrama[b-v4x37wkmnx] { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.375rem 1rem; margin: 0.75rem 0 0; color: var(--gris); }
.elemento-de-leyenda[b-v4x37wkmnx] { display: inline-flex; align-items: center; gap: 0.5rem; white-space: nowrap; }
.muestra[b-v4x37wkmnx] { width: 12px; height: 12px; border-radius: 3px; }
.muestra-del-residente[b-v4x37wkmnx] { background: var(--acento); }
.muestra-del-grado[b-v4x37wkmnx] { background: var(--gris-claro); }
.leyenda-del-diagrama + .nota[b-v4x37wkmnx] { margin: 0.5rem 0 0; text-align: center; }

.evaluaciones-del-periodo[b-v4x37wkmnx] { margin: 0; padding: 0; list-style: none; }
.evaluaciones-del-periodo li[b-v4x37wkmnx] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.5rem 0; border-bottom: 1px solid var(--linea); }
.evaluaciones-del-periodo li:last-child[b-v4x37wkmnx] { border-bottom: 0; }
.evaluacion-y-quien[b-v4x37wkmnx] { display: flex; flex-direction: column; gap: 0.125rem; min-width: 0; }
.evaluacion-y-quien .nota[b-v4x37wkmnx] { margin: 0; }
.resultado-de-la-evaluacion[b-v4x37wkmnx] { flex: none; }

.competencia[b-v4x37wkmnx] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.5rem 0; border-bottom: 1px solid var(--linea); }
.competencia:last-child[b-v4x37wkmnx] { border-bottom: 0; }
.competencia dt[b-v4x37wkmnx] { min-width: 0; }
/* El número solo hace falta cuando el diagrama lo usa en lugar del nombre. */
.numero-de-competencia[b-v4x37wkmnx] { display: none; color: var(--gris); }
@media (max-width: 600px) {
  .numero-de-competencia[b-v4x37wkmnx] { display: inline; }
}
.competencia dd[b-v4x37wkmnx] { flex: none; display: flex; align-items: center; gap: 0.75rem; margin: 0; }
.competencia .barra-de-avance[b-v4x37wkmnx] { width: 6rem; }
.promedio-de-la-competencia[b-v4x37wkmnx] { min-width: 2rem; text-align: right; }
/* /Components/Residentes/ResumenEjecutivo.razor.rz.scp.css */
/* Tres tarjetas por renglón, como en el mockup; abajo de tableta cada una toma
   el renglón completo. */
.resumen-ejecutivo[b-rdsp89j98h] { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; counter-reset: tarjeta; }

.tarjeta-de-resumen[b-rdsp89j98h] { min-width: 0; min-height: 0; display: flex; flex-direction: column; padding: 0.75rem 0.875rem; border: 1px solid var(--linea); border-radius: var(--radio-tarjeta); background: var(--tarjeta); }
.tarjeta-de-resumen h3[b-rdsp89j98h] { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.5rem; font-size: var(--texto-base); }
/* El número lo lleva la hoja y no el marcado: así agregar una tarjeta no obliga
   a renumerar las demás a mano. */
.tarjeta-de-resumen h3[b-rdsp89j98h]::before {
  counter-increment: tarjeta; content: counter(tarjeta);
  flex: none; width: 22px; height: 22px;
  display: grid; place-items: center;
  border-radius: 50%; background: var(--acento); color: #fff;
  font-size: var(--texto-menor); font-weight: 700;
}

/* La tabla de una tarjeta es de vistazo: más chica que la de su pestaña, sin
   cuadrícula y con las cifras a la derecha para poder compararlas de un barrido. */
.tabla-de-tarjeta[b-rdsp89j98h] { width: 100%; border-collapse: collapse; }
.tabla-de-tarjeta th[b-rdsp89j98h], .tabla-de-tarjeta td[b-rdsp89j98h] { padding: 5px 6px; font-size: var(--texto-menor); text-align: left; vertical-align: middle; }
.tabla-de-tarjeta th[b-rdsp89j98h] { font-weight: 600; color: var(--gris); border-bottom: 1px solid var(--linea); white-space: nowrap; }
.tabla-de-tarjeta td[b-rdsp89j98h] { border-bottom: 1px solid var(--linea); }
.tabla-de-tarjeta tbody tr:last-child td[b-rdsp89j98h] { border-bottom: 0; }
.tarjeta-de-resumen .marco-de-tabla[b-rdsp89j98h] { flex: 0 1 auto; }
.celda-numerica[b-rdsp89j98h] { text-align: right; }

.cumplimiento-del-rubro[b-rdsp89j98h] { font-weight: 600; }
.cumplimiento-del-rubro.en-meta[b-rdsp89j98h] { color: var(--correcto); }
.cumplimiento-del-rubro.cumple[b-rdsp89j98h] { color: var(--atencion); }
.cumplimiento-del-rubro.en-riesgo[b-rdsp89j98h] { color: var(--peligro); }

.esperado-al-corte[b-rdsp89j98h] { color: var(--gris); }
.no-aplica[b-rdsp89j98h] { color: var(--gris); }
.puntos-perdidos[b-rdsp89j98h] { color: var(--peligro); }
.sin-perdidos[b-rdsp89j98h] { color: var(--correcto); }
.sin-datos-de-resumen[b-rdsp89j98h] { margin: 0; color: var(--gris); }

.boton-de-tarjeta[b-rdsp89j98h] { margin-top: 0.5rem; }

/* El diagrama guarda un alto en que sus números se leen; si la tarjeta no
   alcanza, la que se desplaza es la tabla. */
.tarjeta-de-resumen[b-rdsp89j98h]  .arana-de-competencias { flex: none; width: 12rem; margin-bottom: 0.5rem; }
.numero-de-competencia[b-rdsp89j98h] { color: var(--gris); }

@media (max-width: 760px) {
  .resumen-ejecutivo[b-rdsp89j98h] { grid-template-columns: 1fr; }
}
/* /Components/Residentes/ScorePorRubro.razor.rz.scp.css */
.sin-pesos[b-sdxpgf44pf] { margin: 0; color: var(--gris); }

.puntos-perdidos[b-sdxpgf44pf] { color: var(--peligro); }

.sin-perdidos[b-sdxpgf44pf] { color: var(--correcto); }

.de-cuantos[b-sdxpgf44pf] { color: var(--gris); }

col.columna-rubro[b-sdxpgf44pf] { width: 32%; }
col.columna-peso[b-sdxpgf44pf] { width: 9%; }
col.columna-resultado[b-sdxpgf44pf] { width: 30%; }
col.columna-aporte[b-sdxpgf44pf] { width: 11%; }
col.columna-perdidos[b-sdxpgf44pf] { width: 18%; }
/* /Components/Residentes/TablaDeResidentes.razor.rz.scp.css */
.columna-estado[b-rvtk7vd7b5] { width: 9rem; }
.columna-con-meta[b-rvtk7vd7b5] { min-width: 11rem; }
.columna-residente[b-rvtk7vd7b5]  .panel-de-filtro { width: 16rem; }

.tabla-con-fila-resaltada tbody tr[b-rvtk7vd7b5] { cursor: pointer; }
/* Un grupo no lleva a ninguna One Page. */
.fila-de-grupo[b-rvtk7vd7b5] { cursor: default; }

.score-en-tabla[b-rvtk7vd7b5] { font-weight: 600; }
.score-en-tabla.en-meta[b-rvtk7vd7b5] { color: var(--correcto); }
.score-en-tabla.cumple[b-rvtk7vd7b5] { color: var(--atencion); }
.score-en-tabla.en-riesgo[b-rvtk7vd7b5] { color: var(--peligro); }

.residente-en-tabla[b-rvtk7vd7b5] { display: inline-flex; align-items: center; gap: 10.5px; }
.nombre-de-residente[b-rvtk7vd7b5] { color: inherit; text-decoration: none; }

@media (max-width: 40rem) {
  .columna-estado[b-rvtk7vd7b5] { width: auto; }
}
/* /Components/Rotaciones/BloqueDelServicio.razor.rz.scp.css */
.bloque-del-servicio h2[b-ws9q5uza4r] { margin: 0; }
.bloque-del-servicio .nota[b-ws9q5uza4r] { margin: 0.25rem 0 1rem; }
.nadie-rota[b-ws9q5uza4r] { margin: 0; color: var(--gris); }

.residentes-del-bloque[b-ws9q5uza4r] { list-style: none; margin: 0; padding: 0; }
.residentes-del-bloque li[b-ws9q5uza4r] {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 10.5px 0;
  border-bottom: 1px solid var(--linea);
}
.residentes-del-bloque li:last-child[b-ws9q5uza4r] { border-bottom: 0; }
/* /Components/Rotaciones/GruposDeRotacion.razor.rz.scp.css */
.columna-de-accion[b-kfpfayyk09] { width: 1%; white-space: nowrap; }
.servicios-del-grupo[b-kfpfayyk09] { display: flex; flex-direction: column; max-height: 22rem; overflow-y: auto; }
/* /Components/Rotaciones/TablaDeJefes.razor.rz.scp.css */
.sin-servicios[b-ei0wh0axpg] { color: var(--gris); }
.columna-de-accion[b-ei0wh0axpg] { width: 1%; white-space: nowrap; }
/* /Components/Rotaciones/TablaDeRotaciones.razor.rz.scp.css */
/* Columnas fijas: los cuatro bloques se reparten el ancho y un servicio
   largo baja de renglón en lugar de empujar la tabla fuera de la pantalla.
   Solo en un teléfono no caben y la tabla se desplaza de lado. */
.tabla-malla[b-lx7rmjbfg6] { table-layout: fixed; min-width: 44rem; }
.primera-columna[b-lx7rmjbfg6] { width: 22%; }

.primera-columna[b-lx7rmjbfg6]  .panel-de-filtro { font-weight: 400; }
/* El encabezado de un bloque lleva dos renglones: número y fechas. */
thead th[b-lx7rmjbfg6] { height: auto; vertical-align: top; }
tbody th[b-lx7rmjbfg6] { font-weight: 400; }

.numero-bloque[b-lx7rmjbfg6] { display: flex; flex-wrap: wrap; align-items: center; gap: 3.5px 7px; }
.fechas-bloque[b-lx7rmjbfg6] { display: block; font-weight: 400; color: var(--gris); }
.bloque-actual[b-lx7rmjbfg6] { background: var(--acento-tenue); }

.rotaciones-del-bloque[b-lx7rmjbfg6] { display: inline-flex; flex-wrap: wrap; gap: 5.25px; }

.servicio-de-persona[b-lx7rmjbfg6] { font: inherit; color: var(--tinta); overflow-wrap: anywhere; }
button.servicio-de-persona[b-lx7rmjbfg6] {
  padding: 3.5px 7px; margin: -3.5px -7px;
  border: 1px solid transparent; border-radius: var(--radio-control);
  background: transparent; cursor: pointer; text-align: left;
}
button.servicio-de-persona:hover[b-lx7rmjbfg6] { border-color: var(--linea); background: var(--tarjeta); }
.sin-rotacion[b-lx7rmjbfg6] { color: var(--gris-claro); }

.nombre-en-malla[b-lx7rmjbfg6] { display: block; }
.grado-en-malla[b-lx7rmjbfg6] { display: block; font-size: var(--texto-menor); color: var(--gris); }

@media (max-width: 40rem) {
  .primera-columna[b-lx7rmjbfg6] { width: 9rem; }
}
/* /Components/Rotaciones/TablaDeServicios.razor.rz.scp.css */
.columna-de-cifra[b-de9dlu2ukq] { text-align: right; }
.columna-de-accion[b-de9dlu2ukq] { width: 1%; white-space: nowrap; }
/* /Components/Solicitudes/TablaDeSolicitudes.razor.rz.scp.css */
.rango-de-fechas[b-kusahdojyb] { display: flex; flex-direction: column; gap: 0.75rem; min-width: 14rem; }
.descripcion-recortada[b-kusahdojyb] {
  display: block; max-width: 28rem;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* /Components/Usuarios/TablaDeUsuarios.razor.rz.scp.css */
.columna-nombre[b-roh6vc8qae]  .panel-de-filtro { width: 16rem; }
.columna-estado[b-roh6vc8qae] { width: 12rem; }
.columna-de-accion[b-roh6vc8qae] { width: 1%; white-space: nowrap; }

@media (max-width: 40rem) {
  .columna-estado[b-roh6vc8qae] { width: auto; }
}
