/* BMCenter Finanças v63 — rolagem segura em janelas mobile */
@media (max-width:760px){
  html.bm-card-manager-open,
  body.bm-card-manager-open,
  html.bm-v58-modal-open,
  body.bm-v58-modal-open{overflow:hidden!important}

  /* Gerenciar cartões: fica acima da barra inferior e usa a altura real do aparelho. */
  .bm-card-manager-bg{
    z-index:1600000!important;
    inset:0!important;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important;
    align-items:stretch!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important;
  }
  .bm-card-manager{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    border-radius:18px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .bm-card-manager>header,
  .bm-card-manager-toolbar,
  .bm-card-editor>footer{flex:0 0 auto!important}
  .bm-card-manager-list{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    padding-bottom:28px!important;
  }
  .bm-card-editor form{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .bm-card-manager-form{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    padding-bottom:24px!important;
  }

  /* Modais novos do Finanças. */
  .bm-v58-modal-bg{
    z-index:1600000!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
  }
  .bm-v58-modal{
    max-height:calc(100dvh - 12px - env(safe-area-inset-bottom))!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .bm-v58-modal form{min-height:0!important;overflow:hidden!important}
  .bm-v58-form{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
  }

  /* Modais legados ainda usados em algumas páginas. */
  .modal-backdrop,
  .fa-modal-bg,
  .obligation-modal-backdrop,
  .bm-manage-modal-bg{
    z-index:1600000!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;
  }
  .modal-backdrop>.modal,
  .fa-modal-bg>.fa-modal,
  .obligation-modal-backdrop>* ,
  .bm-manage-modal-bg>*{
    max-height:calc(100dvh - 24px - env(safe-area-inset-bottom))!important;
    min-height:0!important;
  }
  .modal-backdrop>.modal{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
  }
  .modal-backdrop>.modal form,
  .fa-modal-bg form,
  .obligation-modal-backdrop form,
  .bm-manage-modal-bg form{
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
  }

  /* Busca e listas longas também devem aceitar gesto vertical normalmente. */
  .bm-search-overlay,
  .bm-search-overlay [data-bm-search-results],
  .bm-v58-purchases,
  .fa-invoice-sheet,
  .fa-card-detail{
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
  }
}
