/* Pages publiques (participants) */
body.pub{background:#f4f4f4}
.pubbar{background:#fff;border-bottom:1px solid var(--line)}
.pubwrap{max-width:820px;margin:0 auto;padding:12px 16px}
.pubbar .pubwrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pubbar .brand img{height:38px;background:none;padding:0}
.langs{display:flex;gap:8px}
.langs a{opacity:.55;border-radius:4px;display:block;line-height:0}
.langs a.on,.langs a:hover{opacity:1}
.langs img{width:26px;height:18px;object-fit:cover;border-radius:3px;border:1px solid #ccc}
.typeboxes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.typebox{display:flex;flex-direction:column;gap:2px;border:2px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;background:#fff;transition:box-shadow .12s ease,border-color .12s ease}
.typebox:has(input:checked){border-color:var(--red);background:#fff5f5;box-shadow:0 0 0 3px rgba(194,24,25,.08)}
.typebox input{position:absolute;opacity:0;pointer-events:none}
.typebox span{color:var(--mute);font-size:13px}
.bwbox{margin-top:10px;padding:10px 12px;border-radius:9px;background:#f3f4f6}
.bwbox.ok{background:var(--ok-bg);color:var(--ok)}
.bwbox.warn{background:var(--warn-bg);color:var(--warn)}
.bwbox.ko{background:var(--ko-bg);color:var(--ko)}
.hidden{display:none!important}
.permit{margin:10px 0 14px;padding:14px;border:2px solid #22a447;border-radius:12px;background:#eefbf1}
.permit-title{font-size:17px;font-weight:800;color:#176b31;margin-bottom:6px}
.permit input[type=file]{width:100%;background:#fff}
.pdfhost{height:420px;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;background:#525659;padding:8px}
.pdfhost canvas{display:block;margin:0 auto 8px;max-width:100%;height:auto;background:#fff}
.clauses{display:flex;flex-direction:column;gap:10px}
.clause{align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:#fafafa;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}
.clause input{margin-top:2px;width:19px;height:19px;flex-shrink:0;accent-color:var(--ok);cursor:pointer}
.clause span{flex:1;min-width:0;font-size:14px;line-height:1.45}
.clause:hover{border-color:#bbb}
.clause:has(input:checked){border-color:var(--ok);background:#f0faf3}
.clause.locked{opacity:.5;cursor:default}
#sig{width:100%;max-width:700px;height:160px;border:2px dashed #bbb;border-radius:10px;background:#fff;touch-action:none;cursor:crosshair;display:block}
.btn.big{font-size:17px;padding:14px 26px;width:100%}
.field-error{outline:3px solid var(--red);outline-offset:2px;border-radius:8px}
.wizard-bar{margin:10px 0 18px}
.wizard-track{height:6px;border-radius:3px;background:#e5e1d6;overflow:hidden}
.wizard-fill{height:100%;width:0%;background:var(--red);transition:width .2s}
.step-hide{display:none!important}
.wizard-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.wizard-nav .btn{min-width:140px}
#dlg-official-pdf{max-width:96vw;width:900px;height:88vh}
#dlg-official-pdf .pdfhost-big{flex:1;height:auto}
@media(max-width:640px){.typeboxes{grid-template-columns:1fr}.g2{grid-template-columns:1fr}.pdfhost{height:60vh}.wizard-nav{flex-direction:column-reverse}.wizard-nav .btn{width:100%;min-width:0}#dlg-official-pdf{height:94vh}}
