/* ================================================================
   calendario.css — estilos base de tabla de horario semanal
   Tokens: brand-tokens.css (--primary-700, --line-strong, --paper-2,
   --bg, --danger, --ink, --muted, --line)
   ================================================================ */

/* Título del calendario */
.calendario-title {
  color: var(--ink, #15102e);
  font-family: var(--font, 'Poppins', sans-serif);
  font-weight: 700;
}

/* Contenedor del reloj */
.clock-container {
  max-width: 180px;
}

/* Tabla del calendario */
.calendar-table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse !important;
  border-radius: 8px;
  border: 2px solid var(--line-strong, rgba(44,47,116,.18)) !important;
}

/* thead y tbody */
.calendar-thead,
.calendar-table tbody {
  border: 1px solid var(--line-strong, rgba(44,47,116,.18));
}

.calendar-thead th {
  border: 1px solid var(--line-strong, rgba(44,47,116,.18)) !important;
}

/* Primera columna «Día» de la cabecera */
table.calendar-table thead th.calendar-th-first {
  background-color: var(--primary-700, #1f2258) !important;
  color: #fff !important;
  width: 110px;
  text-align: center;
  border-color: var(--line-strong, rgba(44,47,116,.18)) !important;
}

/* Columnas de slots en la cabecera */
.calendar-th-slot {
  background-color: var(--primary-700, #1f2258) !important;
  white-space: nowrap;
  width: 130px;
  text-align: center;
  border: 1px solid var(--line-strong, rgba(44,47,116,.18)) !important;
}

/* Descansos y almuerzos */
table.calendar-table thead th.break-slot {
  background-color: var(--paper-2, #f6f4fc) !important;
  color: var(--muted, #6f6a8c) !important;
  border: 1px solid var(--line-strong, rgba(44,47,116,.18)) !important;
}

/* Fila sin clases */
.no-class {
  background-color: var(--paper-2, #f6f4fc);
  color: var(--muted, #6f6a8c);
  text-align: center;
  vertical-align: middle;
  border: 1px solid var(--line-strong, rgba(44,47,116,.18));
}

/* Días festivos */
.festivo {
  background-color: rgba(239, 68, 68, 0.12) !important;
  color: var(--danger, #ef4444) !important;
  text-align: center;
  vertical-align: middle;
  border: 1px solid var(--line-strong, rgba(44,47,116,.18)) !important;
  font-style: italic;
}

/* Celda de día (columna izquierda del cuerpo) */
.calendar-day {
  background-color: var(--primary-700, #1f2258) !important;
  color: #fff !important;
  text-align: center;
  vertical-align: middle;
  border: 1px solid var(--line-strong, rgba(44,47,116,.18)) !important;
}

/* Celda con contenido */
.calendar-cell {
  border: 1px solid var(--line, rgba(44,47,116,.1));
  text-align: center;
}

/* Celda vacía */
.empty-cell {
  background-color: var(--bg, #fbfaff) !important;
  color: var(--muted, #6f6a8c);
  border: 1px solid var(--line, rgba(44,47,116,.1));
}

/* Etiquetas pequeñas */
.label-small {
  font-size: 0.7rem;
  font-weight: normal;
  font-family: var(--font, 'Poppins', sans-serif);
}

.label-white { color: #fff; }

.label-grey { color: rgba(255,255,255,0.75); }

/* Texto grande en slots */
.code-large {
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
}
