/* AG CRM V89 — rolagem correta em todos os cadastros/modais */

/* O modal passa a ter estrutura fixa de cabeçalho + conteúdo rolável + rodapé. */
.modal-backdrop{
  overflow:hidden!important;
  overscroll-behavior:contain!important;
}

#modal.modal,
.modal{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  overflow:hidden!important;
}

.modal-head{
  position:relative!important;
  top:auto!important;
  flex:0 0 auto!important;
  z-index:4!important;
}

.modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  scrollbar-gutter:stable;
}

.modal-foot{
  position:relative!important;
  bottom:auto!important;
  flex:0 0 auto!important;
  z-index:4!important;
}

/* Forms longos nunca ficam presos por uma altura do conteúdo. */
.modal-body form,
.modal-body .form-grid,
.modal-body .grid{
  min-height:0!important;
}

/* Desktop/notebook: limita o modal ao viewport e libera a rolagem do miolo. */
@media (min-width:901px){
  #modal.modal,
  .modal{
    max-height:min(88dvh,900px)!important;
  }
}

/* Mobile/iPhone: bottom sheet ocupa a área útil e o formulário rola de verdade. */
@media (max-width:900px){
  .modal-backdrop{
    height:100dvh!important;
    max-height:100dvh!important;
    align-items:flex-end!important;
  }

  #modal.modal,
  .modal{
    width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - env(safe-area-inset-top,0px) - 8px)!important;
    min-height:0!important;
    border-radius:24px 24px 0 0!important;
  }

  .modal-head{
    flex:0 0 auto!important;
  }

  .modal-body{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:24px!important;
  }

  .modal-foot{
    flex:0 0 auto!important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
  }
}

/* Telas muito baixas (teclado aberto, landscape, celulares menores). */
@media (max-height:650px){
  #modal.modal,
  .modal{
    max-height:96dvh!important;
  }
  .modal-head{
    min-height:52px!important;
  }
}
