/* Estilos propios de la sección «calendario» de la maqueta. */
.contenido.de-calendario { grid-template-columns: minmax(0, 1fr); grid-auto-rows: max-content; }
.de-calendario > * { min-width: 0; }

.cal-caja { background: var(--caja); border: 1px solid var(--borde); border-radius: var(--radio); padding: 10px; height: max(560px, calc(100vh - 360px));
  --fc-border-color: var(--borde); --fc-today-bg-color: #f3f7ff; --fc-non-business-color: rgba(91, 103, 121, .12); --fc-page-bg-color: #fff; }
.cal-dentro { height: 100%; }
.cal-caja .fc { font-size: 13.5px; }
.cal-caja .fc-toolbar-title { font-size: 17px; text-transform: capitalize; }
.cal-caja .fc-button { background: var(--caja); border: 1px solid var(--borde); color: var(--texto); text-transform: capitalize; box-shadow: none; }
.cal-caja .fc-button:hover { background: var(--fondo); }
.cal-caja .fc-button-primary:not(:disabled).fc-button-active, .cal-caja .fc-button-primary:not(:disabled):active { background: var(--marca); border-color: var(--marca); color: #fff; }
.cal-caja .fc-button:disabled { opacity: .5; }
.cal-caja .fc-col-header-cell-cushion { text-transform: capitalize; color: var(--texto); }
.cal-caja .fc-event { cursor: pointer; font-size: 12.5px; }
.cal-caja .fc-timegrid-slot-label-cushion { color: var(--suave); }
.cal-caja .fc-timegrid-cols { background: #eff1f4; }
.cal-copia .fc-timegrid-cols { background: var(--fc-page-bg-color); }
.cal-caja .fc-bg-event.cal-trabajo { opacity: 1; }
.cal-caida { opacity: .55; }

.cal-leyenda { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--suave); }
.cal-leyenda-item { display: inline-flex; align-items: center; gap: 6px; }
.cal-punto { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.cal-punto.libre { background: rgba(20, 128, 74, .25); border: 1px solid #14804a; }
.cal-punto.descanso { background: rgba(91, 103, 121, .25); border: 1px solid #9aa4b5; }

.cal-dia { min-width: 64px; }
.cal-botones { margin-top: 6px; }
.cal-botones button { font-size: 13px; padding: 3px 10px; }
.cal-caja .fc-timegrid-slot { height: 1.9em; }
.cal-caja .fc-timegrid-event .fc-event-main { overflow: hidden; }
.cal-editor, .cal-configuracion { display: grid; gap: 12px; }
.cal-campo { display: grid; gap: 4px; }
.cal-campo input[type="color"] { width: 48px; height: 32px; }
.cal-dia-horario, .cal-dias { margin: 0; padding: 8px 12px; min-width: 0; border: 1px solid var(--borde); border-radius: var(--radio); }
.cal-dia-horario .barra-de-acciones { align-items: end; margin-bottom: 8px; }
.cal-dias { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.cal-dias label { display: flex; align-items: center; gap: 5px; }

@media (max-width: 860px) {
  .cal-caja { padding: 6px; height: 620px; }
  .cal-caja .fc-toolbar { gap: 6px; }
  .cal-caja .fc-toolbar-title { font-size: 15px; }
  .cal-caja .fc-button { padding: 4px 8px; font-size: 13px; }
}
.cal-leyenda-color { cursor: pointer; }
.cal-color { width: 18px; height: 18px; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; vertical-align: middle; margin-right: 5px; }
.cal-color::-webkit-color-swatch-wrapper { padding: 0; }
.cal-color::-webkit-color-swatch { border: 0; border-radius: 50%; }
