:root {
  color-scheme: light;
  --ink: #172638;
  --muted: #5a6878;
  --line: #cfd8df;
  --line-strong: #9baab6;
  --surface: #ffffff;
  --surface-soft: #f5f8f8;
  --band: #eaf2f1;
  --accent: #087f78;
  --accent-dark: #075e5a;
  --blue: #2c66a5;
  --green: #16734a;
  --red: #b42318;
  --amber: #8a5b05;
  --violet: #76519f;
  --focus: #ffbf47;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; background: #eef2f3; color: var(--ink); }
button, input, select { font: inherit; letter-spacing: 0; }
button, input, select { min-height: 42px; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}
[hidden] { display: none !important; }

.request-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.language-control { position: fixed; inset-block-start: 10px; inset-inline-end: 12px; z-index: 40; display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 4px 7px; border: 1px solid var(--line-strong); background: white; box-shadow: 0 2px 8px rgb(23 38 56 / .1); }
.language-control > span:first-child { font-size: 1.15rem; }
.language-control select { min-height: 32px; max-width: 138px; border: 0; background: white; color: var(--ink); font-weight: 650; }
.request-panel { width: min(620px, 100%); background: var(--surface); border: 1px solid var(--line); padding: 32px; }
.brand-line { color: var(--accent-dark); font-weight: 750; display: flex; align-items: center; gap: 10px; }
.brand-logo { width: 38px; height: 38px; border-radius: 8px; object-fit: cover; }
.request-panel h1 { font-size: 1.75rem; margin: 28px 0 8px; }
.request-panel .brand-line { justify-content: center; text-align: center; }
.request-panel .brand-line h1 { font-size: 1.6rem; margin: 0; line-height: 1.2; }
.request-panel p { line-height: 1.5; }
.request-panel form { display: grid; gap: 8px; margin-top: 24px; }
.request-panel input { width: 100%; padding: 10px 12px; border: 1px solid #8795a4; background: white; color: var(--ink); }
.request-panel button { margin-top: 8px; border: 0; background: var(--accent); color: white; font-weight: 700; padding: 10px 18px; }
.request-panel button:hover { background: var(--accent-dark); }
.request-qr { width: min(360px, 78vw); aspect-ratio: 1; margin: 8px auto; padding: 10px; border: 1px solid var(--line); background: white; }
.request-qr:empty { background: var(--surface-soft); }
.request-qr svg { display: block; width: 100%; height: 100%; }
.request-recovery { width: min(360px, 78vw); min-height: min(360px, 78vw); margin: 22px auto 8px; padding: 20px; border: 1px solid var(--line); background: var(--surface-soft); display: flex; flex-direction: column; justify-content: center; gap: 18px; text-align: center; }
.request-recovery p { margin: 0; color: var(--red); font-weight: 650; }
.request-intro { margin-bottom: 4px; text-align: center; }
.request-intro p { margin: 8px 0; }
.request-step { margin: 4px 0; text-align: center; line-height: 1.55; }
.diary-button-icon { width: 34px; height: 34px; vertical-align: middle; }
.request-then { font-weight: 700; text-align: center; }
.request-or { text-align: center; font-weight: 700; margin: 4px 0; }
#request-heading { min-width: 0; }
#request-rendezvous { display: inline-block; white-space: nowrap; direction: ltr; unicode-bidi: isolate; }
#request-rendezvous-code { color: var(--accent-dark); font-size: 1.15rem; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.request-expiry { margin: 8px 0; color: var(--muted); text-align: center; font-size: .9rem; }
#request-button { display: block; width: 100%; border: 0; background: var(--accent); color: white; font-weight: 700; padding: 10px 18px; }
.status { min-height: 24px; color: var(--blue); font-weight: 650; }
.privacy-note { border-top: 1px solid var(--line); margin-top: 4px; padding-top: 10px; color: var(--ink); font-size: 1.05rem; white-space: pre-line; }
.verification-input { font-size: 2rem !important; font-variant-numeric: tabular-nums; text-align: center; letter-spacing: .18em; }

.dashboard { min-height: 100vh; display: grid; grid-template-rows: auto auto auto 1fr auto; background: var(--surface); }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 4px; padding-inline-start: 22px; padding-inline-end: 250px; border-bottom: 1px solid var(--line); background: var(--surface); position: sticky; top: 0; z-index: 5; }
[dir="rtl"] .topbar { padding-inline-end: max(176px, 11rem); }
.topbar h1 { font-size: 1rem; margin: 0; }
.brand-line h1 { min-width: 0; margin: 0; line-height: 1.25; overflow-wrap: anywhere; }
#snapshot-title-context { font-weight: 650; }
.subtle { color: var(--muted); margin: 0; font-size: .86rem; }
.dashboard-status { margin: 4px 0 0; color: var(--red); font-size: .8rem; font-weight: 650; }
.tools { display: flex; flex: none; flex-wrap: nowrap; justify-content: flex-end; gap: 2px; }
.icon-command { min-width: 58px; border: 1px solid transparent; background: transparent; color: var(--ink); padding: 3px 4px; display: grid; justify-items: center; gap: 1px; font-size: .72rem; }
.icon-command span:first-child { font-size: 1.15rem; }
.icon-command:hover { border-color: var(--line); background: var(--surface-soft); }
.icon-command:disabled { cursor: default; opacity: .48; }

.find-panel { position: relative; display: grid; grid-template-columns: auto minmax(260px, 640px) auto; justify-content: center; align-items: center; gap: 10px; padding: 8px 18px; border-bottom: 1px solid var(--line); background: var(--surface-soft); }
.find-panel label { font-size: .82rem; font-weight: 750; }
.find-panel input { width: min(640px, 64vw); padding: 7px 10px; border: 1px solid var(--line-strong); }
.find-results { position: absolute; z-index: 9; top: calc(100% - 2px); left: 50%; width: min(760px, 90vw); max-height: min(480px, 56vh); overflow: auto; transform: translateX(-50%); border: 1px solid var(--line-strong); background: white; box-shadow: 0 10px 24px rgb(19 42 59 / .18); }
.find-result { width: 100%; min-height: 48px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 8px 12px; border: 0; border-bottom: 1px solid var(--line); background: white; color: var(--ink); text-align: start; }
.find-result:hover, .find-result[aria-selected="true"] { background: var(--band); }
.find-result strong, .find-result span { min-width: 0; overflow-wrap: anywhere; }
.find-result span { color: var(--muted); font-size: .76rem; }
.find-panel > .empty { grid-column: 1 / -1; margin: 0; padding: 0; text-align: center; }

.summary-band { display: grid; grid-template-columns: 1.25fr repeat(4, minmax(100px, 1fr)); border-bottom: 1px solid var(--line); background: var(--band); }
.summary-band > button { min-width: 0; padding: 9px 18px; border: 0; border-inline-end: 1px solid var(--line); background: transparent; color: var(--ink); text-align: start; }
.summary-band > button:hover { background: #dceae8; }
.summary-band > button:last-of-type { border-inline-end: 0; }
.summary-band strong, .summary-band span { display: block; }
.summary-band strong { font-size: 1.22rem; font-variant-numeric: tabular-nums; }
.summary-band span { color: var(--muted); font-size: .78rem; margin-top: 1px; }
.screen-reader-counts { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.content { min-width: 0; }
.filters { min-width: 0; display: grid; grid-template-columns: auto minmax(150px, .8fr) minmax(130px, .65fr) minmax(130px, .65fr) minmax(310px, 1.7fr) auto; gap: 7px 12px; align-items: end; padding: 8px 16px; border-bottom: 1px solid var(--line); background: var(--surface-soft); }
.filters h2 { grid-column: 1; grid-row: 1; margin: 0 6px 10px 0; font-size: .98rem; }
.filters > label { min-width: 0; display: grid; gap: 3px; color: var(--muted); font-weight: 650; font-size: .78rem; }
.filters input[type="date"], .filters select { width: 100%; min-width: 0; padding: 7px 8px; border: 1px solid var(--line-strong); background: white; color: var(--ink); }
.filters fieldset { min-width: 0; border: 0; margin: 0; padding: 0; }
.filters legend { color: var(--muted); font-weight: 700; font-size: .78rem; margin-bottom: 4px; }
.entry-type-filters { display: flex; flex-wrap: wrap; gap: 2px 12px; align-items: center; }
.entry-type-filters { grid-column: 5; grid-row: 1; }
.entry-type-filters label { display: flex; gap: 5px; align-items: center; min-height: 28px; white-space: nowrap; font-size: .79rem; }
.filters input[type="checkbox"] { min-height: 18px; width: 18px; margin: 0; }
.filter-commands { grid-column: 6; grid-row: 1; display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: 6px; }
.secondary-command { min-width: 108px; border: 1px solid var(--accent); color: var(--accent-dark); background: white; padding: 7px 10px; font-weight: 650; }
.secondary-command:hover { background: var(--band); }

.clinical-workspace { --main-left: 60%; --review-left: 58%; --calendar-height: 50%; direction: ltr; display: grid; grid-template-columns: minmax(680px, var(--main-left)) 8px minmax(500px, 1fr); min-height: 430px; height: calc(100vh - 286px); border-bottom: 1px solid var(--line-strong); }
.review-workspace { min-width: 0; min-height: 0; display: grid; grid-template-columns: minmax(390px, var(--review-left)) 8px minmax(280px, 1fr); overflow: hidden; }
[dir="rtl"] .clinical-workspace .left-workspace,
[dir="rtl"] .clinical-workspace .care-plan-pane,
[dir="rtl"] .clinical-workspace .chart-workspace { direction: rtl; }
.left-workspace { min-width: 0; min-height: 0; height: 100%; display: grid; grid-template-rows: minmax(240px, var(--calendar-height)) 8px minmax(180px, 1fr); overflow: hidden; }
.workspace-pane { min-width: 0; min-height: 0; background: var(--surface); overflow: hidden; }
.care-plan-pane { display: grid; grid-template-rows: auto minmax(0, 1fr); border-inline-start: 1px solid var(--line); }
.care-plan-body { overflow: auto; padding: 8px 9px 16px; }
.care-plan-list { display: grid; gap: 7px; }
.care-plan-list + .care-plan-list { margin-top: 11px; }
.care-plan-group-title { margin: 4px 2px 1px; color: var(--muted); font-size: .77rem; text-transform: uppercase; }
.care-plan-item { border-inline-start: 4px solid var(--accent); padding: 8px 9px; background: #f8fbfb; }
.care-plan-item.medication-card[role="button"] { cursor: pointer; }
.care-plan-item.medication-card[role="button"]:hover { background: #e8f3f7; }
.care-plan-item.medication-card.selected { background: #dceff6; box-shadow: inset 0 0 0 2px #26789a; }
.care-event-card { border-inline-start-color: var(--blue); }
.care-plan-item-heading { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: start; gap: 6px; }
.care-plan-item-heading h3 { min-width: 0; margin: 2px 0 4px; font-size: .83rem; line-height: 1.25; overflow-wrap: anywhere; }
.care-plan-route-icon { font-size: 1.05rem; line-height: 1.2; }
.care-plan-completion { direction: ltr; unicode-bidi: isolate; white-space: nowrap; padding: 2px 5px; border: 1px solid #8ebeb3; background: #e6f5f0; color: var(--accent-dark); font-size: .7rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.care-plan-medication-content { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; align-items: start; }
.care-plan-medication-content.has-media { grid-template-columns: minmax(0, 1fr) minmax(90px, 34%); }
.care-plan-medication-copy { min-width: 0; }
.care-plan-medication-media { min-width: 0; display: flex; flex-direction: column; gap: 5px; align-self: start; }
.care-plan-medication-image { min-width: 0; margin: 0; display: flex; justify-content: center; overflow: hidden; border: 1px solid var(--line); background: white; }
.care-plan-medication-image img { width: auto; height: auto; max-width: 100%; max-height: 170px; display: block; object-fit: contain; }
.care-plan-image-open { width: 100%; min-width: 0; padding: 0; display: flex; justify-content: center; border: 0; background: transparent; cursor: zoom-in; }
.care-plan-image-open:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; }
.care-event-toggle { display: inline-grid; place-items: center; width: 30px; min-width: 30px; height: 30px; padding: 0; border: 1px solid var(--line-strong); border-radius: 50%; background: white; color: var(--blue); font-size: 1.2rem; font-weight: 800; line-height: 1; }
.care-event-toggle:hover { background: var(--band); border-color: var(--blue); }
.care-event-occurrences { max-height: 220px; margin-top: 7px; overflow: auto; border-top: 1px solid var(--line); }
.care-event-occurrence { width: 100%; min-height: 34px; display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 5px; padding: 5px 3px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: start; font-size: .72rem; font-variant-numeric: tabular-nums; }
.care-event-occurrence:hover { background: white; }
.care-event-occurrence-status { color: var(--muted); font-weight: 800; text-align: center; }
.care-event-occurrence-when { min-width: 0; display: flex; flex-wrap: wrap; gap: 2px 9px; align-items: baseline; }
.care-event-occurrence-when bdi { white-space: nowrap; }
.care-event-occurrence.status-completed .care-event-occurrence-status { color: var(--green); }
.care-event-occurrence.status-not_performed .care-event-occurrence-status { color: var(--red); }
.care-plan-item p { margin: 3px 0; font-size: .74rem; line-height: 1.35; overflow-wrap: anywhere; }
.care-plan-item .label { color: var(--muted); font-size: .7rem; }
.calendar-pane { border-bottom: 0; }
.pane-heading { min-height: 48px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 7px 12px; border-bottom: 1px solid var(--line); background: var(--surface-soft); }
.pane-heading h2 { min-width: 0; margin: 0; font-size: 1rem; line-height: 1.2; }
.pane-kicker { display: block; color: var(--muted); font-size: .72rem; font-weight: 700; }
.day-pane .pane-heading h2 { margin-top: 2px; }
.pane-commands { display: flex; gap: 4px; }
.collapse-button, .maximize-button, .calendar-nav-button { display: inline-grid; place-items: center; width: 38px; min-width: 38px; min-height: 36px; border: 1px solid var(--line); background: white; color: var(--ink); font-size: 1.2rem; }
.collapse-button:hover, .maximize-button:hover, .calendar-nav-button:hover { background: var(--band); border-color: var(--accent); }
.month-navigation { display: grid; grid-template-columns: 38px minmax(132px, auto) 38px; align-items: center; gap: 5px; }
.month-navigation strong { text-align: center; font-size: .88rem; }
.pane-body { min-height: 0; }
.workspace-pane.is-collapsed .pane-body { display: none; }
.left-workspace.calendar-collapsed { grid-template-rows: auto 0 minmax(180px, 1fr); }
.left-workspace.day-collapsed { grid-template-rows: minmax(280px, 1fr) 0 auto; }
.pane-divider { position: relative; z-index: 2; background: #d9e1e5; touch-action: none; }
.pane-divider::after { content: ""; position: absolute; inset: 2px; background: var(--line-strong); opacity: .55; }
.vertical-divider { cursor: col-resize; }
.vertical-divider::after { left: 3px; right: 3px; }
.horizontal-divider { cursor: row-resize; }
.horizontal-divider::after { top: 3px; bottom: 3px; }
.pane-divider:hover, .pane-divider:focus-visible, .pane-divider.is-dragging { background: var(--focus); }
.clinical-workspace.maximized-calendar-pane { grid-template-columns: minmax(0, 1fr); }
.clinical-workspace.maximized-calendar-pane .day-pane,
.clinical-workspace.maximized-calendar-pane .care-plan-pane,
.clinical-workspace.maximized-calendar-pane .chart-workspace,
.clinical-workspace.maximized-calendar-pane > .vertical-divider,
.clinical-workspace.maximized-calendar-pane .review-workspace > .vertical-divider,
.clinical-workspace.maximized-calendar-pane .horizontal-divider { display: none; }
.clinical-workspace.maximized-calendar-pane .review-workspace { grid-template-columns: minmax(0, 1fr); }
.clinical-workspace.maximized-calendar-pane .left-workspace { grid-template-rows: minmax(0, 1fr); border: 0; }
.clinical-workspace.maximized-day-pane { grid-template-columns: minmax(0, 1fr); }
.clinical-workspace.maximized-day-pane .calendar-pane,
.clinical-workspace.maximized-day-pane .care-plan-pane,
.clinical-workspace.maximized-day-pane .chart-workspace,
.clinical-workspace.maximized-day-pane > .vertical-divider,
.clinical-workspace.maximized-day-pane .review-workspace > .vertical-divider,
.clinical-workspace.maximized-day-pane .horizontal-divider { display: none; }
.clinical-workspace.maximized-day-pane .review-workspace { grid-template-columns: minmax(0, 1fr); }
.clinical-workspace.maximized-day-pane .left-workspace { grid-template-rows: minmax(0, 1fr); border: 0; }
.clinical-workspace.maximized-care-plan-pane { grid-template-columns: minmax(0, 1fr); }
.clinical-workspace.maximized-care-plan-pane .left-workspace,
.clinical-workspace.maximized-care-plan-pane .chart-workspace,
.clinical-workspace.maximized-care-plan-pane > .vertical-divider,
.clinical-workspace.maximized-care-plan-pane .review-workspace > .vertical-divider { display: none; }
.clinical-workspace.maximized-care-plan-pane .review-workspace { grid-template-columns: minmax(0, 1fr); }
.clinical-workspace.maximized-chart-workspace { grid-template-columns: minmax(0, 1fr); }
.clinical-workspace.maximized-chart-workspace .review-workspace,
.clinical-workspace.maximized-chart-workspace > .vertical-divider { display: none; }

.calendar-surface { height: calc(100% - 48px); min-height: 0; display: grid; grid-template-rows: max-content 32px max-content; overflow: auto; padding: 8px 10px 7px; }
.calendar-entry-filters { min-width: 0; min-height: 32px; max-height: 84px; display: flex; flex-wrap: wrap; align-items: center; align-content: start; gap: 2px 7px; margin: 0 0 5px; padding: 3px 6px; overflow-x: hidden; overflow-y: auto; border: 1px solid var(--line); background: var(--surface-soft); }
.calendar-filter-heading { margin-inline-end: 2px; color: var(--muted); font-size: .76rem; font-weight: 750; }
.calendar-entry-filters label { min-height: 22px; display: inline-flex; align-items: center; gap: 3px; color: var(--ink); font-size: .78rem; font-weight: 650; white-space: nowrap; }
.calendar-entry-filters input { width: 16px; height: 16px; min-height: 16px; margin: 0; }
.calendar-primary-filters, .calendar-measurement-filters { display: contents; }
.calendar-measurement-filters[hidden], .calendar-measurement-filters:empty { display: none; }
.calendar-filter-icon { width: 18px; height: 18px; object-fit: contain; }
.calendar-weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-weekdays span { min-width: 0; overflow: hidden; padding: 5px 3px; color: var(--muted); font-size: .82rem; font-weight: 750; text-align: center; }
.calendar-grid { min-height: 540px; grid-template-rows: repeat(6, minmax(90px, max-content)); border-top: 1px solid var(--line); border-inline-start: 1px solid var(--line); }
.calendar-day { min-width: 0; min-height: 90px; max-height: 270px; overflow-y: auto; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; align-items: start; align-content: start; gap: 2px; padding: 4px 3px; border: 0; border-inline-end: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; color: var(--ink); text-align: center; }
.calendar-day:hover:not(:disabled) { background: #edf8f5; }
.calendar-day.outside-month { background: #f7f8f9; color: transparent; }
.calendar-day:disabled { color: #a4adb5; background: #f1f3f4; cursor: default; }
.calendar-day.in-display-range:not(.selected) { background: #dceeea; }
.calendar-day.selected { position: relative; z-index: 1; color: white; background: var(--accent-dark); box-shadow: inset 0 0 0 2px white, inset 0 0 0 4px var(--accent-dark); transform: scale(1.02); transform-origin: center; }
.calendar-day.selected:hover:not(:disabled) { color: white; background: #146b8c; }
.calendar-day.medication-status-completed { outline: 3px solid #168153; outline-offset: -4px; }
.calendar-day.medication-status-not-performed { outline: 3px solid #c13232; outline-offset: -4px; }
.calendar-day.medication-status-partial { outline: 3px solid #b66500; outline-offset: -4px; }
.calendar-day-number { width: 100%; font-size: 1rem; font-weight: 800; font-variant-numeric: tabular-nums; text-align: center; }
.calendar-marks { min-width: 0; width: 100%; display: grid; grid-auto-rows: minmax(18px, auto); align-content: start; justify-items: center; gap: 2px; font-size: .78rem; line-height: 1.1; }
.calendar-mark { min-width: 0; max-width: 100%; display: inline-flex; justify-content: center; align-items: center; gap: 2px; white-space: nowrap; }
.calendar-laboratory-icon-only { font-size: 1.1rem; }
.calendar-medication-row { font-weight: 850; }
.calendar-measurement-row { width: 100%; flex-wrap: wrap; font-size: .72rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.calendar-care-row { width: 100%; justify-content: center; flex-wrap: wrap; overflow-wrap: anywhere; padding-inline: 2px; font-size: .7rem; font-weight: 500; text-align: center; white-space: normal; }
.calendar-care-title, .calendar-care-detail { min-width: 0; }
.calendar-care-detail { white-space: nowrap; font-variant-numeric: tabular-nums; }
.calendar-measurement-icon { width: 18px; height: 18px; object-fit: contain; }
.measurement-dual-value { min-width: 0; display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 1px 6px; direction: ltr; unicode-bidi: isolate; }
.measurement-conversion-value { display: inline-block; direction: ltr; unicode-bidi: isolate; white-space: nowrap; font-variant-numeric: tabular-nums; }
.calendar-mark.completed { color: var(--green); }
.calendar-mark.not-performed { color: var(--red); }
.calendar-day.selected .calendar-mark { color: white; }

.day-pane-body { height: calc(100% - 48px); overflow: auto; padding: 10px 12px; }
.outside-share-notice { margin-bottom: 10px; padding: 12px; border: 1px solid var(--line-strong); background: var(--band); }
.outside-share-notice p { margin: 0 0 10px; line-height: 1.4; }
.outside-share-notice .secondary-command { min-height: 40px; }
.dose-tracking { margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.tracking-heading { display: flex; justify-content: space-between; gap: 12px; font-size: .82rem; font-weight: 700; }
.tracking-bar { display: flex; height: 8px; margin: 6px 0 4px; overflow: hidden; background: #e6eaed; }
.tracking-segment.completed { background: var(--green); }
.tracking-segment.not-performed { background: var(--red); }
.tracking-segment.unrecorded { background: var(--amber); }
.tracking-legend { display: flex; flex-wrap: wrap; gap: 4px 12px; color: var(--muted); font-size: .7rem; }
.selected-day-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.local-tablet-actions { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.local-open-day { width: 100%; min-height: 48px; }
.local-measurement-recorder { margin: 12px 0 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; }
.local-measurement-recorder legend { padding: 0 6px; font-weight: 700; }
.local-measurement-buttons { display: grid; grid-template-columns: repeat(4, minmax(92px, 1fr)); gap: 8px; }
.local-measurement-button { min-height: 70px; display: grid; place-items: center; gap: 3px; padding: 8px; touch-action: manipulation; }
.local-measurement-button svg { width: 26px; height: 26px; }
@media (max-width: 760px) {
  .local-measurement-buttons { grid-template-columns: repeat(2, minmax(92px, 1fr)); }
}
.selected-day-column { min-width: 0; display: grid; align-content: start; }
.selected-day-column-clinical { padding-inline-start: 10px; border-inline-start: 1px solid var(--line); }
.selected-day-column-heading { margin: 0; padding: 3px 4px 7px; color: var(--muted); font-size: .78rem; }
.day-entry { min-width: 0; display: grid; grid-template-columns: 38px 24px minmax(0, 1fr); gap: 6px; align-items: start; padding: 7px 4px; border-bottom: 1px solid var(--line); }
.day-laboratory-group { grid-template-columns: max-content max-content minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 6px; row-gap: 3px; }
.day-laboratory-group .day-entry-time { font-size: .7rem; }
.day-laboratory-group .day-entry-main { grid-column: 1 / -1; grid-row: 2; }
.day-entry:last-child { border-bottom: 0; }
.day-entry-time { font-size: .76rem; font-variant-numeric: tabular-nums; color: var(--muted); }
.day-entry-icon { font-size: 1rem; text-align: center; }
.day-entry-main { min-width: 0; }
.day-entry-title, .day-entry-meta, .day-entry-remark { margin: 0; overflow-wrap: anywhere; }
.day-entry-title { font-size: .86rem; font-weight: 750; }
.day-entry-meta { margin-top: 2px; color: var(--muted); font-size: .75rem; }
.day-entry-remark { margin-top: 3px; font-size: .75rem; }
.day-entry-status { grid-column: 3; font-size: .75rem; font-weight: 750; white-space: nowrap; }
.laboratory-results-table { width: 100%; min-width: 0; max-width: 100%; margin-top: 5px; border-collapse: collapse; table-layout: fixed; font-size: .76rem; }
.laboratory-results-table th, .laboratory-results-table td { padding: 4px 2px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; vertical-align: top; }
.laboratory-results-table th { width: 30%; text-align: start; font-weight: 650; }
.laboratory-results-table td:nth-child(2) { width: 30%; text-align: end; font-variant-numeric: tabular-nums; }
.laboratory-results-table td:nth-child(3) { width: 40%; color: var(--muted); }
.laboratory-result-details td { color: var(--muted); font-size: .7rem; }
.laboratory-result-reference td { color: var(--muted); font-size: .7rem; padding-top: 1px; }

.chart-workspace { display: grid; grid-template-rows: auto auto minmax(0, 1fr); }
.chart-workspace.records-mode { grid-template-rows: auto minmax(0, 1fr); }
.chart-heading { grid-template-columns: minmax(90px, 1fr) auto auto auto; gap: 4px; padding: 6px; }
.chart-heading .right-pane-view { grid-column: 1; grid-row: 1; min-width: 0; max-width: 160px; padding: 6px; border: 1px solid var(--line-strong); border-radius: 6px; background: white; color: var(--ink); font: inherit; font-size: .78rem; font-weight: 750; }
.chart-heading .facet-layout-controls { grid-column: 2; grid-row: 1; }
.chart-heading .segmented-control { grid-column: 3; grid-row: 1; }
.chart-heading .pane-commands { grid-column: 4; grid-row: 1; }
.chart-heading .pane-commands button { width: 32px; min-width: 32px; min-height: 32px; }
.chart-measurement-picker { min-width: 0; display: flex; flex-wrap: wrap; gap: 3px 12px; align-items: center; padding: 6px 10px; border: 0; border-bottom: 1px solid var(--line); background: var(--surface-soft); }
.chart-measurement-picker legend { display: block; width: 100%; color: var(--muted); font-size: .76rem; font-weight: 750; }
.chart-measurement-picker label { display: inline-flex; gap: 5px; align-items: center; min-height: 28px; font-size: .76rem; white-space: nowrap; }
.chart-measurement-picker input { width: 18px; min-height: 18px; margin: 0; }
.facet-layout-controls { display: flex; flex-wrap: nowrap; gap: 3px; align-items: center; }
.facet-layout-controls > span { color: var(--muted); font-size: .76rem; font-weight: 750; }
.facet-layout-controls button { min-height: 30px; min-width: 0; max-width: 105px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 4px 6px; border: 1px solid var(--line-strong); border-radius: 6px; background: white; color: var(--ink); font: inherit; font-size: .72rem; cursor: pointer; }
.facet-layout-controls button.selected { border-color: var(--accent); background: var(--accent); color: white; font-weight: 750; }
.segmented-control { display: inline-flex; border: 1px solid var(--line-strong); background: white; }
.segmented-control button { width: 30px; min-height: 32px; border: 0; border-inline-end: 1px solid var(--line); background: white; color: var(--ink); }
.segmented-control button:last-child { border-inline-end: 0; }
.segmented-control button.selected { background: var(--accent); color: white; font-weight: 800; }
.chart-body { --medication-band-height: 128px; min-height: 0; display: grid; grid-template-rows: minmax(220px, 1fr) 8px minmax(96px, var(--medication-band-height)); overflow: auto; }
.chart-series-area { min-height: 0; display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); overflow: hidden; }
.chart-series-area > .measurement-grid, .chart-series-area > .empty { grid-area: 1 / 1; }
.chart-series-area > .empty { align-self: center; justify-self: center; margin: 0; text-align: center; }
.measurement-grid { min-height: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(220px, max-content); align-content: start; gap: 1px; overflow: auto; background: var(--line); }
.measurement-grid.facet-columns-1 { grid-template-columns: minmax(0, 1fr); }
.measurement-block { position: relative; min-width: 0; min-height: 220px; padding: 9px 10px 7px; background: white; }
.measurement-block h3 { margin: 0; font-size: .87rem; }
.measurement-heading-icon { width: 25px; height: 25px; margin-inline-end: 6px; object-fit: contain; vertical-align: middle; }
.measurement-visual-icon { width: 25px; height: 25px; object-fit: contain; }
.calendar-measurement-icon { width: 18px; height: 18px; object-fit: contain; vertical-align: -3px; }
.measurement-unit { color: var(--muted); font-weight: 500; }
.measurement-chart { width: 100%; height: 150px; display: block; overflow: visible; }
.chart-grid-line { stroke: #dfe5e8; stroke-width: 1; }
.chart-date-tick { stroke: var(--line-strong); stroke-width: 1; }
.chart-axis-label { fill: var(--muted); direction: ltr; unicode-bidi: isolate; font-size: 14px; font-weight: 600; }
.chart-series-0 { stroke: var(--accent); fill: var(--accent); }
.chart-series-1 { stroke: var(--blue); fill: var(--blue); }
.chart-series-2 { stroke: var(--violet); fill: var(--violet); }
.chart-series-non-fasting-glucose { stroke: var(--accent); fill: var(--accent); }
.chart-series-fasting-glucose { stroke: var(--blue); fill: var(--blue); }
.chart-line.chart-series-fasting-glucose { stroke-dasharray: 8 5; }
.chart-line { fill: none; stroke-width: 3; vector-effect: non-scaling-stroke; }
.chart-point { stroke: white; stroke-width: 2; cursor: pointer; }
.chart-point.selected { r: 7px; stroke: var(--focus); stroke-width: 3; }
.chart-cursor-line { stroke: var(--ink); stroke-width: 1.5; stroke-dasharray: 5 4; pointer-events: none; vector-effect: non-scaling-stroke; }
.chart-visit-marker { stroke: var(--accent); stroke-width: 2; stroke-dasharray: 2 5; opacity: .7; pointer-events: none; vector-effect: non-scaling-stroke; }
.chart-cursor-readout { min-height: 1.1rem; margin: 0; color: var(--ink); font-size: .72rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.chart-point-tooltip { position: fixed; z-index: 20; width: max-content; max-width: calc(100vw - 16px); padding: 7px 9px; border: 1px solid #0c1c29; border-radius: 5px; background: #183047; box-shadow: 0 4px 14px rgb(0 0 0 / .24); color: white; font-size: .72rem; line-height: 1.25; pointer-events: none; text-align: start; }
.chart-point-tooltip[hidden] { display: none; }
.chart-point-tooltip[dir="ltr"] { direction: ltr; }
.chart-point-tooltip[dir="rtl"] { direction: rtl; }
.chart-tooltip-timestamp { margin-bottom: 4px; font-weight: 800; white-space: nowrap; }
.chart-tooltip-time { font-variant-numeric: tabular-nums; }
.chart-tooltip-datum { display: flex; justify-content: space-between; gap: 12px; min-width: 170px; }
.chart-tooltip-value { min-width: 0; direction: ltr; unicode-bidi: isolate; font-variant-numeric: tabular-nums; }
.chart-series-legend { display: flex; flex-wrap: wrap; gap: 3px 12px; color: var(--muted); font-size: .7rem; }
.chart-series-legend i { display: inline-block; width: 12px; height: 3px; margin-inline-end: 4px; vertical-align: middle; background: var(--accent); }
.chart-series-legend i.chart-series-1 { background: var(--blue); }
.chart-series-legend i.chart-series-2 { background: var(--violet); }
.chart-series-legend i.chart-series-fasting-glucose { height: 0; border-top: 3px dashed var(--blue); background: transparent; }
.medication-band-divider { min-height: 8px; }
.medication-timeline-band { min-height: 96px; max-height: none; overflow: auto; padding: 8px 10px; background: #fbfcfc; }
.medication-timeline-band h3 { margin: 0 0 5px; font-size: .82rem; }
.medication-axis { min-width: 0; min-height: 32px; display: grid; grid-template-columns: 30% minmax(0, 1fr); }
.medication-axis-spacer { display: block; }
.medication-axis-track { position: relative; height: 32px; margin-inline-end: 4.91%; border-bottom: 1px solid var(--line-strong); }
.medication-axis-tick { position: absolute; bottom: 4px; transform: translateX(-50%); color: var(--muted); font-size: .68rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.medication-axis-tick::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 1px; height: 5px; background: var(--line-strong); }
.medication-lane { min-width: 0; min-height: 34px; display: grid; grid-template-columns: 30% minmax(0, 1fr); align-items: center; border-top: 1px solid var(--line); }
.medication-lane:first-child { border-top: 0; }
.medication-lane-label { min-width: 0; display: flex; gap: 5px; align-items: center; padding: 3px 8px 3px 2px; font-size: .72rem; font-weight: 700; line-height: 1.12; overflow-wrap: anywhere; }
.medication-lane-track { position: relative; height: 24px; margin-inline-end: 4.91%; border-bottom: 2px solid #bac6ce; }
.medication-event { position: absolute; top: 3px; min-width: 2px; min-height: 18px; border: 1px solid white; border-radius: 3px; background: #94a3b8; box-shadow: inset 0 0 0 1px rgb(23 38 56 / .16); }
.medication-event.full { background: #22c55e; }
.medication-event.partial-dose { background: #fbbf24; }
.medication-event.partial { background: #f97316; }
.medication-event.missed { background: #ef4444; }
.medication-event.selected { top: 2px; min-height: 20px; box-shadow: 0 0 0 3px var(--focus); }

.supporting-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.content-section { min-width: 0; border-inline-end: 1px solid var(--line); background: var(--surface); }
.content-section:last-child { border-inline-end: 0; }
.content-section > summary { min-height: 48px; padding: 14px 18px; font-size: .95rem; font-weight: 750; cursor: pointer; background: var(--surface-soft); border-bottom: 1px solid var(--line); }
.content-section > :not(summary) { margin-inline: 14px; }
.medication-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 8px; padding-block: 12px; }
.medication-card { border-inline-start: 4px solid var(--accent); padding: 8px 10px; background: #fafcfc; }
.medication-card h3 { margin: 0 0 4px; font-size: .88rem; }
.medication-card p { margin: 3px 0; line-height: 1.35; font-size: .78rem; overflow-wrap: anywhere; }
.medication-card .label { color: var(--muted); font-size: .74rem; }
.medication-lifecycle-date { display: flex; flex-wrap: wrap; gap: 0 4px; align-items: baseline; }
.medication-lifecycle-date bdi { color: var(--ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.table-scroll { width: calc(100% - 28px); overflow-x: auto; margin-block: 12px; }
.list-more { display: block; margin: 0 auto 12px; }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th, td { border-bottom: 1px solid var(--line); padding: 8px 9px; text-align: start; vertical-align: top; }
th { color: var(--muted); font-size: .72rem; text-transform: uppercase; background: #f8fafb; }
td { font-size: .78rem; overflow-wrap: anywhere; }
.status-pill { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; white-space: nowrap; }
.status-completed, .status-recorded { color: var(--green); }
.status-not_performed { color: var(--red); }
.status-unrecorded, .status-planned, .status-awaiting_result { color: var(--amber); }
.remark-list { display: grid; gap: 7px; padding-block: 12px; }
.remark-row { border-inline-start: 4px solid var(--blue); padding: 7px 10px; background: #f8fafb; }
.remark-row h3 { font-size: .76rem; margin: 0 0 3px; }
.remark-row p { font-size: .78rem; margin: 0; }
.empty { color: var(--muted); font-style: italic; padding: 10px; }
footer { background: #183047; color: white; padding: 10px 22px; font-size: .8rem; line-height: 1.4; position: sticky; bottom: 0; z-index: 4; }

.modal-backdrop { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 20px; background: rgb(19 38 56 / .58); }
.modal-dialog { width: min(520px, 100%); padding: 24px; border: 2px solid var(--ink); background: white; box-shadow: 0 18px 50px rgb(0 0 0 / .24); }
.modal-dialog h2 { margin: 0 0 10px; font-size: 1.25rem; }
.modal-dialog p { line-height: 1.5; }
.medication-image-backdrop { z-index: 50; }
.medication-image-dialog { width: auto; max-width: min(1100px, 100%); max-height: calc(100vh - 40px); padding: 10px; overflow: auto; }
.medication-image-heading-row { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.medication-image-heading-row h2 { min-width: 0; margin: 0 0 8px; font-size: 1rem; overflow-wrap: anywhere; }
.medication-image-close { width: 36px; height: 36px; flex: none; border: 1px solid var(--line-strong); background: white; color: var(--ink); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.medication-image-close:hover { background: var(--band); }
.medication-image-content { display: flex; align-items: center; justify-content: center; }
.medication-image-content img { display: block; width: auto; height: auto; max-width: min(1060px, calc(100vw - 64px)); max-height: calc(100vh - 110px); object-fit: contain; }
.modal-actions { display: flex; justify-content: center; gap: 12px; margin-top: 20px; }

.health-records-window { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; overflow: hidden; }
.health-records-scope { margin: 0; padding: 8px 12px; border-bottom: 1px solid var(--line); background: var(--surface-soft); color: var(--muted); font-size: .82rem; }
.health-records-list { min-height: 0; overflow: auto; }
.health-records-window > .status { margin: 10px 12px; }
.health-records-window > .status:empty { display: none; }
.health-records-window > button { margin: 0 12px 10px; justify-self: start; }
.health-record-category { border-bottom: 1px solid var(--line); }
.health-record-category > summary { cursor: pointer; padding: 11px 12px; font-weight: 700; background: var(--surface-soft); }
.health-record-category > summary:hover { background: var(--band); }
.health-record-category-body { padding: 0 12px 10px; }
.health-record-row { padding: 10px 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.health-record-row:first-child { border-top: 0; }
.health-record-row time { display: block; color: var(--muted); font-variant-numeric: tabular-nums; font-size: .82rem; }
.health-record-row strong { display: block; margin-top: 3px; }
.health-record-row p { margin: 4px 0 0; }
.health-record-row .subtle { color: var(--muted); font-size: .86rem; }
.health-record-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.health-record-actions button { white-space: nowrap; }
.health-record-load-older { margin: 10px 0 0; }
.health-record-sort { display: flex; justify-content: flex-end; align-items: center; gap: 8px; padding: 8px 0; font-size: .8rem; }
.health-record-sort select { min-width: 0; max-width: 210px; padding: 5px 8px; border: 1px solid var(--line-strong); background: white; color: var(--ink); }
.clinical-document-dialog { width: min(1100px, 100%); height: min(820px, calc(100vh - 40px)); display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; gap: 8px; }
.clinical-document-metadata { margin: 0; color: var(--muted); }
.clinical-document-content { min-height: 0; overflow: auto; border: 1px solid var(--line); background: #f5f7f9; }
.clinical-pdf-controls { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 8px; border-bottom: 1px solid var(--line); background: #f5f7f9; }
.clinical-pdf-controls button { min-width: 95px; }
.clinical-pdf-page { display: flex; justify-content: center; padding: 10px; }
.clinical-pdf-page canvas { display: block; max-width: 100%; height: auto !important; background: white; box-shadow: 0 2px 12px #0002; }
.clinical-document-content img { display: block; max-width: 100%; max-height: 100%; margin: auto; object-fit: contain; }
.clinical-document-content pre { margin: 0; padding: 18px; white-space: pre-wrap; overflow-wrap: anywhere; color: #111; background: white; font: 1rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }

@media (max-width: 760px) {
  .medical-document-row { grid-template-columns: 1fr; gap: 5px; }
  .medical-document-actions { justify-content: flex-start; margin-top: 4px; }
  .clinical-document-dialog { height: calc(100vh - 24px); }
}
.primary-command { min-width: 150px; border: 1px solid var(--accent); background: var(--accent); color: white; padding: 8px 14px; font-weight: 750; }

.high-contrast { --ink: #000; --muted: #202020; --line: #000; --line-strong: #000; --surface: #fff; --surface-soft: #fff; --band: #fff; --accent: #00544f; --accent-dark: #000; background: white; }
.large-text .clinical-workspace { height: calc(100vh - 286px); min-height: 720px; }
.extra-large-text .clinical-workspace { height: calc(100vh - 286px); min-height: 900px; }

@media (max-width: 1280px) {
  .filters { grid-template-columns: auto repeat(3, minmax(130px, 1fr)) minmax(250px, 2fr) auto; }
  .entry-type-filters { grid-column: 5; grid-row: 1; }
  .filter-commands { grid-column: 6; grid-row: 1; justify-self: end; }
  .clinical-workspace { grid-template-columns: minmax(650px, var(--main-left)) 8px minmax(440px, 1fr); }
  .review-workspace { grid-template-columns: minmax(360px, var(--review-left)) 8px minmax(280px, 1fr); }
  .calendar-pane { display: grid; grid-template-rows: auto minmax(0, 1fr); }
  .calendar-pane .pane-heading { grid-template-columns: minmax(0, 1fr) auto; }
  .calendar-pane .month-navigation { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
  .calendar-surface { height: auto; }
  .chart-heading { grid-template-columns: minmax(90px, 1fr) auto auto auto; }
  .measurement-grid { grid-template-columns: minmax(0, 1fr); }
  .supporting-sections { grid-template-columns: 1fr 1fr; }
  #timeline-section { grid-column: 1 / -1; }
}

@media (max-width: 1120px) {
  .topbar { position: static; flex-direction: column; }
  .tools { justify-content: flex-start; }
  .summary-band { grid-template-columns: repeat(3, 1fr); }
  .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filters h2, .entry-type-filters, .filter-commands { grid-column: 1 / -1; grid-row: auto; }
  .clinical-workspace { display: block; height: auto; }
  .pane-divider { display: none; }
  .review-workspace { display: block; overflow: visible; }
  .left-workspace { display: block; border-inline-end: 0; }
  .workspace-pane { min-height: 390px; border-bottom: 1px solid var(--line-strong); }
  .day-pane { min-height: 300px; }
  .care-plan-pane { min-height: 360px; border-bottom: 1px solid var(--line-strong); }
  .chart-workspace { min-height: 640px; display: grid; }
  .chart-workspace.records-mode { min-height: 360px; }
  .measurement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .local-tablet .clinical-workspace { height: auto; min-height: 0; }
  .local-tablet .left-workspace { height: auto; overflow: visible; }
  .local-tablet .calendar-pane { display: block; min-height: 0; }
  .local-tablet .calendar-surface { height: auto; overflow: visible; }
  .local-tablet .day-pane { min-height: 0; }
  .local-tablet .day-pane-body { height: auto; overflow: visible; }
  .local-tablet .calendar-day { max-height: none; overflow-y: visible; }
}

@media (max-width: 620px) {
  :root { font-size: 15px; }
  .request-shell { padding: 12px; }
  .request-panel { padding: 20px; }
  .language-control { position: static; width: 100%; justify-content: flex-end; border-width: 0 0 1px; box-shadow: none; }
  .topbar, [dir="rtl"] .topbar { padding: 8px 16px; }
  .tools { flex-wrap: wrap; }
  .summary-band { grid-template-columns: 1fr 1fr; }
  .find-panel { grid-template-columns: minmax(0, 1fr) auto; }
  .find-panel label { grid-column: 1 / -1; }
  .find-panel input { width: 100%; }
  .filters { grid-template-columns: 1fr; }
  .filters > *, .entry-type-filters, .filter-commands { grid-column: 1; }
  .entry-type-filters, .chart-measurement-picker { display: grid; grid-template-columns: 1fr 1fr; }
  .pane-heading { grid-template-columns: minmax(0, 1fr) auto; }
  .chart-heading { grid-template-columns: minmax(0, 1fr) auto; }
  .chart-heading .right-pane-view { grid-column: 1; grid-row: 1; }
  .chart-heading .pane-commands { grid-column: 2; grid-row: 1; }
  .chart-heading .facet-layout-controls { grid-column: 1; grid-row: 2; }
  .chart-heading .segmented-control { grid-column: 2; grid-row: 2; }
  .calendar-pane .pane-heading { grid-template-columns: minmax(0, 1fr) auto; }
  .calendar-pane .collapse-button { display: none; }
  .month-navigation { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
  .calendar-entry-filters { gap: 2px 6px; }
  .calendar-pane { min-height: 500px; }
  .calendar-grid { grid-template-rows: repeat(6, minmax(90px, max-content)); }
  .calendar-day { padding: 3px 2px; }
  .calendar-marks { font-size: .72rem; }
  .selected-day-list { grid-template-columns: minmax(0, 1fr); }
  .care-plan-medication-content.has-media { grid-template-columns: minmax(0, 1fr); }
  .care-plan-medication-media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; align-items: start; }
  .selected-day-column-clinical { padding-inline-start: 0; padding-top: 8px; border-inline-start: 0; border-top: 1px solid var(--line); }
  .measurement-grid { grid-template-columns: minmax(0, 1fr); }
  .supporting-sections { grid-template-columns: 1fr; }
  #timeline-section { grid-column: auto; }
  .medication-lane, .medication-axis { grid-template-columns: 34% minmax(0, 1fr); }
  footer { position: static; }
}

@media print {
  @page { margin: 12mm; }
  body { background: white; }
  .filters, .tools, .language-control, .collapse-button, .segmented-control,
  .chart-point-tooltip, .medication-image-backdrop { display: none !important; }
  .topbar { position: static; padding: 0 0 10px; }
  .summary-band { break-inside: avoid; }
  .clinical-workspace { display: block; height: auto; min-height: 0; }
  .review-workspace, .left-workspace { display: block; border: 0; overflow: visible; }
  .workspace-pane, .calendar-pane, .day-pane, .care-plan-pane, .chart-workspace { min-height: 0; overflow: visible; border: 1px solid #777; margin-bottom: 8px; }
  .pane-body, .calendar-surface, .day-pane-body, .chart-body, .chart-series-area, .measurement-grid,
  .medication-timeline-band, .health-records-window, .health-records-list { height: auto; max-height: none; overflow: visible; }
  .chart-body { grid-template-rows: auto auto auto; }
  .chart-series-area { grid-template-rows: auto; }
  .medication-band-divider { display: none; }
  .measurement-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .measurement-block, .medication-card, tr { break-inside: avoid; }
  .calendar-day.selected { transform: none; }
  .supporting-sections { display: block; }
  .content-section { border: 0; }
  .content-section > summary { border: 0; padding-inline: 0; }
  .content-section:not([open]) > :not(summary) { display: block; }
  footer { position: static; background: white; color: black; border-top: 2px solid black; padding: 10px 0 0; }
}

/* Keep numeric readings visible; a long custom name uses the remaining cell width. */
.calendar-laboratory-row { width: 100%; display: inline-flex; flex-direction: row; gap: 2px; justify-content: center; }
.calendar-custom-reading { width: 100%; display: flex; flex-wrap: nowrap; gap: 2px; justify-content: center; }
.calendar-provider-visit { width: 100%; flex-direction: row; flex-wrap: nowrap; font-size: .7rem; }
.calendar-provider-visit .calendar-reading-value { flex: 0 0 auto; white-space: nowrap; }
.calendar-reading-icon, .calendar-custom-reading .calendar-measurement-icon { flex: 0 0 auto; }
.calendar-reading-value { flex: 0 1 auto; min-width: 0; max-width: 100%; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; white-space: normal; }
.calendar-reading-name { flex: 1 1 0; min-width: 1ch; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: clip; text-align: start; font-size: .7rem; }
.calendar-custom-reading .calendar-reading-name,
.calendar-laboratory-row .calendar-reading-name { flex: 0 1 auto; }
.day-laboratory-group { width: 100%; min-width: 0; box-sizing: border-box; }
.laboratory-results-table td:nth-child(2) { width: 35%; text-align: start; font-weight: 700; padding-inline-end: 6px; }
.laboratory-results-table td:nth-child(3) { width: 35%; text-align: start; }

.calendar-custom-reading .calendar-reading-value { flex: 0 0 auto; white-space: nowrap; }
