body {
    font-family: sans-serif;
    margin: 0;
    background-color: #ffffff;
}
header nav {
    background-color: #333;
    padding: 10px;
}
nav ul {
    list-style: none;
    display: flex;
    gap: 15px;
}
nav li a {
    color: white;
    text-decoration: none;
    font-weight: bold;
}
main {
    padding: 20px;
    background: #fff;
    min-height: 80vh;
}
footer {
    text-align: center;
    padding: 10px;
    background: #ddd;
}
/* Dropdown: fundo branco, texto preto */
.dropdown-menu {
    background-color: #fff !important;
}

.dropdown-menu .dropdown-item {
    color: #000 !important;
}

/* Hover: fundo preto, texto branco */
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background-color: #000 !important;
    color: #fff !important;
}

.sidebar-mini {
  font-size: 0.85rem; /* Experimente 0.8rem ou 0.75rem se quiser menor ainda */
  line-height: 1.4;
}

main.container-fluid {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.tabela-lateral {
  table-layout: fixed;      
}

table.tabela-lateral {
  background-color: #f8f9fa !important; /* cinza clarinho */
  border-radius: 6px;
  padding: 8px;
}

table.tabela-lateral td {
  background-color: #f8f9fa !important;
}

.tabela-lateral td:first-child {
  width: 70%;
  white-space: nowrap;
}

.tabela-lateral td:last-child {
  width: 30%;
}

.valor-curto {
  width: 100%;
  max-width: none;
  text-align: right;
}

/* Estilo compacto com !important para sobrescrever Bootstrap */
.tabela-compacta td {
  padding: 1px 4px !important;
  line-height: 1 !important;
}

.tabela-compacta input.form-control-sm {
  padding: 0.05rem 0.25rem !important;
  font-size: 0.75rem !important;
  height: auto !important;
}

.leaflet-tooltip {
  background-color: #333;
  color: #fff;
  font-size: 0.85rem;
  padding: 4px 8px;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.col-texto {
  max-width: 300px; /* ajuste conforme desejar */
  word-break: break-word; /* quebra palavras longas */
  white-space: normal;    /* permite quebra de linha */
}

.limitar-texto {
  max-width: 600px;       /* largura máxima */
  white-space: normal;    /* permite quebra de linha */
  overflow-wrap: break-word; /* quebra palavras longas */
  word-break: break-word; /* quebra palavras muito longas */
  vertical-align: top;    /* para alinhar texto no topo */
}

.limitar-texto details {
  /* garantir que o conteúdo dentro também respeite a largura */
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

