/* Events */
.event {
  position: absolute;
  left: 3px;
  right: 3px;
  border-radius: 6px;
  padding: 2px 1px;
  color: #fff;
  line-height: 1.15;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
  z-index: 2;
  transition: filter 0.2s, box-shadow 0.15s;

  /* Раскладка: время сверху, название по центру, время снизу */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  text-align: center;
}
.event:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6); z-index: 5; }

/* Тускнеем события, когда имена скрыты — ИЛИ когда включён режим
   свободных слотов (кроме выбранного и уже приглушённого event-dim). */
.calendar.show-free .event:not(.event-selected):not(.event-dim) {
  filter: brightness(0.62) saturate(0.65);
}

/* Время старта / конца — прижато к верхнему и нижнему краю */
.ev-time {
  font-size: 9px;
  font-weight: 400;
  opacity: 0.92;
  line-height: 1;
  flex: 0 0 auto;
  letter-spacing: 0.2px;
}

.ev-title {
  font-size: 11px;
  padding: 3px 2px;
  font-weight: 600;
  flex: 1 1 auto;
  min-height: 0;
  text-align: center;

  /* Одна строка, без переноса */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;   /* или ellipsis, если хочешь "…" */

  display: flex;
  flex-direction: column;
  justify-content: safe center;
  align-items: left;
}
/* Compact: короткие события (< 1.5 ч) — только время сверху/снизу,
   без центрального названия (иначе всё слипнется) */
.event.compact .ev-title { display: none; }
.event.compact { padding: 3px 6px; }




/* Ограничение ширины для выпадающего списка фильтра */
#personFilter {
  max-width: 260px; /* Максимальная ширина кнопки */
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  transition: width 0.2s ease; /* Плавное изменение ширины */
}