/* V67 · Pantalla realmente maximizada y barra compacta de 38 px.
   La mini barra reserva una franja dentro de la ventana maximizada, nunca encima
   del contenido compartido. Los paneles originales conservan sus handlers. */
#v67MiniBar{display:contents}
#v67MiniBar .v67-mini-right{display:contents}
#v67ChatBtn,#v67NotificationsSlot{display:none}
/* El stage se porta directamente al body: ningún padre puede limitar su z-index. */
body.v67-fullscreen{overflow:hidden!important}
body.v67-fullscreen #stage.full.media-map-stage{
 position:fixed!important;inset:0!important;top:0!important;left:0!important;
 right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;
 height:100dvh!important;max-height:none!important;min-height:0!important;
 padding:0!important;margin:0!important;transform:none!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 z-index:20000!important;display:block!important;overflow:hidden!important;
 pointer-events:auto!important;background:#050a11!important;backdrop-filter:none!important;
}
body.v67-fullscreen #stage.full #v67MiniBar{
 box-sizing:border-box;display:flex!important;align-items:center;justify-content:space-between;
 position:absolute;left:0;right:0;top:0;height:38px;min-height:38px;
 padding:3px 7px;gap:7px;z-index:110;
 background:#0b2031;border-bottom:1px solid #23465b;
}
body.v67-fullscreen #stage.full .v67-mini-right{
 display:flex!important;align-items:center;gap:5px;margin-left:auto;
 min-width:0;height:100%;
}
body.v67-fullscreen #stage.full #fullscreenMediaControls{
 display:flex!important;position:static!important;inset:auto!important;
 left:auto!important;bottom:auto!important;transform:none!important;
 border:0!important;box-shadow:none!important;border-radius:0!important;
 background:none!important;padding:0!important;margin:0!important;gap:5px!important;
 align-items:center!important;height:100%!important;
}
body.v67-fullscreen #stage.full #fullscreenMediaControls button,
body.v67-fullscreen #stage.full #v67MiniBar .v67-mini-button,
body.v67-fullscreen #stage.full #v67MiniBar #fsViewMenuBtn,
body.v67-fullscreen #stage.full #v67MiniBar #maximize,
body.v67-fullscreen #stage.full #v67MiniBar #notificationBtn{
 box-sizing:border-box!important;position:relative!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:31px!important;min-width:31px!important;max-width:31px!important;
 height:31px!important;min-height:31px!important;max-height:31px!important;
 padding:0!important;margin:0!important;border-radius:7px!important;
 border:1px solid #28485e!important;background:#153247!important;color:#e4f5ff!important;
 cursor:pointer!important;font-size:17px!important;line-height:1!important;box-shadow:none!important;
 transition:background .12s ease,border-color .12s ease;
}
body.v67-fullscreen #stage.full #v67MiniBar button:not(:disabled):hover{background:#205173!important;border-color:#4796c2!important}
body.v67-fullscreen #stage.full #fullscreenMediaControls button.active{
 color:#61ebb0!important;background:#0e413b!important;border-color:#277a64!important;
}
body.v67-fullscreen #stage.full #fullscreenMediaControls button:disabled{opacity:.42!important;cursor:not-allowed!important}
body.v67-fullscreen #stage.full #v67MiniBar svg{
 width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;
 stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;
}
body.v67-fullscreen #stage.full #v67ChatBtn,
body.v67-fullscreen #stage.full #v67NotificationsSlot{display:flex!important;align-items:center;justify-content:center}
body.v67-fullscreen #stage.full #notificationWrap{display:block!important;position:relative!important;z-index:115}
body.v67-fullscreen #stage.full #notificationBtn .notification-label{display:none!important}
body.v67-fullscreen #stage.full #notificationBtn svg{width:16px;height:16px}
body.v67-fullscreen #stage.full #notificationBadge{
 display:flex;right:-4px;top:-4px;min-width:13px;height:13px;padding:0 3px;
 border-radius:8px;font-size:9px;line-height:13px;
}
body.v67-fullscreen #stage.full #notificationBadge[hidden]{display:none!important}
body.v67-fullscreen #stage.full #notificationPanel{
 position:absolute!important;top:36px!important;right:0!important;left:auto!important;
 width:min(355px,calc(100vw - 14px))!important;
 max-height:calc(100dvh - 48px)!important;z-index:120!important;
 overflow-y:auto!important;
}
body.v67-fullscreen #stage.full #notificationPanel[hidden]{display:none!important}
body.v67-fullscreen #stage.full #fullscreenViewPicker{
 position:relative!important;display:flex!important;inset:auto!important;
 top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
 gap:5px!important;z-index:111!important;align-items:center!important;
}
body.v67-fullscreen #stage.full #fsViewMenu{
 position:absolute!important;display:none;top:36px!important;right:36px!important;left:auto!important;
 min-width:198px!important;max-height:calc(100dvh - 47px)!important;
 overflow-y:auto!important;z-index:130!important;border-radius:10px!important;
 background:#0c2539!important;border:1px solid #3e6d8a!important;box-shadow:0 12px 28px #000a!important;
}
body.v67-fullscreen #stage.full #fsViewMenu.open{display:block!important}
body.v67-fullscreen #stage.full #fsViewMenu button{
 display:block!important;width:100%!important;min-width:0!important;max-width:none!important;
 height:auto!important;min-height:34px!important;padding:7px 10px!important;
 background:transparent!important;border:none!important;border-radius:0!important;
 text-align:left!important;font-size:12px!important;color:#edf8ff!important;
}
body.v67-fullscreen #stage.full #fsViewMenu button:hover{background:#1b4865!important}
body.v67-fullscreen #stage.full #maximize{font-size:20px!important}
/* La región audiovisual comienza debajo de la mini barra, sin superposición. */
body.v67-fullscreen #stage.full.screen-active:not(.auto-screens) #remoteVideo{
 height:calc(100% - 38px)!important;width:100%!important;margin-top:38px!important;
 object-fit:contain!important;
}
body.v67-fullscreen #stage.full.auto-screens .screen-gallery,
body.v67-fullscreen #stage.full.auto-screens.has-cameras .screen-gallery{
 top:42px!important;bottom:4px!important;right:4px!important;left:4px!important;
}
body.v67-fullscreen #stage.full.auto-screens.has-cameras .screen-gallery{left:134px!important}
body.v67-fullscreen #stage.full.auto-screens .room-gallery{
 top:42px!important;left:6px!important;bottom:4px!important;
}
body.v67-fullscreen #stage.full.all-participants .room-gallery{
 top:42px!important;bottom:6px!important;left:6px!important;right:6px!important;
 padding:0!important;
}
body.v67-fullscreen #stage.full.cameras-only:not(.auto-screens) .room-gallery{
 height:100%!important;padding:43px 8px 8px!important;box-sizing:border-box!important;
}
body.v67-fullscreen #stage.full #remoteNameBadge{
 top:44px!important;right:7px!important;bottom:auto!important;
}
/* Chats original, portado a body mientras está maximizado. */
body.v67-fullscreen #chatRail:not(.rail-hidden):not(.chat-minimized){
 position:fixed!important;z-index:20020!important;
 top:44px!important;right:7px!important;bottom:7px!important;
 height:calc(100dvh - 51px)!important;max-height:calc(100dvh - 51px)!important;
}
body.v67-fullscreen #chatRail.rail-maximized{
 left:7px!important;right:7px!important;top:44px!important;bottom:7px!important;
 width:calc(100vw - 14px)!important;max-width:none!important;
}
@media(max-width:620px){
 body.v67-fullscreen #stage.full #v67MiniBar{padding:3px 4px!important;gap:3px!important}
 body.v67-fullscreen #stage.full #fullscreenMediaControls,
 body.v67-fullscreen #stage.full .v67-mini-right,
 body.v67-fullscreen #stage.full #fullscreenViewPicker{gap:3px!important}
 body.v67-fullscreen #stage.full #fullscreenMediaControls button,
 body.v67-fullscreen #stage.full #v67MiniBar .v67-mini-button,
 body.v67-fullscreen #stage.full #v67MiniBar #fsViewMenuBtn,
 body.v67-fullscreen #stage.full #v67MiniBar #maximize,
 body.v67-fullscreen #stage.full #v67MiniBar #notificationBtn{
  width:29px!important;min-width:29px!important;max-width:29px!important;
  height:30px!important;min-height:30px!important;max-height:30px!important;
 }
 body.v67-fullscreen #stage.full.auto-screens.has-cameras .screen-gallery{
  left:4px!important;top:115px!important;
 }
 body.v67-fullscreen #stage.full.auto-screens.has-cameras .room-gallery{
  top:42px!important;bottom:auto!important;left:4px!important;right:4px!important;
  width:auto!important;height:70px!important;flex-direction:row!important;
 }
 body.v67-fullscreen #chatRail:not(.rail-hidden){left:7px!important;right:7px!important;width:calc(100vw - 14px)!important;max-width:none!important;min-width:0!important}
}
/* Respeta las restricciones de navegacion de los invitados. */
body.guest-session.v67-fullscreen #stage.full #v67ChatBtn,
body.guest-session.v67-fullscreen #stage.full #notificationWrap{display:none!important}

/* V70 · las ventanas de chat deben superar el visor de z-index 20000,
   sin reducir ni cubrir permanentemente la pantalla compartida. */
body.v67-fullscreen #messengerChatDock{
  position:fixed!important;z-index:20040!important;
  right:14px!important;bottom:12px!important;
  max-width:calc(100vw - 365px)!important;
}
body.v67-fullscreen #messengerBubbleStack{
  position:fixed!important;z-index:20050!important;right:12px!important;bottom:85px!important;
}
body.v67-fullscreen #messengerChatDock .messenger-chat-window{
  max-height:calc(100dvh - 56px)!important;
}
/* V70 · aviso de voz aun si el receptor silencio el altavoz. */
.media-tile.speaking .tile-badge{background:#17613ce8!important;color:white!important}
.media-tile.speaking .tile-badge::before{content:"";display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#5cf5a2;box-shadow:0 0 0 0 #5cf5a280;animation:v70-voice-pulse 1.25s ease-out infinite}
@keyframes v70-voice-pulse{0%{box-shadow:0 0 0 0 #5cf5a278}70%{box-shadow:0 0 0 6px #5cf5a200}100%{box-shadow:0 0 0 0 #5cf5a200}}
.media-tile.audio-muted-locally .audio-chip{background:#93323bee!important;border-color:#ff8d92!important;color:#fff!important}
@media(max-width:800px){
  body.v67-fullscreen #messengerChatDock{left:7px!important;right:7px!important;bottom:7px!important;max-width:calc(100vw - 14px)!important;justify-content:flex-end}
  body.v67-fullscreen #messengerChatDock .messenger-chat-window{max-width:calc(100vw - 18px)!important}
}
@media(prefers-reduced-motion:reduce){.media-tile.speaking .tile-badge::before{animation:none}}

/* V71 · focalizar cualquier participante, incluida la cámara propia.
   El contenido siempre queda debajo de la barra de 38px; no reengancha LiveKit. */
#roomGallery .media-tile{cursor:zoom-in}
#roomGallery .media-tile.v71-featured{cursor:zoom-out}
#roomGallery .media-tile .audio-chip{cursor:pointer}
#roomGallery .media-tile .v71-focus-button{
 position:absolute;right:6px;bottom:6px;z-index:12;
 display:grid;place-items:center;width:26px;height:26px;padding:0;
 background:#10283edb;border:1px solid #8cb4ce8c;border-radius:7px;
 color:#e5f8ff;font-size:18px;line-height:1;cursor:pointer;
}
#roomGallery .media-tile .v71-focus-button:hover,
#roomGallery .media-tile .v71-focus-button:focus-visible{
 background:#245a78;outline:2px solid #66bee9;outline-offset:1px;
}
body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery{
 position:absolute!important;left:7px!important;right:7px!important;
 top:43px!important;bottom:7px!important;width:auto!important;
 height:auto!important;min-height:0!important;
 padding:0!important;margin:0!important;
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;
 justify-content:flex-start!important;flex-wrap:nowrap!important;
 gap:7px!important;overflow-y:auto!important;overflow-x:hidden!important;
 background:#050a11!important;
}
body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery .media-tile.v71-thumbnail{
 position:relative!important;left:auto!important;top:auto!important;
 flex:0 0 90px!important;width:118px!important;height:90px!important;
 min-width:0!important;min-height:0!important;max-width:118px!important;
 margin:0!important;z-index:3;
}
body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery .media-tile.v71-featured{
 position:absolute!important;left:130px!important;top:0!important;right:0!important;bottom:0!important;
 flex:none!important;max-width:none!important;width:auto!important;height:auto!important;
 min-width:0!important;min-height:0!important;margin:0!important;
 z-index:2;border-color:#66b9e5!important;background:#080d15!important;
}
body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery .media-tile.v71-featured video{
 display:block!important;width:100%!important;height:100%!important;min-height:0!important;
 object-fit:contain!important;background:#050a11!important;
}
body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery .media-tile.v71-thumbnail video{
 height:100%!important;min-height:0!important;width:100%!important;object-fit:cover!important;
}
body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery .media-tile.v71-featured .gallery-avatar{
 width:min(26vw,220px)!important;height:min(26vw,220px)!important;
}
body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery .media-tile.v71-featured .gallery-avatar img,
body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery .media-tile.v71-featured .gallery-avatar .avatar-art{
 width:90%!important;height:90%!important;
}
body.v67-fullscreen #stage.full.v71-focus-solo.cameras-only .room-gallery .media-tile.v71-featured{left:0!important}
@media(max-width:650px){
 body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery{
   flex-direction:row!important;align-items:flex-end!important;justify-content:flex-start!important;
   overflow-x:auto!important;overflow-y:hidden!important;
 }
 body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery .media-tile.v71-thumbnail{
   flex:0 0 94px!important;width:94px!important;height:77px!important;max-width:94px!important;
 }
 body.v67-fullscreen #stage.full.v71-participant-focus.cameras-only .room-gallery .media-tile.v71-featured{
   left:0!important;right:0!important;top:0!important;bottom:89px!important;
 }
}
@media(prefers-reduced-motion:reduce){#roomGallery .media-tile{scroll-behavior:auto}}

/* V72 · Zoom individual también para pantallas compartidas (sin submenú).
   Misma altura de mini barra V67 (38px); el zoom NO modifica otras vistas.
   El ↙ de la tarjeta destacada minimiza SOLO ese zoom. */
#roomGallery .media-tile .v71-focus-button{display:none!important}
#roomGallery .media-tile .v72-focus-button,
#screenGallery .screen-tile .v72-focus-button{
 position:absolute;right:7px;bottom:7px;z-index:12;
 width:27px;height:27px;padding:0;display:grid;place-items:center;
 background:#10283eea;border:1px solid #8cb4ce9c;border-radius:7px;
 color:#e5f8ff;font-size:19px;line-height:1;cursor:pointer;
}
#roomGallery .media-tile.v71-featured .v72-focus-button,
#screenGallery .screen-tile.v72-featured .v72-focus-button{
 top:7px;bottom:auto;background:#124865ef;border-color:#85d9fc;
 width:30px;height:30px;font-size:22px;
}
#roomGallery .media-tile .v72-focus-button:hover,
#screenGallery .screen-tile .v72-focus-button:hover{
 background:#245a78;outline:2px solid #66bee9;outline-offset:1px;
}
#screenGallery .screen-tile{cursor:zoom-in}
#screenGallery .screen-tile.v72-featured{cursor:zoom-out}
body.v67-fullscreen #stage.full.v72-screen-focus.auto-screens .screen-gallery{
 position:absolute!important;left:7px!important;top:43px!important;
 right:7px!important;bottom:7px!important;
 display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;
 justify-content:flex-start!important;align-items:flex-start!important;
 overflow-y:auto!important;overflow-x:hidden!important;
 padding:0!important;margin:0!important;gap:7px!important;
 grid-template-columns:none!important;background:#050a11!important;
}
body.v67-fullscreen #stage.full.v72-screen-focus.auto-screens .screen-gallery .screen-tile.v72-thumbnail{
 position:relative!important;left:auto!important;top:auto!important;
 flex:0 0 90px!important;width:118px!important;height:90px!important;
 min-width:0!important;min-height:0!important;max-width:118px!important;
 margin:0!important;z-index:3;
}
body.v67-fullscreen #stage.full.v72-screen-focus.auto-screens .screen-gallery .screen-tile.v72-featured{
 position:absolute!important;left:130px!important;right:0!important;top:0!important;bottom:0!important;
 flex:none!important;width:auto!important;height:auto!important;
 min-height:0!important;min-width:0!important;max-width:none!important;
 margin:0!important;z-index:2;border-color:#66b9e5!important;
}
body.v67-fullscreen #stage.full.v72-screen-focus.auto-screens .screen-gallery .screen-tile video{
 width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;
}
body.v67-fullscreen #stage.full.v72-screen-focus-solo.auto-screens .screen-gallery .screen-tile.v72-featured{left:0!important}
/* Durante el zoom de pantalla no queda un rail de cámaras superpuesto. */
body.v67-fullscreen #stage.full.v72-screen-focus.auto-screens .room-gallery{display:none!important}
@media(max-width:650px){
 body.v67-fullscreen #stage.full.v72-screen-focus.auto-screens .screen-gallery{
  flex-direction:row!important;align-items:flex-end!important;overflow-x:auto!important;overflow-y:hidden!important;
 }
 body.v67-fullscreen #stage.full.v72-screen-focus.auto-screens .screen-gallery .screen-tile.v72-thumbnail{
  flex:0 0 94px!important;width:94px!important;height:77px!important;max-width:94px!important;
 }
 body.v67-fullscreen #stage.full.v72-screen-focus.auto-screens .screen-gallery .screen-tile.v72-featured{
  left:0!important;right:0!important;top:0!important;bottom:89px!important;
 }
}

/* V73: el acceso al mapa solo se muestra al maximizar; no reaparece el duplicado Todos. */
#fsViewMenu #fsMapViewBtn[hidden]{display:none!important}


/* V75 · Selector de vistas centrado, texto prioritario, SOLO maximizado.
   No aumenta los 38px de la barra: nunca ocupa espacio de presentación. */
#v75ViewTabs{display:none}
body.v67-fullscreen #stage.full #v75ViewTabs{
 display:flex!important;align-items:center;justify-content:center;gap:4px;
 position:absolute;left:50%;top:3px;transform:translateX(-50%);
 height:31px;min-height:31px;max-width:calc(100% - 390px);
 z-index:112;white-space:nowrap;box-sizing:border-box;
}
body.v67-fullscreen #stage.full #v75ViewTabs button{
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;
 justify-content:center!important;gap:5px!important;flex:0 0 auto!important;
 height:29px!important;min-height:29px!important;max-height:29px!important;
 width:auto!important;min-width:0!important;max-width:none!important;
 padding:0 10px!important;margin:0!important;
 font:700 13px/1.1 system-ui,-apple-system,'Segoe UI',sans-serif!important;
 white-space:nowrap!important;letter-spacing:0!important;
 color:#edf7ff!important;background:#153247!important;
 border:1px solid #31546a!important;border-radius:7px!important;
 box-shadow:none!important;cursor:pointer!important;
 transition:background .12s ease,border-color .12s ease!important;
}
body.v67-fullscreen #stage.full #v75ViewTabs .v75-mode-symbol{
 display:inline-block;font-size:12px;line-height:1;opacity:.8;
}
body.v67-fullscreen #stage.full #v75ViewTabs button:hover{
 background:#21506a!important;border-color:#83b9d2!important;
}
body.v67-fullscreen #stage.full #v75ViewTabs button.active,
body.v67-fullscreen #stage.full #v75ViewTabs button[aria-pressed="true"]{
 background:#14503a!important;border-color:#4ee09b!important;
 color:#f1fff8!important;box-shadow:inset 0 0 0 1px #48c48a25!important;
}
body.v67-fullscreen #stage.full #v75ViewTabs button.active .v75-mode-symbol{opacity:1}
body.v67-fullscreen #stage.full #v75ViewTabs button:focus-visible{
 outline:2px solid #a5eacb!important;outline-offset:1px!important;
}
/* El desplegable permanece para vista normal, NO en maximizado. */
body.v67-fullscreen #stage.full #v67MiniBar #fsViewMenuBtn,
body.v67-fullscreen #stage.full #v67MiniBar #fsViewMenu,
body.v67-fullscreen #stage.full #v67MiniBar #fsViewMenu.open{display:none!important}
/* Pantallas medianas: texto siempre visible, iconos opcionales. */
@media(max-width:1280px){
 body.v67-fullscreen #stage.full #v75ViewTabs .v75-mode-symbol{display:none!important}
 body.v67-fullscreen #stage.full #v75ViewTabs button{padding:0 8px!important;font-size:12.5px!important}
}
/* Pantallas pequeñas: conserva el tamaño legible; desplazamiento horizontal
   SOLO de las pestañas, sin mover mic, chat ni notificaciones. */
@media(max-width:900px){
 body.v67-fullscreen #stage.full #v75ViewTabs{
  position:relative!important;left:auto!important;top:auto!important;
  transform:none!important;flex:1 1 auto!important;justify-content:flex-start!important;
  min-width:0!important;max-width:none!important;height:31px!important;
  overflow-x:auto!important;overflow-y:hidden!important;
  scrollbar-width:none;overscroll-behavior-x:contain;
 }
 body.v67-fullscreen #stage.full #v75ViewTabs::-webkit-scrollbar{display:none}
 body.v67-fullscreen #stage.full .v67-mini-right{margin-left:0!important;flex:0 0 auto!important}
}

/* V76: aclarar compartir y separar claramente el selector de vistas. No
   aumentar los 38px reservados ni ocupar espacio de la presentacion. */
body.v67-fullscreen #stage.full #fullscreenMediaControls #fsScreen.v76-share-button{
 width:auto!important;min-width:103px!important;max-width:none!important;
 padding:0 10px!important;gap:7px!important;
 font:700 12px/1 system-ui,-apple-system,'Segoe UI',sans-serif!important;
 white-space:nowrap!important;
}
body.v67-fullscreen #stage.full #fullscreenMediaControls #fsScreen .v76-share-text{
 display:inline!important;white-space:nowrap!important;line-height:1!important;
}
body.v67-fullscreen #stage.full #v75ViewTabs .v76-view-label{
 display:inline-block!important;flex:0 0 auto!important;
 margin-right:8px!important;color:#d6e4ee!important;
 font:700 13px/1 system-ui,-apple-system,'Segoe UI',sans-serif!important;
 white-space:nowrap!important;
}
/* En pantallas medianas priorizar que el texto del selector siga legible. */
@media(max-width:1280px){
 body.v67-fullscreen #stage.full #v75ViewTabs .v76-view-label{margin-right:4px!important;font-size:12px!important}
}
/* En moviles estrechos no sacrificar cuatro nombres del selector para
   mantener el texto Compartir: compartir sigue reconocible por su icono. */
@media(max-width:620px){
 body.v67-fullscreen #stage.full #fullscreenMediaControls #fsScreen.v76-share-button{
  width:29px!important;min-width:29px!important;max-width:29px!important;
  padding:0!important;gap:0!important;
 }
 body.v67-fullscreen #stage.full #fullscreenMediaControls #fsScreen .v76-share-text{display:none!important}
}
