/* Fermettes express (préfixe px-) : thème clair, même disposition que les autres applis RE2020 Expert */
@font-face{font-family:"Plus Jakarta Sans";src:url(plus-jakarta-sans-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{--navy:#052e64;--teal:#0a7a99;--cyan:#0cc0df;--soft:#e3f7fb;--ok:#2e9e3e;--ok-soft:#e8f6ea;--orange:#e67700;--orange-soft:#fff1e0;--ink:#0f1f38;--muted:#5a6b84;--line:#e2e8f1;--bg:#f3f6fb;--bois:#c8964f;--eau:#1d9fc6}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:16.5px;color:var(--ink);background:var(--bg);display:flex;flex-direction:column;overflow:hidden}
svg.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
button{font:inherit;cursor:pointer;color:inherit}
/* en-tête */
.px-tete{display:flex;align-items:center;gap:12px;padding:8px 16px;min-height:68px;background:linear-gradient(120deg,var(--navy),#001635 85%);color:#fff;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.px-burger{display:none;width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;place-items:center}
.px-logo{height:48px;width:auto;border-radius:8px;display:block;background:#fff}
.px-titre{flex:1;min-width:0;display:grid;gap:2px}
.px-titre h1{margin:0;font-size:20px;line-height:1.2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.px-titre>span{font-size:13.5px;color:#bfe9f2}
.px-gratuit{background:#16a34a;color:#fff;font-weight:800;font-size:11.5px;border-radius:99px;padding:3px 9px;letter-spacing:.3px}
.px-tete-actions{display:flex;gap:8px}
.px-tete-btn{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#dff7fb;border-radius:999px;padding:8px 14px;font-size:14.5px;font-weight:700}
.px-tete-btn svg{color:var(--cyan)}
.px-tete-btn:hover{background:rgba(12,192,223,.18);border-color:var(--cyan)}
/* corps */
.px-corps{flex:1;display:flex;min-height:0;position:relative}
.px-gauche{width:390px;flex:none;display:flex;flex-direction:column;background:var(--bg);border-right:1px solid var(--line);z-index:40;min-height:0}
.px-voile-menu{display:none}
.px-etapes{display:flex;list-style:none;margin:0;padding:8px 8px;gap:3px;background:#fff;border-bottom:1px solid var(--line)}
.px-etapes li{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12.5px;color:var(--muted);padding:6px 2px;border-radius:10px;white-space:nowrap;cursor:pointer;font-weight:600}
.px-etapes li b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--line);color:var(--muted);font-size:13px}
.px-etapes li:hover{background:var(--soft)}
.px-etapes li.actif{background:var(--soft);color:var(--navy);font-weight:800}
.px-etapes li.actif b{background:var(--teal);color:#fff}
.px-panneau{flex:1;overflow-y:auto;padding:14px 16px 28px;display:grid;gap:14px;align-content:start}
.px-carte{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:12px}
.px-carte h2{margin:0;font-size:17.5px;color:var(--navy);display:flex;align-items:center;gap:8px}
.px-carte h2 svg{color:var(--teal)}
.px-carte p{margin:0}
.px-note{font-size:14px;color:var(--muted);line-height:1.45}
.px-ligne{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.px-champ{display:grid;gap:4px;font-size:14.5px;font-weight:700;color:var(--navy)}
.px-champ .px-saisie{display:flex;align-items:center;border:2px solid #cfd8e3;border-radius:12px;background:#fff;overflow:hidden}
.px-champ .px-saisie:focus-within{outline:3px solid var(--cyan);border-color:var(--teal)}
.px-champ input[type=number]{font:inherit;font-size:18px;font-weight:700;border:0;outline:0;padding:9px 4px 9px 12px;width:100%;min-width:0;color:var(--ink);background:none}
.px-champ .px-unite{padding:0 12px 0 2px;color:var(--muted);font-weight:700;font-size:15px}
.px-champ small{font-weight:500;color:var(--muted);font-size:13px}
/* choix en pastilles (mêmes tailles) */
.px-choix{display:grid;grid-template-columns:repeat(var(--n,2),1fr);gap:8px}
.px-choix button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px solid var(--line);background:#fff;border-radius:14px;padding:10px 6px;font-weight:800;font-size:14.5px;color:var(--navy);min-height:52px;text-align:center;line-height:1.2}
.px-choix button small{font-weight:600;color:var(--muted);font-size:12px}
.px-choix button svg.fig{width:64px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.px-choix button:hover{border-color:var(--cyan)}
.px-choix button[aria-pressed="true"]{border-color:var(--teal);background:var(--soft);box-shadow:inset 0 0 0 1px var(--teal)}
.px-puces{display:flex;flex-wrap:wrap;gap:6px}
.px-puces button{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:6px 12px;font-weight:700;font-size:14px;color:var(--navy)}
.px-puces button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
.px-curseur{display:grid;gap:6px}
.px-curseur-t{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;color:var(--navy);font-size:14.5px}
.px-curseur-t b{font-size:20px}
.px-curseur-t span{color:var(--muted);font-weight:600;font-size:13.5px}
input[type=range]{width:100%;accent-color:var(--teal);height:28px}
.px-info{margin:0;padding:10px 12px;border-radius:12px;font-weight:600;font-size:14.5px;line-height:1.45}
.px-info.ok{background:var(--ok-soft);color:#1d5f28}
.px-info.ko{background:var(--orange-soft);color:#8a4a00}
.px-info.bleu{background:#eaf2fd;color:#123c73;font-weight:500;border-left:4px solid #2f6fd6}
.px-info.bleu b{font-weight:800}
.px-info.bleu small{display:block;margin-top:4px;color:#5a6b84;font-size:12.5px}
.px-chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.px-chiffre{background:var(--soft);border-radius:14px;padding:10px 6px;display:grid;gap:1px;text-align:center}
.px-chiffre b{font-size:22px;color:var(--navy);line-height:1.15}
.px-chiffre span{font-size:12.5px;color:var(--muted);font-weight:700}
.px-chiffre.bois{background:#f7eedf}
.px-chiffre.bois b{color:#7a4b12}
.px-plan{width:100%;height:auto;display:block;background:#fbfcfe;border:1px solid var(--line);border-radius:12px}
.px-liste{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.px-liste li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.4}
.px-liste li i{flex:none;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-style:normal;font-weight:800;font-size:12.5px;display:grid;place-items:center;margin-top:1px}
.px-liste.pose li{cursor:pointer;border-radius:10px;padding:4px 6px;margin:0 -6px}
.px-liste.pose li:hover{background:var(--soft)}
.px-liste.pose li.actif{background:var(--soft);font-weight:700;color:var(--navy)}
.px-table{width:100%;border-collapse:collapse;font-size:14.5px}
.px-table td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.px-table td:last-child{text-align:right;font-weight:800;color:var(--navy);white-space:nowrap}
.px-table tr.titre td{font-weight:800;color:var(--teal);font-size:13px;text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid var(--soft);padding-top:12px}
.px-table td small{display:block;color:var(--muted);font-size:12.5px;font-weight:500}
.px-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:14px;background:var(--teal);color:#fff;font-weight:800;font-size:16px;padding:13px 12px;text-align:center}
.px-btn.sec{background:#fff;color:var(--teal);border:2px solid var(--teal)}
.px-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.px-sources{font-size:12px;color:var(--muted);line-height:1.5}
.px-sources a{color:inherit}
/* 3D */
.px-scene{position:relative;flex:1;min-width:0;background:linear-gradient(#cfe6f7,#eef5fb 65%);touch-action:none;overflow:hidden}
.px-scene canvas{display:block;width:100%;height:100%}
.px-vues{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap}
.px-vues button{border:1px solid var(--line);background:rgba(255,255,255,.95);border-radius:99px;padding:7px 13px;font-weight:700;font-size:13.5px;color:var(--navy);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.px-vues button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.px-zoom{position:absolute;right:12px;top:12px;display:grid;gap:6px}
.px-zoom button{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:22px;font-weight:800;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.12)}
/* barre de pose (étapes du chantier) */
.px-pose{position:absolute;left:12px;right:12px;bottom:12px;max-width:760px;margin:0 auto;background:rgba(255,255,255,.97);border-radius:18px;padding:10px 14px 12px;box-shadow:0 6px 24px rgba(5,46,100,.18);display:grid;gap:6px}
.px-pose-t{display:flex;align-items:center;gap:10px}
.px-lecture{width:42px;height:42px;border-radius:50%;border:0;background:var(--teal);color:#fff;display:grid;place-items:center;flex:none}
.px-lecture svg{width:18px;height:18px;fill:currentColor;stroke:none}
.px-pose-nom{flex:1;min-width:0;display:grid}
.px-pose-nom b{color:var(--navy);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.px-pose-nom span{color:var(--muted);font-size:13.5px;line-height:1.35}
.px-pose-num{font-weight:800;color:var(--teal);font-size:14px;white-space:nowrap}
.px-crans{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-weight:700;padding:0 6px;margin-top:-4px}
.px-voile{position:fixed;inset:0;background:rgba(5,20,45,.55);display:grid;place-items:center;padding:16px;z-index:100}
.px-voile[hidden]{display:none}
.px-fenetre{background:#fff;border-radius:18px;max-width:520px;width:100%;max-height:90vh;overflow:auto;padding:18px;display:grid;gap:12px}
.px-fenetre h2{margin:0;color:var(--navy);font-size:20px}
.px-fenetre ol{margin:0;padding-left:22px;display:grid;gap:6px}
/* téléphone et petite tablette */
@media (max-width:880px){
  .px-burger{display:grid}
  .px-tete{gap:8px;padding:6px 10px;min-height:60px}
  .px-logo{height:40px}
  .px-titre h1{font-size:17px}
  .px-titre>span{display:none}
  .px-tete-btn{padding:9px}
  .px-tete-btn span{display:none}
  .px-gauche{position:fixed;top:var(--tete,60px);bottom:0;left:0;width:min(92vw,410px);transform:translateX(-100%);transition:transform .25s ease;box-shadow:0 10px 30px rgba(0,0,0,.25)}
  .px-gauche.ouvert{transform:none}
  .px-voile-menu.ouvert{display:block;position:fixed;inset:var(--tete,60px) 0 0 0;background:rgba(5,20,45,.45);z-index:35}
  .px-pose{left:8px;right:8px;bottom:8px;padding:8px 10px 10px}
  .px-pose-nom span{display:none}
  .px-vues{top:8px;left:8px}
  .px-vues button{padding:6px 10px;font-size:13px}
  .px-zoom{top:auto;bottom:118px;right:8px}
}
@media (max-width:400px){.px-logo{height:34px}.px-titre h1{font-size:15.5px}.px-tete-actions{gap:4px}.px-tete-btn{padding:7px}}
@media print{
  body{display:block;overflow:visible;height:auto}
  .px-tete,.px-scene,.px-etapes,.px-actions,.px-voile-menu{display:none!important}
  .px-gauche{position:static;width:auto;transform:none;box-shadow:none;border:0}
  .px-panneau{overflow:visible}
}

a.px-btn{text-decoration:none}
.px-pose-nom span b{color:var(--navy)}
.px-vues button[data-a=coupe][aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#fff}
.px-lien{background:none;border:0;padding:0;color:inherit;text-decoration:underline;font:inherit;font-weight:800}
.px-scene{background:linear-gradient(#bcdcf3,#e3eef7 62%)}

.px-tete-btn.px-rapport{background:#16a34a;border-color:#16a34a;color:#fff}
.px-tete-btn.px-rapport svg{color:#fff}
.px-tete-btn.px-rapport:hover{background:#12873d;border-color:#12873d}
.px-etapes li.fait b{background:var(--ok);color:#fff}
.px-bandeau{position:absolute;left:12px;right:12px;top:56px;max-width:560px;margin:0 auto;background:rgba(5,46,100,.92);color:#fff;border-radius:12px;padding:10px 14px;font-size:15.5px;font-weight:700;text-align:center;pointer-events:none}
.px-bandeau:empty{display:none}
.px-lien-bas{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:14px;justify-self:center;padding:4px}
/* téléphone : titre sur une ligne, pastille dessous, « Nouveau » reste en bas de la Liste */
@media (max-width:880px){
  .px-titre h1{white-space:nowrap;font-size:16px;flex-direction:column;align-items:flex-start;gap:3px}
  .px-gratuit{white-space:nowrap;font-size:10.5px;padding:2px 8px}
  .px-tete-btn[data-a=nouveau]{display:none}
}

/* 31 oct. 2026 : boutons de vue de 40 px au doigt, sur une seule ligne qui défile */
@media (max-width:880px){.px-vues{flex-wrap:nowrap;overflow-x:auto;max-width:calc(100% - 66px);scrollbar-width:none}.px-vues button{min-height:40px;flex:none}}
/* 4 nov. 2026 : sens du toit, bouts pignon / croupe */
.px-q{margin:12px 0 6px}
.px-bouts{display:grid;gap:6px}
.px-bouts>div{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center}
.px-bouts span{font-weight:700;color:var(--navy);font-size:14px}
.px-bouts button{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:6px 12px;font-weight:700;font-size:14px;color:var(--navy)}
.px-bouts button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
@media (max-width:420px){.px-titre h1{white-space:normal;font-size:14.5px}.px-titre{overflow:hidden}}

/* Piscine 3D express (5 nov. 2026) */
.px-scene{background:linear-gradient(180deg,#cfe6f7 0%,#eef5fa 55%,#e8efe4 100%);transition:background .4s}
.px-scene.nuit{background:linear-gradient(180deg,#050d1f 0%,#0b1a36 60%,#101f2b 100%)}
.px-vues .px-bascule[aria-pressed="true"].eau{background:#0a7a99;border-color:#0a7a99;color:#fff}
.px-vues .px-bascule[aria-pressed="true"].nuit{background:#1b2a4a;border-color:#1b2a4a;color:#ffd75e}
.px-teintes{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}
.px-teintes button{display:grid;grid-template-columns:26px 1fr;column-gap:8px;align-items:center;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:6px 8px;font-weight:700;font-size:13.5px;color:var(--navy);line-height:1.2}
.px-teintes button i{grid-row:span 2;width:26px;height:26px;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.px-teintes button small{font-weight:600;font-size:11.5px;color:var(--muted)}
.px-teintes button[aria-pressed="true"]{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal) inset;background:var(--soft)}
.px-svg{width:100%;height:auto;display:block;background:#fff;border-radius:10px}
.px-legende{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px;font-weight:700;color:var(--muted)}
.px-legende span{display:inline-flex;align-items:center;gap:5px}
.px-legende i{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;color:#fff;font-style:normal;font-size:9.5px;font-weight:800}
.px-legende i.o{background:#fff;box-shadow:inset 0 0 0 1.6px #052e64}
.px-etapes li{font-size:12px}
@media (max-width:880px){.px-vues{gap:4px}.px-vues button{padding:6px 9px;font-size:12.5px}}
/* pose des équipements (5 nov. 2026) */
.px-outils{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.px-outils button{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:7px 9px;font-weight:800;font-size:14px;color:var(--navy);line-height:1.2}
.px-outils button i,.px-eq i{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;font-style:normal;font-weight:800;font-size:13px}
.px-outils button small{display:block;font-weight:600;font-size:11.5px;color:var(--muted)}
.px-outils button[aria-pressed="true"]{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange) inset;background:var(--orange-soft)}
.px-eqliste{display:grid;gap:4px}
.px-eq{display:grid;grid-template-columns:28px 1fr 30px;gap:8px;align-items:center;padding:5px 6px;border-radius:10px;background:#f7f9fc}
.px-eq span{display:grid;font-size:13.5px;color:var(--navy);line-height:1.25}
.px-eq small{color:var(--muted);font-size:12px;font-weight:600}
.px-eq em{font-style:normal;color:#8a4a00;font-size:12px;font-weight:700}
.px-eq.alerte{background:var(--orange-soft)}
.px-eq button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;color:var(--muted);line-height:1}
#pxPlanSvg{touch-action:none}
#pxPlanSvg .px-sym{cursor:grab}
.px-scene.pose canvas{cursor:crosshair}
.px-bandeau:empty{display:none}
#pxPlanSvg .px-sym:hover circle,#pxPlanSvg .px-sym.allume circle{stroke:#22d3ee;stroke-width:6}
.px-eq:hover{box-shadow:0 0 0 2px #22d3ee inset}
/* tableau électrique : compléments */
.px-infobulle{position:absolute;z-index:6;pointer-events:none;max-width:260px;background:#fff;border:1px solid #d5dee9;border-radius:10px;padding:8px 10px;box-shadow:0 6px 20px rgba(15,31,56,.14);font-size:13px;line-height:1.35}
.px-infobulle b{display:block;color:#0f1f38}.px-infobulle span{color:#5a6b84}
.px-id{border:1px solid #e1e8f0;border-radius:12px;padding:10px 12px;margin:0 0 10px}
.px-id-t{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.px-id-t small{margin-left:auto;color:#5a6b84}
.px-pastille{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;font-weight:700;font-size:12px}
.px-id ul{list-style:none;margin:8px 0 0;padding:0}.px-id li{display:flex;align-items:center;gap:6px;padding:4px 0;border-top:1px dashed #edf1f6;font-size:14px}
.px-id li i{font-style:normal;color:#5a6b84;margin-left:auto}.px-id select{font:inherit;font-size:12px;border:1px solid #d5dee9;border-radius:6px;padding:2px 4px;background:#fff}
.px-circuits td small{display:block;color:#5a6b84;font-size:12px}
.px-mini{border:0;background:#f1f4f8;border-radius:50%;width:26px;height:26px;cursor:pointer;color:#5a6b84;font-size:16px;line-height:1}.px-mini:hover{background:#fdeaea;color:#c0392b}
.px-etiquettes{display:grid;gap:8px;margin:10px 0}.px-etiquettes canvas{border-radius:4px;box-shadow:0 1px 4px rgba(15,31,56,.12)}
.px-coches{list-style:none;padding:0;margin:0}.px-coches li{padding:6px 0 6px 28px;position:relative;font-size:14px;border-top:1px dashed #edf1f6}
.px-coches li:before{content:"";position:absolute;left:4px;top:8px;width:16px;height:16px;border-radius:50%;background:#2e9e3e}
.px-coches li.ko:before{background:#c0392b}
.px-info.ko{background:#fdeaea;border-color:#f3c2c2;color:#8a1f1f}
.px-pieces td{vertical-align:middle}.px-pieces td small{display:block;color:#5a6b84;font-size:11.5px;line-height:1.25}
.px-pm{display:inline-flex;align-items:center;gap:6px}.px-pm b{min-width:18px;text-align:center}
.px-pm button{width:26px;height:26px;border-radius:50%;border:1px solid #d5dee9;background:#fff;color:#0a7a99;font-size:16px;line-height:1;cursor:pointer;padding:0}
.px-pm button:disabled{opacity:.35;cursor:default}.px-pm button:not(:disabled):hover{background:#e3f7fb}
.px-calc{margin:6px 0 0;font-size:12.5px;color:#5a6b84}
.px-schema{overflow-x:auto;border:1px solid #e1e8f0;border-radius:10px;margin:6px 0;background:#fff;-webkit-overflow-scrolling:touch}.px-schema canvas{display:block}
.px-panneau .px-carte{min-width:0;max-width:100%;box-sizing:border-box}.px-choix{min-width:0}.px-choix button{min-width:0;overflow-wrap:break-word}
@media (max-width:420px){.px-choix[style*="--n:3"]{grid-template-columns:1fr 1fr}.px-choix[style*="--n:4"]{grid-template-columns:1fr 1fr}.px-pieces td small{display:none}}

/* ---- menu simplifié (6 nov. 2026) : 4 étapes, volets repliables ---- */
.px-etapes li small{font-size:10.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.px-etapes li.fait b{background:var(--ok-soft);color:#1d5f28;font-size:0}
.px-etapes li.fait b::after{content:"✓";font-size:13px}
.px-etapes li.alerte b{background:#e67700;color:#fff}
.px-volet{background:#fff;border:1px solid var(--line);border-radius:16px;scroll-margin-top:8px;min-width:0}
.px-volet>summary{border-radius:15px}.px-volet[open]>summary{border-radius:15px 15px 0 0}
.px-volet-c .px-table td{overflow-wrap:break-word}
.px-volet>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:56px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.px-volet>summary::-webkit-details-marker{display:none}
.px-volet>summary>svg{color:var(--teal);flex:none}
.px-volet-t{flex:1;min-width:0;display:grid;gap:2px}
.px-volet-t b{font-size:16px;color:var(--navy)}
.px-volet-t small{font-size:13.5px;font-weight:700;color:#3d4f6a;line-height:1.3}
.px-volet-m{font-size:12.5px;font-weight:700;color:var(--teal);flex:none}
.px-volet-m::after{content:" ▾";display:inline-block;transition:transform .2s}
.px-volet[open]>summary{border-bottom:1px solid var(--line);background:var(--soft)}
.px-volet[open] .px-volet-m{font-size:0}
.px-volet[open] .px-volet-m::after{content:"▴";font-size:14px}
.px-volet-c{padding:14px;display:grid;gap:12px}
.px-volet.alerte{border-color:#f0b46a}
.px-volet.alerte .px-volet-t small{color:#8a4a00}
.px-volet.alerte>summary>svg{color:#e67700}
.px-pourquoi>summary{cursor:pointer;font-size:13.5px;font-weight:700;color:#2f6fd6;padding:4px 0;list-style:none}
.px-pourquoi>summary::-webkit-details-marker{display:none}
.px-pourquoi>summary::before{content:"ⓘ ";}
.px-pourquoi .px-info{margin-top:6px}
.px-exemples{display:grid;gap:8px}
.px-exemples .px-lien{justify-self:center}
.px-suivant span{font-size:18px}
.px-docs{display:grid;gap:8px}
.px-docs-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.px-docs-2 .px-btn{font-size:14px;padding:11px 8px}
.px-docs .px-btn svg{width:18px;height:18px;flex:none}
.px-plus a{color:var(--teal);font-weight:700}
@media (max-width:420px){.px-etapes li small{display:none}.px-docs-2{grid-template-columns:1fr}}
/* cibles tactiles (retours du 6 nov.) */
.px-circuits td:nth-child(2),.px-circuits td:nth-child(3){white-space:nowrap}
@media (pointer:coarse){
  .px-pm button{width:36px;height:36px;font-size:18px}
  .px-mini{min-width:40px;min-height:40px}
  .px-id select{min-height:38px;font-size:15px}
  .px-lien{min-height:44px;padding:10px 8px}
  .px-pourquoi>summary{padding:12px 0}
}
.px-panneau{grid-template-columns:minmax(0,1fr)}
.px-schema{overflow-x:auto}
@media (pointer:coarse){.px-puces button{min-height:40px}}
@media (pointer:coarse){.px-pm{gap:3px}.px-pm button{width:34px;height:34px}.px-pieces th,.px-pieces td{padding-left:2px;padding-right:2px}}
.px-volet-c .px-table:not(.px-pieces) td{overflow-wrap:anywhere}
/* 6 nov. 2026 (Marketing) : « Tableau électrique express » est plus long que « Piscine 3D express » : il va à la ligne avant de passer sous les boutons */
@media (max-width:600px){.px-titre h1{white-space:normal;font-size:15px;line-height:1.15}.px-titre{overflow:hidden}}
@media (max-width:340px){.px-titre h1{font-size:13px}.px-logo{height:30px}}
.px-sources{margin:6px 0;padding-left:18px;font-size:14px;line-height:1.6}.px-resp{font-size:12.5px}

.px-avert{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);background:rgba(255,243,224,.95);color:#7a3c00;border:1px solid #f0b46a;border-radius:10px;padding:5px 10px;font-size:12px;line-height:1.35;z-index:4;text-align:center;pointer-events:auto}
.px-avert a{color:#7a3c00}
.px-accord{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-weight:700;color:#052e64;font-size:14.5px;line-height:1.4;cursor:pointer}
.px-accord input{width:22px;height:22px;flex:none;margin-top:1px}
#pxAccordOk[disabled]{opacity:.45;cursor:not-allowed}
@media (max-width:880px){.px-avert{bottom:auto;top:132px;font-size:11px;padding:4px 8px;max-width:calc(100% - 100px);left:12px;transform:none;text-align:left}}

#pxPanneau [data-cle]{cursor:pointer;transition:background .2s,box-shadow .2s}
#pxPanneau .px-id.px-sel{box-shadow:0 0 0 2px #2a7fd4;background:#f1f8ff}
#pxPanneau li.px-sel{background:#dcecfd;border-radius:6px;padding-left:6px;font-weight:700}
#pxPanneau tr.px-sel td{background:#dcecfd}
#pxPanneau tr.px-sel td:first-child{box-shadow:inset 3px 0 #2a7fd4}

/* 7 nov. 2026 : tableau composé à la main */
.px-mode{margin-bottom:12px}
.px-pal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.px-pal button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:7px 9px;text-align:left;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;color:var(--navy)}
.px-pal button b{font-size:13.5px}.px-pal button small{font-size:11.5px;color:var(--muted);font-weight:600}
.px-pal button:hover{border-color:var(--cyan);background:#f4fbfd}
.px-pal button:active{cursor:grabbing}
.px-fantome{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-130%);background:#1565c0;color:#fff;font-weight:800;font-size:13.5px;padding:6px 11px;border-radius:9px;box-shadow:0 6px 18px rgba(0,0,0,.25);white-space:nowrap}
.px-fantome.ko{background:#c0392b}
.px-fiche{border:2px solid #2a7fd4;background:#f4f9ff;border-radius:14px;padding:12px;margin:0 0 12px}
.px-fiche-t{display:flex;flex-direction:column;margin-bottom:8px}.px-fiche-t b{font-size:16px;color:var(--navy)}.px-fiche-t small{color:var(--muted);font-weight:600}
.px-fiche .px-champ{margin-bottom:8px}.px-fiche select{width:100%;border:0;background:transparent;font:inherit;font-weight:700;color:var(--navy);padding:8px 0}
.px-fiche .px-saisie input[type=text]{width:100%}
.px-fiche-act{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.px-fiche-act button{border:1.5px solid var(--line);background:#fff;border-radius:9px;padding:6px 10px;font-weight:800;color:var(--navy);min-width:38px}
.px-fiche-act button.ko{color:#c0392b;border-color:#f3c4bf}
.px-fiche-act button[data-a=lfermer]{margin-left:auto}
.px-astuce{margin:0 0 12px}
.px-choix button[disabled]{opacity:.4;cursor:not-allowed}
