
body {
    font-family: 'Inter', sans-serif;
    padding-top: 70px; /* mantém navbar fixa */
    margin: 0;
    min-height: 100vh;
    position: relative;
    background-color: #f8f9fa;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}
/* Notificão dos dados na tela */
.toast {
    background: #f0ad4e;
    color: #fff;
    padding: 12px 16px;
    margin-bottom: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    cursor: pointer;
    transition: all 0.3s ease;
}
.toast:hover {
    transform: translateX(-5px);
    opacity: 0.9;
}

main {
    flex: 1; /* ocupa o espaço restante */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
}

nav, footer { position: relative; z-index: 1; }
.navbar { z-index: 2; }

footer {
    padding: 1rem 0;
    background-color: #212529;
    color: #fff;
    text-align: center;
    font-size: 0.85rem;
    margin-top: 0;
}

/* Marca d'água */
.watermark-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.watermark-container span {
    position: absolute;
    font-weight: bold;
    white-space: nowrap;
    user-select: none;
    transform: rotate(-30deg);
    background: linear-gradient(90deg, rgba(0,0,0,0.1), rgba(0,0,0,0.3));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: float 30s linear infinite;
}

/* 🔧 Contêiner fixo e centralizado */
.flash-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 500px;
  z-index: 9999;
  pointer-events: none;
}

/* 🎬 Entrada: sobe do rodapé até o centro */
.flash-slide-in {
  animation: slideUpFromBottom 0.6s ease-out forwards;
}

@keyframes slideUpFromBottom {
  0% {
    opacity: 0;
    transform: translateY(300px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 🎬 Saída: sobe até o topo e desaparece */
.flash-slide-out {
  animation: slideUpToTop 0.6s ease-in forwards;
}

/* 🔹 Container do nome da empresa */
.empresa-info {
  transition: all 0.3s ease;
}

/* 🔹 Nome fantasia com truncamento elegante e fade */
.empresa-fantasia {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
  font-weight: 600;
  letter-spacing: 0.3px;
  animation: fadeIn 0.6s ease-in-out forwards;
}

/* 🔹 Animação suave de entrada */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-2px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 🔹 Responsividade: reduz largura em telas menores */
@media (max-width: 992px) {
  .empresa-fantasia {
    max-width: 140px;
    font-size: 0.85rem;
  }
}
@media (max-width: 576px) {
  .empresa-fantasia {
    max-width: 100px;
    font-size: 0.8rem;
  }
}
.dropdown-header small {
  display: inline-block;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}




@keyframes slideUpToTop {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-300px);
  }
}
@keyframes float {
    0% { transform: translateY(0) rotate(-30deg); }
    50% { transform: translateY(15px) rotate(-30deg); }
    100% { transform: translateY(0) rotate(-30deg); }
}

@media (max-width: 768px) {
    .disable-mobile { pointer-events: none; cursor: default; }
}

/* DEBUG: destacar todos os elementos
* {
  outline: 1px solid red !important;
}
*/
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

body.d-flex {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main.flex-grow-1 {
  flex: 1;
}

