.attps-cuh-booked-calendars__switcher {
  margin-bottom: 16px;
}

.attps-cuh-booked-calendars__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.attps-cuh-booked-calendars__actions {
  display: flex;
  justify-content: flex-end;
}

.attps-cuh-manager-open {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--dark-brand-color), var(--light-brand-color));
  color: var(--dark-bg-color);
  font-weight: 800;
  padding: 12px 18px;
  box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px -18px;
}

.attps-cuh-manager-open:hover,
.attps-cuh-manager-open:focus {
  filter: brightness(1.06);
}

.attps-cuh-calendar-select {
  min-width: 240px;
}

.attps-cuh-calendar-pane {
  display: none;
}

.attps-cuh-calendar-pane.is-active {
  display: block;
}

.attps-cuh-booked-calendars {
  margin: 20px 10px;
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  background-color: var(--dark-bg-color);
  filter: brightness(1.1);
  box-shadow:
    rgba(0, 0, 0, 0.12) 0px 1px 3px,
    rgba(0, 0, 0, 0.24) 0px 1px 2px;
}

.attps-cuh-calendar-select {
  background: var(--dark-bg-color);
  border: none;
  border-radius: 5px;
  box-shadow: inset 8px 10px 9px -3px rgba(0, 0, 0, 0.3);
  padding: 8px 12px;
  color: var(--light-brand-color);
  font-weight: 700;
}

.attps-cuh-booked-calendars .booked-calendar-wrap,
.attps-cuh-booked-calendars .booked-list-view {
  background: transparent;
}

.attps-cuh-booked-calendars .booked-calendar {
  border: 1px solid var(--dark-brand-color);
  border-radius: 10px;
  overflow: hidden;
}

.attps-cuh-booked-calendars .booked-calendar .bc-head .bc-row.days .bc-col,
.attps-cuh-booked-calendars .booked-calendar .bc-head .bc-row.days {
  border: 1px solid var(--dark-brand-color) !important;
  background: var(--dark-bg-color) !important;
}

.attps-cuh-booked-calendars div.booked-calendar-wrap div.booked-calendar,
.attps-cuh-booked-calendars .booked-calendar .bc-head .bc-row.top .bc-col,
.attps-cuh-booked-calendars .booked-calendar .bc-head .bc-row.top,
.attps-cuh-booked-calendars .booked-calendar .bc-head,
.attps-cuh-booked-calendars .booked-calendar .bc-body {
  background: var(--dark-bg-color) !important;
}

.attps-cuh-booked-calendars .booked-calendar .bc-head .monthName,
.attps-cuh-booked-calendars .booked-calendar .bc-row.days .bc-col,
.attps-cuh-booked-calendars .booked-calendar .bc-body .bc-row .bc-col p,
.attps-cuh-booked-calendars .booked-calendar .bc-body .bc-row .bc-col span {
  color: var(--light-brand-color);
  height: auto;
}

.attps-cuh-booked-calendars .booked-calendar .bc-head a,
.attps-cuh-booked-calendars .booked-calendar .bc-body .bc-row .bc-col:hover p,
.attps-cuh-booked-calendars .booked-calendar .bc-body .bc-row .bc-col.active p {
  color: var(--light-bg-color);
}

.attps-cuh-booked-calendars .booked-calendar .bc-head .page-left,
.attps-cuh-booked-calendars .booked-calendar .bc-head .page-right {
  background: var(--dark-bg-color);
  border: 1px solid var(--dark-brand-color);
  border-radius: 6px;
  padding: 4px;
}

.attps-cuh-booked-calendars .booked-calendar .bc-head .page-left:hover,
.attps-cuh-booked-calendars .booked-calendar .bc-head .page-right:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--light-brand-color);
}

.attps-cuh-booked-calendars .booked-calendar .bc-body .bc-row .bc-col {
  border-color: rgba(255, 255, 255, 0.08);
  border-right: 1px solid var(--dark-brand-color) !important;
  background: var(--dark-brand-color);
}

body div.booked-calendar-wrap div.booked-calendar .bc-body .bc-row.week .bc-col .date {
  background: var(--dark-bg-color) !important;
}

body div.booked-calendar-wrap div.booked-calendar .bc-body .bc-row.week .bc-col.prev-date .date {
  background: var(--dark-bg-color) !important;
  filter: saturate(0.5);
  cursor: not-allowed;

  &:hover {
    background: var(--dark-bg-color) !important;
    filter: saturate(0.7);

    span {
      background: var(--dark-bg-color) !important;
      color: var(--light-brand-color) !important;
    }
  }

  span {
    background: var(--dark-bg-color) !important;
    color: var(--light-brand-color) !important;
  }
}

body div.booked-calendar-wrap div.booked-calendar .bc-body .bc-row.week .bc-col.booked .date,
body div.booked-calendar-wrap div.booked-calendar .bc-body .bc-row.week .bc-col.prev-date.booked .date {
  background: var(--danger-brand-color) !important;
  filter: brightness(0.5);

  &:hover {
    background: var(--danger-brand-color) !important;

    span {
      background: var(--danger-brand-color) !important;
      color: #fff !important;
      filter: brightness(1.5);
    }
  }

  span {
    background: var(--danger-brand-color) !important;
    color: #fff !important;
  }
}

.attps-cuh-booked-calendars .booked-calendar .bc-body .bc-row .bc-col.today,
.attps-cuh-booked-calendars .booked-calendar .bc-body .bc-row .bc-col.active {
  background: rgba(117, 200, 183, 0.12);
}

.attps-cuh-booked-calendars .booked-appt-list {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  background: var(--dark-bg-color);
}

.attps-cuh-booked-calendars .booked-appt-list h2,
.attps-cuh-booked-calendars .booked-appt-list h4,
.attps-cuh-booked-calendars .booked-appt-list strong,
.attps-cuh-booked-calendars .booked-appt-list p {
  color: var(--light-brand-color);
}

.attps-cuh-booked-calendars .booked-appt-list .timeslot,
.attps-cuh-booked-calendars .booked-appt-list .timeslot-people button {
  border-color: var(--dark-brand-color);
  background: var(--dark-bg-color);
  color: var(--light-brand-color);
}

.attps-cuh-booked-calendars .booked-appt-list .timeslot:hover,
.attps-cuh-booked-calendars .booked-appt-list .timeslot-people button:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--light-bg-color);
}

body .attps-cuh-timeslot-cancel-buttons {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: 8px;
  vertical-align: middle;
}

body .attps-cuh-cancel-appt {
  border: 1px solid var(--danger-brand-color) !important;
  border-radius: 999px;
  background: var(--danger-brand-color) !important;
  color: #fff !important;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.1;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    opacity 0.2s ease;
}

body .attps-cuh-cancel-appt:hover,
body .attps-cuh-cancel-appt:focus {
  background: var(--danger-brand-color) !important;
  border-color: var(--danger-brand-color) !important;
  color: #fff !important;
  filter: brightness(1.08);
}

body .attps-cuh-cancel-appt.is-loading,
body .attps-cuh-cancel-appt:disabled {
  opacity: 0.6;
  cursor: wait;
}

body .booked-public-appointment-list.attps-cuh-public-appointment-list {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

body .attps-cuh-public-appointment-item {
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
}

body .attps-cuh-public-appointment-name {
  display: inline-block;
  color: var(--light-bg-color);
  font-weight: 700;
}

body .attps-cuh-public-appointment-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

body .attps-cuh-public-appointment-detail {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.2);
  color: var(--light-brand-color);
  font-size: 0.9rem;
}

body .attps-cuh-public-appointment-detail strong {
  color: var(--light-bg-color);
  font-weight: 700;
}

body .attps-popup .popup-content:has(.attps-cuh-manager-panel) {
  width: min(1180px, calc(100vw - 32px));
  background: var(--dark-bg-color);
}

body .attps-cuh-manager-panel {
  color: var(--light-brand-color);
}

body .attps-cuh-manager-panel__header {
  margin-bottom: 18px;
}

body .attps-cuh-manager-panel__eyebrow {
  margin: 0 0 8px;
  color: var(--light-brand-color);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body .attps-cuh-manager-panel__header h3 {
  margin: 0;
  color: var(--light-bg-color);
  font-size: clamp(1.5rem, 2vw, 2rem);
}

body .attps-cuh-manager-panel__header p {
  margin: 10px 0 0;
  max-width: 72ch;
  color: rgba(255, 255, 255, 0.78);
}

body .attps-cuh-manager-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

body .attps-cuh-manager-filter {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body .attps-cuh-manager-filter span {
  color: var(--light-bg-color);
  font-size: 0.85rem;
  font-weight: 700;
}

body .attps-cuh-manager-filter select,
body .attps-cuh-manager-filter input,
body .attps-cuh-manager-filter button {
  min-height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--light-brand-color);
  padding: 0 14px;
}

body .attps-cuh-manager-filter--actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: end;
}

body .attps-cuh-manager-clear {
  font-weight: 700;
}

body .attps-cuh-manager-export {
  border-color: rgba(255, 255, 255, 0.18);
  background: linear-gradient(135deg, var(--dark-brand-color), var(--light-brand-color));
  color: var(--dark-bg-color);
  font-weight: 800;
}

body .attps-cuh-manager-results {
  min-height: 180px;
}

body .attps-cuh-manager-summary {
  margin-bottom: 14px;
  color: var(--light-bg-color);
  font-weight: 700;
}

body .attps-cuh-manager-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
}

body .attps-cuh-manager-table-element {
  width: 100%;
  border-collapse: collapse;
}

body .attps-cuh-manager-table-element th,
body .attps-cuh-manager-table-element td {
  padding: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-align: left;
  vertical-align: top;
}

body .attps-cuh-manager-table-element th {
  color: var(--light-bg-color);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body .attps-cuh-manager-cell-title {
  color: var(--light-bg-color);
  font-weight: 700;
}

body .attps-cuh-manager-cell-subtitle {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.92rem;
}

body .attps-cuh-manager-status {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--light-bg-color);
  font-size: 0.88rem;
  font-weight: 700;
}

body .attps-cuh-manager-meta-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body .attps-cuh-manager-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.22);
  color: var(--light-brand-color);
  font-size: 0.88rem;
}

body .attps-cuh-manager-meta-pill strong {
  color: var(--light-bg-color);
}

body .attps-cuh-manager-meta-empty {
  color: rgba(255, 255, 255, 0.45);
}

body .attps-cuh-manager-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}

body .attps-cuh-manager-actions-cell {
  width: 88px;
}

body .attps-cuh-manager-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--light-bg-color);
  font-size: 0.86rem;
}

body .attps-cuh-manager-action--cancel {
  background: hsl(from var(--danger-brand-color) h calc(s - 50) calc(l - 50)) !important;
  color: #fff !important;
}

body .attps-cuh-manager-action:hover,
body .attps-cuh-manager-action:focus {
  background: rgba(255, 255, 255, 0.12);
  color: var(--light-brand-color);
}

body .attps-cuh-manager-action--cancel:hover,
body .attps-cuh-manager-action--cancel:focus {
  background: hsl(from var(--danger-brand-color) h calc(s - 40) calc(l - 15)) !important;

  color: #fff !important;
}

body .attps-cuh-manager-editor {
  margin-bottom: 18px;
}

body .attps-cuh-manager-editor-card {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.05);
  padding: 18px;
}

body .attps-cuh-manager-editor-card.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

body .attps-cuh-manager-editor-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

body .attps-cuh-manager-editor-close {
  min-width: 40px;
  min-height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--light-bg-color);
  font-size: 1.4rem;
  line-height: 1;
}

body .attps-cuh-manager-editor-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body .attps-cuh-manager-editor-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

body .attps-cuh-manager-editor-actions button {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 12px;
}

body .attps-cuh-manager-empty-state {
  padding: 32px 20px;
  text-align: center;
  color: rgba(255, 255, 255, 0.75);
}

body .attps-cuh-manager-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 16px;
}

body .attps-cuh-manager-page {
  min-height: 40px;
  min-width: 40px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--light-brand-color);
  font-weight: 700;
}

@media (max-width: 767px) {
  body .attps-cuh-manager-editor-fields {
    grid-template-columns: 1fr;
  }

  body .attps-cuh-manager-actions-cell {
    width: auto;
  }
}

body .attps-cuh-manager-page.is-active,
body .attps-cuh-manager-page:hover,
body .attps-cuh-manager-page:focus {
  background: var(--light-brand-color);
  color: var(--dark-bg-color);
}

body .attps-cuh-manager-page:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

@media (max-width: 767px) {
  .attps-cuh-booked-calendars__toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .attps-cuh-booked-calendars__actions {
    justify-content: stretch;
  }

  .attps-cuh-manager-open {
    width: 100%;
  }

  body .attps-cuh-timeslot-cancel-buttons {
    display: flex;
    width: 100%;
    margin-top: 8px;
    margin-left: 0;
  }

  body .attps-cuh-cancel-appt {
    width: 100%;
    justify-content: center;
  }

  body .attps-cuh-manager-filters {
    grid-template-columns: 1fr;
  }

  body .attps-cuh-manager-filter--actions {
    grid-template-columns: 1fr;
  }

  body .attps-cuh-manager-table-element th,
  body .attps-cuh-manager-table-element td {
    padding: 12px;
  }

  body .attps-cuh-manager-pagination {
    justify-content: flex-start;
  }
}

.attps-cuh-booked-calendars .booked-modal .bm-window,
.attps-cuh-booked-calendars .booked-form {
  background: var(--dark-bg-color);
  color: var(--light-brand-color);
}

.attps-cuh-booked-calendars .booked-form input,
.attps-cuh-booked-calendars .booked-form select,
.attps-cuh-booked-calendars .booked-form textarea {
  background: var(--dark-bg-color);
  border: none;
  border-radius: 5px;
  box-shadow: inset 8px 10px 9px -3px rgba(0, 0, 0, 0.3);
  color: var(--light-brand-color);
}

.attps-cuh-booked-calendars .booked-form .button-primary,
.attps-cuh-booked-calendars .booked-form input[type="submit"] {
  background: var(--dark-brand-color) !important;
  color: var(--dark-bg-color) !important;
  border: 0;
  box-shadow:
    rgba(0, 0, 0, 0.4) 0px 2px 4px,
    rgba(0, 0, 0, 0.3) 0px 17px 13px -3px,
    rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
}

.attps-cuh-booked-calendars .booked-form .button-primary:hover,
.attps-cuh-booked-calendars .booked-form input[type="submit"]:hover {
  background: var(--light-brand-color) !important;
  color: var(--dark-bg-color) !important;
  background: rgba(255, 255, 255, 0.05);
}

body:has(.attps-cuh-booked-calendars) {
  .booked-modal .bm-window .booked-scrollable {
    background: var(--dark-bg-color);

    .booked-appointments {
      background: var(--dark-brand-color);
    }

    textarea {
      resize: vertical;
      border: 1px solid var(--dark-brand-color) !important;
    }

    #submit-request-appointment {
      background: var(--dark-brand-color) !important;
      color: #fff !important;
      border: 0;
      box-shadow:
        rgba(0, 0, 0, 0.4) 0px 2px 4px,
        rgba(0, 0, 0, 0.3) 0px 17px 13px -3px,
        rgba(0, 0, 0, 0.2) 0px -3px 0px inset;

      &:hover {
        background: var(--light-brand-color) !important;
        color: var(--dark-bg-color) !important;
      }
    }

    .cancel.button {
      background: var(--danger-brand-color) !important;
      color: #fff !important;
      border: 0;
      box-shadow:
        rgba(0, 0, 0, 0.4) 0px 2px 4px,
        rgba(0, 0, 0, 0.3) 0px 17px 13px -3px,
        rgba(0, 0, 0, 0.2) 0px -3px 0px inset;

      &:hover {
        filter: brightness(1.1);
        color: var(--dark-bg-color) !important;
      }
    }
  }
}