.new-patient-address-table {
  min-width: 1180px;
}

.new-patient-address-cell {
  min-width: 240px;
  white-space: normal;
  line-height: 1.45;
}

.new-patient-address-table td a:not(.admin-link) {
  color: var(--brand-red);
  font-weight: 700;
}

.new-patient-search-form {
  grid-template-columns: minmax(0, 2fr) minmax(160px, 0.5fr);
}

.new-patient-address-help {
  margin-top: 22px;
}

.booking-workflow-table {
  min-width: 1200px;
}

/* Address belongs on the individual booking detail page, not in the booking list. */
.booking-workflow-table th:has(.admin-table-sort[href*="sort=address"]),
.booking-workflow-table td.booking-address-cell {
  display: none;
}

.admin-table-sort {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.admin-table-sort:hover,
.admin-table-sort:focus-visible {
  color: var(--brand-red);
}

.admin-table-sort:focus-visible {
  outline: 2px solid var(--brand-red);
  outline-offset: 4px;
  border-radius: 3px;
}

.admin-table-sort-indicator {
  min-width: 13px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1;
  text-align: center;
}

th[aria-sort="ascending"] .admin-table-sort-indicator,
th[aria-sort="descending"] .admin-table-sort-indicator {
  color: var(--brand-red);
}

.booking-results-is-loading {
  opacity: 0.58;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

.admin-table-wrap.booking-results-is-loading {
  position: relative;
  min-height: 130px;
}

.admin-table-wrap.booking-results-is-loading::after {
  content: "Sorting bookings…";
  position: absolute;
  inset: 18px auto auto 50%;
  transform: translateX(-50%);
  z-index: 2;
  padding: 9px 14px;
  border-radius: 999px;
  background: var(--charcoal);
  color: var(--white);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: 0 8px 22px rgba(20, 20, 20, 0.18);
}

@media (prefers-reduced-motion: reduce) {
  .booking-results-is-loading {
    transition: none;
  }
}

@media (max-width: 760px) {
  .new-patient-search-form {
    grid-template-columns: 1fr;
  }

  .new-patient-search-form .filter-search-wide {
    grid-column: auto;
  }
}
