/* 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}
}
