/* Une fenêtre de prévisualisation physique, plein écran, réutilisable. */
.efpv-sizing-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.efpv-sizing-modes[hidden],.efpv-fields[hidden]{display:none!important}
.efpv-sizing-button{min-height:35px;border:1px solid #bfd3df;border-radius:8px;background:white;color:#183e58;font:700 11px Lexend,Arial,sans-serif;cursor:pointer;padding:6px}
.efpv-sizing-button[aria-pressed="true"]{background:#ffe1a0;border-color:#d89b27}
.efpv-sizing-button:focus-visible{outline:2px solid #187bb4;outline-offset:2px}

.efpv-overlay[hidden]{display:none!important}
.efpv-overlay{position:fixed!important;inset:0!important;width:100dvw!important;height:100dvh!important;overflow:hidden!important;box-sizing:border-box!important;z-index:2147483000!important;background:#fff!important;color:#153650;font:13px Lexend,Arial,sans-serif!important}
.efpv-open{overflow:hidden!important}
.efpv-layout{display:grid;grid-template-columns:minmax(270px,31%) minmax(0,1fr);width:100%;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;box-sizing:border-box}
.efpv-side{background:#fff;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;border-right:1px solid #dae2e6;min-width:0}
.efpv-side>h2{font-size:19px!important;margin:0 0 2px!important;color:#102f49}
.efpv-group{border:1px solid #f1e2c5;border-radius:14px;background:#fffaf0;padding:13px;display:flex;flex-direction:column;gap:10px}
.efpv-group-head{display:flex;align-items:center;gap:11px}
.efpv-step{background:#ffc843;border-radius:50%;min-width:29px;height:29px;display:grid;place-items:center;font-weight:800;color:#153653}
.efpv-group-titles h3{font-size:15px!important;margin:0!important;color:#153653}.efpv-group-titles p{margin:3px 0 0;font-size:11px;color:#526d80}
.efpv-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.efpv-field{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#425d72;min-width:0}
.efpv-field select{background:white!important;border:1px solid #d2dfe7!important;border-radius:10px!important;padding:9px 8px!important;min-width:0;width:100%;font:600 12px Lexend,Arial,sans-serif!important;color:#12334f!important;min-height:38px}
.efpv-size-diagram{background:#fff;border:1px solid #e2e9eb;border-radius:10px;min-height:120px;display:grid;place-items:center;padding:12px}
.efpv-size-box{background:#e0effb;border:2px solid #315d78;box-sizing:border-box;width:min(72%,170px);max-height:110px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;text-align:center;font-size:17px}
.efpv-size-box small{font-size:10px;white-space:nowrap}
.efpv-summary-diagram{min-height:96px;border:1px solid #e2e9eb;background:white;border-radius:10px;display:grid;place-items:center}
.efpv-summary-paper{border:2px solid #315d78;background:#eaf2f8;position:relative;width:150px;max-height:90px}
.efpv-summary-support{position:absolute;top:0;left:0;box-sizing:border-box;border:2px solid #e88873;background:#ffebe1;display:grid;place-items:center;font-size:11px;font-weight:700}
.efpv-summary-text{font-weight:700;margin:0;color:#153653;font-size:12px}
.efpv-message{margin:0;padding:10px;background:#eaf4fa;border-radius:8px;color:#32617d;font-size:11px;line-height:1.45}
.efpv-main{padding:0!important;margin:0!important;max-width:none!important;width:100%!important;min-width:0;min-height:0;background:#f0f3f5;display:flex;flex-direction:column;overflow:hidden!important}
.efpv-main-head{display:flex;flex:0 0 auto;min-width:0;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 18px;background:#fff;border-bottom:1px solid #dce4e8}
.efpv-main-head h2{font-size:19px!important;margin:0!important;color:#12344f}.efpv-head-summary{color:#526d80;margin:3px 0 0;font-size:11px}
.efpv-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.efpv-tabs{display:flex;border-radius:10px;background:#f0f4f6;padding:3px;gap:3px}
.efpv-tab{font:700 11px Lexend,Arial,sans-serif;color:#456078;border:0;border-radius:8px;background:transparent;padding:10px 12px;cursor:pointer}
.efpv-tab.is-active,.efpv-btn.is-primary{background:#ffc947;color:#12344f}
.efpv-btn{border:1px solid #d6e0e7;border-radius:9px;background:white;color:#173950;font:700 11px Lexend,Arial,sans-serif;padding:11px 12px;cursor:pointer}
.efpv-close{font-size:17px}
.efpv-viewport{flex:1 1 0;min-height:0;padding:12px 18px;overflow:auto;overscroll-behavior:contain;display:flex;justify-content:center;align-items:center}
.efpv-canvas{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;box-sizing:border-box;min-height:100%;min-width:0;max-width:100%;width:100%;gap:7px}
.efpv-physical{position:relative;flex:none;max-width:100%;box-shadow:0 6px 26px #15375433;background:#fff;overflow:hidden}
.efpv-physical>.gr-print-sheet,.efpv-physical>.efpv-paper,.efpv-physical>.efpv-overview-art{position:absolute;top:0;left:0;box-sizing:border-box;background:white}
.efpv-physical .gr-print-activity,.efpv-physical .gr-print-zone{position:absolute;box-sizing:border-box;overflow:hidden}
.efpv-physical .gr-print-activity.is-cut{outline:.2mm dashed #9eabb3;outline-offset:-.3mm}
.efpv-physical .gr-print-zone{display:flex;align-items:center;justify-content:center}
.efpv-physical .gr-print-zone .gr-object{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.efpv-physical .gr-print-zone img{width:100%;height:100%;max-width:none;object-fit:contain}
.efpv-thumb-paper .gr-print-activity,.efpv-thumb-paper .gr-print-zone{position:absolute;box-sizing:border-box;overflow:hidden}
.efpv-thumb-paper .gr-print-zone{display:flex;align-items:center;justify-content:center}
.efpv-canvas-label{font-size:11px;font-weight:700;color:#536d80}
.efpv-readable-bounds{position:absolute;z-index:4;pointer-events:none;border:2px dashed #ef8268;box-sizing:border-box}
.efpv-readable-bounds>span{position:absolute;top:6px;left:6px;white-space:nowrap;border:1px solid #e89a79;background:#fffaf3;color:#14374f;font-size:11px;font-weight:700;border-radius:6px;padding:5px 7px}
.efpv-summary-tile{border:1px dashed #8aa4bc;display:grid;place-items:center;font-size:11px;font-weight:700;color:#456b86}
.efpv-activity-bounds{position:absolute;pointer-events:none;box-sizing:border-box;border:2px dashed #e57868;z-index:3}
.efpv-activity-bounds>span{position:absolute;top:2mm;left:2mm;color:#153653;background:#fff7ea;border:1px solid #ed967d;border-radius:2mm;padding:1mm 2mm;font:bold 3mm Lexend,Arial,sans-serif}
.efpv-activity-bounds>small{position:absolute;color:#215477;background:#fff;font:bold 3mm Lexend,Arial,sans-serif}
.efpv-ruler-width{top:-5mm;left:35%}.efpv-ruler-height{right:-17mm;top:48%}
.efpv-overview-art{outline:2px dashed #dc8169;outline-offset:-2px}
.efpv-tile-outline{position:absolute;border:1px dashed #2d78b4;box-sizing:border-box}
.efpv-tile-outline span{background:#fff3d0;color:#153653;font-size:10px;padding:2px 4px}
.efpv-cut-guide{position:absolute;border:.2mm dashed #6f8aab;pointer-events:none;box-sizing:border-box}
.efpv-thumbs{display:flex;gap:7px;align-items:center;justify-content:center;overflow:hidden;min-height:0;flex:0 0 auto;padding:0;background:transparent;max-width:100%}
.efpv-thumb{border:2px solid transparent;border-radius:9px;background:white;padding:3px;cursor:pointer;display:flex;flex:0 0 87px;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:#24495e;min-width:0}
.efpv-thumb.is-selected{border-color:#ffc343}
.efpv-thumb-paper{width:72px;max-height:60px;overflow:hidden;position:relative;display:grid;place-items:center;background:#fff;border:1px solid #d8e1e7}
.efpv-thumb-paper>.gr-print-sheet,.efpv-thumb-paper>.efpv-paper{position:absolute;top:0;left:0}
.efpv-footer{flex:0 0 auto;background:#edf6ff;border-top:1px solid #d5e3ec;color:#496b87;font-size:10px;text-align:center;padding:5px 10px}
.efpv-error{padding:20px;color:#a13939;background:#fff;border:1px solid #ecc;border-radius:9px}
.efpv-overlay .tri-print-page{border:none!important}
@media(max-width:850px){.efpv-layout{grid-template-columns:270px 1fr}.efpv-main-head{padding:8px}.efpv-btn,.efpv-tab{padding:7px}}
@media(max-width:620px){.efpv-layout{display:flex;flex-direction:column}.efpv-side{max-height:39dvh;display:block;padding:8px}.efpv-group{margin:6px 0}.efpv-main{flex:1}.efpv-thumbs{min-height:60px}}
@media print{.efpv-overlay{display:none!important}body.efpv-open{overflow:visible!important}}
/* L'impression du Tri utilise les vraies feuilles composées, pas les pages A4 intermédiaires. */
@media print{
 #print-stage.tri-print-active .efpv-paper{break-after:page!important;page-break-after:always!important;border:0!important;}
 #print-stage.tri-print-active .efpv-paper:last-child{break-after:auto!important;page-break-after:auto!important}
 #print-stage.tri-print-active .tri-print-page{break-after:auto!important;page-break-after:auto!important}
}

/* Aperçu et export physique du DOM imprimable natif. Le même noeud source est utilisé pour les deux. */
.efpv-native-content,.efpv-native-source{box-sizing:border-box}
.efpv-native-source>.memory-print-page,.efpv-native-source>.pin-print-page,.efpv-native-source>.loto-print-page{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;box-sizing:border-box}
.efpv-native-source .memory-print-page{padding:10mm!important;box-sizing:border-box!important}.efpv-native-source .memory-print-grid{display:grid;grid-template-columns:repeat(4,60mm);grid-template-rows:repeat(3,60mm);height:183mm;width:243mm;gap:1mm;align-content:center;justify-content:center}
.efpv-native-source .memory-print-card{border:.35mm dashed #aaa;padding:2mm;display:grid;place-items:center;overflow:hidden;min-width:0;min-height:0}
.efpv-native-source .memory-print-card img{width:100%;height:100%;object-fit:contain}
.efpv-native-source .chg-sheet,.efpv-native-source .den-sheet,.efpv-native-source .sui-sheet,.efpv-native-source .mq-sheet{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important}
@media print {
 #print-stage.efpv-native-print{margin:0!important;padding:0!important;width:auto!important;height:auto!important;display:block!important}
 #print-stage.efpv-native-print>.efpv-paper{break-after:page!important;page-break-after:always!important;display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
 #print-stage.efpv-native-print>.efpv-paper:last-child{break-after:auto!important;page-break-after:auto!important}
 #print-stage.efpv-native-print .efpv-native-source>*{break-after:auto!important;page-break-after:auto!important}
}

/* Conserver les géométries métier imprimables lors de la mise en page. */
.efpv-native-source .loto-print-page{display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.efpv-native-source .loto-print-page{padding:0!important}
.efpv-native-source .loto-print-board,.efpv-native-source .loto-draw-sheet{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.efpv-native-source .loto-print-tiles,.efpv-native-source .loto-print-picks{width:var(--loto-print-width);height:var(--loto-print-height);gap:4mm;flex:none}
.efpv-native-source .pin-print-page{padding:8mm!important;box-sizing:border-box!important}
.efpv-native-source .pin-print-grid{display:grid;grid-template-columns:repeat(var(--pin-cols,2),minmax(0,1fr));grid-template-rows:repeat(var(--pin-rows,3),minmax(0,1fr));gap:1%;width:100%;height:100%}
/* Les trois choix communs disposent des mêmes composants visuels pour les 12 activités. */
.efpv-capacity-note{font:500 11px Lexend,Arial,sans-serif;color:#4b6a80;margin:0}
.efpv-custom-fields[hidden]{display:none!important}
.efpv-custom-fields input{width:100%;box-sizing:border-box;background:#fff;border:1px solid #d2dfe7;border-radius:10px;padding:9px 8px;min-height:38px;color:#153650;font:600 12px Lexend,Arial,sans-serif}
.efpv-native-unit{display:flex;align-items:stretch;justify-content:center}
.efpv-native-unit>.pin-card-slot{width:100%!important;height:100%!important;display:flex;align-items:center;justify-content:center;container-type:size}
.efpv-native-unit>.pin-card-slot>.pin-card{width:100%!important;height:100%!important;aspect-ratio:auto!important;box-sizing:border-box}
.efpv-native-unit>.memory-print-card{width:100%!important;height:100%!important;box-sizing:border-box;border:.3mm dashed #9fa7ad;padding:2mm}
.efpv-native-unit>.memory-print-card img{max-width:100%;width:100%;height:100%;object-fit:contain}
.efpv-native-unit>.dom-tile{height:100%!important;width:100%!important;aspect-ratio:auto!important;box-sizing:border-box;border:.3mm solid #40505c;border-radius:0}
.efpv-native-unit>.dom-tile .dom-half:first-child{border-right:.3mm solid #40505c}
.efpv-native-unit>.dom-tile .dom-placeholder{opacity:0}
@media print{#print-stage.efpv-native-print .efpv-native-unit, #print-stage.efpv-native-print .efpv-native-unit *{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}}
/* v0.9.491 — Une seule mise en page plein écran : deux formats côte à côte. */
.efpv-layout{grid-template-columns:minmax(455px,38%) minmax(0,1fr)}
.efpv-side{gap:11px;padding:14px}
.efpv-formats-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:stretch}
.efpv-formats-row>.efpv-group{min-width:0;padding:11px;gap:9px}
.efpv-formats-row .efpv-group-head{gap:6px;align-items:flex-start}
.efpv-formats-row .efpv-step{min-width:23px;height:23px;font-size:12px}
.efpv-formats-row .efpv-group-titles h3{font-size:12px!important;line-height:1.3}
.efpv-formats-row .efpv-group-titles p{font-size:10px;line-height:1.3}
.efpv-formats-row .efpv-fields{grid-template-columns:1fr 1fr;gap:5px}
.efpv-formats-row .efpv-field{font-size:10px}
.efpv-formats-row .efpv-field select{padding:7px 3px!important;font-size:11px!important;min-height:35px}
.efpv-formats-row .efpv-custom-fields input{min-width:0;padding:7px 3px;font-size:11px}
.efpv-formats-row .efpv-size-diagram{min-height:85px;padding:6px}
.efpv-formats-row .efpv-size-box{max-height:76px;font-size:13px}
.efpv-formats-row .efpv-size-box small{font-size:9px}
.efpv-formats-row .efpv-field[hidden]{display:none!important}
.efpv-quantity-choices{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}
.efpv-quantity-option{border:1px solid #cddfe9;border-radius:8px;background:#fff;color:#163b56;font:700 12px Lexend,Arial,sans-serif;padding:9px 2px;cursor:pointer;min-width:0}
.efpv-quantity-option[aria-pressed="true"]{background:#ffca43;border-color:#e6a90c;color:#112d45}
.efpv-quantity-option:disabled{opacity:.34;color:#7f8d9b;background:#f0f1f2;cursor:not-allowed;text-decoration:none}
.efpv-quantity-more{max-width:180px}
.efpv-quantity-more[hidden]{display:none!important}
.efpv-center-dimensions{position:static;align-self:center;z-index:5;display:flex;gap:11px;justify-content:center;flex-wrap:wrap;pointer-events:none}
.efpv-center-dimensions span{border:1px solid #cadce9;border-radius:8px;background:#fffefa;box-shadow:0 1px 5px #15375422;padding:5px 9px;color:#153b55;font:700 11px Lexend,Arial,sans-serif}
@media(max-width:1120px){.efpv-layout{grid-template-columns:minmax(390px,40%) minmax(0,1fr)}.efpv-formats-row{grid-template-columns:1fr 1fr}.efpv-formats-row .efpv-fields{grid-template-columns:1fr}.efpv-quantity-choices{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){.efpv-sizing-modes{grid-template-columns:1fr}.efpv-layout{display:flex;flex-direction:column}.efpv-side{flex:0 0 auto;max-height:43dvh}.efpv-formats-row .efpv-fields{grid-template-columns:1fr 1fr}.efpv-main{min-height:0;flex:1}}
/* Remplacer les anciens formulaires latéraux UNIQUEMENT après raccordement à l'aperçu. */

/* Le format se règle désormais dans l'espace unique ; on conserve seulement
   les options éditoriales indépendantes (couleurs, fonds, etc.) dans le panneau historique. */
#view-pinces [data-pin-tab-panel="layout"] .ef-page-standard > .ef-page-group:first-child,
#view-tri #tri-layout-settings .ef-page-standard > .ef-page-group:first-child,
#view-grille .gr-page-settings .ef-page-standard > .ef-page-group:first-child,
#view-domino [data-dom-panel="layout"] .dom-section:first-child{display:none!important}

/* v0.9.492 — Découpe lisible : feuille sélectionnée mise en évidence ; autres zones atténuées. */
.efpv-tile-outline{pointer-events:auto;cursor:pointer;z-index:6;transition:border-color .15s;background:rgba(255,255,255,.50)}
.efpv-tile-outline.is-current{border:3px solid #1676b9;background:rgba(31,147,215,.10);z-index:7;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}
.efpv-tile-outline.is-other{border:1.2px dashed #638aa5}
.efpv-tile-outline span{display:inline-block;font-weight:700;color:#143852;background:#fff;border:1px solid #cadce9;padding:2mm 3mm;border-radius:2mm;white-space:nowrap}
.efpv-tile-outline.is-current span{background:#e7f5ff;color:#124b76;border-color:#1676b9}
.efpv-tile-outline:focus-visible{outline:4px solid #ffcb43;outline-offset:-4px}
.efpv-mosaic-help{flex:1 1 270px;max-width:620px;width:auto;background:#e9f4fb;border:1px solid #c5ddeb;border-radius:10px;padding:5px 8px;color:#194762;font-size:10px;line-height:1.4;text-align:left;margin:0}
/* Le menu de mode appartient au rail de droite, pas aux réglages pédagogiques. */
.lab-maze-count{display:flex;gap:10px;align-items:center;margin:11px 0 13px;flex-wrap:wrap}
.lab-maze-count>span{font-weight:700;font-size:12px;color:#153650}
.lab-maze-pager{display:flex;align-items:center;justify-content:center;gap:6px}
.lab-maze-pager button,.lab-maze-count button{border:1px solid #cddde8;background:white;color:#1a4963;border-radius:8px;min-width:29px;height:29px;font-weight:700;cursor:pointer}
.lab-maze-count strong{min-width:2ch;text-align:center}
.lab-maze-pager button:disabled,.lab-maze-count button:disabled{opacity:.35;cursor:default}


/* v0.9.493 : navigation paginée du composant d'aperçu commun. */
.efpv-preview-notes{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:7px 12px;background:#f4f8fa;border-top:1px solid #e4ebef;box-sizing:border-box;min-height:34px;max-height:68px;overflow:auto}
.efpv-preview-notes .efpv-center-dimensions{display:flex;gap:7px;align-self:center;flex-wrap:wrap}
.efpv-preview-notes .efpv-center-dimensions span{box-shadow:none;font-size:10px;padding:4px 7px}
.efpv-thumb-area{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;min-height:0;border-top:1px solid #dce4e9;background:#fff;padding:5px 10px;gap:5px;box-sizing:border-box;overflow:hidden}
.efpv-page-nav{display:flex;justify-content:center;align-items:center;gap:7px;flex:0 0 auto;max-width:100%}
.efpv-nav-button{width:32px;height:30px;border:1px solid #d4e1e9;background:white;border-radius:8px;color:#153f58;font-size:17px;font-weight:700;cursor:pointer;flex:0 0 auto}
.efpv-nav-button:disabled{opacity:.3;cursor:default}
.efpv-nav-button:focus-visible,.efpv-page-choice:focus-visible{outline:2px solid #e3a400;outline-offset:2px}
.efpv-page-choice{width:auto;max-width:180px;min-width:140px;min-height:30px;border:1px solid #d4e1e9;border-radius:8px;background:#fff;padding:3px 6px;color:#153f58;font:700 11px Lexend,Arial,sans-serif}
@media(max-width:850px){.efpv-thumb{flex-basis:69px}.efpv-thumb-paper{width:58px;max-height:52px}.efpv-page-nav{gap:4px}.efpv-nav-button{width:28px}}

/* Le bouton de vrai plein écran de l’aperçu est accessible même hors du mode éditeur immersif. */
.efpv-fullscreen[aria-pressed="true"]{background:#fff0c0;border-color:#e0ab29}
.efpv-overlay:fullscreen{width:100vw!important;height:100dvh!important;inset:0!important}
