.manager-care-screen { gap: 1.5rem; }
.manager-care-back { justify-self: start; padding: 0; border: 0; background: transparent; color: var(--accent); font: inherit; cursor: pointer; }
.desktop-visit-detail.manager-care-visit { width: 100%; max-width: none; }
.manager-care-visit dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem 2rem; padding: 1.25rem; margin: 0; }
.manager-care-visit dl > div { padding: 0; border: 0; min-width: 0; }
.manager-care-visit dt { margin-bottom: 6px; color: var(--muted); font-size: 0.75rem; }
.manager-care-visit dd { margin: 0; font-size: 0.875rem; overflow-wrap: anywhere; }
.manager-care-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.manager-care-body { padding: 1.25rem; display: grid; gap: 1.25rem; }
.manager-care-body h3, .manager-care-body h4, .manager-care-body p { margin: 0; }
.manager-care-body h3 { font-size: 1rem; }
.manager-care-body p { font-size: 0.875rem; line-height: 1.6; }
.manager-care-muted { color: var(--muted); }
.manager-care-section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; }
.manager-care-plan { border: 1px solid var(--line); border-radius: 12px; padding: 1.25rem; display: grid; gap: 1rem; }
.manager-care-plan-title { display: flex; gap: 1rem; align-items: center; justify-content: space-between; text-align: left; background: transparent; border: 0; padding: 0; font: inherit; cursor: pointer; }
.manager-care-plan-title > span:first-child { display: grid; gap: 0.375rem; }
.manager-care-plan-title strong, .manager-care-link { color: var(--accent); }
.manager-care-plan-title small, .manager-care-plan > small { color: var(--muted); }
.manager-care-link { border: 0; background: transparent; padding: 0; font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.manager-care-progress { display: grid; gap: 0.5rem; }
.manager-care-progress progress { width: 100%; height: 8px; accent-color: var(--accent); }
.manager-care-series-item { display: grid; gap: 0.75rem; border-top: 0; padding: 1.25rem 0; }
.manager-care-series-item:last-child { padding-bottom: 0; }
.manager-care-series-item > button { justify-self: start; }
.manager-care-series-visits { display: grid; gap: 0.75rem; margin-top: 8px; }
.manager-care-series-visit { display: grid; grid-template-columns: minmax(130px,1fr) minmax(140px,1fr) auto auto; gap: 1rem; align-items: center; border-bottom: 1px solid var(--z-row-separator, #f1f3f5); padding: 0.75rem 0; font-size: 0.8125rem; }
.manager-care-body section { display: grid; gap: 1rem; }
.manager-care-record { border-bottom: 1px solid var(--z-row-separator, #f1f3f5); padding: 1rem 0; display: grid; gap: 0.5rem; }
.manager-care-record time { color: var(--muted); font-size: 0.75rem; }
.manager-care-record .manager-care-note { white-space: pre-wrap; overflow-wrap: anywhere; }
.manager-care-record-form, .manager-care-planner { display: grid; gap: 1rem; border-top: 0; padding-top: 1.25rem; }
.manager-care-body label { display: grid; gap: 0.5rem; font-size: 0.8125rem; font-weight: 600; }
.manager-care-body input, .manager-care-body select, .manager-care-body textarea { width: 100%; min-height: 2.5rem; border: 1px solid var(--line); border-radius: 8px; padding: 0.625rem 0.75rem; color: var(--text); background: #fff; font: inherit; box-sizing: border-box; }
.manager-care-body button, .manager-care-body .desktop-secondary { justify-self: start; min-height: 2.25rem; border-radius: 8px; padding: 0.5rem 0.75rem; font-size: 0.8125rem; text-decoration: none; box-shadow: none; }
.manager-care-body .desktop-secondary { background: #fff; border: 1px solid var(--accent); color: var(--accent); }
.manager-care-body button:disabled { opacity: .55; cursor: wait; }
.manager-care-planner-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.manager-care-terms { display: grid; gap: 0.75rem; }
.manager-care-term { display: grid; grid-template-columns: 24px 1fr 1fr; align-items: center; gap: 1rem; }
.manager-care-file { max-width: 350px; color: var(--muted); }
.manager-care-file input { border: 0; padding: 0; min-height: 0; }
@media(max-width:900px) {
  .manager-care-columns { grid-template-columns: minmax(0,1fr); }
  .manager-care-series-visit { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .manager-care-planner-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .manager-care-visit dl, .manager-care-planner-fields { grid-template-columns: minmax(0,1fr); }
  .manager-care-plan-title { align-items: start; flex-direction: column; }
}

/* An explicit action makes appointment details discoverable. */
.desktop-visits .desktop-appointment-grid,
.manager-calendar-workspace .desktop-calendar-day-plan .desktop-appointment-grid {
  min-width: 0;
  grid-template-columns: 80px minmax(110px,1.15fr) minmax(110px,1.25fr) minmax(95px,1fr) minmax(90px,1fr) minmax(90px,1fr) 120px;
}
.manager-visit-open {
  justify-self: end; padding: 0.5rem 0.75rem; min-height: 2.25rem; border: 0;
  border-radius: 8px; background: transparent; color: #2f6bff; font: inherit;
  font-size: 0.8125rem; font-weight: 600; white-space: nowrap; cursor: pointer; box-shadow: none;
}
.manager-visit-open:focus-visible { outline: 2px solid #2f6bff; outline-offset: 3px; }
@media (max-width:1100px) {
  .desktop-visits .desktop-table-head.desktop-appointment-grid,
  .manager-calendar-workspace .desktop-calendar-day-plan .desktop-table-head.desktop-appointment-grid { display: none; }
  .desktop-visits .desktop-table-row.desktop-appointment-grid,
  .manager-calendar-workspace .desktop-calendar-day-plan .desktop-table-row.desktop-appointment-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.75rem; min-width: 0;
  }
  .desktop-appointment-grid .manager-visit-open { grid-column: 1 / -1; }
}

.desktop-contact-row .desktop-contact-visit { border: 0; background: transparent; color: #2f6bff; font-size: 0.8125rem; }
.manager-contact-result { min-width: 0; max-width: 100%; }
.manager-contact-result summary { list-style: none; cursor: pointer; border: 1px solid #2f6bff; border-radius: 8px; background: #fff; color: #2f6bff; padding: 0.5rem 0.75rem; font-size: 0.8125rem; font-weight: 600; }
.manager-contact-result summary::-webkit-details-marker { display: none; }
.manager-contact-result summary:focus-visible { outline: 2px solid #2f6bff; outline-offset: 3px; }
.manager-contact-result-form { display: grid; gap: 0.75rem; padding: 0; width: 100%; max-width: 360px; }
.manager-contact-result-form label { display: grid; gap: 0.5rem; font-size: 0.8125rem; }
.manager-contact-result-form select { width: 100%; min-height: 2.5rem; border: 1px solid var(--line); border-radius: 8px; padding: 0.5rem; background: #fff; color: var(--text); font: inherit; }
.manager-contact-result-form p { margin: 0; font-size: 0.75rem; line-height: 1.5; color: var(--muted); }
.manager-contact-result-form button { justify-self: end; }

/* Patient page follows the specialist card layout and tab treatment. */
.manager-patient-page { display: grid; gap: 1.5rem; }
.manager-patient-page-heading { display: grid; justify-items: start; gap: 0.5rem; }
.manager-patient-page-heading h1 { margin: 8px 0 0; color: #111827; font-size: 1.5rem; font-weight: 700; }
.manager-patient-page-heading p { margin: 0; color: #6b7280; font-size: 0.8125rem; }
.manager-patient-page .desktop-patient-card { display: grid; gap: 1.5rem; overflow: visible; border: 0; background: transparent; padding: 0; }
.manager-patient-page .desktop-patient-tabs { display: flex; flex-wrap: wrap; gap: 0.25rem; border-bottom: 0; padding: 0; }
.manager-patient-page .desktop-patient-tabs button { min-height: 2.625rem; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #6b7280; padding: 0 0.875rem; cursor: pointer; font-size: 0.8125rem; font-weight: 600; }
.manager-patient-page .desktop-patient-tabs button:hover { color: #111827; }
.manager-patient-page .desktop-patient-tabs button.is-active { border-bottom-color: #2f6bff; color: #2f6bff; }
.manager-patient-page button:focus-visible { outline: 2px solid #2f6bff; outline-offset: 2px; }
.desktop-patient-card-grid { display: grid; gap: 2rem; }
.manager-patient-page .desktop-patient-card-metrics { gap: 1rem; background: transparent; }
.manager-patient-page .desktop-patient-card-metrics > span { border: 1px solid #e5eaf2; border-radius: 12px; }
.manager-patient-page .desktop-patient-card-body { padding: 0; gap: 1.5rem; }
.manager-patient-page .desktop-patient-visits, .manager-patient-page .manager-care-body, .manager-patient-page .desktop-patient-therapy { border: 1px solid #e5eaf2; border-radius: 12px; background: #fff; }
.manager-patient-page .desktop-patient-detail-actions { justify-content: flex-end; }
.manager-patient-visits-switch { display: inline-flex; width: max-content; max-width: 100%; gap: 0.125rem; padding: 0.1875rem; margin: 16px 0; border: 0; border-radius: 12px; background: #f6f8fc; }
.manager-patient-visits-switch button { display: inline-flex; min-height: 2.25rem; align-items: center; gap: 0.5rem; padding: 0 0.75rem; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #6b7280; white-space: normal; cursor: pointer; font-size: 0.8125rem; font-weight: 600; }
.manager-patient-visits-switch button.is-active { color: #2f6bff; border-color: #2f6bff; background: #fff; }
.manager-patient-visits-switch button span { color: inherit; font-size: 0.8125rem; }
.manager-patient-payment-grid { grid-template-columns: 1.1fr 1.5fr 1fr 1fr auto; }
@media (max-width: 800px) {
  .manager-patient-page .desktop-patient-card-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manager-patient-page .desktop-table-head { display: none; }
  .manager-patient-page .desktop-patient-visit-grid, .manager-patient-payment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
  .manager-patient-page .desktop-table-row > :last-child { justify-self: end; }
}


/* Payment hierarchy and readable contrast within appointment details. */
.manager-care-payment .manager-care-body { gap: 1rem; }
.manager-care-payment-form { display: grid; gap: 0.875rem; width: 100%; max-width: 34rem; }
.manager-care-payment-actions { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 0.75rem; }
.manager-care-payment-actions > label { flex: 0 1 15rem; min-width: 0; }
.manager-care-payment-actions > button { flex: 0 0 auto; min-height: 2.5rem; margin: 0; white-space: nowrap; }
.manager-care-payment-reason { max-width: 34rem; }
.manager-care-payment .manager-care-body { color: #111827; }
.manager-care-payment-summary { display: grid; gap: 0.375rem; }
.manager-care-payment-summary .manager-care-payment-caption { color: #475569; font-size: 0.8125rem; font-weight: 500; }
.manager-care-payment-summary .manager-care-payment-amount { color: #111827; font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
.manager-care-payment-summary p { color: #475569; }
.manager-care-payment-form label { color: #111827; font-size: 0.875rem; font-weight: 600; }
.manager-care-payment-form :is(input, select) { color: #111827; font-size: 0.875rem; font-weight: 400; border-color: #cbd5e1; border-radius: 12px; min-height: 2.5rem; }
.manager-care-payment-form input::placeholder { color: #64748b; opacity: 1; }
.manager-care-payment-form :is(input, select, button):focus-visible { outline: 2px solid #2f6bff; outline-offset: 3px; }
.manager-care-payment-actions > button { color: #2f6bff; border-color: #2f6bff; font-size: 0.875rem; font-weight: 600; border-radius: 12px; padding: 0 0.875rem; }
.manager-care-payment-actions > button:disabled { color: #475569; border-color: #cbd5e1; opacity: 1; cursor: default; }
.manager-care-payment-note { display: grid; gap: 0.625rem; }
.manager-care-payment-note[hidden] { display: none; }
.manager-care-payment-form .manager-care-muted { color: #475569; font-size: 0.8125rem; line-height: 1.5; }
.manager-care-visit dt { color: #475569; font-weight: 500; }
.manager-care-visit dd { color: #111827; }
@media (max-width: 480px) {
  .manager-care-payment-actions > label { flex: 1 1 10rem; }
  .manager-care-payment-actions > button { max-width: 100%; }
}
