/* The prescription "paper": one stylesheet for the on-screen editor, the patient's page, print and the PDF. */
.paper{background:#fff;color:#111;box-sizing:border-box;width:210mm;max-width:100%;min-height:270mm;margin:0 auto;padding:12mm 14mm 10mm;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;padding:9mm 10mm 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:1fr 1fr 1fr 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{padding:8mm 6mm}.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;padding:0}
  .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; }
