/* LA MISE EN PAGE — le style du module partagé (14/09/2026). Chargé après app-ui.css. */
.mep{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px;align-items:start}
@media(max-width:860px){.mep{grid-template-columns:minmax(0,1fr)}}
.mep-t{font-family:var(--f-titre);font-weight:600;font-size:19px;margin:22px 0 8px;padding-top:16px;border-top:1px solid var(--ligne)}
.mep-reglages .mep-t:first-child{margin-top:0;padding-top:0;border-top:0}
.mep-aide{display:block;color:#5C6B64;font-size:13.5px;margin:0 0 8px;max-width:64ch}
.mep-lien{background:none;border:0;color:#5C6B64;text-decoration:underline;padding:8px 0;font:inherit;cursor:pointer;min-height:40px}
.mep-msg{background:var(--vert-doux);border:2px solid var(--vert-40);border-radius:var(--r-bloc);padding:10px 14px;margin:0 0 12px;font-size:14.5px}
.mep-msg-ko{background:#FBECEA;border-color:#E7C3BE;color:#7E2A23}
.mep-attente{color:#5C6B64;font-size:15px;margin:0}
/* la palette : une ligne par couleur */
.mep-couleur{display:grid;grid-template-columns:46px minmax(0,1fr) 104px 30px;gap:10px;align-items:center;margin-bottom:8px}
.mep-nuancier{position:relative;width:46px;height:46px;border-radius:var(--r-bloc);border:2px solid var(--encre);overflow:hidden;cursor:pointer;background:conic-gradient(#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}
.mep-nuancier input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.mep-nuancier span{position:absolute;inset:5px;border-radius:4px;border:2px solid #fff;pointer-events:none}
.mep-couleur-txt b{display:block;font-size:14.5px;line-height:1.2}
.mep-couleur-txt span{display:block;font-size:12px;color:#5C6B64}
.mep-couleur input[type=text]{font-family:var(--f-chiffre);text-transform:uppercase;min-height:42px;padding:8px 10px;font-size:14px;width:100%;border:2px solid var(--ligne);border-radius:var(--r-cta)}
.mep-x{background:none;border:0;color:var(--danger);font-size:22px;line-height:1;cursor:pointer;padding:4px}
.mep-pastilles{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 6px 56px}
.mep-pastilles button{width:28px;height:28px;min-height:28px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--ligne);padding:0;cursor:pointer}
.mep-pastilles button[aria-pressed=true]{box-shadow:0 0 0 2px var(--encre)}
.mep-logo{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.mep-logo img{max-height:56px;max-width:160px;width:auto;height:auto;border:1px solid var(--ligne);border-radius:6px;padding:4px;background:#fff}
.mep input[type=file]{font:inherit;font-size:14px;color:#4a524e;max-width:100%}
.mep input[type=file]::file-selector-button{font:inherit;font-weight:700;font-size:14.5px;background:#fff;color:var(--encre);border:2px solid var(--encre);border-radius:var(--r-cta);padding:8px 12px;margin-right:10px;min-height:42px;cursor:pointer}
/* la typographie */
.mep-selpol{position:relative;margin:6px 0 10px}
.mep-selpol-actif{display:grid;grid-template-columns:1fr;gap:2px;width:100%;text-align:left;background:#fff;border:2px solid var(--encre);border-radius:var(--r-bloc);padding:10px 14px;cursor:pointer;font:inherit;min-height:64px;position:relative}
.mep-selpol-actif::after{content:"";position:absolute;right:16px;top:50%;width:10px;height:10px;border-right:2px solid var(--encre);border-bottom:2px solid var(--encre);transform:translateY(-70%) rotate(45deg)}
.mep-selpol-actif[aria-expanded=true]::after{transform:translateY(-30%) rotate(-135deg)}
.mep-selpol-lib{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--vert)}
.mep-selpol-actif b{font-size:20px;line-height:1.15;color:var(--encre)}
.mep-selpol-ex{font-size:14px;color:#4a524e}
.mep-selpol-panneau{position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;border:2px solid var(--encre);border-radius:var(--r-bloc);margin-top:6px;box-shadow:6px 6px 0 var(--vert-doux);padding:8px}
.mep-selpol-q{width:100%;min-height:42px;padding:8px 10px;margin-bottom:6px;font:inherit;border:2px solid var(--ligne);border-radius:var(--r-cta)}
.mep-selpol-liste{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto}
.mep-selpol-liste li button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:4px;padding:8px 10px;cursor:pointer;font:inherit}
.mep-selpol-liste li button b{display:block;font-size:19px;line-height:1.15;color:var(--encre)}
.mep-selpol-liste li button span{display:block;font-size:13.5px;color:var(--encre);margin-top:1px}
.mep-selpol-liste li button small{display:block;font-family:var(--f-texte);font-size:11.5px;color:#5C6B64;margin-top:2px}
.mep-selpol-liste li button:hover,.mep-selpol-liste li[aria-selected=true] button{background:var(--vert-doux)}
.mep-selpol-rien{padding:10px;color:#5C6B64;font-size:14px}
/* la galerie */
.mep-galerie{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 10px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.mep-galerie .tpl{flex:0 0 132px;scroll-snap-align:start;background:#fff;border:2px solid var(--ligne);border-radius:var(--r-bloc);padding:0;cursor:pointer;overflow:hidden;text-align:left}
.mep-galerie .vign{display:block;position:relative;width:100%;aspect-ratio:210/297;overflow:hidden;background:#fff;pointer-events:none}
.mep-galerie .dedans{display:block;width:760px;position:absolute;top:0;left:0;transform-origin:0 0}
.mep-galerie .tpl b{display:block;font-size:12.5px;padding:6px 8px;border-top:1px solid var(--ligne)}
.mep-galerie .tpl[aria-pressed=true]{border-color:var(--encre);box-shadow:0 4px 0 rgba(12,90,55,.22)}
.mep-galerie .tpl[aria-pressed=true] b{background:var(--vert-doux)}
/* la signature */
.mep-pad{border:2px dashed var(--ligne);border-radius:var(--r-bloc);background:#fff;touch-action:none;position:relative;margin-bottom:6px}
.mep-pad canvas{display:block;width:100%;height:120px;cursor:crosshair}
.mep-pad-aide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#98a29c;font-size:13px;pointer-events:none}
/* la bascule devis / facture */
.mep-bascule{display:inline-flex;border:2px solid var(--encre);border-radius:var(--r-cta);overflow:hidden;margin:0 0 10px}
.mep-bascule button{background:#fff;border:0;font:inherit;font-weight:700;font-size:14.5px;padding:8px 16px;min-height:40px;cursor:pointer;color:var(--encre)}
.mep-bascule button.on{background:var(--encre);color:#fff}
/* la feuille A4 */
.mep-a4-col{position:sticky;top:84px;min-width:0;max-width:100%}
.mep-a4{position:relative;background:#fff;border:2px solid var(--encre);border-radius:4px;box-shadow:8px 8px 0 var(--vert-doux);overflow:hidden;min-height:400px}
.mep-a4-in{width:794px;transform-origin:top left;padding:28px 30px;box-sizing:border-box}
.mep-cap{font-size:13px;color:#5C6B64;margin:10px 0 0}
@media(max-width:860px){.mep-a4-col{position:static}}
@media(max-width:520px){.mep-couleur{grid-template-columns:46px minmax(0,1fr) 88px 26px;gap:8px}}
