/* Estilos personalizados para o navbar */

/* === NAVBAR FIXO NO TOPO === */
#ftco-navbar,
nav#ftco-navbar,
.ftco-navbar-light,
.ftco_navbar,
.navbar-always-visible {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1040 !important;
  /* Fundo branco sempre visível */
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
  margin: 0 !important;
  margin-top: 0 !important;
  padding: 10px 0 !important;
  min-height: 70px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Sobrescrever regras específicas do tema original */
.ftco-navbar-light.scrolled {
  position: fixed !important;
  top: 0 !important;
  margin-top: 0 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

/* Desabilitar comportamento de scroll - manter sempre fixo */
.ftco-navbar-light.awake,
.ftco-navbar-light.sleep,
.ftco_navbar.awake,
.ftco_navbar.sleep {
  position: fixed !important;
  top: 0 !important;
  margin-top: 0 !important;
  background: rgba(255, 255, 255, 0.98) !important;
}

/* Garantir que o conteúdo não fique atrás do navbar fixo */
body {
  padding-top: 70px !important; /* Altura do navbar */
  margin: 0 !important;
}

/* Sobrescrever estilos da background-form para remover faixa */
.background-form {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #1F64FF !important;
  min-height: calc(100vh - 70px) !important; /* Ajustado para a altura do navbar */
  padding: 2rem !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
  padding-top: 2rem !important; /* Padding interno normal */
  border-top: none !important;
}

/* Remover qualquer elemento pseudo que possa criar faixa */
body::before,
body::after,
#section-home::before,
#section-home::after {
  content: none !important;
  display: none !important;
}

/* Scroll suave */
html {
  scroll-behavior: smooth !important;
}

/* FORÇA ZERO ANIMAÇÕES NO BOTÃO MENU ADMIN - SOBRESCREVE TODOS OS FRAMEWORKS */
#adminMenuBtn,
button#adminMenuBtn,
.admin-menu-button,
button.admin-menu-button,
[id="adminMenuBtn"],
*[class*="admin-menu-button"] {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  -moz-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  transform: none !important;
  will-change: auto !important;
}

#adminMenuBtn:hover,
#adminMenuBtn:focus,
#adminMenuBtn:active,
button#adminMenuBtn:hover,
button#adminMenuBtn:focus,
button#adminMenuBtn:active,
.admin-menu-button:hover,
.admin-menu-button:focus,
.admin-menu-button:active,
button.admin-menu-button:hover,
button.admin-menu-button:focus,
button.admin-menu-button:active {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  -moz-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  /* Removido transform para evitar animações */
  will-change: auto !important;
}

.navbar-brand {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding: 0 20px !important;
  margin: 0 !important;
  position: relative !important;
  height: 50px !important;
}

.logo-container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-left: 60px !important; /* Para desktop - próximo ao menu */
  flex: none !important;
}

.powerbi-container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-right: 30px !important;
  flex: none !important;
}

.logo {
  height: 40px !important;
  width: auto !important;
  object-fit: contain !important;
}

.powerbi {
  width: 220px !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Garantir que o container ocupe toda a largura disponível */
.container-fluid {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 50px !important;
}

/* === ESTILOS DO MENU FLUTUANTE ADMIN === */
.admin-menu-container {
  position: absolute !important;
  left: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 1055 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* SOBRESCREVER TODAS AS TRANSIÇÕES GLOBAIS */
.admin-menu-container *,
.admin-menu-container *:before,
.admin-menu-container *:after,
.admin-menu-button,
.admin-menu-button:hover,
.admin-menu-button:focus,
.admin-menu-button:active,
.admin-menu-button:visited {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  -moz-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  transform-origin: center !important;
  /* Forçar duração zero */
  transition-duration: 0s !important;
  animation-duration: 0s !important;
  transition-delay: 0s !important;
  animation-delay: 0s !important;
}

.admin-menu-button {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 2px solid rgba(0, 123, 255, 0.4) !important;
  border-radius: 8px !important;
  color: #495057 !important;
  font-size: 18px !important;
  font-weight: bold !important;
  width: 42px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15) !important;
  user-select: none !important;
  outline: none !important;
  /* FORÇAR AUSÊNCIA TOTAL DE ANIMAÇÕES */
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
}

.admin-menu-button:hover {
  background: #007bff !important;
  color: white !important;
  border-color: #007bff !important;
  box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3) !important;
  /* FORÇAR AUSÊNCIA DE TRANSIÇÃO NO HOVER */
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
}

.admin-menu-button:focus {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.25) !important;
  /* FORÇAR AUSÊNCIA DE TRANSIÇÃO NO FOCUS */
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
}

.admin-menu-button:active {
  /* Sem transformações - posicionamento fixo */
  /* FORÇAR AUSÊNCIA DE TRANSIÇÃO NO ACTIVE */
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
}

/* Dropdown do menu admin */
.admin-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  background: white !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
  min-width: 260px !important;
  max-width: 300px !important;
  
  /* Estados de visibilidade - sem animações */
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: 1051 !important;
  
  /* Garante que não seja exibido por padrão */
  display: none !important;
  pointer-events: none !important;
  
  /* Remover transições */
  transition: none !important;
  transform: none !important;
}

/* Estado ativo do dropdown - sem animações */
.admin-dropdown.show {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  pointer-events: auto !important;
}

.admin-dropdown-header {
  padding: 14px 18px !important;
  background: linear-gradient(135deg, #007bff, #0056b3) !important;
  color: white !important;
  border-radius: 10px 10px 0 0 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-align: center !important;
  margin: 0 !important;
}

.admin-username {
  display: block !important;
  font-weight: 700 !important;
  color: white !important;
}

.admin-dropdown-item {
  display: flex !important;
  align-items: center !important;
  padding: 12px 18px !important;
  color: #495057 !important;
  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  width: 100% !important;
  text-align: left !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  /* Remover transições dos itens do menu */
  transition: none !important;
}

.admin-dropdown-item:hover {
  background: #f8f9fa !important;
  color: #007bff !important;
  text-decoration: none !important;
}

.admin-dropdown-item:active {
  background: #e9ecef !important;
}

.admin-dropdown-item i {
  margin-right: 10px !important;
  width: 18px !important;
  text-align: center !important;
  font-size: 14px !important;
  flex-shrink: 0 !important;
}

.admin-dropdown-divider {
  margin: 6px 0 !important;
  border: none !important;
  border-top: 1px solid #dee2e6 !important;
  width: 100% !important;
  height: 1px !important;
}

.logout-btn {
  color: #dc3545 !important;
  font-weight: 600 !important;
}

.logout-btn:hover {
  background: #fff5f5 !important;
  color: #c82333 !important;
}

/* Garantir que o navbar tenha z-index adequado */
#ftco-navbar {
  z-index: 1040 !important;
  position: relative !important;
}

/* Reset de possíveis interferências */
.admin-menu-container * {
  box-sizing: border-box !important;
}

/* Ajustes para telas menores */
@media (max-width: 768px) {
  /* Navbar fixo responsivo - manter posição fixed com fundo branco */
  #ftco-navbar,
  nav#ftco-navbar,
  .ftco-navbar-light {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    padding: 8px 0 !important;
  }
  
  /* Ajustar padding do body para mobile */
  body {
    padding-top: 70px !important;
  }
  
  .navbar-brand {
    flex-direction: row !important;
    gap: 0.5rem !important;
    padding: 0 15px !important;
    height: 45px !important;
    justify-content: space-between !important;
  }
  
  .logo-container {
    margin-left: 40px !important; /* Reduzido para ficar mais próximo do menu em mobile */
    justify-content: flex-start !important;
    flex: none !important;
  }
  
  .powerbi-container {
    margin-right: 15px !important;
    justify-content: flex-end !important;
    flex: none !important;
  }
  
  .logo {
    height: 35px !important;
    width: auto !important;
  }
  
  .powerbi {
    width: 180px !important;
    height: auto !important;
  }
  
  .admin-menu-container {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 1055 !important;
  }
  
  .admin-dropdown {
    left: 0 !important;
    min-width: 220px !important;
  }
}

/* REGRA FINAL PARA GARANTIR AUSÊNCIA TOTAL DE ANIMAÇÕES */
button.admin-menu-button,
.admin-menu-button {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  -moz-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  will-change: auto !important;
}

button.admin-menu-button:hover,
.admin-menu-button:hover,
button.admin-menu-button:focus,
.admin-menu-button:focus,
button.admin-menu-button:active,
.admin-menu-button:active {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  -moz-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  will-change: auto !important;
}

/* ÚLTIMA REGRA - MÁXIMA ESPECIFICIDADE PARA REMOVER ANIMAÇÕES */
html body nav#ftco-navbar div.navbar-brand div.admin-menu-container button#adminMenuBtn.admin-menu-button,
html body nav div.navbar-brand div.admin-menu-container button.admin-menu-button#adminMenuBtn,
html body div.admin-menu-container button#adminMenuBtn,
html body button#adminMenuBtn.admin-menu-button {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  -moz-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  will-change: auto !important;
}

html body nav#ftco-navbar div.navbar-brand div.admin-menu-container button#adminMenuBtn.admin-menu-button:hover,
html body nav#ftco-navbar div.navbar-brand div.admin-menu-container button#adminMenuBtn.admin-menu-button:focus,
html body nav#ftco-navbar div.navbar-brand div.admin-menu-container button#adminMenuBtn.admin-menu-button:active,
html body nav div.navbar-brand div.admin-menu-container button.admin-menu-button#adminMenuBtn:hover,
html body nav div.navbar-brand div.admin-menu-container button.admin-menu-button#adminMenuBtn:focus,
html body nav div.navbar-brand div.admin-menu-container button.admin-menu-button#adminMenuBtn:active,
html body div.admin-menu-container button#adminMenuBtn:hover,
html body div.admin-menu-container button#adminMenuBtn:focus,
html body div.admin-menu-container button#adminMenuBtn:active,
html body button#adminMenuBtn.admin-menu-button:hover,
html body button#adminMenuBtn.admin-menu-button:focus,
html body button#adminMenuBtn.admin-menu-button:active {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  -moz-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  will-change: auto !important;
  /* Removido transform para eliminar animações */
}

/* Removido transform para eliminar animações */

/* REGRA FINAL ABSOLUTA - ZERO ANIMAÇÕES NO BOTÃO */
* .admin-menu-button,
* #adminMenuBtn,
*[id="adminMenuBtn"],
*[class*="admin-menu"] {
  transition-duration: 0s !important;
  transition-delay: 0s !important;
  animation-duration: 0s !important;
  animation-delay: 0s !important;
  transition: none !important;
  animation: none !important;
}

* .admin-menu-button *,
* #adminMenuBtn *,
*[id="adminMenuBtn"] *,
*[class*="admin-menu"] * {
  transition: none !important;
  animation: none !important;
  transition-duration: 0s !important;
  animation-duration: 0s !important;
}

/* MÁXIMA PRIORIDADE - NAVBAR SEMPRE VISÍVEL */
html body nav#ftco-navbar.navbar-always-visible,
html body .navbar-always-visible {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  margin-top: 0 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

/* Remover qualquer margem ou padding que cause faixa */
#ftco-navbar::after,
.ftco-navbar-light::after {
  content: none !important;
  display: none !important;
}

/* Remover bordas e margens que possam criar faixas */
#ftco-navbar,
nav#ftco-navbar,
.ftco-navbar-light {
  border: none !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
}