/* Calendar container - main wrapper for all calendar views */
#calendar-container {
  display: flex;
  width: 100%;
  box-sizing: border-box;
}

/* Settings sidebar - left column with filters and actions */
.calendar-settings {
  flex: 0.2;
  border: 1px solid #ccc;
  padding: 10px;
  box-sizing: border-box;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  min-width: 180px;
  max-width: 15vw;

  button {
    margin: 4px 0px;
  }

  a.button {
    margin: 4px 0px;
  }
}

/* Filter row container for horizontal filter groups */
.calendar-filter-row {
  display: flex;
  gap: 8px;
}

/* Small label text for compact filter labels */
.calendar-label-small {
  font-size: 0.75rem;
}

/* Field modifier for vertical margin spacing */
.calendar-field-mt {
  margin-top: 8px;
}

/* Bottom actions container - pushes content to bottom of sidebar */
.calendar-bottom-actions {
  margin-top: auto;
}

/* Spacer element for vertical spacing */
.calendar-spacer {
  margin: 8px;
}

/* Primary action button with padding */
.calendar-btn-action {
  padding: 8px;
}

/* Timeline panel - main content area for timeline views */
.calendar-timeline {
  flex: 1;
  border: 1px solid #ccc;
}

/* Flex grow utility for calendar items */
.calendar-flex-grow {
  flex: 1;
}

/* Hidden by default - for collapsible sections */
.calendar-hidden {
  display: none;
}

/* Calendar group wrapper */
.calendar-group {
  flex: 1;
  display: flex;
}

/* Individual calendar item */
.calendar-item {
  flex: 1;
  border: 1px solid #ccc;
  padding: 10px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin-right: 10px;
}

/* Calendar item controls */
.calendar-item-controls {
  margin-bottom: 10px;
  flex-wrap: wrap;
}

/* Unplanned appointments section */
.calendar-unplanned {
  flex: 1;
  overflow-y: auto;
}

/* Unplanned appointments list */
.calendar-unplanned-list {
  li a {
    cursor: pointer;
  }
}
