/* Suivi de séance (seance.js) : verrous, message du formateur, voile « partie fermée ». Texte foncé sur fond blanc. */
#passerelle[hidden],.rail>a[hidden]{display:none!important}
.seance-verrou{opacity:.55;cursor:not-allowed!important;filter:grayscale(.6)}
#seanceMessage{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;padding:10px max(14px,calc((100vw - 1200px)/2));background:#fff;border-bottom:3px solid #67218d;color:#191a4b;font:15px/1.45 "Segoe UI",Arial,sans-serif;box-shadow:0 6px 18px #4b2a7a1f}
#seanceMessage strong{color:#67218d;white-space:nowrap}
#seanceMessage span{flex:1;min-width:200px}
#seanceMessage button{min-width:40px;min-height:40px;border:1px solid #d9d5ee;border-radius:50%;background:#fff;color:#191a4b;font-size:20px;line-height:1;cursor:pointer}
#seanceInfo{position:fixed;left:50%;bottom:22px;z-index:80;transform:translate(-50%,20px);max-width:92vw;padding:11px 18px;border:2px solid #67218d;border-radius:14px;background:#fff;color:#191a4b;font:600 15px/1.4 "Segoe UI",Arial,sans-serif;box-shadow:0 10px 30px #191a4b33;opacity:0;pointer-events:none;transition:.25s}
#seanceInfo.visible{opacity:1;transform:translate(-50%,0)}
#seanceVoile{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:#f7f3fbee;backdrop-filter:blur(6px)}
#seanceVoile>div,.seance-ferme{max-width:520px;padding:28px 24px;border:1px solid #e1d7ed;border-radius:24px;background:#fff;color:#191a4b;text-align:center;box-shadow:0 18px 50px #4b21661f}
.seance-ferme{margin:24px auto}
#seanceVoile h2,.seance-ferme h2{margin:8px 0 10px;font-size:clamp(22px,4vw,30px);line-height:1.15;color:#331543}
#seanceVoile p,.seance-ferme p{color:#4b4b73}
.seance-cadenas{display:inline-grid;place-items:center;width:64px;height:64px;border:2px solid #67218d;border-radius:50%;background:#fff;font-size:28px}
.seance-bouton{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:8px;padding:10px 20px;border-radius:24px;background:linear-gradient(135deg,#983cac,#54207d);color:#fff;font-weight:700;text-decoration:none}
@media print{#seanceMessage,#seanceInfo,#seanceVoile{display:none!important}}
#seanceMinuteur{position:fixed;top:10px;left:50%;z-index:78;transform:translateX(-50%);display:grid;grid-template-columns:auto auto auto;align-items:center;gap:4px 10px;max-width:calc(100vw - 24px);padding:7px 16px 9px;border:2px solid #b9a8cc;border-radius:22px;background:#fff;color:#191a4b;font:600 14px "Segoe UI",Arial,sans-serif;box-shadow:0 8px 22px #191a4b1f;cursor:pointer}
#seanceMinuteur .ic{color:#67218d;font-size:16px}
#seanceMinuteur .t{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#seanceMinuteur .r{color:#4b4b73;white-space:nowrap}
#seanceMinuteur>i{grid-column:1/-1;display:block;height:4px;border-radius:2px;background:#efe6f7;overflow:hidden}
#seanceMinuteur>i>i{display:block;height:100%;border-radius:2px;background:#9c7ab8;transition:width 1.5s ease}
#seanceMinuteur.fini{border-color:#7fae6b}
#seanceMinuteur.fini>i>i{background:#7fae6b}
#seanceMinuteur.reduit{grid-template-columns:auto;padding:6px 10px;border-radius:50%}
#seanceMinuteur.reduit .t,#seanceMinuteur.reduit .r,#seanceMinuteur.reduit>i{display:none}
@media(max-width:600px){#seanceMinuteur{top:6px;font-size:13px;padding:6px 12px 8px}#seanceMinuteur .r{grid-column:2/-1}}
@media print{#seanceMinuteur{display:none!important}}
