/* Politica compartida de tablas: contenedor con scroll horizontal y columnas
   que nunca se parten (numeros, fechas, acciones). El texto largo envuelve por
   palabra; solo las columnas marcadas llevan nowrap. Se carga una vez en
   base.html; las tablas se envuelven en .tabla-contenedor. */

.tabla-contenedor {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.col-num,
.col-fecha {
  white-space: nowrap;
}

.tabla-acciones,
.tabla-acciones .btn {
  white-space: nowrap;
}

/* Indicador de ocupacion (dot + porcentaje). Variantes semanticas alineadas a
   PeriodoInscripcion.NIVELES_OCUPACION; el partial entregas/_ocupacion.html es
   la unica superficie que lo renderiza. */
.cupo-indicador {
  --cupo-color: #9aa7b4;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .85rem;
  font-weight: 600;
}
.cupo-indicador::before {
  content: "";
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--cupo-color);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cupo-color) 25%, transparent);
}

.cupo-indicador--vacio    { --cupo-color: #9aa7b4; }
.cupo-indicador--bajo     { --cupo-color: #2e7d32; }
.cupo-indicador--medio    { --cupo-color: #f9a825; }
.cupo-indicador--alto     { --cupo-color: #ef6c00; }
.cupo-indicador--critico  { --cupo-color: #c62828; }
.cupo-indicador--lleno    { --cupo-color: #212121; }
