:root{--ink:#17324d;--muted:#657789;--navy:#0d3157;--bg:#f3f6f9;--card:#fff;--line:#dbe3ea;--soft:#edf4f8;--danger:#9d2b2b;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(18px,4vw,54px);background:rgba(13,49,87,.96);color:#fff;box-shadow:0 8px 24px rgba(20,42,61,.12)}.topbar h1{margin:2px 0 0;font-size:clamp(20px,2.5vw,30px)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800;opacity:.72}.top-actions{display:flex;gap:8px}.layout{max-width:1500px;margin:auto;padding:28px clamp(16px,3vw,40px) 60px}.view{display:none}.view.active{display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 35px rgba(21,43,62,.06)}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;padding:32px}.hero h2{font-size:clamp(28px,4vw,46px);line-height:1.04;margin:9px 0}.hero p{font-size:16px;color:var(--muted);max-width:680px}.badge{display:inline-block;background:var(--soft);color:var(--navy);font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px}.searchbox{display:flex;align-items:center;gap:12px;background:#f7f9fb;border:1px solid var(--line);border-radius:16px;padding:4px 14px}.searchbox span{font-size:28px}.searchbox input{width:100%;border:0;background:transparent;padding:16px 2px;font-size:17px;outline:0}.section-block{margin-top:30px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:0 4px 12px}.section-title h3{margin:0;font-size:19px}.section-title span{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}.tile{text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;min-height:172px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:.16s ease;color:inherit}.tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,42,61,.09);border-color:#bfcfdb}.tile-icon{font-size:30px}.tile h4{margin:12px 0 6px;font-size:17px}.tile p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.tag{display:inline-block;margin-top:16px;font-size:11px;font-weight:800;color:#486177;background:#f1f5f8;border-radius:999px;padding:5px 8px;width:max-content}.ghost,.secondary,.primary,.danger{border-radius:10px;padding:10px 14px;font-weight:800;border:1px solid transparent;cursor:pointer}.topbar .ghost{border-color:rgba(255,255,255,.3);background:transparent;color:#fff}.primary{background:var(--navy);color:#fff}.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.danger{background:#fff1f1;border-color:#efc6c6;color:var(--danger)}.small{padding:8px 10px;font-size:12px}.back{border:0;background:transparent;color:var(--navy);font-weight:800;cursor:pointer;margin:0 0 14px}.editor-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(540px,760px);gap:24px;justify-content:center;align-items:start}.form-panel{padding:24px;position:sticky;top:106px}.form-panel h2{margin:7px 0 3px}.muted{color:var(--muted)}.field,label{display:block;font-size:13px;font-weight:700}.field{margin:15px 0}.field input[type=text],.field select,.edit-card input,.edit-card textarea{width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit}.check{display:flex;gap:10px;align-items:flex-start;background:#f7f9fb;padding:11px;border-radius:10px}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.sheet{background:#fff;width:100%;min-height:1040px;padding:52px 56px;box-shadow:0 12px 40px rgba(20,42,61,.11);border-radius:7px}.sheet-header{border-bottom:3px solid var(--navy);padding-bottom:20px}.sheet-header .service{text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:11px;color:var(--navy)}.sheet-header h1{font-size:31px;margin:8px 0}.intro{font-size:16px;line-height:1.6;margin:26px 0}.sheet-section{margin:22px 0}.sheet-section h2,.alert h2{font-size:18px;margin:0 0 8px}.sheet ul{margin:6px 0 0;padding-left:20px}.sheet li{margin:7px 0;line-height:1.45}.alert{background:#fff4ea;border-left:5px solid #d78d48;padding:17px 20px;border-radius:8px;margin-top:27px}.sheet-footer{border-top:1px solid var(--line);margin-top:34px;padding-top:15px;font-size:10px;color:var(--muted)}.admin-layout{display:grid;grid-template-columns:440px minmax(520px,760px);gap:20px;align-items:start;justify-content:center}.admin-list,.edit-card{padding:22px}.admin-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-head h2{margin:4px 0}.admin-tools{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.file-btn{display:inline-flex;align-items:center;cursor:pointer}.file-btn input{display:none}.library-list{display:flex;flex-direction:column;gap:8px}.library-item{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.library-item.active{background:var(--soft);border-color:#b9cddc}.library-item .emoji{font-size:24px}.library-item .mini{font-size:11px;color:var(--muted)}.empty-state{padding:80px 20px;text-align:center;color:var(--muted)}.hidden{display:none}.form-grid{display:grid;grid-template-columns:1fr 100px 1fr 130px;gap:12px}.edit-card label{margin-bottom:14px}.checkline{display:flex;align-items:center;gap:8px;margin-top:28px}.hint{display:block;font-weight:500;color:var(--muted);font-size:11px;margin-top:3px}footer{display:flex;justify-content:space-between;gap:12px;padding:22px clamp(16px,4vw,54px);font-size:11px;color:var(--muted)}@media(max-width:900px){.hero,.editor-grid,.admin-layout{grid-template-columns:1fr}.form-panel{position:static}.sheet{min-height:0;padding:30px 24px}.form-grid{grid-template-columns:1fr 80px}.topbar{position:static}.top-actions{flex-direction:column}.hero{padding:23px}footer{flex-direction:column}}@media print{
@page{size:A4 portrait;margin:8mm}
html,body{background:#fff!important;width:auto;height:auto}
body{font-size:10.2pt}
.topbar,.form-panel,.back,footer{display:none!important}
.layout{padding:0!important;margin:0!important;max-width:none!important}
.view{display:none!important}
#sheetView{display:block!important}
.editor-grid{display:block!important}
.sheet{box-shadow:none!important;border-radius:0!important;min-height:0!important;width:100%!important;margin:0!important;padding:4mm 6mm!important;font-size:10.2pt;line-height:1.28}
.sheet-header{padding-bottom:3mm;border-bottom-width:2px;break-inside:avoid}
.sheet-header .service{font-size:8pt}
.sheet-header h1{font-size:20pt;line-height:1.08;margin:1.5mm 0}
.sheet-header .muted{font-size:9pt}
.intro{font-size:10.3pt;line-height:1.32;margin:4mm 0}
.sheet-section{margin:3.2mm 0;break-inside:avoid}
.sheet-section h2,.alert h2{font-size:12.2pt;line-height:1.15;margin:0 0 1.4mm}
.sheet ul{margin:1mm 0 0;padding-left:5mm}
.sheet li{margin:1mm 0;line-height:1.27}
.alert{padding:3mm 4mm;border-left-width:4px;margin-top:4mm;break-inside:avoid}
.sheet-footer{margin-top:4mm;padding-top:2.5mm;font-size:7.8pt}
}

/* V2.2 — emplacement étiquette patient */
.sheet-header{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;align-items:start}
.patient-label{height:92px;border:1.5px dashed #8a99a8;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#fff;color:#7a8997;font-size:10px;font-weight:800;letter-spacing:.08em;text-align:center}
@media(max-width:650px){.sheet-header{grid-template-columns:1fr}.patient-label{width:210px}}
@media print{
.sheet-header{display:grid!important;grid-template-columns:minmax(0,1fr) 58mm!important;gap:4mm!important;align-items:start!important}
.patient-label{width:58mm!important;height:25mm!important;border:0.35mm dashed #777!important;border-radius:1.5mm!important;font-size:7.5pt!important;break-inside:avoid!important}
}

/* V3 — options cliniques dynamiques */
.clinical-box{border:1px solid #dce5ec;border-radius:14px;padding:14px;margin-bottom:14px;background:#f8fbfd}
.clinical-title{font-weight:800;margin-bottom:10px;color:#163a52}
.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0}
.radio-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.clinical-box select,.clinical-box input[type=text],.clinical-box input:not([type]){width:100%}
.clinical-note{margin-top:8px;color:#667784}
@media(max-width:700px){.option-grid{grid-template-columns:1fr}.radio-row{display:grid}}
@media print{#optionsForm{display:none!important}}

/* V3.1 — documents associés / ordonnance IDE */
.nursing-toggle{margin-top:12px;padding-top:12px;border-top:1px solid #dce5ec}
.nested-options{margin-top:10px;padding:12px;border-radius:10px;background:#fff;border:1px solid #dce5ec}
.document-actions{display:flex;gap:8px;flex-wrap:wrap}
.prescription-page{background:#fff;color:#17232d;max-width:210mm;min-height:285mm;margin:0 auto;padding:12mm;box-sizing:border-box}
.rx-header{display:grid;grid-template-columns:minmax(0,1fr) 58mm;gap:8mm;align-items:start;border-bottom:1px solid #ccd6de;padding-bottom:6mm}
.rx-header h1{margin:2mm 0;font-size:22pt}
.rx-date{text-align:right;margin:8mm 0 5mm}
.rx-body{font-size:12pt;line-height:1.55;min-height:115mm}
.rx-body li{margin:3mm 0}
.rx-prescriber{display:grid;grid-template-columns:1fr 65mm;gap:12mm;margin-top:10mm}
.signature{min-height:35mm;border:1px solid #ccd6de;border-radius:3mm;padding:4mm}
.page-break{break-after:page;page-break-after:always}
@media print{
 .print-window{background:#fff!important}
 .prescription-page{max-width:none!important;min-height:0!important;margin:0!important;padding:8mm!important}
 .rx-header{grid-template-columns:minmax(0,1fr) 58mm!important}
 .page-break{display:block!important;break-after:page!important;page-break-after:always!important}
}

/* V4 — authentification / profils professionnels */
.auth-gate{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(12,30,44,.86);backdrop-filter:blur(8px)}
.auth-gate[hidden]{display:none!important}
.auth-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.profile-card{width:min(760px,100%)}
.auth-brand{font-weight:800;color:#1a5a79;margin-bottom:4px}
.auth-card h1{margin:4px 0 8px}
.auth-card .field{margin:12px 0}
.auth-full{width:100%;margin-top:8px}
.auth-message{min-height:20px;margin-top:10px;font-size:13px;color:#46606f}
.auth-message.error{color:#b42318}
.auth-locked{overflow:hidden}
.professional-bar{position:fixed;right:18px;bottom:18px;z-index:1200;background:#fff;border:1px solid #d7e1e8;border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 25px rgba(0,0,0,.12);font-size:13px}
.professional-bar[hidden]{display:none!important}
.professional-actions{display:flex;gap:6px}
.btn.small{padding:7px 9px;font-size:12px}
@media(max-width:700px){.professional-bar{left:10px;right:10px;bottom:10px;justify-content:space-between}.professional-meta{display:none}}
@media print{.auth-gate,.professional-bar{display:none!important}}

/* V4.0.2 — permissions */
.admin-only[hidden]{display:none!important}

/* V4.0.3 — en-tête institutionnel ordonnance */
.hospital-letterhead{
  display:grid;
  grid-template-columns:42mm minmax(0,1fr);
  gap:7mm;
  align-items:start;
  margin-bottom:7mm;
}
.hospital-logo-wrap{display:flex;align-items:flex-start;justify-content:center}
.hospital-logo{width:35mm;max-height:42mm;object-fit:contain}
.hospital-info{text-align:center;line-height:1.25}
.hospital-name{font-size:14pt;font-weight:800;letter-spacing:.01em}
.hospital-address{font-size:9.5pt;margin-top:2.5mm}
.hospital-finess{font-size:10pt;margin-top:4mm}
.finess-barcode{display:block;width:63mm;height:12mm;object-fit:fill;margin:1.5mm auto 0}
.finess-number{font-size:9pt;margin-top:.7mm}
.hospital-service{font-size:15pt;font-weight:800;color:#c81f16;margin-top:2.5mm}
.rx-doc-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 58mm;
  gap:8mm;
  align-items:start;
  margin-top:3mm;
}
.rx-title h1{margin:1.5mm 0 1mm;font-size:20pt}
@media(max-width:700px){
  .hospital-letterhead{grid-template-columns:30mm 1fr;gap:4mm}
  .hospital-logo{width:27mm}
  .hospital-name{font-size:11pt}
  .hospital-address,.hospital-finess{font-size:8pt}
  .finess-barcode{width:50mm}
  .hospital-service{font-size:13pt}
}
@media print{
  .hospital-letterhead{grid-template-columns:38mm minmax(0,1fr)!important;gap:6mm!important;margin-bottom:5mm!important}
  .hospital-logo{width:32mm!important;max-height:38mm!important}
  .hospital-name{font-size:13pt!important}
  .hospital-address{font-size:8.5pt!important}
  .hospital-finess{font-size:9pt!important;margin-top:3mm!important}
  .finess-barcode{width:58mm!important;height:10mm!important}
  .finess-number{font-size:8pt!important}
  .hospital-service{font-size:14pt!important;margin-top:2mm!important}
  .rx-doc-row{grid-template-columns:minmax(0,1fr) 58mm!important;gap:6mm!important}
}

/* V4.0.4 — ordonnance plus compacte */
.hospital-letterhead{
  grid-template-columns:29mm minmax(0,1fr)!important;
  gap:4mm!important;
  margin-bottom:3mm!important;
}
.hospital-logo{width:25mm!important;max-height:30mm!important}
.hospital-name{font-size:10.5pt!important;line-height:1.15!important}
.hospital-address{font-size:7.4pt!important;margin-top:1.3mm!important}
.hospital-finess{font-size:7.8pt!important;margin-top:2mm!important}
.finess-barcode{width:43mm!important;height:7mm!important;margin-top:.8mm!important}
.finess-number{font-size:7pt!important;margin-top:.3mm!important}
.hospital-service{font-size:11.5pt!important;margin-top:1.2mm!important}

.rx-doc-row{
  grid-template-columns:minmax(0,1fr) 50mm!important;
  gap:5mm!important;
  margin-top:1.5mm!important;
}
.rx-title .service{font-size:8.5pt!important}
.rx-title h1{font-size:16pt!important;margin:.8mm 0 .5mm!important}
.rx-title .muted{font-size:8pt!important;line-height:1.2!important}
.patient-label{min-height:26mm!important;font-size:8pt!important}
.rx-date{font-size:9pt!important;margin:3mm 0!important}

.rx-body,.rx-content{font-size:10pt!important;line-height:1.35!important}
.rx-body p,.rx-content p{margin:2mm 0!important}
.rx-body li,.rx-content li{margin:1.2mm 0!important}
.rx-prescriber{font-size:9pt!important;margin-top:7mm!important}
.rx-prescriber .signature{min-height:25mm!important}
.rx-footer,.rx-note{display:none!important}

@media print{
  @page{size:A4;margin:9mm 12mm 8mm}
  html,body{font-size:9.5pt!important}
  .hospital-letterhead{
    grid-template-columns:27mm minmax(0,1fr)!important;
    gap:3.5mm!important;
    margin-bottom:2.5mm!important;
  }
  .hospital-logo{width:23mm!important;max-height:28mm!important}
  .hospital-name{font-size:9.5pt!important}
  .hospital-address{font-size:6.8pt!important}
  .hospital-finess{font-size:7.2pt!important;margin-top:1.5mm!important}
  .finess-barcode{width:40mm!important;height:6mm!important}
  .finess-number{font-size:6.5pt!important}
  .hospital-service{font-size:10.5pt!important;margin-top:1mm!important}
  .rx-doc-row{grid-template-columns:minmax(0,1fr) 47mm!important;gap:4mm!important;margin-top:1mm!important}
  .rx-title h1{font-size:14.5pt!important}
  .patient-label{min-height:23mm!important}
  .rx-date{font-size:8.5pt!important;margin:2.5mm 0!important}
  .rx-body,.rx-content{font-size:9.2pt!important;line-height:1.28!important}
  .rx-prescriber{font-size:8.5pt!important;margin-top:5mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .rx-prescriber .signature{min-height:22mm!important}
  .rx-footer,.rx-note{display:none!important}
}

/* V4.0.5 — ordonnance encore plus épurée */
.finess-number{display:none!important}
.rx-title .muted{display:none!important}
.rx-footer,.rx-note{display:none!important}

/* Corps de la prescription */
.rx-body,.rx-content{
  font-size:8.8pt!important;
  line-height:1.25!important;
}
.rx-body p,.rx-content p{margin:1.5mm 0!important}
.rx-body li,.rx-content li{margin:.8mm 0!important}
.rx-body strong,.rx-content strong{font-size:8.8pt!important}

@media print{
  .rx-body,.rx-content{
    font-size:8.2pt!important;
    line-height:1.22!important;
  }
  .rx-body strong,.rx-content strong{font-size:8.2pt!important}
  .rx-body p,.rx-content p{margin:1.2mm 0!important}
  .rx-body li,.rx-content li{margin:.6mm 0!important}
}

/* V4.1 — moteur de documents de sortie */
.pharmacy-box{margin-top:12px;padding-top:12px;border-top:1px solid #dce5ec}
.pharmacy-box textarea{width:100%;box-sizing:border-box;resize:vertical}
.pharmacy-lines{min-height:75mm}
.pharmacy-line{
  padding:2.4mm 0;
  border-bottom:1px dotted #cbd5dc;
  font-size:8.8pt;
  line-height:1.25;
}
@media print{
  .pharmacy-lines{min-height:70mm}
  .pharmacy-line{font-size:8.2pt;padding:2mm 0}
}

/* V4.1.1 — catalogue de prescriptions */
.prescription-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.prescription-choice{align-items:flex-start;padding:9px;border:1px solid #d9e3e9;border-radius:10px;background:#fff}
.prescription-choice small{display:block;margin-top:3px;color:#6c7c87;font-size:11px;line-height:1.25}
.section-gap{margin-top:14px}
.catalog-item{display:grid;grid-template-columns:180px 1fr;gap:8px;margin:8px 0}
.catalog-item input,.catalog-item textarea{width:100%;box-sizing:border-box}
@media(max-width:700px){
 .prescription-checklist{grid-template-columns:1fr}
 .catalog-item{grid-template-columns:1fr}
}

/* V4.1.2 */
#documentActions button:disabled{opacity:.45;cursor:not-allowed}

/* V4.2 — catalogue Supabase */
.catalog-toolbar{display:flex;justify-content:flex-end;margin:10px 0}
.catalog-card{border:1px solid #d9e3e9;border-radius:12px;padding:12px;margin:10px 0;background:#fff}
.catalog-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}
.catalog-head span{font-size:11px;color:#6d7d86}
.catalog-fields{display:grid;grid-template-columns:2fr 1.3fr 1fr 80px;gap:8px}
.catalog-fields textarea,.catalog-fields .cat-contexts,.catalog-fields label{grid-column:1/-1}
.catalog-fields input,.catalog-fields textarea,.catalog-fields select{width:100%;box-sizing:border-box}
.catalog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
@media(max-width:700px){.catalog-fields{grid-template-columns:1fr}.catalog-fields textarea,.catalog-fields .cat-contexts,.catalog-fields label{grid-column:auto}}

/* V4.2.1 — espace admin à onglets */
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.admin-tab{border:1px solid #d6e1e8;background:#fff;border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer}
.admin-tab.active{background:#173d54;color:#fff;border-color:#173d54}
.admin-pane.hidden{display:none!important}
#adminPaneCatalog .clinical-box{margin:0}
.users-admin-card{padding:18px}
.invite-user-box{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:10px;align-items:end;margin:16px 0}
.users-list{display:grid;gap:8px;margin-top:12px}
.user-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid #dbe4ea;border-radius:12px;background:#fff}
.user-main{display:grid;gap:2px}
.user-main span,.user-main small{color:#667984}
.user-role{display:flex;gap:8px;align-items:center}
.user-role select{min-width:150px}
@media(max-width:750px){
  .invite-user-box{grid-template-columns:1fr}
  .user-row{align-items:flex-start;flex-direction:column}
  .user-role{width:100%}
  .user-role select{flex:1}
}

/* V4.2.3 — prescription retenue */
.selected-prescription-box{
  border:1px solid #d9e3e9;
  border-radius:12px;
  padding:12px;
  background:#fff;
}
.selected-rx-line{
  padding:8px 0;
  border-bottom:1px solid #edf1f4;
  font-size:12px;
  line-height:1.35;
}
.selected-rx-line:last-child{border-bottom:none}
.selected-rx-line strong{display:block;margin-bottom:2px}

/* V4.2.4 — impression sans popup, compatible Safari/iPad */
.print-stage{display:none}

@media print{
  
  #printStage{
    display:block!important;
    position:static!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
  }
  #printStage .sheet-preview,
  #printStage .prescription-page{
    display:block!important;
  }
}

/* V4.2.5 — aperçu avant impression iPad */
.print-preview-overlay{
  position:fixed;inset:0;z-index:20000;
  background:rgba(14,28,38,.82);
  backdrop-filter:blur(6px);
  padding:18px;
  display:flex;
}
.print-preview-shell{
  width:min(1100px,100%);
  height:100%;
  margin:auto;
  background:#f4f6f8;
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.print-preview-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:#fff;
  border-bottom:1px solid #d9e2e8;
}
.print-preview-actions{display:flex;gap:8px;flex-wrap:wrap}
.print-preview-scroll{
  overflow:auto;
  padding:18px;
  -webkit-overflow-scrolling:touch;
}
#printStage.preview-visible{
  display:block!important;
  width:min(210mm,100%);
  margin:0 auto;
  background:#fff;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
}
@media(max-width:700px){
  .print-preview-overlay{padding:0}
  .print-preview-shell{border-radius:0}
  .print-preview-toolbar{align-items:flex-start;flex-direction:column}
  .print-preview-actions{width:100%}
  .print-preview-actions .btn{flex:1}
  .print-preview-scroll{padding:8px}
}

@media print{
  
  #printPreviewOverlay{
    position:static!important;
    display:block!important;
    background:#fff!important;
    padding:0!important;
  }
  .print-preview-shell{
    width:100%!important;
    height:auto!important;
    display:block!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .print-preview-toolbar{display:none!important}
  .print-preview-scroll{
    overflow:visible!important;
    padding:0!important;
  }
  #printStage{
    display:block!important;
    width:100%!important;
    margin:0!important;
    box-shadow:none!important;
  }
}

/* V4.3.2 */
body::after{
  content:"v4.3.7";
  position:fixed;
  left:6px;
  bottom:6px;
  font-size:9px;
  opacity:.25;
  pointer-events:none;
  z-index:99999;
}
@media print{body::after{display:none!important}}

/* V4.3.5 — ordonnance / AirPrint */

/* Nom du médicament ou dispositif en gras, consignes en dessous */
.pharmacy-line{
  padding:2.2mm 0!important;
  border-bottom:1px dotted #cbd5dc;
  break-inside:avoid;
  page-break-inside:avoid;
}
.pharmacy-product{
  font-weight:800;
  font-size:9.2pt;
  line-height:1.2;
  margin-bottom:.8mm;
}
.pharmacy-instructions{
  font-size:8.3pt;
  line-height:1.3;
  white-space:pre-wrap;
}
.pharmacy-free-line .pharmacy-instructions{font-size:8.3pt}

/* Bloc prescripteur + signature unique et compact */
.rx-prescriber-combined{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 48mm!important;
  gap:7mm!important;
  align-items:stretch!important;
  border:1px solid #cfd8de!important;
  border-radius:10px!important;
  padding:4mm!important;
  margin-top:7mm!important;
  min-height:26mm!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
.rx-prescriber-combined .rx-prescriber-info{
  align-self:center;
  line-height:1.3;
}
.rx-prescriber-combined .rx-signature-zone{
  border:0!important;
  min-height:20mm!important;
  padding:0!important;
  display:flex;
  align-items:flex-start;
}
.rx-prescriber-combined .signature{display:none!important}

/* Editeur */
.cat-order-wrap{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:11px;
  font-weight:700;
  color:#5c6e78;
}
.cat-order-wrap .cat-order{font-weight:400;color:inherit}

/* Aperçu écran */
#printStage.preview-visible{
  box-sizing:border-box!important;
  width:210mm!important;
  min-height:297mm!important;
  padding:10mm 12mm!important;
  background:#fff!important;
  color:#111!important;
  margin:0 auto!important;
}
.print-document-root{
  width:100%;
  background:#fff;
}

/* AirPrint / Safari */
@page{
  size:A4 portrait;
  margin:0;
}
@media print{
  html,body{
    width:210mm!important;
    min-height:297mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  body *{
    visibility:hidden!important;
  }

  #printPreviewOverlay,
  #printPreviewOverlay *{
    visibility:visible!important;
  }

  #printPreviewOverlay{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:210mm!important;
    min-height:297mm!important;
    padding:0!important;
    margin:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  .print-preview-shell,
  .print-preview-scroll{
    display:block!important;
    position:static!important;
    width:210mm!important;
    height:auto!important;
    min-height:297mm!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    background:#fff!important;
    box-shadow:none!important;
    border:0!important;
  }

  .print-preview-toolbar{
    display:none!important;
  }

  #printStage,
  #printStage.preview-visible{
    display:block!important;
    position:static!important;
    width:210mm!important;
    min-height:297mm!important;
    padding:9mm 11mm!important;
    margin:0!important;
    box-sizing:border-box!important;
    background:#fff!important;
    color:#111!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  .print-document-root{
    display:block!important;
    width:100%!important;
    overflow:visible!important;
  }

  .prescription-page,
  .sheet-preview{
    display:block!important;
    position:static!important;
    width:auto!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  .page-break{
    display:block!important;
    page-break-before:always!important;
    break-before:page!important;
    height:0!important;
  }

  .rx-prescriber-combined{
    grid-template-columns:minmax(0,1fr) 46mm!important;
    gap:6mm!important;
    padding:3.5mm!important;
    margin-top:5mm!important;
    min-height:24mm!important;
  }

  .pharmacy-product{font-size:8.8pt!important}
  .pharmacy-instructions{font-size:8pt!important}
}
