/* Studio de secours AH2020 - gros caracteres, fort contraste (noir + or) */
:root{--or:#FFD700;--noir:#000;--blanc:#fff;--rouge:#ff2a2a;--vert:#19e36b;--gris:#9a9a9a}
*{box-sizing:border-box}
html,body{margin:0;background:#000;color:#fff;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:26px;line-height:1.35}
a{color:var(--or)}
.entete{display:flex;align-items:center;gap:20px;padding:14px 20px;border-bottom:4px solid var(--or);background:#0b0b0b}
.entete img{width:80px;height:80px;border-radius:10px;border:3px solid var(--or)}
.entete h1{margin:0;font-size:40px;color:var(--or);font-weight:900;letter-spacing:1px}
.badge{display:inline-block;padding:10px 24px;border-radius:14px;font-size:38px;font-weight:900;border:5px solid #fff}
.badge.off{background:#222;color:#fff;border-color:#777}
.badge.on{background:var(--rouge);color:#fff;border-color:#fff;animation:pulse 1.4s infinite}
.badge.wait{background:#e6a200;color:#000;border-color:#fff}
@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(255,42,42,.25)}}
.btn{display:block;width:100%;min-height:110px;padding:18px 14px;margin:0;border-radius:22px;border:6px solid #fff;font-size:38px;font-weight:900;cursor:pointer;background:#1c1c1c;color:#fff;text-align:center;line-height:1.15}
.btn:focus-visible{outline:6px solid var(--or);outline-offset:4px}
.btn.or{background:var(--or);color:#000;border-color:#fff}
.btn.vert{background:var(--vert);color:#000}
.btn.rouge{background:var(--rouge);color:#fff}
.btn.actif{background:#fff;color:#000;border-color:var(--or)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn small{display:block;font-size:24px;font-weight:700;margin-top:6px}
.petit{font-size:22px}
.grille{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.carte{background:#0d0d0d;border:4px solid #333;border-radius:20px;padding:18px}
.carte h2{margin:0 0 12px;color:var(--or);font-size:32px}
.msg{font-size:30px;font-weight:800;padding:14px 18px;border-radius:14px;background:#111;border:4px solid var(--or)}
.msg.err{border-color:var(--rouge);color:#fff;background:#3a0000}
input[type=password],input[type=text],select{font-size:34px;padding:16px;border-radius:14px;border:5px solid var(--or);background:#fff;color:#000;width:100%;font-weight:700}
label{font-weight:800}
@media (max-width:900px){html,body{font-size:22px}.g3,.g4{grid-template-columns:1fr 1fr}.entete h1{font-size:30px}.btn{font-size:30px;min-height:96px}}
