/* ALOS · Sala de conferência: texto pode crescer; a sala não pode sair da tela.
   O modal é filho do body, fora dos refinamentos de #documentosBody. Limitar
   os tracks/itens preserva o conteúdo e a rolagem vertical, sem cortar ações. */
#docsReviewOverlay .docs-review-room {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  max-width: 100%;
  max-height: calc(100dvh - 48px);
}

#docsReviewOverlay :is(.docs-review-room > header, .docs-review-body,
  .docs-review-room > footer, .docs-review-body > nav, .docs-review-body > main) {
  min-width: 0;
  max-width: 100%;
}

#docsReviewOverlay .docs-review-room > header > div {
  flex: 1 1 0;
}

#docsReviewOverlay .docs-review-room > header > aside {
  flex: 0 0 auto;
}

#docsReviewOverlay .docs-review-room > header > aside > button {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
}

#docsReviewOverlay :is(.docs-review-room > header p, .docs-review-current p,
  .docs-esperado, .docs-ai-precheck, .docs-reclass, .docs-ck, .docs-ck-wrap,
  .docs-review-decision, .docs-review-steps, .docs-review-safety,
  .docs-review-pending, .dpb-review-entry) {
  min-width: 0;
  overflow-wrap: anywhere;
}

#docsReviewOverlay :is(.docs-esperado > div, .docs-ai-precheck > div,
  .docs-ai-precheck.compacta > span, .docs-reclass > div, .docs-ck > div,
  .docs-review-steps article > div, .docs-review-safety > span,
  .docs-review-pending > div, .dpb-review-entry > span) {
  min-width: 0;
}

#docsReviewOverlay .docs-esperado > div {
  flex: 1 1 0;
}

#docsReviewOverlay :is(.docs-ai-precheck > div, .docs-reclass.is-quiet > div,
  .docs-review-steps article > div) {
  grid-template-columns: minmax(0, 1fr);
}

#docsReviewOverlay .docs-review-steps article {
  min-width: 0;
  grid-template-columns: 31px minmax(0, 1fr);
}

#docsReviewOverlay .docs-review-decision > header {
  flex-wrap: wrap;
}

#docsReviewOverlay :is(.docs-review-decision button, .docs-review-acts button,
  .docs-review-room > footer button, .docs-reclass button.go, .dpb-entry) {
  min-width: 0;
  max-width: 100%;
  min-height: 40px;
  white-space: normal;
  overflow-wrap: anywhere;
}

#docsReviewOverlay :is(.docs-review-decision button, .docs-review-acts button,
  .docs-review-room > footer button) > .ic {
  flex-shrink: 0;
}

#docsReviewOverlay .docs-review-room > footer {
  flex-wrap: wrap;
}

#docsReviewOverlay .docs-review-room > footer > div {
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
}

#docsReviewOverlay .docs-review-room > footer > div:last-child {
  justify-content: flex-end;
}

#docsReviewOverlay .dpb-review-entry {
  flex-wrap: wrap;
}

#docsReviewOverlay .docs-reclass select {
  max-width: 100%;
}

@media (max-width: 1050px) {
  #docsReviewOverlay .docs-review-current {
    grid-template-columns: 58px minmax(0, 1fr);
  }
  #docsReviewOverlay .docs-review-acts {
    grid-column: 1 / -1;
  }
}

@media (max-width: 850px) {
  #docsReviewOverlay .docs-review-room {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
  }
  #docsReviewOverlay .docs-review-body {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
  }
  /* Only the file strip scrolls sideways; header, document and actions stay put. */
  #docsReviewOverlay .docs-review-body > nav > button {
    flex: 0 0 190px;
    min-width: 0;
  }
  #docsReviewOverlay .docs-review-room > footer > div,
  #docsReviewOverlay .docs-review-room > footer > div:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #docsReviewOverlay .docs-review-room > footer > div:last-child > button {
    grid-column: 1 / -1;
  }
  #docsReviewOverlay .docs-review-current {
    grid-template-columns: 48px minmax(0, 1fr);
  }
}

@media (max-width: 560px) {
  #docsReviewOverlay .docs-review-decision > div > button {
    flex: 1 1 100%;
    justify-content: center;
  }
  #docsReviewOverlay .docs-review-decision .delete {
    margin-left: 0;
  }
  #docsReviewOverlay .docs-ck-wrap > summary {
    flex-wrap: wrap;
  }
  #docsReviewOverlay .docs-ck-wrap > summary > b {
    margin-left: 24px;
    text-align: left;
  }
}
