/* Calendar container must have fixed height */
#calendar-container {
  display: flex;
  flex-direction: column;
}

#calendar-container > div[data-calendar-target="calendar"] {
  flex: 1;
  min-height: 0;
}

/* Force FullCalendar to use available space */
.fc {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.fc-view-harness {
  flex: 1;
  min-height: 0;
  position: relative;
}

/* Enable scrolling in time views */
.fc-timegrid-body {
  overflow-y: auto !important;
}

.fc-scroller {
  overflow-y: auto !important;
}

/* Drag and drop styling */
.fc-event {
  cursor: move;
  cursor: grab;
}

.fc-event:active {
  cursor: grabbing;
}

.fc-event-dragging {
  opacity: 0.7;
}

.fc-event-resizing {
  opacity: 0.7;
}

