/* Patient-facing documents: physical A4 in print, fluid readable preview on phones. */
.fd-print-overlay { position:fixed; inset:0; z-index: var(--z-dialog); overflow:auto; background:var(--print-surface); color:var(--print-ink); }
.fd-print-toolbar { position:sticky; inset-block-start:0; z-index: var(--z-header); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--sp-3); padding:var(--sp-3) var(--sp-6); border-block-end:1px solid var(--print-line); background:var(--print-paper); }
.fd-print-toolbar div { display:flex; gap:var(--sp-2); }
.fd-print-sheet { inline-size:210mm; min-block-size:297mm; margin:var(--sp-6) auto; padding:18mm; background:var(--print-paper); box-shadow:0 4px 22px var(--shadow-color); font-size: var(--fs); line-height:1.8; overflow-wrap:anywhere; }
.fd-print-sheet header { display:flex; justify-content:space-between; gap:var(--sp-5); border-block-end:2px solid var(--primary); padding-block-end:20px; }
.fd-print-sheet h1 { font-size: var(--fs-num-xl); margin:0 0 5px; }
.fd-print-sheet h2 { font-size: var(--fs-h2); margin-block:26px var(--sp-3); }
.fd-print-sheet h3 { font-size: var(--fs-lg); margin-block:var(--sp-5) var(--sp-2); }
.fd-print-sheet p { margin-block:var(--sp-1-5) var(--sp-3); }
.fd-print-brand { font-weight:600; color:var(--primary); font-size: var(--fs-h1); }
.fd-print-meta { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-2) var(--sp-6); padding-block:var(--sp-5); border-block-end:1px solid var(--print-line); }
.fd-print-meta span { display:block; color:var(--print-muted); font-size: var(--fs-xs); }
.fd-print-sheet table { inline-size:100%; border-collapse:collapse; margin-block:14px; }
.fd-print-sheet th,.fd-print-sheet td { text-align:start; padding:9px var(--sp-2); border-block-end:1px solid var(--print-line); }
.fd-print-sheet th { background:var(--print-surface); font-size: var(--fs-xs); }
.fd-print-total { display:flex; justify-content:space-between; border-block-start:1px solid var(--print-line); padding-block:var(--sp-2-5); font-weight:600; }
.fd-print-note { padding:var(--sp-3) 14px; border:1px solid var(--print-line); border-radius: var(--radius-sm); background:var(--print-surface); }
.fd-print-signatures { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-block:38px var(--sp-5); }
.fd-print-signatures div { padding-block:38px var(--sp-2); border-block-end:1px solid var(--control); }
.fd-print-sheet footer { margin-block-start:40px; padding-block-start:14px; border-block-start:1px solid var(--print-line); color:var(--print-muted); font-size: var(--fs-xs); }
.fd-rx-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fd-rx-grid .wide-field { grid-column:1/-1; }
.fd-rx-grid label { display:grid; gap:var(--sp-1-5); }
.fd-rx-grid textarea { min-block-size:70px; padding-block:var(--sp-2); resize:vertical; }
.fd-rx-warning { color:var(--danger); border:1px solid currentColor; border-radius: var(--radius-sm); padding:var(--sp-2-5); margin-block:14px; }
.fd-rx-warning[hidden] { display:none; }
@media (max-width: 639px) {
 .fd-print-toolbar { padding:var(--sp-2-5) var(--sp-3); }
 .fd-print-sheet { inline-size:calc(100% - 16px); min-block-size:0; margin:var(--sp-2); padding:22px var(--sp-4); font-size: var(--fs-xs); }
 .fd-print-sheet header { gap:var(--sp-3); }
 .fd-print-sheet h1 { font-size: var(--fs-h3); }
 .fd-print-sheet h2 { font-size: var(--fs-lg); }
 .fd-print-meta { gap:var(--sp-2-5); }
 .fd-print-sheet th,.fd-print-sheet td { padding:var(--sp-2) var(--sp-1); }
 .fd-print-brand { font-size: var(--fs-h3); }
 .fd-rx-grid { grid-template-columns:1fr; }
}
@page { size:A4; margin:15mm; }
@media print {
 html,body { block-size:auto!important; overflow:visible!important; background:var(--print-paper)!important; }
 body:has(.fd-print-overlay) > :not(.fd-print-overlay) { display:none!important; }
 .fd-print-overlay { position:static; overflow:visible; background:var(--print-paper); }
 .fd-print-toolbar { display:none!important; }
 .fd-print-sheet { inline-size:auto; min-block-size:0; margin:0; padding:0; box-shadow:none; font-size:12pt; }
 .fd-print-sheet header,.fd-print-meta,.fd-print-signatures,tr { break-inside:avoid; }
 .fd-print-sheet h2,.fd-print-sheet h3 { break-after:avoid; }
 .fd-print-sheet thead { display:table-header-group; }
}
