.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%; }
}

/* Readable patient summary, aligned with the visit detail typography. */
.manager-patient-page .desktop-patient-card-metrics small,
.manager-patient-page .desktop-patient-info dt {
  color: #526078;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.manager-patient-page .desktop-patient-card-metrics strong {
  font-size: 1.5rem;
  line-height: 1.3;
}
.manager-patient-page .desktop-patient-info h3,
.manager-patient-page .desktop-patient-plan-preview h3 {
  color: #111827;
  font-size: 1rem;
  line-height: 1.5;
}
.manager-patient-page .desktop-patient-info dd,
.manager-patient-page .desktop-patient-plan-preview strong {
  color: #111827;
  font-size: 1rem;
  line-height: 1.5;
}
.manager-patient-page .desktop-patient-plan-preview p,
.manager-patient-page .desktop-patient-plan-preview > div:last-child {
  color: #526078;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.manager-patient-page .desktop-patient-info dl { gap: 1.25rem 1.5rem; }
@media (max-width: 800px) {
  .manager-patient-page .desktop-patient-info dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manager-patient-page .desktop-patient-plan-preview { flex-wrap: wrap; }
  .manager-patient-page .desktop-patient-plan-preview > div { min-width: 0; max-width: 100%; }
}
@media (max-width: 560px) {
  .manager-patient-page .desktop-patient-info dl { grid-template-columns: minmax(0, 1fr); }
}

/* Patient summary uses white cards and the platform's blue outline interaction. */
.manager-patient-page :is(.desktop-patient-info, .desktop-patient-plan-preview) {
  background: #fff;
  border-color: #e5eaf2;
  border-radius: 12px;
}
.manager-patient-summary-link {
  display: grid;
  gap: .4375rem;
  min-width: 0;
  padding: 1rem 1.25rem;
  border: 1px solid #e5eaf2;
  border-radius: 12px;
  background: #fff;
  color: #111827;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.manager-patient-summary-link:hover { border-color: #2f6bff; }
.manager-patient-summary-link:focus-visible,
.manager-patient-contact-link:focus-visible,
.manager-patient-plan-link:focus-visible { outline: 2px solid #2f6bff; outline-offset: 3px; }
.manager-patient-contact-link,
.manager-patient-plan-link { color: #2f6bff; overflow-wrap: anywhere; text-decoration: none; }
.manager-patient-contact-link:hover,
.manager-patient-plan-link:hover { text-decoration: underline; }
.manager-patient-plan-link { padding: 0; border: 0; background: transparent; font: inherit; font-size: 1rem; font-weight: 600; cursor: pointer; text-align: left; }
.manager-patient-page .desktop-patient-plan-preview.is-empty { display: block; }
.manager-patient-page .desktop-patient-plan-preview.is-empty > div { display: block; min-width: 0; }
.manager-patient-visit-filter { margin: 0 0 1rem; color: #526078; font-size: .875rem; }

/* Patient visit separators and row hover reach the enclosing card edges. */
.manager-patient-page .desktop-patient-visits { padding: 0; overflow: hidden; }
.manager-patient-page .desktop-patient-visits > .manager-patient-visits-switch { margin: 16px 20px; }
.manager-patient-page .desktop-patient-visits > .manager-patient-visit-filter { margin: 0 20px 16px; }
.manager-patient-page .desktop-patient-visits > .desktop-secondary { margin: 0 20px 16px; }
.manager-patient-page .desktop-patient-visits > .desktop-table { border: 0; border-radius: 0; }
@media (max-width: 800px) {
  .manager-patient-page .desktop-patient-visits .desktop-patient-visit-grid { min-width: 0; }
}

/* Patient documentation uses separate compact cards. */
.manager-patient-page .manager-care-body.manager-patient-documentation { padding: 0; gap: 14px; border: 0; background: transparent; }
.manager-patient-documentation > .manager-patient-documentation-card { display: grid; gap: 10px; min-width: 0; padding: 18px; border: 1px solid #e5eaf2; border-radius: 12px; background: #fff; }
.manager-patient-documentation-card h3 { color: #15213b; font-size: 16px; font-weight: 700; line-height: 1.5; }
.manager-patient-documentation-card .manager-documentation-empty { display: flex; align-items: center; gap: 12px; }
.manager-documentation-empty-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 8px; background: #f1f3f5; color: #8492a6; }
.manager-documentation-empty-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.manager-documentation-empty > div { min-width: 0; }
.manager-documentation-empty strong { color: #15213b; font-size: 14px; font-weight: 500; line-height: 1.5; }
.manager-patient-documentation-card .manager-documentation-empty p { color: #8492a6; font-size: 13px; line-height: 1.55; }
.manager-patient-documentation-card .manager-visit-document-actions { display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.manager-patient-documentation-card .manager-visit-document-actions > details { flex: 0 1 auto; min-width: 0; max-width: 100%; }
.manager-patient-documentation-card .manager-visit-document-actions > details[open] { flex-basis: 100%; }
.manager-patient-documentation-card .manager-visit-document-actions summary { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; padding: 10px 16px; border: 1px solid #d1d5db; border-radius: 8px; background: #fff; color: #15213b; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; box-shadow: none; cursor: pointer; list-style: none; }
.manager-patient-documentation-card .manager-visit-document-actions summary:hover { border-color: #2f6bff; }
.manager-patient-documentation-card .manager-visit-document-actions summary:focus-visible { outline: 2px solid #2f6bff; outline-offset: 3px; }
.manager-patient-documentation-card .manager-visit-document-actions summary::-webkit-details-marker { display: none; }
@media (max-width: 600px) { .manager-patient-documentation > .manager-patient-documentation-card { padding: 16px; } }
