/* Modèles d'impression façon EBP : pages A4, éditeur et aperçu. */
.pm-page{position:relative;width:210mm;height:297mm;overflow:hidden;background:#fff;color:#111;box-sizing:border-box;font-size:9pt;line-height:1.25;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pm-band{position:absolute;left:0;width:210mm}
.pm-obj{position:absolute;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;overflow-wrap:anywhere}
.pm-text{white-space:pre-wrap}
.pm-text mark{background:#fff2a8;color:#5b4300;border-radius:2px}
.pm-image img{width:100%;height:100%;object-fit:contain;display:block}
.pm-line{justify-content:center!important}
.pm-obj table{width:100%;border-collapse:collapse;font-size:inherit;color:inherit}
.pm-obj th,.pm-obj td{padding:.6mm 1.2mm;text-align:left;font-weight:inherit}
.pm-obj .num{text-align:right;white-space:nowrap}
.pm-vat th{background:var(--pm-accent);color:#fff;font-weight:700}
.pm-vat td{border-bottom:.2mm solid #d5d9e0}
.pm-totals td{border-bottom:.2mm solid #d5d9e0;padding:1mm 1.5mm}
.pm-totals .pm-strong td{font-weight:700}
.pm-totals .pm-final td{background:var(--pm-accent);color:#fff;font-weight:700;border-bottom:0}
.pm-mentions p{margin:0 0 .8mm;white-space:pre-wrap}
.pm-signature img{max-width:100%;max-height:18mm}
.pm-signature .quote-approval-receipt p{margin:.5mm 0}
.pm-bank div{white-space:pre-wrap}
.pm-body{position:absolute}
.pm-table{width:100%;border-collapse:collapse;table-layout:fixed;color:#111}
.pm-table th{font-weight:700;padding:1.2mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-table td{padding:1mm 1.2mm;vertical-align:top;overflow-wrap:anywhere}
.pm-table .pm-label{white-space:pre-wrap}
.pm-table .pm-code{font-weight:700}
.pm-table td img{display:block;max-width:30mm;max-height:25mm;margin-top:1mm}
.pm-grid-rows td{border-bottom:.2mm solid #d5d9e0}
.pm-grid-all th,.pm-grid-all td{border:.2mm solid #b9c0cc}
.pm-zebra tbody tr:nth-child(even) td{background:#f3f5f9}
.pm-table .pm-carry td{font-weight:700;font-style:italic;background:#eef1f6}
/* Style EBP : cadres lavande arrondis, bandeaux bleus, traits de colonnes sur toute la hauteur. */
.pm-frame{background:var(--pm-fill);border-radius:2.7mm;overflow:hidden}
.pm-colsep{position:absolute;top:0;bottom:.5mm;width:0;border-left:.25mm solid var(--pm-accent);margin-left:-.125mm}
.pm-style-ebp .pm-table th{font-size:9pt;line-height:1.25;padding:1.2mm 0;text-align:center!important;text-overflow:clip}
.pm-style-ebp .pm-table .pm-gap th{padding:0;height:2.5mm;background:none}
.pm-style-ebp .pm-table td{padding:0 1.2mm;line-height:1.8;border:0}
.pm-style-ebp .pm-table .pm-code{font-weight:400}
.pm-style-ebp .pm-table .pm-carry td{background:none}
.pm-style-ebp .pm-vat{display:block}
.pm-eh{display:grid;grid-template-columns:41.44% 25.38% 33.18%;align-items:center;height:6.39mm;margin-bottom:1.43mm;background:var(--pm-accent);color:#fff;font-weight:700;text-align:center}
.pm-er{display:grid;grid-template-columns:41.44% 25.38% 33.18%;align-items:center;height:5.2mm}
.pm-er>span:first-child{text-align:right;padding-right:3.4mm}
.pm-er>span:nth-child(2){display:flex;justify-content:space-between;padding:0 2.8mm}
.pm-er>span:nth-child(2) b{font-weight:inherit}
.pm-er>span:last-child{text-align:right;padding-right:1.2mm}
.pm-esep{position:absolute;top:6.39mm;bottom:.2mm;width:0;border-left:.25mm solid var(--pm-accent);margin-left:-.125mm}
.pm-style-ebp .pm-totals{display:block}
.pm-et{position:absolute;left:1.2mm;right:3.8mm;display:flex;justify-content:space-between;white-space:nowrap}
.pm-eb{font-weight:700}
.pm-eline{position:absolute;top:15.92mm;left:0;right:2.1mm;border-top:.25mm solid var(--pm-accent)}
.pm-efinal{position:absolute;left:0;right:0;bottom:0;height:6.35mm;display:flex;justify-content:space-between;align-items:center;padding:0 3.8mm 0 1.2mm;background:var(--pm-accent);color:#fff;font-weight:700;white-space:nowrap}
.pm-style-ebp .pm-bank strong{text-transform:uppercase}
.pm-design .pm-body.pm-frame{background:var(--pm-fill)}
.pm-stage{position:absolute;left:-30000px;top:0;visibility:hidden;pointer-events:none}
.pm-placeholder{margin:auto;color:#8792a6;font:italic 8pt Arial,sans-serif;text-align:center}
@media screen{.print-sheet.pm-sheet{display:none}}
@page pm-a4{size:A4;margin:0}
@media print{.print-sheet.pm-sheet{display:block!important;padding:0!important;margin:0!important}.pm-sheet .pm-page{page:pm-a4;break-after:page;page-break-after:always}.pm-sheet .pm-page:last-child{break-after:auto;page-break-after:auto}}

/* Éditeur */
dialog.pm-dialog{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;margin:0!important;padding:0!important;border-radius:0!important;display:flex;flex-direction:column;overflow:hidden!important;inset:0}
dialog.pm-dialog .dialog-head{padding:6px 14px;flex:none}
dialog.pm-dialog .dialog-head h2{margin:0;font-size:1.05rem}
.pm-editor{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}
.pm-toolbar{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:6px 12px;border-bottom:1px solid var(--line);background:#f6f8fc}
.pm-toolbar button,.pm-toolbar select{padding:5px 9px;font-size:.85rem;border-radius:6px;width:auto}
.pm-toolbar button:disabled{opacity:.4}
.pm-toolbar button.active{background:#2459df;color:#fff;border-color:#2459df}
.pm-sep{width:1px;align-self:stretch;background:var(--line);margin:0 4px}
.pm-grow{flex:1}
.pm-check{display:flex;align-items:center;gap:4px;font-size:.85rem;white-space:nowrap}
.pm-check input{width:auto}
.pm-work{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0}
.pm-canvas{overflow:auto;background:#8a93a3;padding:24px;min-height:0;touch-action:none}
.pm-canvas .pm-page{margin:0 auto;box-shadow:0 4px 18px rgba(0,0,0,.35);user-select:none}
.pm-design .pm-obj{cursor:move;outline:1px dashed rgba(36,89,223,.28)}
.pm-design .pm-obj:hover{outline-color:rgba(36,89,223,.7)}
.pm-design .pm-obj.pm-selected{outline:1px solid transparent}
.pm-design .pm-body{cursor:pointer;outline:1px dashed rgba(10,140,110,.5);background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(10,140,110,.05) 6px 12px)}
.pm-design .pm-body.pm-selected{outline:2px solid #0a8c6e}
.pm-bandline{position:absolute;left:0;width:210mm;height:0;border-top:1px dashed #d6336c;pointer-events:none;z-index:4}
.pm-grip{position:absolute;left:0;width:210mm;height:2.4mm;margin-top:-1.2mm;cursor:ns-resize;z-index:5}
.pm-grip:hover{background:rgba(214,51,108,.18)}
.pm-bandtag{position:absolute;right:1mm;z-index:6;font:600 7pt Arial,sans-serif;background:#d6336c;color:#fff;padding:.3mm 1.5mm;border-radius:1mm;pointer-events:none;opacity:.85}
.pm-guide{position:absolute;border-left:1px solid #f08c00;border-top:1px solid #f08c00;z-index:7;pointer-events:none}
.pm-selbox{position:absolute;outline:2px solid #2459df;z-index:8;pointer-events:none}
.pm-h{position:absolute;width:9px;height:9px;background:#fff;border:1.5px solid #2459df;border-radius:2px;pointer-events:auto;margin:-5px 0 0 -5px}
.pm-h-nw{left:0;top:0;cursor:nwse-resize}.pm-h-n{left:50%;top:0;cursor:ns-resize}.pm-h-ne{left:100%;top:0;cursor:nesw-resize}.pm-h-e{left:100%;top:50%;cursor:ew-resize}
.pm-h-se{left:100%;top:100%;cursor:nwse-resize}.pm-h-s{left:50%;top:100%;cursor:ns-resize}.pm-h-sw{left:0;top:100%;cursor:nesw-resize}.pm-h-w{left:0;top:50%;cursor:ew-resize}
.pm-props{overflow:auto;border-left:1px solid var(--line);padding:10px 14px;background:#fff;font-size:.9rem}
.pm-props h3{margin:4px 0 8px;font-size:1rem}
.pm-props h3 small{color:var(--muted);font-weight:400}
.pm-props h4{margin:14px 0 6px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.pm-props .field{margin:4px 0}
.pm-props .field span{font-size:.78rem}
.pm-props input,.pm-props select,.pm-props textarea{padding:5px 7px;font-size:.88rem}
.pm-props input[type=color]{padding:1px;height:32px;min-width:48px}
.pm-grid4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}
.pm-row{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:end;margin:4px 0}
.pm-row .field{flex:1;min-width:90px}
.pm-seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.pm-seg button{border:0;border-radius:0;padding:5px 9px;min-width:32px;background:#fff}
.pm-seg button+button{border-left:1px solid var(--line)}
.pm-seg button.active{background:#2459df;color:#fff}
.pm-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.pm-actions button{padding:6px 10px;font-size:.85rem}
.pm-actions .danger{color:#c92a2a;border-color:#f1b3b3}
.pm-cols{display:flex;flex-direction:column;gap:4px}
.pm-col{display:grid;grid-template-columns:22px minmax(0,1fr) 52px 74px 28px 28px;gap:4px;align-items:center}
.pm-col.off input:not([type=checkbox]),.pm-col.off select{opacity:.45}
.pm-col input[type=checkbox]{width:18px;height:18px}
.pm-col button{padding:3px 0}
.pm-layers{display:flex;flex-direction:column;gap:3px;max-height:260px;overflow:auto}
.pm-layers button{text-align:left;padding:5px 8px;font-size:.82rem;display:flex;justify-content:space-between;gap:8px}
.pm-layers small{color:var(--muted);white-space:nowrap}
.pm-status{margin:0;padding:6px 14px;border-top:1px solid var(--line);font-size:.85rem;background:#f6f8fc}
.pm-warn{color:#b3541e;font-weight:600}
.pm-preview{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;background:#5f6878}
.pm-preview-bar{display:flex;gap:8px;align-items:center;padding:8px 14px;background:#fff;border-bottom:1px solid var(--line)}
.pm-preview-pages{flex:1;overflow:auto;padding:20px}
.pm-preview-pages .pm-page{margin:0 auto 18px;box-shadow:0 4px 18px rgba(0,0,0,.4);zoom:.85}
@media (max-width:900px){.pm-work{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 45%}.pm-props{border-left:0;border-top:1px solid var(--line)}}
