/* GattoMusic 2.0 - Build 9.92
   Sala: câmeras -> controles diretos -> mensagens; sem scroll da superfície
   principal e com Escape preservando a área selecionada enquanto remove guias. */

.chat-room-sidepanel-v972.chat-v992-room-layout{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  align-content:stretch!important;
  min-width:0!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow:hidden!important;
}

/* A faixa intermediária contém somente a chamada; ela nunca é o scroller da Sala. */
.chat-v992-room-layout>.chat-room-side-scroll-v972{
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
  scrollbar-gutter:auto!important;
}
.chat-v992-room-layout>.chat-room-side-scroll-v972>.chat-room-side-call-v972{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
}

/* Estrutura física obrigatória: câmera em cima, dock de controles embaixo. */
.chat-v992-room-layout .chat-v992-room-stage,
.chat-v992-room-layout .chat-v991-room-stage.chat-v992-room-stage{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:'cameras' 'controls'!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.chat-v992-room-layout .chat-v991-room-controls-rail{display:none!important}
.chat-v992-room-layout .chat-v992-room-camera-stage,
.chat-v992-room-layout .chat-v991-room-camera-stage.chat-v992-room-camera-stage{
  grid-area:cameras!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-height:var(--chat-v992-camera-budget,320px)!important;
  overflow:hidden!important;
  position:relative!important;
  z-index:10!important;
}
.chat-v992-room-layout .chat-v992-room-control-dock{
  grid-area:controls!important;
  display:grid!important;
  grid-template-columns:minmax(220px,.9fr) minmax(0,2.1fr)!important;
  align-items:start!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  position:relative!important;
  z-index:40!important;
  box-sizing:border-box!important;
}

/* Galeria compacta: não cria uma segunda barra de rolagem. */
.chat-v992-room-layout .chat-room-grid-v969{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  max-height:var(--chat-v992-camera-budget,320px)!important;
  overflow:hidden!important;
  align-content:start!important;
  margin:0!important;
}
.chat-v992-room-layout .chat-room-participant-v969{
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  max-height:calc(var(--chat-v992-camera-budget,320px) / 2)!important;
  overflow:hidden!important;
}
.chat-v992-room-layout.chat-v989-room-solo .chat-room-grid-v969{
  justify-items:center!important;
}
.chat-v992-room-layout.chat-v989-room-solo .chat-room-participant-v969{
  width:min(100%,calc(var(--chat-v992-camera-budget,320px) * 16 / 9))!important;
  height:min(var(--chat-v992-camera-budget,320px),var(--chat-v989-solo-height,320px))!important;
  max-height:var(--chat-v992-camera-budget,320px)!important;
}

/* Novo método de interação: sem details/menu flutuante. Cards diretos, selects
   nativos e botões reais ficam todos no fluxo abaixo das câmeras. */
.chat-v992-room-layout [data-v972-role="devices"],
.chat-v992-room-layout [data-v972-role="actions"]{
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  position:relative!important;
  inset:auto!important;
}
.chat-v992-room-layout .chat-v992-control-card{
  display:grid!important;
  grid-template-rows:auto auto!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:6px!important;
  border:1px solid var(--chat-v72-line,var(--line))!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--chat-v72-card,var(--panel)) 94%,transparent)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.chat-v992-room-layout .chat-v992-control-card-title{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  min-height:20px!important;
  font-size:.72rem!important;
  line-height:1.2!important;
  opacity:.92!important;
}
.chat-v992-room-layout .chat-v992-control-card-title strong{white-space:normal!important}

.chat-v992-room-layout .chat-room-device-grid-v969{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:end!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
}
.chat-v992-room-layout .chat-room-device-field-v969{
  display:grid!important;
  grid-template-rows:auto auto!important;
  gap:2px!important;
  flex:1 1 140px!important;
  min-width:120px!important;
  max-width:100%!important;
  font-size:.68rem!important;
}
.chat-v992-room-layout .chat-room-device-field-v969 select,
.chat-v992-room-layout .chat-room-device-grid-v969>.button{
  min-width:0!important;
  max-width:100%!important;
  min-height:32px!important;
  height:32px!important;
  padding:4px 7px!important;
  box-sizing:border-box!important;
  pointer-events:auto!important;
}
.chat-v992-room-layout .chat-room-device-grid-v969>.button{flex:0 1 auto!important}

.chat-v992-room-layout .chat-v992-actions-panel,
.chat-v992-room-layout .chat-v983-room-menu-panel.chat-v992-actions-panel{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  pointer-events:auto!important;
  box-shadow:none!important;
  background:none!important;
}
.chat-v992-room-layout .chat-v992-actions-panel>.button{
  flex:0 1 auto!important;
  width:auto!important;
  min-width:92px!important;
  min-height:32px!important;
  height:auto!important;
  padding:5px 8px!important;
  white-space:normal!important;
  pointer-events:auto!important;
}
.chat-v992-room-layout .chat-v982-blur-controls{
  display:flex!important;
  flex:1 1 330px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  min-width:220px!important;
  max-width:100%!important;
  padding:0!important;
  border:0!important;
  position:relative!important;
  z-index:1!important;
  pointer-events:auto!important;
}
.chat-v992-room-layout .chat-v982-blur-controls>.button,
.chat-v992-room-layout .chat-v982-blur-controls>select{
  width:auto!important;
  min-width:110px!important;
  min-height:32px!important;
  height:32px!important;
  margin:0!important;
  padding:4px 7px!important;
  pointer-events:auto!important;
}
.chat-v992-room-layout .chat-v988-focus-controls{
  display:flex!important;
  flex:1 1 300px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  min-width:220px!important;
  max-width:100%!important;
  padding:0!important;
  border:0!important;
  pointer-events:auto!important;
}
.chat-v992-room-layout .chat-v988-focus-controls>select,
.chat-v992-room-layout .chat-v988-focus-controls>.button{
  width:auto!important;
  min-width:108px!important;
  min-height:32px!important;
  height:32px!important;
  margin:0!important;
  padding:4px 7px!important;
  pointer-events:auto!important;
}

/* Mensagens preenchem TODO o restante da janela. Só a lista histórica rola. */
.chat-v992-room-layout>.chat-room-messages-v972,
.chat-v992-room-layout .chat-room-messages-v972{
  align-self:stretch!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:100%!important;
  min-width:0!important;
  min-height:84px!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.chat-v992-room-layout .chat-room-message-list-v972{
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
.chat-v992-room-layout>.chat-room-message-footer-v980{
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  overflow:hidden!important;
}
.chat-v992-room-layout .chat-room-message-composer-v972 textarea{
  min-height:40px!important;
  height:40px!important;
  max-height:40px!important;
  resize:none!important;
  overflow-y:auto!important;
}

/* A superfície principal jamais ganha scroll; fullscreen e Sala destacada usam
   a mesma arquitetura. */
body.chat-v982-room-detached-host,
body.chat-v982-room-detached-host .chat-v992-room-layout,
.chat-v992-room-layout:fullscreen,
.chat-v992-room-layout:-webkit-full-screen{
  overflow:hidden!important;
}
body.chat-v982-room-detached-host .chat-v992-room-layout,
.chat-v992-room-layout:fullscreen,
.chat-v992-room-layout:-webkit-full-screen{
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
}

@media(max-height:700px){
  .chat-v992-room-layout .chat-v992-room-stage{gap:4px!important}
  .chat-v992-room-layout .chat-v992-room-control-dock{gap:4px!important}
  .chat-v992-room-layout .chat-v992-control-card{padding:4px!important;gap:3px!important}
  .chat-v992-room-layout .chat-v992-control-card-title{min-height:16px!important;font-size:.66rem!important}
  .chat-v992-room-layout .chat-room-device-field-v969 select,
  .chat-v992-room-layout .chat-room-device-grid-v969>.button,
  .chat-v992-room-layout .chat-v992-actions-panel>.button,
  .chat-v992-room-layout .chat-v982-blur-controls>.button,
  .chat-v992-room-layout .chat-v982-blur-controls>select,
  .chat-v992-room-layout .chat-v988-focus-controls>select,
  .chat-v992-room-layout .chat-v988-focus-controls>.button{min-height:28px!important;height:28px!important;padding:3px 6px!important;font-size:.68rem!important}
  .chat-v992-room-layout>.chat-room-messages-v972,
  .chat-v992-room-layout .chat-room-messages-v972{min-height:70px!important;margin-top:4px!important}
  .chat-v992-room-layout .chat-room-message-composer-v972 textarea{height:36px!important;min-height:36px!important;max-height:36px!important}
}

@media(max-width:720px){
  .chat-v992-room-layout .chat-v992-room-control-dock{grid-template-columns:minmax(0,1fr)!important}
  .chat-v992-room-layout .chat-room-device-field-v969{flex:1 1 125px!important;min-width:105px!important}
  .chat-v992-room-layout .chat-v982-blur-controls,
  .chat-v992-room-layout .chat-v988-focus-controls{min-width:0!important;flex-basis:100%!important}
}

@media(max-width:480px){
  .chat-v992-room-layout .chat-v992-actions-panel>.button{flex:1 1 120px!important;min-width:0!important}
  .chat-v992-room-layout .chat-room-device-grid-v969>.button{flex:1 1 100%!important}
  .chat-v992-room-layout .chat-v982-blur-controls>.button,
  .chat-v992-room-layout .chat-v982-blur-controls>select,
  .chat-v992-room-layout .chat-v988-focus-controls>select,
  .chat-v992-room-layout .chat-v988-focus-controls>.button{flex:1 1 120px!important;min-width:0!important}
}
