/* Prescriptions, Patient Forms, Templates. Drawer widths follow the observed 1070px; medication rows use the observed 2/3 + 1/3 split. */
.rx-drawer{width:1070px;max-width:100vw}
.rx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px;align-items:start}
.rx-grid .wide{grid-column:1/-1}.rx-wide2{grid-column:span 2}
.rx-grid textarea{min-height:64px}
.rx-grid .field select,.rx-grid .field input:not([type=checkbox]),.rx-grid .field textarea{width:100%;box-sizing:border-box}
.rx-pf-drawer .rx-grid{grid-template-columns:1fr 1fr}
.rx-appointment{display:flex;align-items:center;margin-bottom:14px}
.rx-appointment select{width:200px;height:32px;border-radius:0}
.rx-appointment button{width:46px;height:32px;border-radius:0 6px 6px 0}
.rx-assignees{display:flex;flex-wrap:wrap;gap:6px 18px;border:1px solid var(--line);border-radius:6px;padding:8px 12px;margin:0}
.rx-assignees legend{padding:0 4px;color:var(--muted)}
.rx-subhead{margin:4px 0 8px;font-size:14px;color:var(--title)}
.rx-print-group{display:inline-flex}.rx-print-group button{border-radius:6px 0 0 6px}.rx-print-group select{height:32px;border-radius:0 6px 6px 0;max-width:150px}
.rx-preview{border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px;background:#fff;color:#111}
.rx-sheet{font-size:14px;line-height:1.5;color:#111}
.rx-sheet table{width:100%;border-collapse:collapse;margin:8px 0}
.rx-sheet th,.rx-sheet td{border:1px solid #d9d9d9;padding:4px 8px;text-align:start;vertical-align:top}
.rx-sheet .rx-meta th{width:16%;background:#fafafa}
.rx-clinic{margin:0 0 8px;text-align:center;font-size:18px}
.rx-mark{font-size:22px;margin:12px 0 4px;font-family:Georgia,serif}
.rx-note{font-size:12px;color:#555}
.rx-form-sheet h2{font-size:18px;margin:4px 0 12px;color:#111}
.rx-form-body{min-height:80px}.rx-form-body img{max-width:100%}
.rx-signatures{display:flex;gap:24px;margin-top:24px;flex-wrap:wrap}
.rx-signatures figure{margin:0;flex:1;min-width:200px}.rx-signatures figcaption{font-weight:700;margin-bottom:4px}
.rx-signatures img,.rx-sig-empty{display:block;width:100%;max-width:300px;height:110px;object-fit:contain;border-bottom:1px solid #333}
.rx-signatures small{color:#555}
.rx-editor-wrap{border:1px solid var(--border);border-radius:6px;overflow:hidden}
.rx-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:6px;border-bottom:1px solid var(--border);background:var(--panel)}
.rx-toolbar button,.rx-toolbar select,.rx-color{min-height:26px;height:26px;padding:0 7px;font-size:13px;border-radius:4px}
.rx-color{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border);cursor:pointer}.rx-color input{width:18px;height:18px;padding:0;border:0;background:none}
.rx-editor{min-height:150px;max-height:45vh;overflow:auto;padding:12px 15px;outline:none;line-height:1.6}
.rx-editor:empty::before{content:attr(data-placeholder);color:var(--muted);font-style:italic}
.rx-editor blockquote{border-left:4px solid var(--border);margin:4px 0;padding-left:12px}.rx-editor pre{background:#111;padding:6px 10px;border-radius:4px}
.rx-dynamic{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid var(--border)}
.rx-dynamic>span:first-child{color:var(--muted)}
.rx-tag{min-height:22px;height:22px;padding:0 7px;font-size:12px;border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-line);border-radius:4px}
.rx-counter{margin-left:auto;color:var(--muted);font-size:12px}.rx-counter.over{color:var(--danger);font-weight:700}
.rx-ops-add{display:flex;gap:8px;margin-top:8px}.rx-ops-add select{min-width:320px;height:32px}
.rx-sign canvas{display:block;width:100%;max-width:460px;height:auto;aspect-ratio:460/180;margin-top:10px;background:#fff;border:1px dashed #888;border-radius:6px;touch-action:none;cursor:crosshair}
.chart-secondary-tabs a[aria-current=page]{border-bottom:2px solid var(--accent-line);color:var(--accent-line)}
.chart-subtab{margin-top:4px}
#print-area{display:none}
@media print{
 body.printing>*:not(#print-area){display:none!important}
 body.printing #print-area{display:block;color:#000;background:#fff}
 body.printing{background:#fff}
 #print-area .rx-sheet{font-size:12pt}
}
@media(max-width:800px){.rx-grid{grid-template-columns:1fr}.rx-wide2{grid-column:auto}.rx-appointment{flex-wrap:wrap}}
