.appointment-modal { width: min(760px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid var(--line-strong); border-radius: 16px; background: var(--surface); color: var(--navy); overflow: auto; overscroll-behavior: contain; }
.appointment-modal::backdrop { background: rgb(30 36 66 / .45); }
.appointment-modal-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.appointment-modal-header h2 { margin: 0; }
.appointment-modal .scheduling-editor { max-width: none; }
.appointment-modal .scheduling-heading h3 { margin: 0; font: inherit; font-weight: 600; }
.appointment-modal [role=alert] { color: var(--coral-ink); }
@media (max-width: 650px) {
  .appointment-modal { padding: 16px; }
  .appointment-modal .scheduling-form-grid { grid-template-columns: minmax(0, 1fr); }
  .appointment-modal .scheduling-cancellation { flex-wrap: wrap; }
}

.patient-partner-dialog { font-size: 1rem; font-weight: 400; line-height: 1.5; }
