/* Cache-versioned admin polish: layout containment and presentation only. */
.admin-content *, .admin-content *::before, .admin-content *::after {
  box-sizing: border-box;
}
.admin-content button,
.admin-workspace button {
  max-width: 100%;
  min-height: 38px;
  border-radius: 8px;
  font-family: Poppins, "Segoe UI", sans-serif;
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.admin-content input,
.admin-content select,
.admin-content textarea {
  max-width: 100%;
  border-radius: 8px;
  font-family: Poppins, "Segoe UI", sans-serif;
}
.admin-content button:focus-visible,
.admin-content input:focus-visible,
.admin-content select:focus-visible,
.admin-content textarea:focus-visible {
  outline: 3px solid rgba(185,151,91,.4);
  outline-offset: 2px;
}

/* Booking workspace containment. */
.bookings-workspace,
.bookings-workspace > *,
.bookings-head,
.booking-toolbar,
.booking-filters,
.booking-summary,
.booking-queues,
.booking-pages {
  min-width: 0;
  max-width: 100%;
}
.bookings-head > div:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.booking-summary-card {
  overflow: hidden;
}
.booking-summary-card > span,
.booking-summary-card > strong,
.booking-summary-card > small {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.booking-summary-card > strong {
  font-variant-numeric: tabular-nums;
}
.booking-queues {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.booking-queues button {
  flex: 0 1 auto;
  white-space: normal;
}
.booking-toolbar {
  align-items: stretch;
}
.booking-toolbar > * {
  min-width: 0;
}
.booking-pages {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.booking-pages > span:first-child {
  margin-right: auto;
}

/* Desktop table: stable column sizing and safe wrapping. */
.bookings-table {
  width: 100%;
  table-layout: fixed;
}
.bookings-table th,
.bookings-table td {
  min-width: 0;
  vertical-align: top;
}
.bookings-table th:nth-child(1) { width: 14%; }
.bookings-table th:nth-child(2) { width: 15%; }
.bookings-table th:nth-child(3) { width: 17%; }
.bookings-table th:nth-child(4) { width: 14%; }
.bookings-table th:nth-child(5) { width: 10%; }
.bookings-table th:nth-child(6) { width: 13%; }
.bookings-table th:nth-child(7) { width: 11%; }
.bookings-table th:nth-child(8) { width: 6%; }
.bookings-table td strong,
.bookings-table td small {
  max-width: 100% !important;
  overflow-wrap: anywhere;
  word-break: normal;
}
.bookings-table td:nth-child(5) strong,
.bookings-table td:nth-child(6) strong {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.bookings-table .booking-badge {
  width: fit-content;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.row-view-button {
  min-width: 64px;
  white-space: nowrap;
}

/* Drawer: true viewport coverage, isolated scrolling and fixed controls. */
.booking-drawer-layer {
  z-index: 12000 !important;
  overflow: hidden !important;
  background: rgba(5,17,32,.68) !important;
  backdrop-filter: blur(3px);
}
.booking-drawer {
  max-width: min(760px,100vw) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #f7f8fa !important;
  box-shadow: -24px 0 60px rgba(0,0,0,.3) !important;
}
.booking-drawer > header,
.booking-drawer > .drawer-tabs,
.booking-drawer > footer {
  flex: 0 0 auto !important;
}
.booking-drawer > header {
  position: relative !important;
  z-index: 3;
}
.booking-drawer > header > div,
.booking-drawer > header h2,
.booking-drawer > header p {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.booking-drawer > .drawer-tabs {
  position: relative;
  z-index: 2;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin;
}
.booking-drawer > .drawer-tabs button {
  min-width: max-content;
  white-space: nowrap;
}
.booking-drawer > .drawer-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
.booking-drawer .drawer-grid > div,
.booking-drawer .drawer-grid > div > * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.booking-drawer > footer {
  position: relative !important;
  z-index: 4;
  margin: 0 !important;
  width: 100% !important;
  background: #fff !important;
  border-top: 1px solid #dce2e8 !important;
  box-shadow: 0 -8px 22px rgba(11,31,58,.07);
}
.booking-drawer > footer button {
  white-space: normal;
}

/* Tablet widths: one professional record card per row. */
@media (max-width: 1180px) {
  .bookings-table-wrap {
    overflow: visible !important;
  }
  .bookings-table,
  .bookings-table tbody {
    display: block !important;
  }
  .bookings-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }
  .bookings-table tbody {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .bookings-table tbody tr {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dce3ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(20,42,68,.06);
  }
  .bookings-table tbody td {
    display: grid !important;
    grid-template-columns: minmax(112px,34%) minmax(0,1fr) !important;
    align-content: start;
    gap: 4px 14px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 58px;
    padding: 12px 14px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f3 !important;
    text-align: left !important;
  }
  .bookings-table tbody td::before {
    min-width: 0 !important;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    line-height: 1.35;
  }
  .bookings-table tbody td > strong,
  .bookings-table tbody td > small {
    grid-column: 2;
    width: auto !important;
    white-space: normal !important;
    text-align: left !important;
  }
  .bookings-table tbody td:nth-child(7),
  .bookings-table tbody td:nth-child(8) {
    align-items: center;
  }
  .bookings-table tbody td:nth-child(7) {
    display: flex !important;
    flex-wrap: wrap;
    gap: 7px !important;
  }
  .bookings-table tbody td:nth-child(7)::before,
  .bookings-table tbody td:nth-child(8)::before {
    flex: 0 0 112px;
  }
  .bookings-table tbody td:nth-child(8) {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 14px !important;
  }
}

@media (max-width: 720px) {
  .bookings-head {
    align-items: stretch !important;
  }
  .bookings-head > div:last-child,
  .bookings-head > div:last-child button {
    width: 100%;
  }
  .bookings-table tbody tr {
    grid-template-columns: 1fr !important;
  }
  .booking-pages > * {
    flex: 1 1 auto;
  }
  .booking-pages > span:first-child {
    flex-basis: 100%;
  }
  .booking-drawer > footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 430px) {
  .bookings-table tbody td {
    grid-template-columns: 96px minmax(0,1fr) !important;
    padding: 11px 12px !important;
  }
  .bookings-table tbody td:nth-child(7)::before,
  .bookings-table tbody td:nth-child(8)::before {
    flex-basis: 96px;
  }
}
