/* FIT100 Running — modal de confirmação da prova sempre em primeiro plano. */

/* Enquanto o formulário de prova estiver aberto, nenhum shell intermediário pode
   criar um stacking/containing context que prenda o modal atrás do cabeçalho. */
html:has([data-race-modal-overlay]),
body:has([data-race-modal-overlay]) {
  overflow: hidden !important;
}

body:has([data-race-modal-overlay]) #root,
[data-fit100-premium-app]:has([data-race-modal-overlay]),
[data-fit100-premium-app] .fit-shell-grid:has([data-race-modal-overlay]),
[data-fit100-premium-app] .fit-shell-scroll:has([data-race-modal-overlay]),
[data-fit100-premium-app] [role="tabpanel"]:has([data-race-modal-overlay]),
[data-fit100-premium-app] .fit-social-shell:has([data-race-modal-overlay]),
[data-races-panel]:has([data-race-modal-overlay]) {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  contain: none !important;
  isolation: auto !important;
  overflow: visible !important;
  z-index: auto !important;
}

/* A confirmação fica acima do topo, dos cards e do rodapé. */
html body #root [data-race-modal-overlay] {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  background: rgba(6, 22, 42, .68) !important;
}

html body #root [data-race-modal-card] {
  position: relative !important;
  z-index: 2147483001 !important;
  background: #ffffff !important;
}

/* O cabeçalho permanece atrás da confirmação; ele volta ao normal ao fechar. */
body:has([data-race-modal-overlay]) .fit-app-header,
body:has([data-race-modal-overlay]) #bottom-nav {
  z-index: 1 !important;
}
