/* Independent patient-source receipt presentation. Meeting uses its pinned dock. */
#treatment-summary[data-original-rx-hidden] { display:none!important; }
.original-rx-summary { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; padding:10px 12px; border:1px solid #dde5dd; border-radius:8px; background:#fafbf8; font-size:14px; }.original-rx-summary small { flex-basis:100%; color:#637367; }.original-rx-summary details { flex-basis:100%; }.original-rx-summary pre { white-space:pre-wrap; font:inherit; margin:6px 0; }
.formal-rx-print { width:min(850px,95vw); border:1px solid #ccd8ce; border-radius:12px; padding:24px; }
.formal-rx-print pre,.formal-rx-print-page pre { white-space:pre-wrap; font:16px/1.8 system-ui; }.formal-rx-print-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.formal-rx-print table,.formal-rx-print-page table { width:100%; border-collapse:collapse; }.formal-rx-print td,.formal-rx-print th,.formal-rx-print-page td,.formal-rx-print-page th { padding:8px; text-align:left; border-bottom:1px solid #dde5dd; }
.formal-rx-patient-preview { margin-top:12px; font-size:13px; border-top:1px solid #dde5dd; padding-top:8px; }.formal-rx-patient-preview .rx-tools { margin:8px 0; align-items:flex-end; }.formal-rx-patient-preview label { display:grid; gap:4px; }.formal-rx-patient-preview table { width:100%; border-collapse:collapse; }.formal-rx-patient-preview td,.formal-rx-patient-preview th { padding:5px; text-align:left; border-bottom:1px solid #dde5dd; }
@page formalPrescription { size:A4; margin:18mm 12mm; @bottom-right { content:"Page " counter(page) " / " counter(pages); font-family:sans-serif; font-size:9pt; } }
@media print {
 body.formal-rx-printing { background:transparent!important; }
 body.formal-rx-printing #formal-rx-print-page { page:formalPrescription; display:block!important; height:auto!important; max-height:none!important; overflow:visible!important; color:#111; background:white; }
 #formal-rx-print-page pre { overflow-wrap:anywhere; font:13px/1.4 system-ui; margin:8px 0; }
 #formal-rx-print-page td,#formal-rx-print-page th { font-size:13px; line-height:1.35; padding:3px 6px; }
 #formal-rx-print-page thead { display:table-header-group; }
 #formal-rx-print-page tr { break-inside:avoid; }
}
@media print { body.formal-rx-printing > :not(#formal-rx-print-page) { display:none!important; } }
[data-typed-care-receipt] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 16px; padding: 12px; border-top: 1px solid #e2e7e1; font-size: 13px; }
[data-typed-care-receipt] p { flex: 1; min-width: 240px; margin: 0; }
@media print { [data-typed-care-receipt] { display: none; } }
.host-source-detail { width: min(760px, 92vw); max-height: 86dvh; overflow: auto; padding: 18px; border: 1px solid #ccd8ce; border-radius: 14px; color: #253b30; background: #fafbf8; }
.host-source-detail .dialog-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.host-source-detail h3 { margin:0; }.host-source-detail h4 { margin:14px 0 4px; font-size:14px; }
.host-source-detail p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; }.host-source-detail table { width:100%; border-collapse:collapse; }.host-source-detail td,.host-source-detail th { padding:6px; border-bottom:1px solid #dde5dd; text-align:left; }
.host-source-detail button { min-height:40px; padding:8px 12px; border:1px solid #ccd8ce; border-radius:8px; background:white; color:inherit; }
.rx-editor .rx-reference-entry { display:block; margin-top:4px; padding:4px 0; min-height:36px; border:0; background:transparent; font-size:12px; color:#426450; text-decoration:underline; text-underline-offset:3px; }
.rx-editor .rx-reference-entry[hidden] { display:none; }
.host-reference-search { display:flex; gap:6px; margin:12px 0 8px; }.host-reference-search input { min-width:0; flex:1; padding:9px; border:1px solid #cdd8ce; border-radius:7px; font:inherit; }
.host-reference-results { display:grid; gap:5px; }.host-reference-results button { display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; min-height:44px; }.host-reference-results small { color:#64746a; white-space:nowrap; }.host-formula-reference>[role=status] { font-size:12px; color:#64746a; }
.rx-tabs { display:flex; gap:6px; margin:8px 0; border-bottom:1px solid #dce5da; padding-bottom:6px; }.rx-tabs [aria-selected=true] { background:#315c47; color:white; }
.formal-rx-groups { padding:4px 0 8px; border-bottom:1px solid #e2e7e1; }.formal-rx-groups .rx-tools { display:flex; gap:6px; align-items:center; flex-wrap:wrap; margin:4px 0; }.formal-rx-groups summary { cursor:pointer; font-size:13px; }.formal-rx-groups input { width:200px; max-width:100%; }
.rx-tab-panel[hidden] { display:none!important; }.rx-tab-panel .rx-block { padding-top:8px; }.rx-tab-panel .rx-block-title { margin-bottom:6px; }
.rx-reference-head { display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-size:13px; padding:6px 0; }.rx-reference-head span { padding:3px 7px; border:1px solid #dde5dd; border-radius:6px; }
.rx-editor .rx-reference-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding-top:8px; }
.rx-editor .rx-chart { min-width:0; height:180px; overflow:hidden; border:1px solid #dde5dd; border-radius:10px; padding:8px; font-size:12px; }
.rx-editor .rx-chart h3 { margin:0 0 3px; font-size:13px; }.rx-editor .rx-chart > svg { display:block; width:100%; height:126px; }.rx-editor .rx-chart small { font-size:11px; }
.rx-editor .rx-chart .pulse-overview-part { gap:2px; }.rx-editor .rx-chart .pulse-overview-frame { height:35px; width:23px; }.rx-editor .rx-chart .pulse-overview { font-size:11px; }.rx-editor .rx-chart .pulse-overview h4 { margin:0; font-size:11px; }
.rx-prescription-sheet :where(section,header,pre) { position:static; inset:auto; z-index:auto; display:block; height:auto; min-height:0; border:0; border-radius:0; box-shadow:none; padding:0; margin:0; background:transparent; color:inherit; }
/* Frozen prescription letterhead and explicit, low-frequency print settings. */
.formal-rx-print-settings { margin:10px 0; border-top:1px solid #dde5dd; padding-top:8px; font-size:13px; }.formal-rx-print-settings summary { cursor:pointer; }.formal-rx-print-settings>small { display:block; margin-top:5px; color:#657269; }.rx-print-settings-fields { display:flex; flex-wrap:wrap; gap:7px 12px; margin:8px 0; align-items:flex-end; }.rx-print-settings-fields label { display:grid; gap:4px; font-size:12px; }.rx-print-settings-fields textarea { width:min(520px,80vw); }.rx-print-settings-fields input { width:190px; }.rx-print-settings-fields .rx-tools,.rx-print-settings-fields>small { flex-basis:100%; }.formal-rx-print-settings>details { margin-top:10px; }
.rx-prescription-sheet { color:#182721; background:white; font:14px/1.5 system-ui,sans-serif; }.rx-letterhead { display:grid; grid-template-columns:1fr 1.8fr 1.2fr; align-items:start; gap:14px; }.rx-letterhead h1 { margin:0; font-size:25px; line-height:1.25; }.rx-letterhead>div { font-size:12px; }.rx-letterhead strong { display:block; font-size:13px; margin-bottom:5px; }.rx-print-number { overflow-wrap:anywhere; font-size:10px!important; text-align:right; }.rx-print-contact { display:flex; flex-wrap:wrap; gap:5px 18px; padding:10px 0 12px; border-bottom:2px solid #273e34; color:#40554a; font-size:12px; }.rx-print-patient { display:grid; grid-template-columns:2fr 1fr 1fr; gap:14px; margin:17px 0 12px; }.rx-print-patient small,.rx-print-patient strong { display:block; }.rx-print-patient small { font-size:10px; color:#64746a; }.rx-prescription-sheet h2 { font-size:15px; margin:8px 0; }.rx-print-original { display:grid; grid-template-columns:25px 1fr; gap:7px; }.rx-print-original>b { font-size:27px; }.rx-prescription-sheet .rx-print-original pre { white-space:pre-wrap; overflow-wrap:anywhere; font:13px/1.5 system-ui,sans-serif; border:0; border-radius:0; padding:0; background:transparent; margin:0; }.rx-prescription-sheet .rx-print-dispensing th,.rx-prescription-sheet .rx-print-dispensing td { padding:4px 7px; font-size:12px; line-height:1.4; }.rx-print-dispensing { margin:10px 0; }.rx-print-dispensing th { background:#f0f3ef; }.rx-print-dispensing td:nth-child(n+2),.rx-print-dispensing th:nth-child(n+2) { text-align:right; }.rx-print-total { text-align:right; font-weight:700; margin:8px 0; }.rx-print-notes { margin:14px 0 8px; }.rx-print-notes p { white-space:pre-wrap; margin:4px 0; font-size:13px; }.rx-print-original-usage { font-size:12px; color:#4d6155; }.rx-print-guidance { display:grid; grid-template-columns:115px 1fr; gap:12px 18px; margin-top:16px; padding-top:12px; border-top:1px solid #d9e1d9; break-inside:avoid; }.rx-print-guide { grid-column:1; grid-row:1; font-size:10px; text-align:center; overflow-wrap:anywhere; }.rx-print-guide svg { display:block; width:100px; height:100px; margin:0 auto 5px; shape-rendering:crispEdges; }.rx-print-guide b,.rx-print-guide a { display:block; color:inherit; }.rx-print-dosage { grid-column:2; font-size:12px; }.rx-print-dosage p { margin:4px 0; }.rx-print-important { grid-column:1/-1; font-size:10.5px; line-height:1.45; }.rx-print-important p { margin:3px 0; }.rx-print-signature { grid-column:1/-1; text-align:right; font-size:11px; margin-top:5px; }.rx-print-signature>div { margin-top:14px; }.rx-print-signature small { display:block; margin-top:4px; }
@media print { .rx-prescription-sheet { font-size:10pt; line-height:1.4; }.rx-letterhead h1 { font-size:20pt; }.rx-letterhead strong { font-size:10pt; }.rx-letterhead>div,.rx-print-contact { font-size:9pt; }.rx-print-number { font-size:8pt!important; }.rx-print-patient { margin:12px 0 8px; }.rx-print-patient strong { font-size:11pt; }.rx-prescription-sheet h2 { font-size:11pt; }.rx-prescription-sheet .rx-print-original pre { font-size:9pt; line-height:1.4; padding:0; }.rx-prescription-sheet .rx-print-dispensing td,.rx-prescription-sheet .rx-print-dispensing th { font-size:9pt; padding:3px 5px; }.rx-print-notes p,.rx-print-dosage { font-size:9pt; }.rx-print-important { font-size:8.5pt; }.rx-print-guidance { grid-template-columns:26mm 1fr; gap:8px 14px; }.rx-print-guide { font-size:7.5pt; }.rx-print-guide svg { width:25mm; height:25mm; }.rx-print-signature { font-size:9pt; }.rx-print-original-usage { font-size:8pt; }.rx-letterhead,.rx-print-patient,.rx-print-notes { break-inside:avoid; } }
.formal-rx-copy-controls { display:flex; gap:6px; margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid #dce5dd; }.formal-rx-copy-controls button { min-height:40px; padding:7px 12px; border:1px solid #ccd8ce; border-radius:7px; color:#294438; background:white; }.formal-rx-copy-controls [aria-pressed=true] { background:#e9f0e9; border-color:#557460; font-weight:600; }
.rx-patient-copy-warning { padding:10px 12px; margin:10px 0 16px; border:2px solid #445b50; color:#263e33; font-size:15px; font-weight:800; letter-spacing:.06em; text-align:center; }.rx-patient-copy-notice { margin:18px 0 10px; padding:12px 0 0; border-top:1px solid #cdd7cf; font-size:11px; line-height:1.5; }.rx-patient-copy-notice p { margin:4px 0; }.rx-patient-copy-dosage { margin-top:18px; }.rx-patient-copy-validity { margin:12px 0 0; font-size:12px; }.rx-patient-points { margin-top:16px; }.rx-prescription-sheet .rx-patient-points td,.rx-prescription-sheet .rx-patient-points th { padding:4px 7px; font-size:12px; }
@page patientPrescription { size:A4; margin:18mm 12mm 22mm; @bottom-left { content:"PATIENT COPY - NOT FOR DISPENSING"; font:8pt sans-serif; font-weight:bold; color:#263e33; } @bottom-right { content:"Page " counter(page) " / " counter(pages); font:9pt sans-serif; } }
@media print { .rx-patient-copy-warning { font-size:11pt; padding:7px 9px; margin:8px 0 12px; break-inside:avoid; }.rx-patient-copy-notice { font-size:8pt; break-inside:avoid; }.rx-patient-copy-validity { font-size:8.5pt; }.rx-prescription-sheet .rx-patient-points td,.rx-prescription-sheet .rx-patient-points th { font-size:9pt; padding:3px 5px; } }

.formal-rx-quantity-warning { display:block; margin-top:6px; font-size:12px; color:#905630; }
.formal-rx-saved-text { margin:8px 0; padding:8px 10px; border:1px solid #dde5dd; border-radius:8px; }
.formal-rx-saved-text small { display:block; margin-top:6px; color:#50665a; }
.formal-rx-saved-text pre { margin:2px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.clinical-risk [data-service-scope-risk] { color:#8c2331; font-weight:700; }
.rx-prescription-sheet .rx-print-three-columns { table-layout:fixed; width:100%; }
.rx-print-three-columns .rx-herb-name-col { width:25%; }.rx-print-three-columns .rx-herb-amount-col { width:8.333333%; }.rx-print-basis-columns .rx-herb-name-col { width:16.666667%; }
.rx-print-three-columns caption { text-align:left; padding:0 0 5px; font-size:12px; color:#465e51; }
.rx-prescription-sheet .rx-print-three-columns .rx-herb-name { text-align:left; overflow-wrap:anywhere; }
.rx-prescription-sheet .rx-print-three-columns .rx-herb-amount { text-align:right; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.rx-prescription-sheet .rx-print-three-columns .rx-herb-group-start { border-left:1px solid #dce4dc; padding-left:10px; }
@media print { .rx-print-three-columns caption { font-size:8.5pt; }.rx-prescription-sheet .rx-print-three-columns .rx-herb-group-start { padding-left:7px; } }
@media screen and (max-width:600px) {
 .formal-rx-print { padding:16px; }
 .formal-rx-copy-controls { flex-wrap:wrap; }
 .formal-rx-print .rx-letterhead { grid-template-columns:minmax(0,1fr) minmax(0,110px); gap:8px; }
 .formal-rx-print .rx-letterhead h1 { grid-column:1/-1; }
}

@media screen {
 body[data-clinic-text-size] { --clinic-text-step: 0px; }
 body[data-clinic-text-size="large"] { --clinic-text-step: 2px; }
 body[data-clinic-text-size="extra"] { --clinic-text-step: 4px; }
 #original-host-shell > header:has(.clinic-text-size) {
  flex-wrap: wrap;
  height: auto;
  min-height: 52px;
  gap: 6px 12px;
  padding-block: 6px;
 }
 .clinic-text-size {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  font-size: calc(12px + var(--clinic-text-step));
 }
 .clinic-text-size > span { margin-inline-end: 3px; }
 #original-host-shell .clinic-text-size button {
  min-height: 34px;
  padding: 3px 9px;
 }
 #original-host-shell .clinic-text-size [aria-pressed="true"] {
  border-color: var(--green);
  background: var(--pale);
  font-weight: 700;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) {
  font-size: calc(14px + var(--clinic-text-step));
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell :is(.layout, .meeting, #floating-note) :is(button, .button, input, textarea, select) {
  font-size: calc(13px + var(--clinic-text-step));
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell :is(.layout, .meeting) :is(button, .button) {
  white-space: normal;
  overflow-wrap: anywhere;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell .layout :is(.field, .muted, .intake-label, .intake-value, summary, .symptom-picks, .host-diagnosis-pending, .pulse-overview-feel, .pulse-part-name, .pulse-overview-total, #exam-cards small) {
  font-size: calc(12px + var(--clinic-text-step));
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell .layout :is(.section-title, .title-row) h2 {
  font-size: calc(21px + var(--clinic-text-step));
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog :is(h3, p, label, textarea, input, .tongue-options button, .abdomen-options button, .dialog-head button) {
  font-size: calc(12px + var(--clinic-text-step));
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog #exam-title {
  font-size: calc(19px + var(--clinic-text-step));
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog :is(.pulse-center button, .overall-box button, .pulse-selection span) {
  font-size: calc(12px + var(--clinic-text-step));
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog #pulse-depth button {
  font-size: calc(13px + var(--clinic-text-step));
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog #part-strength button {
  font-size: calc(10px + var(--clinic-text-step));
  padding-inline: 0;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog .overall-strength-row h3 {
  font-size: calc(10px + var(--clinic-text-step) / 2);
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog .overall-strength .chips {
  gap: 0;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog .overall-strength button {
  font-size: calc(10px + var(--clinic-text-step) / 2);
  padding-inline: 0;
  letter-spacing: -.04em;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog .local-tools button {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.2;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog #exam-content {
  min-height: 0;
  overflow: auto;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog .pulse-fixed-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1fr);
  min-width: 980px;
  min-height: 600px;
 }
 body[data-clinic-text-size="extra"] #original-host-shell #exam-dialog .pulse-fixed-layout {
  min-height: 660px;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog .tongue-work {
  min-height: 540px;
 }
 body[data-clinic-text-size]:not([data-clinic-text-size="standard"]) #original-host-shell #exam-dialog :is(.tongue-options, .abdomen-options) button {
  white-space: normal;
 }
}

body[data-original-host-state] > #clinic-arrivals[open] { visibility:visible!important; pointer-events:auto!important; }
#clinic-arrivals { width:min(540px,92vw); max-height:88dvh; overflow:auto; padding:20px; border:1px solid #ccd8ce; border-radius:14px; background:#fafbf8; color:#253b30; }
#clinic-arrivals::backdrop { background:rgb(22 38 30 / 42%); }
#clinic-arrivals header { position:static; display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:0 0 12px; min-height:0; }
#clinic-arrivals h2 { margin:0 auto 0 0; }
#clinic-arrivals button { min-height:42px; }
.clinic-arrival-locations { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.clinic-arrival-locations [aria-pressed=true] { background:#315c47; color:white; }
.clinic-arrival-rows { display:grid; gap:7px; }
.clinic-arrival-rows button { display:grid; gap:2px; padding:10px 12px; text-align:left; }
.clinic-arrival-risk { color:#8c2331; font-weight:700; }
#original-host-loading > a + a { margin-inline-start:12px; }
.history-examination svg { display:block; width:min(100%,640px); max-height:430px; }
.history-examination img { display:block; max-width:100%; max-height:350px; }
.history-examination pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.original-location-controller > .clinic-arrivals-link {
 display:flex; align-items:center; justify-content:center; min-height:44px; margin-block-start:6px;
 padding:5px 8px; border:1px solid #adc0b2; border-radius:8px; color:#254c3d; background:#f1f6f0;
 font-weight:650; text-decoration:none; white-space:nowrap;
}
.original-location-controller > .clinic-arrivals-link:focus-visible { outline:2px solid #315c47; outline-offset:2px; }
.rx-formula-source-issues { padding:8px; border:1px solid #e3d1b8; border-radius:8px; }
.rx-formula-source-issues ul { margin:5px 0; padding-inline-start:22px; }
.rx-formula-source-issues pre { margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.rx-acupuncture-catalog { display:grid; gap:8px; padding:12px 0; }
.rx-acupuncture-catalog > input { width:min(100%,400px); min-height:42px; }
.rx-catalog-results { max-height:290px; overflow:auto; border:1px solid #dce5da; border-radius:9px; }
.rx-catalog-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:6px 10px; }
.rx-catalog-row + .rx-catalog-row { border-top:1px solid #e5ebe1; }
.rx-catalog-row small { display:block; color:#52675a; white-space:pre-wrap; }
.rx-catalog-row button { min-height:42px; }
.rx-catalog-row button[data-default-side] { border-color:#73967e; background:#eff5ed; }
@media (max-width:480px) { .rx-catalog-row { flex-wrap:wrap; } }
.clinic-recovery { margin:6px 12px 12px; padding:12px; border:1px solid #ded4bb; border-radius:8px; background:#fbf8ef; }
.clinic-recovery-heading,.clinic-recovery-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.clinic-recovery-heading { justify-content:space-between; }
.clinic-recovery-item { margin-top:10px; border-top:1px solid #ddd6c4; padding-top:8px; }
.clinic-recovery-item > p { margin:3px 0; }
.clinic-recovery-item > p:empty { display:none; }
.clinic-recovery-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:8px 0; }
.clinic-recovery-compare > div { border:1px solid #d6dccf; border-radius:8px; background:#fff; padding:8px; }
.clinic-recovery-compare pre { max-height:260px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
.clinic-recovery button { min-height:42px; }
.clinic-recovery-actions { margin-top:8px; }
@media (max-width:580px) { .clinic-recovery-compare { grid-template-columns:1fr; } }
