/* The prescription "paper": one stylesheet for the on-screen editor, the patient's page, print and the PDF. */
.paper{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;color:#111;box-sizing:border-box;width:210mm;max-width:100%;min-height:270mm;margin:0 auto;--py:12mm;--px:14mm;--pb:10mm;padding:var(--py) var(--px) var(--pb);box-shadow:0 10px 34px rgba(0,0,0,.16);border-radius:4px;font:11pt/1.4 "Noto Sans","Segoe UI",system-ui,sans-serif;position:relative;display:flex;flex-direction:column}
.paper-A5{width:148mm;min-height:190mm;--py:9mm;--px:10mm;--pb:8mm}
.paper *{box-sizing:border-box}

/* letterhead */
.lh{display:flex;gap:14px;align-items:center;width:100%}
.lh-stacked{flex-direction:column;text-align:center}.lh-logo_left{flex-direction:row}.lh-logo_right{flex-direction:row-reverse}
.lh-logo{max-height:22mm;max-width:45mm;object-fit:contain}
.lh-text{flex:1;width:100%}
.lh-b{line-height:1.35;overflow-wrap:anywhere}
.lh-sm{font-size:9pt}.lh-md{font-size:11pt}.lh-lg{font-size:14pt}.lh-xl{font-size:19pt}.lh-bold{font-weight:700}
.lh-font-serif{font-family:Georgia,"Times New Roman",serif}
.lh-img{display:block;width:100%;height:auto}
.lh-foot-img{display:block;width:100%;height:auto;margin-top:8px}
.lh-divider{margin:6px 0 10px}.lh-div-line{border-top:1px solid var(--accent,#0d9488)}.lh-div-thick{border-top:3px solid var(--accent,#0d9488)}.lh-div-none{display:none}
.lh-pad{width:100%}

/* body (read-only) */
.pp-strip{display:flex;flex-wrap:wrap;gap:4px 22px;border-bottom:1px solid #bbb;padding-bottom:6px;margin-bottom:8px}
.pp-line{margin:4px 0}
.pp-rx{font:26pt/1 Georgia,serif;margin:10px 0 4px}
.pp-items{width:100%;border-collapse:collapse}
.pp-items td{padding:5px 4px;border-bottom:1px dotted #999;vertical-align:top}
.pp-items .no{width:7mm;color:#555}
.pp-items .sub{color:#333;font-size:10pt}
.pp-advice{margin-top:10px;white-space:pre-wrap}
.pp-sign{margin-top:auto;padding-top:22mm;display:flex;justify-content:flex-end;text-align:center}
.pp-sign div{border-top:1px solid #111;padding-top:4px;min-width:60mm;font-size:10pt}
.pp-brand{display:flex;align-items:center;gap:10px;border-top:1px solid #ccc;margin-top:10px;padding-top:6px;font-size:8pt;color:#555}
.pp-brand svg{width:16mm;height:16mm;flex:none}
.pp-void::after{content:"VOID";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 90pt/1 sans-serif;color:rgba(190,30,30,.16);transform:rotate(-24deg);pointer-events:none}

/* body (editing directly on the paper) */
.pe-in{border:0;border-bottom:1px dotted #8a8a8a;background:transparent;font:inherit;color:inherit;padding:3px 2px;width:100%;outline:none;border-radius:0}
.pe-in:focus{border-bottom:1px solid var(--primary,#0d9488);background:rgba(13,148,136,.06)}
.pe-in::placeholder{color:#a3a3a3;font-style:italic}
textarea.pe-in{resize:none;overflow:hidden;line-height:1.7;background-image:repeating-linear-gradient(transparent,transparent calc(1.7em - 1px),#d8d8d8 calc(1.7em - 1px),#d8d8d8 1.7em);border-bottom:0}
.pe-strip{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:6px 14px;border-bottom:1px solid #bbb;padding-bottom:8px;margin-bottom:8px}
.pe-strip label,.pe-lbl{font-size:8pt;color:#666;display:block;text-transform:uppercase;letter-spacing:.04em}
.pe-row{display:grid;grid-template-columns:8mm 1fr auto;gap:4px;align-items:start;padding:6px 0;border-bottom:1px dotted #bbb;animation:pe-in .18s ease-out}
.pe-row.is-focus{background:linear-gradient(90deg,rgba(13,148,136,.05),transparent)}
.pe-no{color:#666;padding-top:5px}
.pe-main{position:relative}
.pe-name{font-weight:600;font-size:12pt}
.pe-sub{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:4px 12px;margin-top:2px}
.pe-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.pe-chip{border:1px solid #cfcfcf;background:#fafafa;border-radius:99px;font-size:8.5pt;padding:1px 9px;cursor:pointer;color:#333}
.pe-chip:hover{border-color:var(--primary,#0d9488);color:var(--primary,#0d9488)}
.pe-del{background:none;border:0;color:#aaa;cursor:pointer;padding:4px 6px}.pe-del:hover{color:#c0392b}
.pe-sugg{position:absolute;z-index:6;left:0;right:0;top:100%;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.12);list-style:none;margin:2px 0 0;padding:4px}
.pe-sugg button{width:100%;text-align:left;background:none;border:0;padding:6px 8px;cursor:pointer;border-radius:6px}.pe-sugg button:hover,.pe-sugg button:focus{background:#f0faf9}
.pe-add{margin:6px 0;background:none;border:1px dashed #b5b5b5;border-radius:8px;padding:5px 12px;color:#555;cursor:pointer}
.pe-add:hover{border-color:var(--primary,#0d9488);color:var(--primary,#0d9488)}
@keyframes pe-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.rx-bar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--bg-white,#fff);border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:8px 12px;margin:0 auto 14px;max-width:210mm;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.rx-stage{background:#e9ecef;padding:14px;border-radius:14px}
@media (max-width:720px){.paper{--py:8mm;--px:6mm;--pb:8mm}.pe-strip{grid-template-columns:1fr 1fr}.pe-sub{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.pe-row{animation:none}}

/* designer */
.lhd{display:grid;gap:16px;grid-template-columns:minmax(280px,380px) 1fr;align-items:start}
.lhd-block{display:grid;grid-template-columns:1fr auto;gap:6px;padding:8px;border:1px solid var(--border,#e5e7eb);border-radius:10px;margin-bottom:6px;background:var(--bg-white,#fff)}
.lhd-block .row{display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:900px){.lhd{grid-template-columns:1fr}}

@media print{
  body{background:#fff!important}
  .paper{box-shadow:none;border-radius:0;width:auto;min-height:0;margin:0;--py:0mm;--px:0mm;--pb:0mm}
  .rx-bar,.app-side,.app-top,.no-print,form .btn{display:none!important}
  .rx-stage{background:none;padding:0}
}

.pe-cell{position:relative;min-width:0}.pe-cell .pe-in{width:100%}
.pe-sugg{max-height:240px;overflow-y:auto}.pe-sugg button.on{background:#e3f5f2}
.pe-sugg li{list-style:none}

/* ---- letterhead designer v2 ---- */
.lh2{display:grid;gap:16px;padding-bottom:80px}
.lh2-top{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-end}
.lh2-title{font:700 1.25rem var(--font-primary);margin:0}.lh2-title i{color:var(--secondary);margin-right:8px}
.lh2-name{min-width:min(100%,300px)}.lh2-name label,.lh2-lbl,.lh2-row label{display:block;font-weight:600;font-size:.8rem;margin:12px 0 5px}.lh2-name label{margin-top:0}
.lh2-name input,.lh2-card input[type=text],.lh2-card input[type=number],.lh2-card select{width:100%}
.lh2-grid{grid-template-columns:minmax(300px,440px) minmax(0,1fr)}
.lh2-controls,.lh2-stack{display:grid;gap:14px;min-width:0}
.lh2-card{background:var(--bg-white);border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.lh2-card h3{display:flex;align-items:center;gap:10px;font:700 .95rem var(--font-primary);margin:0 0 12px}
.lh2-n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:.78rem}
.lh2 input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.lh2-modes{display:grid;gap:8px}
.lh2-modes span{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:12px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--primary) 14%,transparent);cursor:pointer;background:var(--bg-white);transition:all .15s}
.lh2-modes i{grid-row:1/3;align-self:center;font-size:1.1rem;color:var(--secondary);text-align:center}.lh2-modes small{color:var(--text-muted);font-weight:500;font-size:.76rem}
.lh2-modes input:checked+span,.lh2-tiles input:checked+.lh2-tile,.lh2-seg input:checked+span{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--bg-white));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}
.lh2 input:focus-visible+span,.lh2 input:focus-visible+.lh2-tile{outline:3px solid color-mix(in srgb,var(--secondary) 45%,transparent)}
.lh2-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}
.lh2-preset{display:grid;gap:6px;justify-items:center;padding:10px 8px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--primary) 14%,transparent);background:var(--bg-white);font-size:.78rem;transition:all .15s}
.lh2-preset:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
.lh2-pv{display:grid;gap:4px;width:100%;padding:8px;border-radius:6px;background:#fff;border:1px solid #e5e7eb;border-top:3px solid var(--a)}
.lh2-pv i{display:block;height:4px;border-radius:2px;background:#cbd5e1}.lh2-pv i:first-child{height:6px;background:var(--a);width:70%}.lh2-pv i:nth-child(3){width:50%}
.pv-classic,.pv-minimal{justify-items:center}.pv-modern i,.pv-hospital i,.pv-minimal i{justify-self:start}.pv-hospital{border-top:0;border-bottom:3px solid var(--a)}
.lh2-drop{display:grid;justify-items:center;gap:4px;text-align:center;padding:18px 12px;border:2px dashed color-mix(in srgb,var(--primary) 28%,transparent);border-radius:14px;cursor:pointer;background:color-mix(in srgb,var(--primary) 3%,var(--bg-white));margin-bottom:10px;position:relative}
.lh2-drop:hover{border-color:var(--primary)}.lh2-drop i{font-size:1.4rem;color:var(--secondary)}.lh2-drop small{color:var(--text-muted)}.lh2-drop-sm{padding:12px}
.lh2-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.lh2-file{font-size:.8rem;font-weight:600;color:var(--success)}
.lh2-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lh2-tiles label{display:block}
.lh2-tile{display:grid;gap:6px;justify-items:center;padding:10px 6px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--primary) 14%,transparent);font-size:.74rem;font-weight:600;text-align:center;cursor:pointer;background:var(--bg-white);height:100%}
.lh2-tile i,.lh2-tile u{display:block;background:#cbd5e1;border-radius:3px;text-decoration:none}.lh2-tile i{width:22px;height:14px;background:var(--secondary)}.lh2-tile u{width:44px;height:5px}
.lh2-lay-logo_left,.lh2-lay-logo_right{grid-template-columns:auto 1fr;align-items:center}.lh2-lay-logo_right i{order:2}
.lh2-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.lh2-two{grid-template-columns:1fr}}
.lh2-seg{display:flex;flex-wrap:wrap;gap:6px}.lh2-seg label{display:block}
.lh2-seg span{display:inline-block;padding:7px 11px;border-radius:10px;border:1.5px solid color-mix(in srgb,var(--primary) 14%,transparent);font-size:.8rem;font-weight:600;cursor:pointer;background:var(--bg-white)}
.lh2-font-serif{font-family:Georgia,serif!important}
.lh2-seg-ic{flex-wrap:nowrap;gap:0}.lh2-seg-ic span{border-radius:0;padding:7px 10px}.lh2-seg-ic label:first-child span{border-radius:10px 0 0 10px}.lh2-seg-ic label:last-child span{border-radius:0 10px 10px 0}
.lh2-swatches{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lh2-sw{width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px #cbd5e1;cursor:pointer;position:relative}.lh2-sw.on{box-shadow:0 0 0 2.5px var(--primary)}
.lh2-sw-custom{display:grid;place-items:center;background:conic-gradient(#f43f5e,#eab308,#22c55e,#06b6d4,#6366f1,#f43f5e);color:#fff;font-size:.7rem;overflow:hidden}.lh2-sw-custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.lh2-lines{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.lh2-line{display:grid;gap:8px;padding:10px;border:1.5px solid color-mix(in srgb,var(--primary) 12%,transparent);border-radius:12px;background:var(--bg-white);transition:box-shadow .15s,border-color .15s}
.lh2-line.over{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}
.lh2-lh{display:flex;gap:8px;align-items:center}.lh2-lh select{flex:1;min-width:0;width:auto!important}
.lh2-grip{cursor:grab;color:var(--text-muted);padding:4px 2px}.lh2-line:active .lh2-grip{cursor:grabbing}
.lh2-acts{display:flex;gap:4px}.lh2-acts button{width:30px;height:30px;border-radius:8px;border:1px solid color-mix(in srgb,var(--primary) 14%,transparent);background:var(--bg-white);font-size:.75rem}.lh2-acts button:disabled{opacity:.35}.lh2-acts .del:hover{color:var(--accent);border-color:var(--accent)}
.lh2-fmt{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lh2-fmt select{width:auto!important}
.lh2-b{width:34px;height:34px;border-radius:9px;border:1.5px solid color-mix(in srgb,var(--primary) 14%,transparent);background:var(--bg-white)}.lh2-b.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.lh2-clr{position:relative;width:34px;height:34px;border-radius:9px;border:1.5px solid color-mix(in srgb,var(--primary) 14%,transparent);display:grid;place-items:center;cursor:pointer;overflow:hidden}.lh2-clr span{width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 1px #cbd5e1}.lh2-clr input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%!important;height:100%}
.lh2-reset{font-size:.75rem;color:var(--text-muted)}
.lh2-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.lh2-chip{padding:5px 10px;border-radius:999px;border:1.5px dashed color-mix(in srgb,var(--primary) 30%,transparent);background:transparent;font-size:.76rem;font-weight:600;color:var(--primary)}.lh2-chip:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 8%,transparent)}.lh2-chip:disabled{opacity:.4}
.lh2-mm{display:flex;align-items:center;gap:6px}.lh2-mm input{max-width:90px}.lh2 input[type=range]{width:100%;margin-top:8px;padding:0}
.lh2-stagewrap{position:sticky;top:76px;min-width:0}.lh2-stagebar{display:flex;justify-content:space-between;font-size:.82rem;font-weight:600;margin-bottom:8px}.lh2-stagebar i{color:var(--secondary);margin-right:6px}
.lh2-stage{max-height:calc(100vh - 150px);overflow:auto;border-radius:16px;padding:18px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.lh2-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:12px 24px;background:color-mix(in srgb,var(--bg-white) 97%,transparent);border-top:1px solid color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:0 -6px 20px rgba(0,0,0,.06)}
@media(min-width:900px){.lh2-bar{left:292px}}
.lh2-def{display:flex;gap:8px;align-items:center;font-weight:600;font-size:.85rem}.lh2-barbtns{display:flex;gap:10px}
@media(max-width:900px){.lh2-grid{grid-template-columns:1fr}.lh2-stagewrap{position:static;order:-1}.lh2-stage{max-height:340px}}

/* interactive letterhead preview */
#lh-preview [data-i] { cursor: pointer; border-radius: 4px; outline: 2px solid transparent; outline-offset: 2px; transition: outline-color .12s, background .12s; }
#lh-preview [data-i]:hover { outline-color: rgba(13,148,136,.45); background: rgba(13,148,136,.06); }
#lh-preview [data-i].lh-sel { outline-color: var(--primary, #0d9488); background: rgba(13,148,136,.1); }
#lh-preview [data-i].lh-over { outline: 2px dashed var(--secondary, #0d9488); background: rgba(13,148,136,.14); }
#lh-preview [data-i][contenteditable="true"] { cursor: text; outline-color: var(--accent, #dc2626); background: #fff; }
.lh2-undo { display: inline-flex; gap: 4px; } .lh2-undo button { width: 30px; height: 30px; border-radius: 8px; border: 1px solid color-mix(in srgb, var(--primary) 14%, transparent); background: var(--bg-white); } .lh2-undo button:disabled { opacity: .35; }
.lh2-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 8px 10px; margin-bottom: 8px; border-radius: 12px; background: var(--bg-white); border: 1.5px solid var(--primary); box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.lh2-tools-t { text-transform: capitalize; font-size: .8rem; padding: 3px 9px; border-radius: 999px; background: color-mix(in srgb, var(--primary) 10%, transparent); } .lh2-b.del:hover { color: var(--accent); border-color: var(--accent); }
.lh2-from { flex-basis: 100%; font-size: .8rem; color: var(--text-muted); }

/* letterhead designer: friendlier inline editing */
#lh-preview [data-i].lh-empty { min-height: 1.4em; outline: 2px dashed rgba(100,116,139,.45); outline-offset: 2px; }
#lh-preview [data-i].lh-empty::before { content: attr(data-placeholder); color: #94a3b8; font-style: italic; font-weight: 400; }
#lh-preview [data-i][contenteditable="true"] { outline-width: 2px; box-shadow: 0 0 0 4px rgba(13,148,136,.18); min-width: 40%; display: block; }
#lh-preview [data-i][contenteditable="true"].lh-empty::before { content: ""; }
#lh-preview [data-i][data-own="1"]::after { content: " ✎"; font-size: .7em; color: var(--primary, #0d9488); opacity: .75; }
.lh2-hint { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 8px; font-size: .78rem; color: var(--text-muted); }
.lh2-hint b { color: var(--text-secondary); font-weight: 700; }
.lh2-use { margin-left: auto; font: 600 .78rem var(--font-primary); color: var(--primary); background: none; border: 0; cursor: pointer; text-decoration: underline; }

/* vitals taken at the front desk, shown on the prescription */
.pp-vitals, .pe-vitals { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.pp-vchip, .pe-vchip { font-size: .86em; padding: 1px 8px; border-radius: 99px; background: rgba(0,0,0,.05); white-space: nowrap; }
.pe-vchip b { font-weight: 600; margin-right: 3px; }

/* ---- colour-band letterhead, designed footer and the two-column sheet ---- */

.lhb{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:0 14px;align-items:center;margin:calc(-1*var(--py)) calc(-1*var(--px)) 0;padding:6mm max(var(--px),6mm) 5mm}
.lhb .lh-text{width:auto}
.lhb .lhb-logo{grid-column:1;grid-row:1}.lhb .lhb-l{grid-column:2;grid-row:1}.lhb .lhb-r{grid-column:3;grid-row:1}
.lhb.lhb-nologo .lhb-l{grid-column:1}.lhb.lhb-nologo .lhb-r{grid-column:2}
.lhb.lh-logo_right .lhb-logo{grid-column:3;grid-row:1}.lhb.lh-logo_right .lhb-l{grid-column:1;grid-row:1}.lhb.lh-logo_right .lhb-r{grid-column:2;grid-row:1}
.lhb.lh-stacked{grid-template-columns:minmax(0,1fr)}.lhb.lh-stacked>*{grid-column:1!important;grid-row:auto!important}.lhb.lh-stacked .lhb-logo{justify-self:center}.lhb.lh-stacked .lhb-r{border-left:0;padding-left:0;max-width:none}
.lhb.lhb-nologo{grid-template-columns:minmax(0,1fr) auto}
.lhb-logo{background:#fff;border-radius:10px;padding:1.5mm;max-height:22mm;max-width:30mm}
.lhb-r{max-width:80mm;padding-left:14px;border-left:1px solid rgba(255,255,255,.35)}
.lhb-stripe{border-top:3px solid #f59e0b;margin:0 calc(-1*var(--px)) 8px}
.lhb+.pp-meta,.lhb+.pe-strip{margin-top:8px}
.lhf{position:relative;margin-top:8px;padding:3mm 0;font-size:9pt;display:grid;grid-template-columns:repeat(auto-fit,minmax(55mm,1fr));gap:1mm 8mm}

.lhf-plain{border-top:2px solid var(--accent,#0d9488)}
.lhf-band{margin:8px calc(-1*var(--px)) calc(-1*var(--pb));padding:4mm max(var(--px),6mm)}
.pp-wm{position:absolute;left:50%;top:54%;width:110mm;max-width:70%;transform:translate(-50%,-50%);opacity:.06;pointer-events:none;z-index:0}
.paper>*{position:relative;z-index:1}.paper>.pp-wm{position:absolute;z-index:0}
.pp-meta{display:flex;justify-content:space-between;font-size:9pt;color:#666;margin:2px 0 6px}
.pp-meta b{color:var(--accent,#0d9488)}
.pp-pt{display:flex;flex-wrap:wrap;gap:2px 14px;background:color-mix(in srgb,var(--accent,#0d9488) 6%,#fff);border:1px solid color-mix(in srgb,var(--accent,#0d9488) 22%,#fff);border-left:4px solid var(--accent,#0d9488);border-radius:8px;padding:6px 12px}
.pp-pt>div{flex:1 1 30mm}.pp-pt>div:first-child{flex-grow:2}.pp-pt .l{display:block;font-size:7.5pt;text-transform:uppercase;letter-spacing:.08em;color:#666;font-weight:700}.pp-pt .v{font-weight:700}
.pp-vitals{margin-top:6px}.pp-vchip{border:1px solid #dfe7ec;background:#fff}.pp-vchip b{color:var(--accent,#0d9488)}
.pp-cols{display:grid;grid-template-columns:55mm 1fr;gap:0 7mm;margin-top:10px;flex:1}.pp-cols-1{grid-template-columns:1fr}
.pp-side{border-right:2px solid var(--accent,#0d9488);padding-right:5mm}
.pp-sec{margin-bottom:10px;break-inside:avoid}
.pp-sec h4{margin:0 0 2px;font-size:8pt;letter-spacing:.08em;text-transform:uppercase;color:var(--accent,#0d9488);font-weight:800}
.pp-sec .t{white-space:pre-line;font-size:10.5pt}.pp-sec-diagnosis .t{font-weight:700}
.pp-sec-precautions{border-left:3px solid #dc2626;padding-left:8px}.pp-sec-precautions h4{color:#b91c1c}
.pp-sec-exercises,.pp-sec-exercises_passive{border-left:3px solid #16a34a;padding-left:8px}.pp-sec-exercises h4,.pp-sec-exercises_passive h4{color:#15803d}
.pp-main .pp-rx{color:var(--accent,#0d9488);margin-top:0}
.pp-meds{list-style:none;margin:0 0 10px;padding:0;counter-reset:m}
.pp-meds li{counter-increment:m;position:relative;padding:5px 0 5px 7mm;border-bottom:1px dotted #c9d4db;break-inside:avoid}
.pp-meds li::before{content:counter(m) ".";position:absolute;left:0;font-weight:800;color:var(--accent,#0d9488)}
.pp-meds .ln{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}.pp-meds .nm{font-size:12pt}
.pp-meds .how{font-size:10pt;font-weight:600;color:#334}.pp-meds .how+.how::before{content:"—";color:#9fb3bf;margin-right:8px;font-weight:400}
.pp-meds .note{font-size:9.5pt;font-style:italic;color:#5b4a12}
.pp-fu{display:inline-block;background:#fff7e6;border:1px solid #f3d9a4;color:#7a5200;border-radius:8px;padding:4px 12px;font-weight:700;font-size:10pt}
.pp-sigrow{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:14mm;break-inside:avoid}
.pp-sigrow .pp-sign{margin:0;padding:0}.pp-sigrow .pp-brand{border:0;margin:0;padding:0}
.pp-note{font-size:8.5pt;font-style:italic;color:#555;margin-top:6px;text-align:center}
.pe-cols{display:grid;grid-template-columns:55mm 1fr;gap:0 7mm}.pe-cols-1{grid-template-columns:1fr}
.pe-side{border-right:2px solid var(--accent,#0d9488);padding-right:5mm}
.pe-sec{margin:8px 0}.pe-sec-precautions{border-left:3px solid #dc2626;padding-left:8px}.pe-sec-exercises,.pe-sec-exercises_passive{border-left:3px solid #16a34a;padding-left:8px}
.pe-sec .pe-lbl{color:var(--accent,#0d9488);font-weight:700}
@media (max-width:720px){.pp-cols,.pe-cols{grid-template-columns:1fr}.pp-side,.pe-side{border-right:0;padding-right:0}.pp-pt>div{flex-basis:40%}.lhb,.lhb.lhb-nologo{grid-template-columns:1fr}.lhb>*{grid-column:1!important;grid-row:auto!important}.lhb-r{border-left:0;padding-left:0;max-width:none}}
#lh-preview .lhf .lh-empty::before{content:attr(data-placeholder);opacity:.6;font-style:italic}
.lh2-foot{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;margin-bottom:6px}

/* the medicine boxes show what was typed in full: text wraps to a second line on the paper instead of hiding */
.pe-sub .pe-in{min-width:0;text-overflow:ellipsis}
.pe-sub .pe-in:focus{position:relative;z-index:3;min-width:13rem;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.pe-sugg{min-width:15rem}

/* formatting: toolbar + editable box; the colours print */
.rt{position:relative}
.rt-bar{display:flex;flex-wrap:wrap;gap:3px;align-items:center;margin:2px 0;opacity:0;max-height:0;overflow:hidden;transition:opacity .12s,max-height .12s}
.rt:focus-within .rt-bar{opacity:1;max-height:40px}
.rt-btn{min-width:24px;height:24px;border:1px solid #d6dde2;background:#fff;border-radius:6px;cursor:pointer;font:12px/1 Georgia,serif;color:#333;padding:0 5px}
.rt-btn:hover{border-color:var(--accent,#0d9488)}
.rt-sw{min-width:18px;width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;padding:0}
.rt-ed{min-height:1.9em;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px dotted #8a8a8a;cursor:text}
.rt:not(.rt-one) .rt-ed{min-height:3.2em}
.rt-ed.is-empty::before{content:attr(data-placeholder);color:#a3a3a3;font-style:italic;pointer-events:none}
.rt-ed ul,.pp-sec .t ul{margin:2px 0;padding-left:18px}
.rt-red{color:#dc2626}.rt-blue{color:#1d4ed8}.rt-green{color:#15803d}.rt-orange{color:#c2410c}.rt-purple{color:#7e22ce}
.pp-sec .t{white-space:normal}

/* eat / don't eat / do / don't — two by two */
.pe-grid,.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:6px 0}
.pe-grid .pe-sec{margin:0;padding:6px 8px;border-radius:8px;border:1px solid #e5e7eb;border-left-width:3px}
.pe-sec-diet,.pe-sec-dos{border-left-color:#16a34a!important;background:#f6fdf8}
.pe-sec-precautions,.pe-sec-donts{border-left-color:#dc2626!important;background:#fef7f7}
.pe-sec-diet .pe-lbl,.pe-sec-dos .pe-lbl{color:#15803d}.pe-sec-precautions .pe-lbl,.pe-sec-donts .pe-lbl{color:#b91c1c}
.pp-box{margin:0;padding:5px 8px;border-radius:6px;border:1px solid #e5e7eb;border-left:3px solid;break-inside:avoid}
.pp-good{border-left-color:#16a34a;background:#f6fdf8}.pp-good h4{color:#15803d}
.pp-bad{border-left-color:#dc2626;background:#fef7f7}.pp-bad h4{color:#b91c1c}
.pp-sec-precautions,.pp-sec-donts{padding-left:8px}

/* vitals outside the prescriber's alert limits */
.vf-high{color:#b91c1c!important;font-weight:700;border-color:#fca5a5!important;background:#fef2f2!important}
.vf-low{color:#1d4ed8!important;font-weight:700;border-color:#93c5fd!important;background:#eff6ff!important}
@media (max-width:720px){.pe-grid,.pp-grid{grid-template-columns:1fr}}

/* ---- dispensing bill / invoice / receipt (apps.dispensing.billdesign) ---- */
.bill{font-size:10pt}
.bill-A5{width:148mm;min-height:190mm;--py:9mm;--px:10mm;--pb:8mm}
.bill-A4{width:210mm;min-height:270mm}
.bill-80mm{width:80mm;min-height:0;--py:4mm;--px:4mm;--pb:4mm;font-size:8.5pt}
.bl-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:6px 0 4px}
.bl-title h2{margin:0;font-size:12pt;text-transform:uppercase;letter-spacing:.08em;color:var(--accent,#0d9488)}
.bl-title span{font-size:8.5pt;color:#444}
.bl-meta{display:flex;flex-wrap:wrap;gap:4px 10px;padding:6px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent,#0d9488) 6%,#fff);border:1px solid color-mix(in srgb,var(--accent,#0d9488) 20%,#fff)}
.bl-meta>div{flex:1 1 28mm;min-width:0}.bl-meta .l{display:block;font-size:7pt;text-transform:uppercase;letter-spacing:.06em;color:#666}
.bl-meta small{display:block;color:#555}.bl-meta b{white-space:nowrap}
.bl-items{width:100%;border-collapse:collapse;margin:8px 0}
.bl-items th{font-size:7.5pt;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:5px 4px;border-bottom:1.5px solid var(--accent,#0d9488);color:#333}
.bl-items td{padding:5px 4px;border-bottom:1px dotted #cbd5e1;vertical-align:top}
.bl-items .r{text-align:right}.bl-items td small{display:block;font-size:7.5pt;color:#666}
.bl-y{display:none!important}.bl-ret{color:#b91c1c!important}
.bl-sum{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;break-inside:avoid}
.bl-sum table{border-collapse:collapse;min-width:52mm}.bl-sum td{padding:2px 4px}.bl-sum .r{text-align:right}
.bl-total td{font-weight:800;border-top:1.5px solid #111;font-size:11pt}
.bl-retrow td{color:#b91c1c;font-size:9pt}.bl-due td{color:#b45309;font-weight:700}
.bl-pay{display:flex;flex-direction:column;gap:2px;font-size:8.5pt}.bl-pay .l{font-size:7pt;text-transform:uppercase;color:#666}
.bl-terms{margin-top:8px;padding-top:6px;border-top:1px dashed #cbd5e1;font-size:8pt;color:#444}
.bl-sign{display:flex;justify-content:space-between;align-items:flex-end;margin-top:12mm;font-size:9pt;break-inside:avoid}
.bl-for{border-top:1px solid #111;padding-top:3px;min-width:40mm;text-align:center}
/* thermal receipt: one narrow column, no batch column, compact */
.bill-80mm .bl-x{display:none}.bill-80mm .bl-y{display:block!important}
.bill-80mm .bl-meta>div{flex-basis:100%}.bill-80mm .bl-meta{background:none;border:0;padding:0;border-bottom:1px dashed #999;border-radius:0}
.bill-80mm .bl-sum{flex-direction:column-reverse}.bill-80mm .bl-sum table{width:100%}
.bill-80mm .lhb{grid-template-columns:1fr!important}.bill-80mm .lhb>*{grid-column:1!important;grid-row:auto!important}
.bill-80mm .bl-sign{margin-top:5mm}
/* bill: the info row never overlaps — fixed columns, long values wrap */
.bl-meta{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px}
.bill-A5 .bl-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
.bill-80mm .bl-meta{grid-template-columns:1fr}
.bl-meta>div{min-width:0}.bl-meta b{white-space:normal!important;overflow-wrap:anywhere;display:block}
/* layouts */
.bl-boxed .bl-items{border:1px solid #9ca3af}
.bl-boxed .bl-items th,.bl-boxed .bl-items td{border:1px solid #9ca3af}
.bl-boxed .bl-items th{background:var(--accent,#0d9488);color:#fff;border-color:var(--accent,#0d9488)}
.bl-boxed .bl-sum table{border:1px solid #9ca3af}.bl-boxed .bl-sum td{border-bottom:1px solid #d1d5db}
.bl-modern .bl-title{background:var(--accent,#0d9488);color:#fff;padding:5px 10px;border-radius:6px}
.bl-modern .bl-title h2,.bl-modern .bl-title span,.bl-modern .bl-title b{color:#fff}
.bl-modern .bl-items th{border-bottom:0;background:color-mix(in srgb,var(--accent,#0d9488) 12%,#fff);color:var(--accent,#0d9488)}
.bl-modern .bl-items tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--accent,#0d9488) 5%,#fff)}
.bl-modern .bl-items td{border-bottom:0}
.bl-modern .bl-total td{font-size:13pt;color:var(--accent,#0d9488);border-top-color:var(--accent,#0d9488)}
.bl-gst .bl-items td small{display:block}
.bl-tax{width:100%;border-collapse:collapse;margin-top:8px;font-size:8.5pt;break-inside:avoid}
.bl-tax th{text-align:left;font-size:7pt;text-transform:uppercase;letter-spacing:.04em;color:#555;padding:3px 4px;border-bottom:1px solid #9ca3af}
.bl-tax td{padding:3px 4px;border-bottom:1px dotted #d1d5db}.bl-tax .r{text-align:right}.bl-tax small{color:#777}
.bl-taxsum td{font-weight:700;border-top:1px solid #9ca3af}
.bill-80mm .bl-tax th:nth-child(3),.bill-80mm .bl-tax th:nth-child(4),.bill-80mm .bl-tax td:nth-child(3),.bill-80mm .bl-tax td:nth-child(4){display:none}
.bill .bl-sign{margin-top:7mm}.bill-A5 .bl-items td{padding:3px 4px}.bill-A5 .bl-meta{padding:4px 8px}
.bill .lhf{font-size:8pt;gap:0 6mm}.bill .lhb{padding-top:5mm;padding-bottom:4mm}
.bl-qr{display:flex;gap:10px;align-items:center;margin-top:8px;padding:6px 8px;border:1px dashed color-mix(in srgb,var(--accent,#0d9488) 45%,#fff);border-radius:6px;break-inside:avoid;width:max-content;max-width:100%}
.bl-qr svg{width:22mm;height:22mm;flex:none}.bl-qr div{display:flex;flex-direction:column;gap:1px;font-size:8.5pt}.bl-qr small{color:#666}
.bill-80mm .bl-qr{margin:8px auto 0}

/* the editing pad is wider than the paper (it still prints at A4 / A5): room for the toolbar and the medicine boxes */
@media screen{
  .paper-edit{width:min(100%,1180px);max-width:none;--px:16mm}
  .paper-edit .pe-cols{grid-template-columns:minmax(230px,31%) minmax(0,1fr)}
  .paper-edit .pe-sub{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}
  .rt:focus-within .rt-bar{max-height:none;overflow:visible}
  .rt-bar{flex-wrap:wrap}
}
@media screen and (max-width:900px){.paper-edit .pe-cols{grid-template-columns:1fr}.paper-edit{--px:6mm}}
