.bg-info {
    background-color: #45a049 !important;
}

.btn {
    font-size: 16px;
    padding: 10px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.btn-primary{
    --bs-btn-color: #fff;
    --bs-btn-bg: #4CAF50;
    --bs-btn-border-color: #4CAF50;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #45a049;
    --bs-btn-hover-border-color: #45a049;
    --bs-btn-focus-shadow-rgb: 49, 132, 53;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #45a049;
    --bs-btn-active-border-color: #45a049;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #657c66;
    --bs-btn-disabled-border-color: #657c66;
}

.btn-secondary{
    background-color: #bed9bf;
    color: black;
}

.btn-primary:hover{
    background-color: #45a049;
    color: white;
}

.btn-secondary:hover{
    background-color: #a0c3a1;
    color: black;
}

.table-primary {
    background-color: #4CAF50;
    color: white;
    --bs-table-color: white;
    --bs-table-bg: #4CAF50;
    --bs-table-border-color: #4CAF50;
    --bs-table-striped-bg: #4CAF50;
    --bs-table-striped-color: white;
    --bs-table-active-bg: #4CAF50;
    --bs-table-active-color: white;
    --bs-table-hover-bg: #6bbb6e;
    --bs-table-hover-color:white;
}

.form-check-input:checked {
    background-color: #4CAF50;
    border-color: #4CAF50;
}

table {
    width: 100%; /* A tabela ocupa 100% da largura disponível */
}
th, td {
    white-space: nowrap; /* Impede que o conteúdo da célula quebre em múltiplas linhas */
    padding: 0.2em .5em !important;
    vertical-align: middle;
}

th:first-child, td:first-child {
    width: 50px;
}
td:first-child {
    text-align: center;  /* Ajuste a largura conforme necessário */
    /*background-color: #d5efd6;
    color: white;
    font-weight: bold;*/
}

td > button {
  min-width: 35px;
  min-height: 35px;
  padding: 0px !important;
}

#mapEstab { height: 320px; }

#dashboard-filters .filter-toggle-row {
  margin-top: .7rem;
  text-align: end;
  position: relative;
}
#dashboard-filters .filter-toggle-row::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  border-top: 1px solid var(--bs-border-color, #dee2e6);
  z-index: 0;
}
#dashboard-filters .filter-toggle-btn {
  position: relative;
  z-index: 1; /* fica acima da linha */
  border: 0;
  background: #fff; /* fundo branco cobre a linha atrás do texto */
  padding: 0 .5rem;
  font-size: .85rem;
  color: var(--bs-secondary-color, #6c757d);
}
#dashboard-filters .toggle-icon .up { display: none; }
#dashboard-filters [aria-expanded="true"] .toggle-icon .down { display: none; }
#dashboard-filters [aria-expanded="true"] .toggle-icon .up { display: inline-block; }


.linelegend {
  display: inline-block;
  width: 22px;              /* ajuste à sua necessidade */
  vertical-align: middle;
  margin-right: 6px;

  /* espessura da “linha” */
  height: 0;
  padding-top: 2px;         /* = thickness */
}

.dashdot {
  /* traço-ponto usando currentColor */
  background:
    linear-gradient(to right,
      currentColor 0 6px,      /* traço */
      transparent 6px 8px,     /* espaço */
      currentColor 8px 9px,     /* ponto */
      transparent 9px 11px     /* espaço */
    ) repeat-x left top/11px 2px;
}

/* linha contínua (solid) */
.line {
  background:
    linear-gradient(to right, currentColor 0 100%)
    left top / 100% 2px no-repeat;
}

/* tracejado (dash) – traço de 6px, espaço de 4px */
.dash {
  background:
    linear-gradient(to right,
      currentColor 0 6px,
      transparent 6px 10px
    ) left top / 10px 2px repeat-x;
}

/* pontilhado (dot) – “pontos” quadrados de 2px */
.dot {
  background:
    linear-gradient(to right,
      currentColor 0 2px,
      transparent 2px 6px
    ) left top / 6px 2px repeat-x;
}

.longdash {
  background:
    linear-gradient(to right,
      currentColor 0 12px,
      transparent 12px 16px
    ) left top / 16px 2px repeat-x;
}

.dashdotlong {
  background:
    linear-gradient(to right,
      currentColor 0 9px,
      transparent 9px 13px,
      currentColor 13px 15px,
      transparent 15px 19px
    ) left top / 19px 2px repeat-x;
}

.dotdash {
  background:
    linear-gradient(to right,
      currentColor 0 2px,
      transparent 2px 5px,
      currentColor 5px 13px,
      transparent 13px 16px
    ) left top / 16px 2px repeat-x;
}

.sparsedot {
  background:
    linear-gradient(to right,
      currentColor 0 2px,
      transparent 2px 8px
    ) left top / 8px 2px repeat-x;
}

.form-select.select-loading {
  cursor: progress;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M21 12a9 9 0 1 1-6.2-8.56'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='.8s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E"),
    var(--bs-form-select-bg-img);
  background-position: right 2.25rem center, right .75rem center;
  background-size: 1rem 1rem, 16px 12px;
}

.table-portarias {
  table-layout: fixed;
  min-width: 0;
}

.table-portarias .col-idx { width: 42px; }
.table-portarias .col-publicacao { width: 98px; }
.table-portarias .col-numero { width: 171px; }
.table-portarias .col-nome { width: 24%; }
.table-portarias .col-tipo { width: 115px; }
.table-portarias .col-qtd { width: 75px; }
.table-portarias .col-procedimentos { width: auto; }
.table-portarias .col-acoes { width: 88px; }

.table-portarias th,
.table-portarias td {
  white-space: nowrap;
}

.table-portarias .portaria-numero,
.table-portarias .portaria-nome,
.table-portarias .portaria-procedimentos {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-portarias .portaria-procedimentos {
  white-space: normal;
}

.table-portarias .portaria-procedimento-linha {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-portarias td:last-child .btn {
  min-width: 32px;
  min-height: 32px;
}

.leaflet-tooltip {
  min-width: 200px;
}

.leaflet-tooltip .map-sep{
  border:0;
  border-top:1px solid #d9d9d9;
  margin:.35rem 0;
}

.leaflet-tooltip .id-row{
  display: grid;
  grid-template-columns: 10px 1fr auto; /* bolinha | label | qty */
  align-items: center;
  gap: 8px;
}
.leaflet-tooltip .id-dot{
  width: 10px; height: 10px; border-radius: 50%;
  border: 1px solid rgba(0,0,0,.2);
  background: #999; /* fallback */
}
.leaflet-tooltip .id-label{
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.leaflet-tooltip .id-qtd{
  text-align: right;
  font-variant-numeric: tabular-nums; /* alinha dígitos */
  min-width: 4ch; /* garante coluna estável; ajuste se precisar */
}


.scroll-area-detail {
  min-height: 260px;
  max-height: 420px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
}

.scroll-area-detail .list-group {
  margin-bottom: 1rem;
}

.scroll-area-detail .table-responsive {
  margin-bottom: 0;
}
