/* Scoped to the appointment and patient workflows; public pages are unaffected. */
.pc-workflow .pc-patient-hero { padding: 18px 22px; overflow: visible; }
.pc-workflow .pc-patient-hero h1 { font-size: clamp(1.25rem, 2vw, 1.75rem); }
.pc-workflow .pc-patient-hero__avatar { width: 52px; height: 52px; font-size: 1.2rem; }
.pc-workflow .pc-patient-hero__actions { gap: 8px; }
.pc-workflow .pc-workflow-back { display: inline-block; margin-bottom: 12px; }
.pc-workflow .pc-page-header, .pc-workflow .pc-calendar-hero { margin-bottom: 18px; }
.pc-workflow .pc-page-title { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.pc-workflow .pc-med-hero { padding: 18px 22px; }
.pc-workflow .pc-med-hero h1 { font-size: clamp(1.3rem, 2vw, 1.75rem); margin-bottom: 10px; }
.pc-workflow .pc-workflow-menu { min-width: 210px; }
.pc-workflow .pc-workflow-menu a, .pc-workflow .pc-workflow-menu button { white-space: normal; padding: 10px 16px; }
.pc-workflow .pc-workflow-menu form { margin: 0; }
.pc-workflow .pc-workflow-menu .dropdown-item { color: #243b53; }
.pc-workflow .pc-workflow-menu .text-danger { color: #b42318 !important; }
.pc-booking-form .pc-booking-section { margin: 0; padding: 16px 0; border: 0; border-top: 1px solid #dbe5ec; min-width: 0; }
.pc-booking-form .pc-booking-section:first-of-type { border-top: 0; padding-top: 0; }
.pc-booking-form .pc-booking-heading { font-size: 1rem; font-weight: 700; margin: 0 0 12px; }
.pc-booking-form .pc-booking-section > .form-label { display: block; margin-top: 12px; }
.pc-booking-form .pc-booking-section > [role="status"] { margin: 8px 0; }
.pc-workflow.pc-patient-page .pc-patient-hero { overflow: visible; }
.pc-workflow.pc-patient-page .pc-patient-hero__content { position: relative; z-index: 1; }
.pc-booking-form .pc-booking-selected, .pc-booking-form .pc-booking-summary { border: 1px solid #b9dcd9; border-radius: 12px; padding: 14px; background: #f1faf8; margin: 12px 0; overflow-wrap: anywhere; }
.pc-booking-form .pc-booking-selected[hidden] { display: none; }
.pc-workflow form.pc-booking-form [hidden],
.pc-booking-form #newPatientBtn[hidden] { display: none !important; }
.pc-booking-form .pc-booking-selected { display: flex; gap: 12px; justify-content: space-between; align-items: start; }
.pc-booking-form .pc-booking-selected strong, .pc-booking-form .pc-booking-selected small { display: block; }
.pc-booking-form .pc-booking-summary dl { display: grid; grid-template-columns: minmax(70px, auto) minmax(0, 1fr); gap: 6px 12px; margin: 0; font-size: .9rem; }
.pc-booking-form .pc-booking-summary dt { color: #526579; font-weight: 500; }
.pc-booking-form .pc-booking-summary dd { margin: 0; }
.pc-booking-form .pc-booking-extras { border: 1px solid #dbe5ec; border-radius: 10px; padding: 12px; margin: 12px 0; }
.pc-booking-form .pc-booking-extras > summary { cursor: pointer; font-weight: 600; color: #334e68; }
.pc-booking-form .pc-booking-extras[open] > summary { margin-bottom: 14px; }
.pc-booking-form .pc-booking-extras .alert { margin-bottom: 0; }
.pc-booking-form .pc-booking-selected button { flex-shrink: 0; }
.pc-booking-form [role="alert"]:focus { outline: 2px solid #b42318; outline-offset: 3px; }
.pc-workflow .pc-calendar-filters a[aria-current="page"] { font-weight: 700; }
.pc-workflow .btn:focus-visible, .pc-workflow summary:focus-visible { outline: 3px solid #078c95; outline-offset: 3px; }
@media (max-width: 767px) {
  .pc-workflow .pc-patient-hero, .pc-workflow .pc-med-hero { padding: 16px; }
  .pc-workflow .pc-patient-hero__actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .pc-workflow .pc-patient-hero__actions > *, .pc-workflow .pc-patient-hero__actions .dropdown > button { width: 100%; }
  .pc-workflow .pc-workflow-menu { max-width: calc(100vw - 48px); }
  .pc-booking-form .pc-booking-selected { flex-wrap: wrap; }
  .pc-booking-form .pc-booking-section { padding: 14px 0; }
  .pc-workflow .btn, .pc-workflow summary { min-height: 40px; }
}
