/* --- TRAVAMENTO DE SCROLL EXTERNO E HORIZONTAL --- */
html,
body {
  height: 100%;
  width: 100%;
  max-width: 100vw; /* Garante limite de largura */
  overflow-x: hidden; /* Corta qualquer excesso lateral */
  overflow-y: hidden; /* Quem rola são as divs internas */
  margin: 0;
  padding: 0;
  overscroll-behavior-y: none; /* Evita bounce no mobile */
}

/* --- SCROLLBAR INTERNA CUSTOMIZADA --- */
* {
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-button {
  display: none;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background-color: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background-color: #94a3b8;
}
/* --- DATATABLES LIGHT MODE (CORRIGIDO) --- */

/* Força texto escuro no container geral */
.dataTables_wrapper {
  color: #334155 !important;
}

/* CORREÇÃO DO INPUT DE BUSCA E SELECT DE QUANTIDADE */
/* Remove o fundo preto e coloca branco com borda cinza */
.dataTables_wrapper select,
.dataTables_wrapper .dataTables_filter input {
  background-color: #ffffff !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important; /* Slate 300 */
  border-radius: 6px !important;
  padding: 6px 12px !important;
  outline: none !important;
}

/* Foco no input */
.dataTables_wrapper .dataTables_filter input:focus {
  border-color: #334155 !important;
  box-shadow: 0 0 0 2px rgba(51, 65, 85, 0.2) !important;
}

/* CORREÇÃO DA PAGINAÇÃO (Tirar o fundo preto) */
.dataTables_wrapper .dataTables_paginate .paginate_button {
  background-color: #ffffff !important;
  color: #334155 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  margin: 0 2px !important;
  padding: 4px 12px !important;
}

/* Hover na paginação */
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: #f1f5f9 !important; /* Fundo cinza claro ao passar mouse */
  color: #334155 !important;
  border-color: #cbd5e1 !important;
  cursor: pointer !important;
}

/* Item Ativo da Paginação (Sua cor padrão #334155) */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: #334155 !important;
  color: #ffffff !important;
  border-color: #334155 !important;
}

/* Botão desabilitado (Anterior/Próximo apagados) */
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
  background: #f8fafc !important;
  color: #94a3b8 !important;
  border-color: #e2e8f0 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* TABELA EM SI */
table.dataTable tbody tr {
  background-color: #ffffff !important;
  color: #334155 !important;
}
/* Linha Zebrada (opcional, para diferenciar linhas) */
table.dataTable tbody tr:nth-child(even) {
  background-color: #f8fafc !important; /* Slate 50 */
}
table.dataTable tbody tr:hover {
  background-color: #f1f5f9 !important; /* Slate 100 */
}

/* Cabeçalho da Tabela */
table.dataTable thead th {
  background-color: #e2e8f0 !important; /* Slate 200 */
  color: #334155 !important;
  font-weight: 600 !important;
}

/* --- UTILITÁRIOS --- */
.mobile-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 45;
  display: none;
}

/* Classe para forçar a sidebar aparecer no mobile */
.sidebar-open-mobile {
  transform: translateX(0) !important;
}

/* Transição suave para largura */
.sidebar-transition {
  transition: width 0.3s ease, margin 0.3s ease, transform 0.3s ease;
}

/* Previne quebra de layout por conteúdo largo */
#mainContent,
main {
  max-width: 100vw;
  overflow-x: hidden;
}
