.comm-intro { margin: 0 0 18px; line-height: 1.6; color: var(--mut); max-width: 66ch; }
.comm-lbl { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; font-size: 13px; font-weight: 700; }
.comm-lbl input, .comm-lbl select { min-height: 44px; padding: 0 12px; border-radius: 10px; border: 1px solid rgba(0,0,0,.15); background: var(--carte); color: var(--txt); font: inherit; }
.comm-help { margin: 8px 0; color: var(--mut); font-size: 13px; line-height: 1.5; max-width: 70ch; }
.comm-room-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.comm-room-head h2 { margin: 0; }
.comm-voice { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0; }
.comm-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 16px; }
.comm-diag { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; line-height: 1.45; background: rgba(177,151,252,.08); border-radius: 12px; padding: 12px; min-height: 4em; color: var(--txt); }
body.sombre .comm-diag { background: rgba(255,255,255,.06); }
.comm-avance { margin: 14px 0; border-top: 1px dashed rgba(0,0,0,.12); padding-top: 10px; }
.comm-avance summary { cursor: pointer; color: var(--mut); font-size: 13px; font-weight: 600; }
.comm-avance .comm-lbl { margin-top: 10px; }
.comm-serveur {
  margin: 14px 0; padding: 12px 14px; border-radius: 14px;
  border: 1px solid rgba(177, 151, 252, .3);
  background: rgba(177, 151, 252, .06);
}
.comm-serveur-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.comm-serveur-head h2 { font-size: 16px; margin: 0; }
.comm-serveur-head .comm-help { margin: 0; }
.comm-serveur .comm-lbl { margin: 10px 0 6px; }
.comm-serveur .comm-actions { margin: 0 0 4px; }
.comm-serveur #comm-serveur-etat.ok { color: #2b7a2b; }
.comm-serveur #comm-serveur-etat.err { color: #b3261e; }
body.sombre .comm-serveur { background: rgba(177, 151, 252, .1); border-color: rgba(177, 151, 252, .3); }
body.sombre .comm-serveur #comm-serveur-etat.ok { color: #8ce99a; }
body.sombre .comm-serveur #comm-serveur-etat.err { color: #ff9b9b; }

.comm-sync-etat {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin: 10px 0; padding: 10px 12px; border-radius: 12px;
  background: rgba(255, 193, 7, .16); border: 1px solid rgba(255, 169, 77, .35);
  color: var(--txt); font-size: 13px; font-weight: 600;
}
.comm-sync-etat.err { background: rgba(255, 107, 157, .14); border-color: rgba(255, 107, 157, .4); }
.comm-sync-etat button { padding: 7px 12px; font-size: 12px; }
body.sombre .comm-sync-etat { color: #f1efea; }
