*{box-sizing:border-box}body{margin:0;background:#eef1f6;font-family:Arial,sans-serif;color:#172033}main{min-height:100vh;display:grid;place-items:center;padding:18px}.carte{width:min(480px,100%);background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 30px #0002}h1{margin:0;color:#53366d}h2{margin-top:5px}label{display:block;font-weight:700;margin:16px 0}input{width:100%;font-size:18px;padding:13px;border:1px solid #b8c0cc;border-radius:9px;margin-top:6px}button{width:100%;padding:14px;border:2px solid #173f84;border-radius:9px;background:#285db7;color:#fff;font-size:17px;font-weight:800;margin-top:10px}.secondaire{background:#35445a;border-color:#202c3d}.danger{background:#a5232f;border-color:#741721}.voyant{display:flex;gap:10px;align-items:center;margin:16px 0}.voyant span{width:14px;height:14px;border-radius:50%;background:#31a55b;box-shadow:0 0 0 4px #31a55b22}#message{padding:10px;background:#f5f6f8;border-radius:8px}.niveaux{display:grid;gap:14px;margin:18px 0;padding:14px;background:#f3f5f8;border:1px solid #d7dde6;border-radius:10px}.niveau-audio{display:grid;gap:7px}.niveau-entete{display:flex;justify-content:space-between;gap:12px;font-size:14px}.niveau-entete span{color:#536173;font-weight:700}.barre-niveau{height:18px;background:#d7dde6;border:1px solid #aeb7c4;border-radius:9px;overflow:hidden}.barre-remplissage{height:100%;width:0%;background:linear-gradient(90deg,#2b8d49 0%,#d9a414 72%,#bd2d32 92%);transition:width 80ms linear}.barre-niveau[data-actif="0"] .barre-remplissage{width:0!important}@media(max-width:520px){.carte{padding:18px}.niveau-entete{font-size:13px}}

.tchat-salle{margin-top:20px;padding:14px;border:1px solid #c8d0dc;border-radius:11px;background:#f7f9fc}
.tchat-entete{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.tchat-entete span{font-size:13px;color:#566274}
.tchat-messages{height:230px;overflow:auto;padding:9px;border:1px solid #c5ceda;border-radius:8px;background:#fff}
.tchat-vide{margin:0;color:#6b7280}
.tchat-message{margin-bottom:9px;padding:8px 9px;border-radius:8px;background:#eef2f7;border-left:4px solid #285db7}
.tchat-message.regie{background:#eee6f4;border-left-color:#53366d}
.tchat-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px}.tchat-meta time{color:#64748b}
.tchat-message p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.tchat-label{margin-top:12px}.tchat-label textarea{width:100%;font:inherit;padding:11px;border:1px solid #b8c0cc;border-radius:9px;margin-top:6px;resize:vertical}
.tchat-etat{margin:9px 0 0;padding:8px;background:#eef1f5;border-radius:7px;font-size:13px}

.informations-regie{margin:16px 0;padding:14px;border:1px solid #c8d0dc;border-radius:10px;background:#f7f9fc;display:grid;gap:10px}.info-regie-ligne{display:flex;justify-content:space-between;gap:12px}.info-regie-ligne span{font-weight:700}.info-element,.info-texte{padding:10px;background:#fff;border:1px solid #d7dde6;border-radius:8px}.info-progression{height:12px;background:#d7dde6;border-radius:7px;overflow:hidden}.info-progression-remplissage{height:100%;width:0%;background:#2d9d67}.info-progression-temps{display:flex;justify-content:space-between;font-size:12px;margin-top:5px}.message-direct-overlay{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px;background:#0004;pointer-events:none}.message-direct-overlay[hidden]{display:none}.message-direct-contenu{max-width:92vw;padding:24px 28px;border-radius:16px;background:#fff;border:3px solid #53366d;box-shadow:0 16px 48px #0005;font-size:clamp(21px,5vw,34px);font-weight:800;text-align:center}

.info-micros-diffusion {
    padding: 15px;
    border: 3px solid #8a8f98;
    border-radius: 10px;
    background: #edf0f4;
    color: #3d4652;
    text-align: center;
}

.info-micros-diffusion strong,
.info-micros-diffusion span {
    display: block;
}

.info-micros-diffusion strong {
    margin-bottom: 5px;
    font-size: 19px;
}

.info-micros-diffusion.actif {
    border-color: #15803d;
    background: #dcfce7;
    color: #14532d;
}

.info-micros-diffusion.coupe {
    border-color: #b42318;
    background: #fee4e2;
    color: #7a271a;
}

.info-micros-diffusion.actif strong::before {
    content: "● ";
}

.info-micros-diffusion.coupe strong::before {
    content: "● ";
}


/* ---------------------------------------------------------
   FIN DE SONORE INVITE - 2.5.12
   --------------------------------------------------------- */
.info-element {
    transition:
        border-color .25s ease,
        background-color .25s ease;
}

.info-element.sonore-vert {
    border-color: #2d9d67;
    background: #eefbf3;
}

.info-element.sonore-orange {
    border-color: #d97706;
    background: #fff3df;
}

.info-element.sonore-rouge {
    border-color: #c62828;
    background: #ffe8e8;
}

.info-element.sonore-vert .info-progression-remplissage {
    background: #2d9d67;
}

.info-element.sonore-orange .info-progression-remplissage {
    background: #d97706;
}

.info-element.sonore-rouge .info-progression-remplissage {
    background: #c62828;
}


/* ---------------------------------------------------------
   ECOUTE DU DIRECT PUBLIC - 2.5.15
   --------------------------------------------------------- */
.direct-public {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #d8dde6;
}

.direct-public button {
    width: 100%;
}

.direct-public p {
    margin: 8px 0 0;
    color: #5f6978;
    font-size: 13px;
    line-height: 1.4;
}


.info-element.sonore-boucle {
    border-color: #d946ef;
    background: #fdf0ff;
}

.info-element.sonore-boucle .info-progression-remplissage {
    background: #d946ef;
}


/* Diagnostic traitement micro WebRTC */
.invite-version{font-size:.55em;font-weight:600;color:#6b7280;white-space:nowrap}
.etat-traitement-micro{padding:8px 10px;border:1px solid #d8dde6;border-radius:8px;background:#f7f8fa;font-size:12px;line-height:1.35;color:#394150}


/* Profil intervenant RLF - 2.5.19 */
.invite-identite{margin:12px 0;padding:12px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}.invite-aide-identifiant{margin:5px 0 10px;color:#475569;font-size:.9rem}.nouvel-identifiant{margin:12px 0;padding:14px;border:2px solid #2f855a;border-radius:10px;background:#ecfdf3;text-align:center}.nouvel-identifiant strong,.nouvel-identifiant span{display:block}.nouvel-identifiant code{display:inline-block;margin:8px 0;padding:8px 14px;border-radius:8px;background:#fff;font-size:1.6rem;font-weight:900;letter-spacing:.14em}.profil-connecte{margin:8px 0;padding:8px 10px;border-radius:8px;background:#eef3ff;color:#203a68;font-weight:700}.invite-version{font-size:.72em;font-weight:700;opacity:.72}
