/* Sukisa Live Stage — mode scène du grand écran existant (#sukisaImmersiveDisplay).
   Hors mode scène, aucune règle ne s'applique : l'écran reste l'Intelligence Wall. */
.sls-stage { display:none; }
#sukisaImmersiveDisplay.sls-live {
  display:block;
  width:min(50vw,760px,calc((100vh - 330px) * 16 / 9));
  min-width:380px;
  height:auto;
  aspect-ratio:16 / 9;
  padding:0;
  transition:width .35s ease, height .35s ease;
}
#sukisaImmersiveDisplay.sls-live .sls-stage { display:block; position:absolute; inset:0; z-index:1; }
#sukisaImmersiveDisplay.sls-live .smi-display-orb { display:none; }
/* L'Intelligence Wall devient le bandeau inférieur : ses textes restent ceux du mur. */
#sukisaImmersiveDisplay.sls-live .smi-display-copy {
  position:absolute; left:14px; right:14px; bottom:12px; z-index:3;
  padding:8px 12px; border-radius:12px;
  background:linear-gradient(90deg,rgba(4,10,30,.86),rgba(24,8,52,.72));
  border:1px solid rgba(125,211,252,.22);
}
#sukisaImmersiveDisplay.sls-live .smi-display-title { font-size:15px; }
#sukisaImmersiveDisplay.sls-live .smi-display-body,
#sukisaImmersiveDisplay.sls-live .smi-display-meta { display:none; }
#sukisaImmersiveDisplay.sls-live .smi-display-kicker { margin-bottom:3px; font-size:8px; }

.sls-grid { position:absolute; inset:10px 10px 64px; display:grid; gap:8px; }
#sukisaImmersiveDisplay[data-layout="SPEAKER"] .sls-grid,
#sukisaImmersiveDisplay[data-layout="PRESENTATION"] .sls-grid { grid-template:1fr / 1fr; }
#sukisaImmersiveDisplay[data-layout="DUO"] .sls-grid { grid-template:1fr / 1fr 1fr; }
#sukisaImmersiveDisplay[data-layout="QUARTET"] .sls-grid { grid-template:1fr 1fr / 1fr 1fr; }
#sukisaImmersiveDisplay[data-layout="MOSAIC"] .sls-grid { grid-template-columns:repeat(3,1fr); grid-auto-rows:1fr; }
#sukisaImmersiveDisplay[data-layout="PRESENTATION_PIP"] .sls-grid { grid-template:1fr / 1fr; }
#sukisaImmersiveDisplay[data-layout="PRESENTATION_PIP"] .sls-frame[data-role="pip"] {
  position:absolute; right:10px; bottom:10px; width:24%; aspect-ratio:16 / 10; z-index:2;
  border-color:rgba(240,192,96,.55); box-shadow:0 10px 30px rgba(0,0,0,.6);
}

.sls-frame {
  position:relative; min-width:0; min-height:0; overflow:hidden; border-radius:14px;
  background:radial-gradient(circle at 50% 40%,rgba(59,130,246,.18),rgba(5,8,24,.95) 70%);
  border:1px solid rgba(109,218,255,.28);
}
.sls-frame[hidden] { display:none; }
.sls-frame[data-role="speaker"] { border-color:rgba(34,211,238,.55); box-shadow:inset 0 0 0 1px rgba(34,211,238,.12),0 0 24px rgba(34,211,238,.14); }
.sls-frame[data-role="content"] { background:#020611; }
.sls-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .25s; background:transparent; }
.sls-frame[data-source="screen"] .sls-video { object-fit:contain; }
.sls-frame.sls-has-video .sls-video { opacity:1; }
.sls-avatar {
  position:absolute; left:50%; top:46%; transform:translate(-50%,-50%);
  width:min(38%,120px); aspect-ratio:1; border-radius:50%; display:grid; place-items:center;
  background:radial-gradient(circle at 34% 28%,#fff,rgba(34,211,238,.7) 14%,rgba(59,130,246,.5) 38%,rgba(126,34,206,.7) 70%,rgba(2,7,24,.96));
  background-size:cover; background-position:center;
  border:1px solid rgba(210,240,255,.7); box-shadow:0 0 26px rgba(34,211,238,.4);
}
.sls-frame.sls-has-photo .sls-initials { display:none; }
.sls-initials { font-size:clamp(16px,3vw,34px); font-weight:900; color:#fff; text-shadow:0 0 12px #22d3ee; }
.sls-frame.sls-has-video .sls-avatar { display:none; }
.sls-frame[data-role="vacant"] .sls-avatar { opacity:.35; box-shadow:none; }
.sls-name {
  position:absolute; left:8px; bottom:8px; max-width:calc(100% - 16px);
  padding:3px 8px; border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.3px;
  color:#e8f1ff; background:rgba(4,10,30,.78); border:1px solid rgba(125,211,252,.25);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.sls-frame[data-role="vacant"] .sls-name { color:#8fa3c8; }
.sls-event {
  position:absolute; top:12px; left:50%; transform:translate(-50%,-6px); z-index:4; opacity:0;
  padding:5px 12px; border-radius:999px; font-size:10px; font-weight:850; letter-spacing:1.2px; text-transform:uppercase;
  color:#0b1024; background:linear-gradient(90deg,#f0c060,#fde68a); box-shadow:0 0 22px rgba(240,192,96,.45);
  transition:opacity .25s, transform .25s; pointer-events:none;
}
.sls-event.sls-show { opacity:1; transform:translate(-50%,0); }

/* Salon configuré : le partage d'écran passe par Live Stage, l'ancien voile
   plein écran n'est plus superposé à la salle. LEGACY : inchangé. */
body.sls-configured-room #screenShareOverlay.active { display:none; }

/* ── Régie (droite) ── */
.sdr-regie { position:absolute; right:14px; top:76px; z-index:60; display:flex; flex-direction:column; align-items:flex-end; gap:8px; max-height:calc(100% - 200px); }
.sdr-regie[hidden] { display:none; }
.sdr-toggle {
  padding:8px 14px; border-radius:999px; cursor:pointer; font-size:11px; font-weight:850; letter-spacing:1.4px; text-transform:uppercase;
  color:#e0f2fe; background:linear-gradient(135deg,rgba(14,165,233,.22),rgba(126,34,206,.24)); border:1px solid rgba(125,211,252,.4);
}
.sdr-panel {
  display:none; width:236px; overflow-y:auto; padding:14px; border-radius:18px;
  background:linear-gradient(160deg,rgba(6,14,40,.94),rgba(24,8,52,.92)); border:1px solid rgba(109,218,255,.35);
  box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 34px rgba(34,211,238,.12); backdrop-filter:blur(16px);
}
.sdr-regie.sdr-open .sdr-panel { display:block; }
.sdr-kicker { font-size:9px; font-weight:850; letter-spacing:2.2px; text-transform:uppercase; color:#f0c060; }
.sdr-mode { margin:4px 0 12px; font-size:13px; font-weight:800; color:#f4f8ff; }
.sdr-canvases { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.sdr-canvas, .sdr-action {
  display:flex; align-items:center; gap:7px; min-height:38px; padding:7px 8px; border-radius:11px; cursor:pointer; text-align:left;
  font-size:10.5px; font-weight:750; color:#cfe0ff; background:rgba(15,23,52,.7); border:1px solid rgba(104,139,255,.26);
}
.sdr-canvas:hover:not(:disabled), .sdr-action:hover:not(:disabled) { border-color:#38bdf8; color:#fff; }
.sdr-canvas:focus-visible, .sdr-action:focus-visible, .sdr-toggle:focus-visible { outline:2px solid #22d3ee; outline-offset:2px; }
.sdr-canvas.sdr-active, .sdr-action.sdr-active { color:#fff; border-color:#22d3ee; background:linear-gradient(135deg,rgba(14,165,233,.28),rgba(126,34,206,.3)); box-shadow:0 0 18px rgba(34,211,238,.22); }
.sdr-canvas:disabled, .sdr-action:disabled { opacity:.45; cursor:not-allowed; }
.sdr-canvas[data-layout="PRESENTATION_PIP"] { grid-column:span 2; }
.sdr-row { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:9px; }
.sdr-action { justify-content:center; }
.sdr-lock.sdr-active { border-color:#f0c060; background:rgba(240,192,96,.16); color:#fde68a; }
.sdr-status { margin-top:10px; font-size:10.5px; line-height:1.4; color:#9fb3d9; }
.sdr-status.sdr-error { color:#fca5a5; }
.sdr-pending .sdr-status::before { content:""; display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#f0c060; animation:sdrBlink 1s infinite; }
@keyframes sdrBlink { 50% { opacity:.25; } }

.sdr-glyph { flex:none; width:22px; height:14px; border-radius:3px; border:1px solid rgba(125,211,252,.55); background:rgba(34,211,238,.08); position:relative; }
.sdr-g-speaker::after, .sdr-g-presentation::after { content:""; position:absolute; inset:2px; border-radius:2px; background:rgba(125,211,252,.6); }
.sdr-g-duo { background:linear-gradient(90deg,rgba(125,211,252,.6) 45%,transparent 45% 55%,rgba(125,211,252,.6) 55%); }
.sdr-g-quartet { background:conic-gradient(rgba(125,211,252,.6) 0 25%,rgba(125,211,252,.25) 0 50%,rgba(125,211,252,.6) 0 75%,rgba(125,211,252,.25) 0); }
.sdr-g-mosaic { background:repeating-linear-gradient(90deg,rgba(125,211,252,.55) 0 5px,transparent 5px 7px); }
.sdr-g-presentation_pip::after { content:""; position:absolute; right:2px; bottom:2px; width:8px; height:5px; border-radius:1px; background:#f0c060; }

@media (max-width:900px) {
  #sukisaImmersiveDisplay.sls-live { width:min(64vw,620px,calc((100vh - 300px) * 16 / 9)); min-width:320px; }
}
@media (max-width:760px) {
  /* Mobile : la scène occupe la largeur, la table reste visible dessous. */
  #sukisaImmersiveDisplay.sls-live { left:12px; right:12px; width:auto; min-width:0; max-height:34vh; transform:none; }
  #sukisaImmersiveDisplay.sls-live .smi-display-copy { left:8px; right:8px; bottom:6px; padding:5px 9px; }
  #sukisaImmersiveDisplay.sls-live .smi-display-title { font-size:12px; }
  .sls-grid { inset:6px 6px 44px; gap:5px; }
  .sls-name { font-size:9px; padding:2px 6px; left:5px; bottom:5px; }
  .sdr-regie { top:auto; bottom:92px; right:8px; max-height:60vh; }
  .sdr-panel { width:min(86vw,300px); }
}
/* Mise en page mobile Meeting (iPhone/iPad, data-meeting-layout="mobile") :
   la scène prend la largeur sous l'en-tête, la table reste visible dessous. */
html[data-meeting-layout="mobile"] #screen-salon.smi-room #sukisaImmersiveDisplay.sls-live {
  display:block; top:calc(var(--mm-top, 0px) + 64px); left:10px; right:10px; width:auto; min-width:0;
  height:auto; max-height:32vh; aspect-ratio:16 / 9; padding:0; transform:none; grid-template-columns:none;
}
html[data-meeting-layout="mobile"] #screen-salon.smi-room #sukisaImmersiveDisplay.sls-live .smi-display-kicker { display:none; }
html[data-meeting-layout="mobile"] #screen-salon.smi-room #sukisaImmersiveDisplay.sls-live .smi-display-title { font-size:11px; white-space:nowrap; }
html[data-meeting-layout="mobile"] body.sls-stage-live sukisa-cloud-quota { top:calc(var(--mm-top, 0px) + 72px + min(32vh, (100vw - 20px) * 9 / 16)); }
html[data-meeting-layout="mobile"] body.sls-stage-live #screen-salon #meetingParticipantPages { top:calc(var(--mm-top, 0px) + 72px + min(32vh, (100vw - 20px) * 9 / 16)); }
@media (max-height:600px) and (orientation:landscape) {
  /* Paysage téléphone : scène compacte à gauche, la rotation ne recrée ni session ni piste. */
  html[data-meeting-layout="mobile"] #screen-salon.smi-room #sukisaImmersiveDisplay.sls-live {
    top:calc(var(--mm-top, 0px) + 50px); left:10px; right:auto; width:min(40vw, calc((100vh - 140px) * 16 / 9)); max-height:none;
  }
  html[data-meeting-layout="mobile"] body.sls-stage-live #screen-salon #meetingParticipantPages { top:calc(var(--mm-top, 0px) + 70px); }
}
@media (max-height:600px) and (orientation:landscape) {
  #sukisaImmersiveDisplay.sls-live { width:min(42vw,calc((100vh - 120px) * 16 / 9)); min-width:0; top:50px; }
  .sdr-regie { top:50px; }
}
@media (prefers-reduced-motion:reduce) {
  #sukisaImmersiveDisplay.sls-live, .sls-video, .sls-event { transition:none; }
  .sdr-pending .sdr-status::before { animation:none; }
}

/* ── Régie : Audio Director ── */
.sdr-audio { margin-top:14px; padding-top:12px; border-top:1px solid rgba(109,218,255,.18); }
.sdr-sub { margin-bottom:6px; }
.sdr-label-row { margin:10px 0 5px; font-size:10px; font-weight:850; letter-spacing:1.1px; text-transform:uppercase; color:#7dd3fc; }
.sdr-note { font-size:10.5px; color:#9fb3d9; line-height:1.4; }
.sdr-note.sdr-error { color:#fca5a5; }
.sdr-person { display:flex; align-items:center; gap:6px; padding:5px 0; }
.sdr-person-name { flex:1; min-width:0; font-size:11px; color:#e8f1ff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sdr-mini { flex:none; padding:5px 8px; border-radius:8px; cursor:pointer; font-size:10px; font-weight:800; color:#cffafe; background:rgba(14,165,233,.16); border:1px solid rgba(34,211,238,.4); }
.sdr-mini:hover:not(:disabled) { background:rgba(14,165,233,.3); }
.sdr-mini:disabled { opacity:.45; cursor:not-allowed; }
.sdr-mini.sdr-danger { color:#fecaca; background:rgba(239,68,68,.12); border-color:rgba(239,68,68,.4); }
.sdr-roster { margin-top:10px; }
.sdr-roster summary { cursor:pointer; font-size:10px; font-weight:850; letter-spacing:1.1px; text-transform:uppercase; color:#c4b5fd; }

/* ── Indicateur de parole (participants, salons modérés) ── */
.sad-chip {
  position:absolute; left:50%; bottom:86px; transform:translateX(-50%); z-index:13;
  display:flex; align-items:center; gap:10px; max-width:min(92vw,560px); padding:7px 8px 7px 14px; border-radius:999px;
  background:linear-gradient(90deg,rgba(6,14,40,.92),rgba(24,8,52,.88)); border:1px solid rgba(125,211,252,.3);
  box-shadow:0 12px 34px rgba(0,0,0,.45); font-size:11.5px; color:#dbe7ff;
}
.sad-chip[hidden] { display:none; }
.sad-dot { flex:none; width:8px; height:8px; border-radius:50%; background:#64748b; }
.sad-chip[data-mode="speaking"] { border-color:rgba(34,197,94,.55); }
.sad-chip[data-mode="speaking"] .sad-dot { background:#22c55e; box-shadow:0 0 10px #22c55e; }
.sad-chip[data-mode="requested"] .sad-dot { background:#f0c060; box-shadow:0 0 10px #f0c060; }
.sad-chip[data-mode="priority"] .sad-dot { background:#22d3ee; }
.sad-text { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sad-btn { flex:none; padding:6px 12px; border-radius:999px; cursor:pointer; font-size:11px; font-weight:850; color:#0b1024; background:linear-gradient(90deg,#f0c060,#fde68a); border:0; }
.sad-btn[hidden] { display:none; }
.sad-btn:disabled { opacity:.5; cursor:wait; }
#screen-salon.smi-room .sad-chip ~ .transcript-bar, body.sad-moderated #screen-salon.smi-room .transcript-bar { bottom:134px; }
@media (max-width:760px) {
  .sad-chip { bottom:calc(var(--mm-bottom, 84px) + 8px); left:8px; right:8px; transform:none; max-width:none; font-size:10.5px; }
  .sad-text { white-space:normal; line-height:1.25; }
}
.sdr-modes { display:flex; flex-wrap:wrap; gap:5px; margin:-4px 0 12px; }
.sdr-mode-btn { padding:5px 8px; border-radius:999px; cursor:pointer; font-size:10px; font-weight:800; color:#cfe0ff; background:rgba(15,23,52,.7); border:1px solid rgba(104,139,255,.26); }
.sdr-mode-btn:hover:not(:disabled) { border-color:#f0c060; color:#fff; }
.sdr-mode-btn.sdr-active { color:#0b1024; background:linear-gradient(90deg,#f0c060,#fde68a); border-color:#f0c060; }
.sdr-mode-btn:disabled { opacity:.5; cursor:wait; }
