/* Availability Management layout corrections. No availability rules are changed. */
.admin-page .availability-control-page,
.admin-page .availability-control-page > *,
.admin-page .availability-control-page .calendar-toolbar,
.admin-page .controlled-date-range,
.admin-page .controlled-actions,
.admin-page .controlled-summary,
.admin-page .controlled-public-overview,
.admin-page .controlled-filter-bar,
.admin-page .controlled-sections,
.admin-page .controlled-request-section {
  min-width: 0;
  max-width: 100%;
}

.admin-page .availability-control-page > .calendar-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .55fr);
  align-items: end;
  gap: 18px;
}

.admin-page .availability-control-page > .calendar-toolbar > div:first-child {
  min-width: 0;
}

.admin-page .availability-control-page > .calendar-toolbar p {
  max-width: 760px;
  overflow-wrap: anywhere;
}

.admin-page .controlled-actions {
  margin-top: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}

.admin-page .controlled-actions button,
.admin-page .controlled-actions a {
  flex: 0 0 auto;
  white-space: nowrap;
}

.admin-page .controlled-filter-bar > *,
.admin-page .controlled-request-row > *,
.admin-page .controlled-request-actions {
  min-width: 0;
}

@media (max-width: 1180px) {
  .admin-page .availability-control-page > .calendar-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-page .controlled-date-range {
    max-width: 560px;
  }

  .admin-page .controlled-actions {
    justify-content: flex-start;
  }

  .admin-page .controlled-summary,
  .admin-page .controlled-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-page .controlled-filter-bar > button {
    width: 100%;
  }

  .admin-page .controlled-request-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .admin-page .controlled-request-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .admin-page .controlled-request-actions select {
    flex: 1 1 240px;
  }
}

@media (max-width: 700px) {
  .admin-page .controlled-date-range,
  .admin-page .controlled-summary,
  .admin-page .controlled-filter-bar,
  .admin-page .controlled-public-overview > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-page .controlled-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-page .controlled-actions button,
  .admin-page .controlled-actions a {
    width: 100%;
    min-width: 0;
    white-space: normal;
  }
}
