/* ═══════════════════════════════════════════════════════════════════
   FILTROS V7 — repaginação do painel lateral do mapa.

   Antes: cada filtro era um cartão com checkbox grande, título, frase de
   ajuda, campo de busca E um botão separado para abrir a lista — quatro
   elementos para escolher um estado, num painel de 546px de altura.

   Agora: três blocos (Estado → Município → Públicas), cada um com um
   rótulo curto e UM controle. A busca virou combobox (digitar filtra, a
   lista abre por cima e fecha ao escolher), a visibilidade da camada
   virou um olho de 28px na linha do rótulo e as camadas públicas viraram
   pílulas com a contagem de registros.

   Carregado por ÚLTIMO: usa !important onde precisa vencer os overrides
   de map-controls-v6.css / terra-v4.css, que também usam !important.
   ═══════════════════════════════════════════════════════════════════ */

.sidebar {
  width: min(280px, calc(100vw - 32px)) !important;
  padding: 11px 12px 9px !important;
}

/* Com o painel compacto o conteúdo raramente passa da altura máxima; o
   `overflow:auto` da sidebar só servia para cortar a lista de estados. */
.sidebar:has(.layer-card[data-estado-dropdown-open="true"]) {
  overflow: visible !important;
}

/* ─── Cabeçalho ───────────────────────────────────────────────────── */
.sidebar .section-header {
  min-height: 32px !important;
  margin: 0 0 10px !important;
  padding: 0 0 9px !important;
  gap: 4px !important;
}

.sidebar .section-toggle {
  min-height: 28px !important;
  padding: 0 !important;
}

.sidebar .section-toggle span {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
}

.sidebar .section-toggle i {
  font-size: 10px !important;
  opacity: 0.55 !important;
}

.sidebar .section-action-btn {
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 8px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
}

.sidebar .section-close-btn {
  width: 26px !important;
  min-width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  border-radius: 8px !important;
  border-color: transparent !important;
  background: transparent !important;
  font-size: 12px !important;
}

/* ─── Blocos ──────────────────────────────────────────────────────── */
.sidebar .layer-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Zera a herança de "cartão": sem caixa, sem número de etapa, sem trilha. */
.sidebar .fx-group,
.sidebar .layer-card.fx-group {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

/* Separador entre blocos: hairline que some nas pontas, em vez de uma
   borda de ponta a ponta batendo na parede do painel. */
.sidebar .fx-group + .fx-group {
  margin-top: 11px !important;
  padding-top: 11px !important;
  border-top: 0 !important;
  background-image: linear-gradient(
    90deg,
    transparent,
    var(--map-glass-border) 10%,
    var(--map-glass-border) 90%,
    transparent
  ) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 1px !important;
  background-position: left top !important;
}

/* Mata o número de etapa e a trilha vertical do desenho anterior (as regras
   originais usam `.sidebar .layer-card[data-layer-card="x"]`, então é preciso
   repetir o atributo para vencer em especificidade). */
.sidebar .fx-group::before,
.sidebar .fx-group::after,
.sidebar .layer-card.fx-group[data-layer-card]::before,
.sidebar .layer-card.fx-group[data-layer-card]::after {
  content: none !important;
  display: none !important;
}

.sidebar .layer-card.fx-group[data-layer-card] {
  padding: 0 !important;
}

.sidebar .fx-group-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-height: 22px !important;
}

.sidebar .fx-group-label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: var(--map-glass-muted) !important;
  opacity: 0.9 !important;
}

/* Marcador do bloco: barra apagada = ainda sem escolha, barra em accent =
   filtro definido. Dá ritmo às três seções sem voltar às caixas. */
.sidebar .fx-group-label::before {
  content: "" !important;
  display: inline-block !important;
  width: 3px !important;
  height: 10px !important;
  margin-right: 8px !important;
  border-radius: 2px !important;
  background: var(--map-glass-muted) !important;
  opacity: 0.35 !important;
  vertical-align: -1px !important;
}

.sidebar .fx-group:has(#estadoActiveChips:not([hidden])) .fx-group-label::before,
.sidebar .fx-group:has(#municipioFilterMunicipio option:not([value=""]):checked) .fx-group-label::before,
.sidebar .fx-group-public:has(.fx-pill input:checked) .fx-group-label::before {
  background: var(--map-glass-accent) !important;
  opacity: 1 !important;
}

.sidebar .fx-group.is-locked .fx-group-label {
  opacity: 0.6 !important;
}

.sidebar .layer-filter-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Os painéis vazios de CAR/SIGEF/SNCI ficam `hidden` pelo JS; sem isto o
   `display:flex` acima os reativava e cada um cobrava um gap do bloco —
   eram ~30px de espaço morto no rodapé do painel. */
.sidebar .layer-filter-panel[hidden] {
  display: none !important;
}

/* Frase de ajuda: só aparece quando ainda não há escolha. */
.sidebar .fx-hint {
  margin: 0 !important;
  padding: 0 1px !important;
  font-size: 10.5px !important;
  line-height: 1.4 !important;
  color: var(--map-glass-muted) !important;
  opacity: 0.75 !important;
}

.sidebar .fx-hint:empty,
.sidebar .layer-summary.fx-hint.has-active-filters {
  display: none !important;
}

/* Estado e município não precisam de frase: o placeholder do campo, os chips
   e o próprio valor do select já dizem a mesma coisa. Mantidos no DOM porque
   o app escreve neles (e leitores de tela anunciam a mudança de escopo). */
.sidebar #estadoScopeHint,
.sidebar #municipioScopeHint,
.sidebar .filter-inline-actions {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

/* ─── Olho de visibilidade da camada ──────────────────────────────── */
.sidebar .fx-vis {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  margin: 0 -4px 0 0 !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  color: var(--map-glass-muted) !important;
  opacity: 0.65 !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease !important;
}

.sidebar .fx-vis input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

/* Olho desenhado em SVG: o shim de ícones locais mapeia fa-eye para "◉",
   que não lê como visibilidade. */
.sidebar .fx-vis-svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  pointer-events: none !important;
}

.sidebar .fx-vis .fx-vis-off,
.sidebar .fx-vis:has(input:checked) .fx-vis-on {
  display: block !important;
}

.sidebar .fx-vis .fx-vis-on,
.sidebar .fx-vis:has(input:checked) .fx-vis-off {
  display: none !important;
}

.sidebar .fx-vis:hover,
.sidebar .fx-vis:has(input:focus-visible) {
  background: var(--map-glass-accent-soft) !important;
  color: var(--map-glass-text) !important;
  opacity: 1 !important;
}

.sidebar .fx-vis:has(input:disabled) {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}

.sidebar .fx-vis:has(input:disabled):hover {
  background: transparent !important;
  color: var(--map-glass-muted) !important;
  opacity: 0.3 !important;
}

/* ─── Campos (busca de estado e select de município) ──────────────── */
.sidebar .fx-combo {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.sidebar .fx-combo-icon {
  position: absolute !important;
  left: 11px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 11px !important;
  color: var(--map-glass-muted) !important;
  opacity: 0.7 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.sidebar .estado-filter-search,
.sidebar .fx-select .filter-select {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 10px !important;
  background-color: rgba(255, 255, 255, 0.05) !important;
  background-image: none !important;
  color: var(--map-glass-text) !important;
  font-size: 12.5px !important;
  font-weight: 550 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, background-color 0.15s ease !important;
}

.sidebar .estado-filter-search {
  padding: 0 34px 0 31px !important;
}

.sidebar .estado-filter-search::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
}

.sidebar .fx-select {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.sidebar .fx-select .filter-select {
  padding: 0 30px 0 12px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

.sidebar .fx-select:has(.filter-select:disabled) {
  opacity: 0.5 !important;
}

.sidebar .fx-select:has(.filter-select:disabled) .filter-select {
  cursor: not-allowed !important;
}

.sidebar .estado-filter-search:hover,
.sidebar .fx-select .filter-select:not(:disabled):hover {
  border-color: var(--map-glass-border-strong) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
}

.sidebar .estado-filter-search:focus,
.sidebar .estado-filter-search:focus-visible,
.sidebar .fx-select .filter-select:focus,
.sidebar .fx-select .filter-select:focus-visible {
  border-color: var(--map-glass-accent) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 0 0 3px var(--map-glass-accent-soft) !important;
  outline: none !important;
}

/* O antigo botão "Selecionar estados" virou a seta do próprio campo. */
.sidebar .estado-filter-trigger.fx-combo-caret {
  position: absolute !important;
  right: 4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--map-glass-muted) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

.sidebar .fx-caret-svg {
  width: 13px !important;
  height: 13px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 0.75 !important;
  transition: transform 0.16s ease !important;
  pointer-events: none !important;
}

.sidebar .estado-filter-trigger.fx-combo-caret:hover,
.sidebar .estado-filter-trigger.fx-combo-caret:focus-visible {
  background: var(--map-glass-accent-soft) !important;
  color: var(--map-glass-text) !important;
  box-shadow: none !important;
}

.sidebar .estado-filter-trigger.fx-combo-caret.is-open .fx-caret-svg {
  transform: rotate(180deg) !important;
}

.sidebar .fx-select-caret {
  position: absolute !important;
  right: 11px !important;
  color: var(--map-glass-muted) !important;
  pointer-events: none !important;
}

/* ─── Lista de estados (abre por cima, sem empurrar o layout) ─────── */
.sidebar .filter-field-uf-grid {
  display: contents !important;
}

.sidebar #estadoFilterUf.filter-chip-group {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 60 !important;
  display: flex !important;
  flex-direction: column !important;
  /* O `.filter-chip-group` base é `wrap`: em coluna isso jogava os estados
     seguintes para uma segunda COLUNA fora da caixa — a lista parecia
     travada em "Distrito Federal" e não rolava. */
  flex-wrap: nowrap !important;
  gap: 1px !important;
  max-height: min(248px, 44vh) !important;
  padding: 5px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  border: 1px solid var(--map-glass-border-strong) !important;
  border-radius: 12px !important;
  background: var(--map-glass-bg-strong) !important;
  box-shadow: var(--map-glass-shadow-raised) !important;
  /* A superfície é translúcida por design; sem o blur o texto de baixo
     atravessa a lista e fica ilegível. */
  backdrop-filter: blur(22px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.4) !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--map-glass-border-strong) transparent !important;
}

.sidebar #estadoFilterUf.filter-chip-group[hidden] {
  display: none !important;
}

.sidebar #estadoFilterUf.filter-chip-group::-webkit-scrollbar {
  width: 8px !important;
}

.sidebar #estadoFilterUf.filter-chip-group::-webkit-scrollbar-thumb {
  border: 2px solid transparent !important;
  border-radius: 8px !important;
  background-clip: content-box !important;
  background-color: rgba(255, 255, 255, 0.24) !important;
}

.sidebar #estadoFilterUf .filter-chip {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 9px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--map-glass-text) !important;
  font-size: 12px !important;
  font-weight: 550 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  box-shadow: none !important;
}

/* `display:flex !important` (aqui e no terra-v4) vencia o `[hidden]` do UA:
   digitar na busca marcava os chips como hidden e eles continuavam na tela. */
.sidebar #estadoFilterUf .filter-chip[hidden] {
  display: none !important;
}

.sidebar #estadoFilterUf.is-empty-search::after {
  content: "Nenhum estado encontrado" !important;
  display: block !important;
  padding: 10px 9px !important;
  font-size: 11.5px !important;
  color: var(--map-glass-muted) !important;
}

.sidebar #estadoFilterUf .filter-chip-main {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: var(--map-glass-text) !important;
}

.sidebar #estadoFilterUf .filter-chip-code {
  flex: 0 0 auto !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  color: var(--map-glass-muted) !important;
  opacity: 0.7 !important;
}

.sidebar #estadoFilterUf .filter-chip:hover {
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: transparent !important;
}

.sidebar #estadoFilterUf .filter-chip.is-selected,
.sidebar #estadoFilterUf .filter-chip[aria-pressed="true"] {
  background: var(--map-glass-accent-soft) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.sidebar #estadoFilterUf .filter-chip.is-selected .filter-chip-code,
.sidebar #estadoFilterUf .filter-chip[aria-pressed="true"] .filter-chip-code {
  color: var(--map-glass-accent) !important;
  opacity: 1 !important;
}

.sidebar #estadoFilterUf .filter-chip.is-selected::after,
.sidebar #estadoFilterUf .filter-chip[aria-pressed="true"]::after {
  content: "\2713" !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  color: var(--map-glass-accent) !important;
}

.sidebar #estadoFilterUf .filter-chip-empty {
  padding: 9px !important;
  font-size: 11.5px !important;
  color: var(--map-glass-muted) !important;
}

/* ─── Chips dos estados escolhidos ────────────────────────────────── */
.sidebar .estado-active-chip-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar .estado-active-chip-list[hidden] {
  display: none !important;
}

.sidebar .estado-active-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 6px 0 9px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: var(--map-glass-accent-soft) !important;
  color: var(--map-glass-text) !important;
  font-size: 11px !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

/* O nome completo do estado não cabe no chip; a sigla basta (o aria-label
   do botão continua "Remover Mato Grosso"). */
.sidebar .estado-active-chip > span:first-child {
  display: none !important;
}

.sidebar .estado-active-chip strong {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  color: var(--map-glass-text) !important;
}

.sidebar .estado-active-chip i {
  font-size: 9px !important;
  opacity: 0.55 !important;
}

.sidebar .estado-active-chip:hover {
  background: var(--map-glass-bg-hover) !important;
  border-color: var(--map-glass-border-strong) !important;
}

.sidebar .estado-active-chip:hover i {
  opacity: 1 !important;
}

/* ─── Camadas públicas ────────────────────────────────────────────── */
.sidebar .section .fx-ghost-btn.public-layer-show-all {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 9px !important;
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--map-glass-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease !important;
}

.sidebar .section .fx-ghost-btn.public-layer-show-all:not(:disabled):hover,
.sidebar .section .fx-ghost-btn.public-layer-show-all:not(:disabled):focus-visible {
  background: var(--map-glass-accent-soft) !important;
  border-color: var(--map-glass-border-strong) !important;
  color: var(--map-glass-text) !important;
}

.sidebar .section .fx-ghost-btn.public-layer-show-all:disabled {
  opacity: 0.35 !important;
  border-color: var(--map-glass-border) !important;
  background: transparent !important;
}

.sidebar .section .public-viewport-filter-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: 100% !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  border: 1px solid var(--map-glass-border-strong) !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--map-glass-text) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
}

.sidebar .section .public-viewport-filter-toggle .fx-action-icon {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sidebar .section .public-viewport-filter-toggle:hover,
.sidebar .section .public-viewport-filter-toggle:focus-visible,
.sidebar .section .public-viewport-filter-toggle[aria-pressed="true"] {
  border-color: var(--map-glass-accent) !important;
  background: var(--map-glass-accent-soft) !important;
}

.sidebar .section .public-viewport-filter-toggle[aria-pressed="true"] {
  color: var(--map-glass-accent) !important;
}

.sidebar .section .public-viewport-filter-toggle:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}

/* A frase de bloqueio some assim que as públicas ficam disponíveis. */
.sidebar .fx-group-public:has(#showAllPublicLayers:not(:disabled)) .fx-hint-public {
  display: none !important;
}

.sidebar .fx-pills {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

.sidebar .fx-pills:not(:has(> .fx-pill:not([hidden]))) {
  display: none !important;
}

.sidebar .fx-pill.layer-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  min-height: 46px !important;
  padding: 6px 4px !important;
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: border-color 0.15s ease, background-color 0.15s ease !important;
}

.sidebar .fx-pill.layer-card::before,
.sidebar .fx-pill.layer-card::after {
  content: none !important;
}

.sidebar .fx-pill[hidden] {
  display: none !important;
}

.sidebar .fx-pill input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

.sidebar .fx-pill .fx-pill-name {
  font-size: 9.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  color: var(--map-glass-muted) !important;
  opacity: 0.85 !important;
  pointer-events: none !important;
}

.sidebar .fx-pill .fx-pill-meta {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: var(--map-glass-text) !important;
  opacity: 0.5 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.sidebar .fx-pill .fx-pill-meta:empty {
  display: none !important;
}

/* O ponto de "filtro ativo" ocupa 12px de uma pílula de 74px. */
.sidebar .fx-pill .fx-pill-meta::before {
  display: none !important;
}

.sidebar .fx-pill:has(input:checked) {
  border-color: var(--map-glass-border-strong) !important;
  background: var(--map-glass-accent-soft) !important;
}

.sidebar .fx-pill:has(input:checked) .fx-pill-name {
  color: var(--map-glass-text) !important;
  opacity: 1 !important;
}

.sidebar .fx-pill:has(input:checked) .fx-pill-meta,
.sidebar .fx-pill .fx-pill-meta.has-active-filters {
  color: var(--map-glass-text) !important;
  opacity: 0.95 !important;
}

.sidebar .fx-pill:hover:not(:has(input:disabled)),
.sidebar .fx-pill:has(input:focus-visible) {
  border-color: var(--map-glass-border-strong) !important;
  background: rgba(255, 255, 255, 0.09) !important;
}

.sidebar .fx-pill:has(input:disabled) {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* ─── Rodapé ──────────────────────────────────────────────────────── */
.sidebar .sidebar-attribution {
  margin: 10px 0 0 !important;
  padding-top: 9px !important;
  font-size: 9px !important;
  letter-spacing: 0.02em !important;
  opacity: 0.6 !important;
}

@media (max-width: 640px) {
  .sidebar {
    width: min(288px, calc(100vw - 24px)) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   FLUXO GUIADO — uma decisao por etapa, com progresso e estados claros.
   Mantem os mesmos controles e eventos; muda apenas hierarquia e leitura.
   ═══════════════════════════════════════════════════════════════════ */
.sidebar {
  width: min(336px, calc(100vw - 32px)) !important;
  padding: 16px 16px 16px 0 !important;
  border-radius: 20px !important;
}

.sidebar .section-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 46px !important;
  margin: 0 0 14px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--map-glass-border) !important;
}

.sidebar .filter-panel-heading {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.sidebar .filter-panel-heading strong {
  color: var(--map-glass-text) !important;
  font-size: 15px !important;
  font-weight: 760 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}

.sidebar .filter-panel-heading span {
  overflow: hidden !important;
  color: var(--map-glass-muted) !important;
  font-size: 10.5px !important;
  font-weight: 550 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Amostras cartográficas: a própria lista de camadas explica o mapa. */
.sidebar .layer-card-public.fx-pill {
  padding-left: 22px !important;
}

.sidebar .fx-layer-swatch {
  position: absolute;
  top: 50%;
  left: 7px;
  display: inline-block;
  width: 16px;
  height: 10px;
  transform: translateY(-50%);
  border: 0;
  border-radius: 3px;
  background: transparent;
  pointer-events: none;
}

.sidebar .fx-layer-swatch::after {
  position: absolute;
  top: 50%;
  right: 2px;
  left: 2px;
  border-top: 2px solid currentColor;
  transform: translateY(-50%);
  content: "";
}

.sidebar .fx-layer-swatch-car { color: #8ee600; }
.sidebar .fx-layer-swatch-sigef { color: #38bdf8; }
.sidebar .fx-layer-swatch-snci { color: #ff2d9a; }
.sidebar .fx-layer-swatch-sigef::after { border-top-style: dashed; }
.sidebar .fx-layer-swatch-snci::after { border-top-style: dotted; }
.sidebar .fx-layer-swatch-fazendas {
  border: 3px solid #080808;
  background: transparent;
  box-shadow: inset 0 0 0 2px #f28c28;
}

.sidebar .fx-layer-swatch-fazendas::after {
  content: none;
}

.sidebar .vector-style-key {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 7px;
  color: var(--text-secondary, #b7c7bf);
  font-size: 10px;
  font-weight: 650;
}

.sidebar .vector-style-key > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sidebar .vector-style-swatch {
  display: inline-block;
  width: 22px;
  height: 12px;
  border-radius: 3px;
}

.sidebar .vector-style-swatch-property {
  border: 3px solid #080808;
  background: transparent;
  box-shadow: inset 0 0 0 2px #f28c28;
}

.sidebar .vector-style-swatch-selected {
  border: 3px solid #080808;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(8, 8, 8, 0.82) 0 2px,
      rgba(242, 140, 40, 0.26) 2px 7px
    );
  box-shadow: inset 0 0 0 2px #f28c28;
}

.sidebar .vector-style-swatch-public-selected {
  border: 2px solid var(--theme-map-border-strong, rgba(45, 66, 56, 0.34));
  background:
    repeating-linear-gradient(
      135deg,
      rgba(23, 33, 29, 0.72) 0 2px,
      transparent 2px 7px
    ),
    linear-gradient(90deg, #8ee600 0 33%, #38bdf8 33% 66%, #ff2d9a 66% 100%);
}

.sidebar .section-action-btn {
  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 10px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: var(--map-glass-muted) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.sidebar .section .fx-ghost-btn.public-layer-show-all:disabled {
  display: none !important;
}

.sidebar .fx-group-public.is-loading .fx-step-number {
  border-color: var(--map-glass-border-strong) !important;
  background: var(--map-glass-accent-soft) !important;
  color: var(--map-glass-accent) !important;
}

.sidebar .section-action-btn[hidden] {
  display: none !important;
}

.sidebar .section-action-btn:not(:disabled):hover,
.sidebar .section-action-btn:not(:disabled):focus-visible {
  border-color: var(--map-glass-border) !important;
  background: var(--map-glass-accent-soft) !important;
  color: var(--map-glass-text) !important;
}

.sidebar .section-close-btn {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 11px !important;
  background: var(--filter-card-bg, rgba(255, 255, 255, 0.06)) !important;
  color: var(--map-glass-muted) !important;
}

.sidebar .layer-stack {
  gap: 10px !important;
}

.sidebar .fx-group,
.sidebar .layer-card.fx-group,
.sidebar .layer-card.fx-group[data-layer-card] {
  gap: 12px !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 15px !important;
  background: var(--filter-card-bg, rgba(255, 255, 255, 0.055)) !important;
  background-image: none !important;
  box-shadow: inset 0 1px 0 var(--map-glass-sheen) !important;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease !important;
}

.sidebar .fx-group.is-current,
.sidebar .layer-card.fx-group.is-current {
  border-color: var(--map-glass-border-strong) !important;
  background: var(--filter-card-bg-current, rgba(255, 255, 255, 0.09)) !important;
  box-shadow:
    inset 0 1px 0 var(--map-glass-sheen),
    0 0 0 3px var(--map-glass-accent-soft) !important;
}

.sidebar .fx-group.is-locked,
.sidebar .layer-card.fx-group.is-locked {
  opacity: 1 !important;
}

.sidebar .fx-group.is-locked > :not(.fx-group-head) {
  opacity: 0.78 !important;
}

.sidebar .fx-group-head {
  min-height: 40px !important;
  gap: 10px !important;
}

.sidebar .fx-group-label {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: visible !important;
  color: var(--map-glass-text) !important;
  opacity: 1 !important;
  text-transform: none !important;
  white-space: normal !important;
}

.sidebar .fx-group-label::before {
  content: none !important;
  display: none !important;
}

.sidebar .fx-step-number {
  display: inline-flex !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--map-glass-border-strong) !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: var(--map-glass-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.sidebar .fx-group.is-current .fx-step-number {
  border-color: var(--map-glass-accent) !important;
  background: var(--map-glass-accent) !important;
  color: var(--map-glass-on-accent) !important;
  box-shadow: 0 5px 12px var(--map-glass-accent-soft) !important;
}

.sidebar .fx-group.is-complete .fx-step-number {
  border-color: var(--map-glass-border-strong) !important;
  background: var(--map-glass-accent-soft) !important;
  color: var(--map-glass-accent) !important;
}

.sidebar .fx-group-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.sidebar .fx-group-copy strong {
  overflow: hidden !important;
  color: var(--map-glass-text) !important;
  font-size: 12.5px !important;
  font-weight: 730 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.sidebar .fx-group-copy small {
  overflow: hidden !important;
  color: var(--map-glass-muted) !important;
  font-size: 10px !important;
  font-weight: 560 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.sidebar .fx-group.is-current .fx-group-copy small,
.sidebar .fx-group.is-complete .fx-group-copy small {
  color: var(--map-glass-accent) !important;
}

.sidebar .fx-vis {
  width: auto !important;
  min-width: 74px !important;
  height: 36px !important;
  min-height: 36px !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--map-glass-muted) !important;
  opacity: 1 !important;
}

.sidebar .fx-vis:has(input:checked) {
  background: var(--map-glass-accent-soft) !important;
  color: var(--map-glass-accent) !important;
}

.sidebar .fx-vis:has(input:disabled) {
  opacity: 0.42 !important;
}

.sidebar .fx-vis-svg {
  width: 14px !important;
  height: 14px !important;
}

.sidebar .fx-vis-label,
.sidebar .fx-vis .layer-title-text {
  display: inline !important;
  color: currentColor !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.sidebar .layer-filter-panel {
  gap: 8px !important;
}

.sidebar .estado-filter-search,
.sidebar .fx-select .filter-select {
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 12px !important;
  background-color: var(--filter-field-bg, rgba(255, 255, 255, 0.075)) !important;
  font-size: 13px !important;
}

.sidebar .estado-filter-search:hover,
.sidebar .fx-select .filter-select:not(:disabled):hover,
.sidebar .estado-filter-search:focus,
.sidebar .estado-filter-search:focus-visible,
.sidebar .fx-select .filter-select:focus,
.sidebar .fx-select .filter-select:focus-visible {
  background-color: var(--map-glass-bg-hover) !important;
}

.sidebar .estado-filter-trigger.fx-combo-caret {
  right: 6px !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 9px !important;
}

.sidebar .fx-locked-copy {
  display: none !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  align-items: center !important;
  border: 1px dashed var(--map-glass-border) !important;
  border-radius: 11px !important;
  color: var(--map-glass-muted) !important;
  font-size: 11.5px !important;
  line-height: 1.3 !important;
}

.sidebar .fx-group.is-locked .fx-locked-copy {
  display: flex !important;
}

.sidebar .fx-group.is-locked .fx-select {
  display: none !important;
}

.sidebar #estadoFilterUf.filter-chip-group {
  top: calc(100% + 8px) !important;
  gap: 3px !important;
  max-height: min(280px, 46vh) !important;
  padding: 7px !important;
  border-radius: 14px !important;
}

.sidebar #estadoFilterUf .filter-chip {
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
  font-size: 12.5px !important;
}

.sidebar .estado-active-chip {
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 8px 0 10px !important;
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 9px !important;
}

.sidebar .section .fx-ghost-btn.public-layer-show-all {
  min-width: 88px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-size: 9.5px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.sidebar .fx-hint-public {
  min-height: 42px !important;
  padding: 7px 10px !important;
  border: 1px dashed var(--map-glass-border) !important;
  border-radius: 11px !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  opacity: 0.84 !important;
}

.sidebar .fx-group-public.is-current .fx-hint-public {
  display: none !important;
}

.sidebar .fx-pills {
  gap: 7px !important;
}

.sidebar .fx-pill.layer-card {
  min-height: 56px !important;
  border-radius: 12px !important;
  background: var(--filter-field-bg, rgba(255, 255, 255, 0.075)) !important;
}

.sidebar .sidebar-attribution {
  margin: 12px 2px 0 !important;
  padding-top: 10px !important;
  text-align: center !important;
  opacity: 0.62 !important;
}

@media (max-width: 640px) {
  .sidebar {
    width: min(336px, calc(100vw - 24px)) !important;
    padding: 14px 14px 14px 0 !important;
  }

  .sidebar .filter-panel-heading span {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   PAINEL LIMPO — uma unica superficie, sem caixas aninhadas.
   O trilho ativo nasce na borda do mapa e cada etapa usa a mesma grade.
   ═══════════════════════════════════════════════════════════════════ */
.sidebar#sidebar {
  left: 16px !important;
  width: min(328px, calc(100vw - 24px)) !important;
  padding: 0 !important;
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 18px !important;
  background: var(--map-glass-bg) !important;
  box-shadow: 0 18px 46px rgba(16, 42, 34, 0.16) !important;
}

.sidebar#sidebar .section {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.sidebar#sidebar .section-header {
  grid-template-columns: minmax(0, 1fr) max-content 44px !important;
  gap: 6px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 5px 10px 5px 15px !important;
  border-bottom: 1px solid color-mix(in srgb, var(--map-glass-border) 72%, transparent) !important;
}

.sidebar#sidebar .filter-panel-heading {
  align-self: stretch !important;
  justify-content: center !important;
  gap: 0 !important;
}

.sidebar#sidebar .filter-panel-heading strong {
  font-size: 16px !important;
  font-weight: 780 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
}

.sidebar#sidebar .section-action-btn,
.sidebar#sidebar .section-close-btn {
  align-self: center !important;
  height: 30px !important;
  min-height: 30px !important;
  border-radius: 9px !important;
  line-height: 1 !important;
}

.sidebar#sidebar .section-action-btn {
  padding: 0 7px !important;
  font-size: 9.75px !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
}

.sidebar#sidebar .section-close-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 45px !important;
  min-width: 45px !important;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 !important;
}

.sidebar#sidebar .section-close-btn i {
  color: inherit !important;
  font-size: 9.5px !important;
  line-height: 1 !important;
}

.sidebar#sidebar .section-content,
.sidebar#sidebar .layer-stack {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar#sidebar .layer-stack {
  gap: 0 !important;
}

.sidebar#sidebar .fx-group,
.sidebar#sidebar .layer-card.fx-group,
.sidebar#sidebar .layer-card.fx-group[data-layer-card] {
  position: relative !important;
  width: 100% !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--map-glass-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.sidebar#sidebar .fx-group.is-current,
.sidebar#sidebar .layer-card.fx-group.is-current {
  border-color: var(--map-glass-border) !important;
  background: linear-gradient(
    90deg,
    var(--map-glass-accent-soft) 0,
    color-mix(in srgb, var(--map-glass-accent-soft) 38%, transparent) 64%,
    transparent 100%
  ) !important;
  box-shadow: inset 4px 0 0 var(--map-glass-accent) !important;
}

.sidebar#sidebar .fx-group.is-locked > :not(.fx-group-head) {
  opacity: 1 !important;
}

.sidebar#sidebar .fx-group-head {
  min-height: 34px !important;
  gap: 9px !important;
}

.sidebar#sidebar .fx-step-number {
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  border-radius: 8px !important;
  background: var(--filter-field-bg, rgba(255, 255, 255, 0.07)) !important;
  font-size: 10px !important;
}

.sidebar#sidebar .fx-group.is-current .fx-step-number {
  background: var(--map-glass-accent) !important;
  box-shadow: 0 4px 10px color-mix(in srgb, var(--map-glass-accent) 22%, transparent) !important;
}

.sidebar#sidebar .fx-group-copy strong {
  font-size: 13px !important;
}

.sidebar#sidebar .fx-group-copy small {
  font-size: 11px !important;
}

.sidebar#sidebar .fx-vis {
  min-width: 68px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: var(--filter-field-bg, rgba(255, 255, 255, 0.07)) !important;
}

.sidebar#sidebar .estado-filter-search,
.sidebar#sidebar .fx-select .filter-select {
  height: 44px !important;
  min-height: 44px !important;
  border-color: var(--map-glass-border) !important;
  border-radius: 11px !important;
  background-color: var(--filter-field-bg, rgba(255, 255, 255, 0.07)) !important;
  box-shadow: none !important;
  font-size: 13px !important;
}

.sidebar#sidebar .estado-filter-search {
  padding-right: 50px !important;
}

.sidebar#sidebar .estado-filter-trigger.fx-combo-caret {
  right: 0 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 11px !important;
}

.sidebar#sidebar .fx-locked-copy,
.sidebar#sidebar .fx-hint-public {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 7px 9px !important;
  border: 0 !important;
  border-left: 2px solid var(--map-glass-border-strong) !important;
  border-radius: 0 8px 8px 0 !important;
  background: color-mix(in srgb, var(--filter-field-bg, rgba(255, 255, 255, 0.07)) 72%, transparent) !important;
  color: var(--map-glass-muted) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  opacity: 1 !important;
}

.sidebar#sidebar .fx-pills {
  gap: 6px !important;
}

/* Opacidade por pane: fica recolhida para manter o fluxo principal compacto. */
.sidebar#sidebar .fx-opacity-panel {
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--filter-field-bg, rgba(255, 255, 255, 0.07)) 72%, transparent) !important;
  overflow: hidden !important;
}

.sidebar#sidebar .fx-opacity-panel > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 46px !important;
  padding: 8px 10px !important;
  color: var(--map-glass-text) !important;
  cursor: pointer !important;
  list-style: none !important;
}

.sidebar#sidebar .fx-opacity-panel > summary::-webkit-details-marker {
  display: none !important;
}

.sidebar#sidebar .fx-opacity-panel > summary span {
  display: grid !important;
  gap: 2px !important;
}

.sidebar#sidebar .fx-opacity-panel > summary strong {
  font-size: 11.5px !important;
  line-height: 1.2 !important;
}

.sidebar#sidebar .fx-opacity-panel > summary small {
  color: var(--map-glass-muted) !important;
  font-size: 9.5px !important;
  line-height: 1.2 !important;
}

.sidebar#sidebar .fx-opacity-panel > summary .fx-caret-svg {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  transition: transform 0.18s ease !important;
}

.sidebar#sidebar .fx-opacity-panel[open] > summary .fx-caret-svg {
  transform: rotate(180deg) !important;
}

.sidebar#sidebar .fx-opacity-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px 10px !important;
  padding: 2px 10px 11px !important;
  border-top: 1px solid var(--map-glass-border) !important;
}

.sidebar#sidebar .fx-opacity-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 4px 6px !important;
  min-width: 0 !important;
  padding-top: 8px !important;
  color: var(--map-glass-text) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

.sidebar#sidebar .fx-opacity-control output {
  color: var(--map-glass-muted) !important;
  font-variant-numeric: tabular-nums !important;
  font-weight: 700 !important;
}

.sidebar#sidebar .fx-opacity-control input[type="range"] {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  height: 20px !important;
  margin: 0 !important;
  accent-color: var(--map-glass-accent) !important;
  cursor: pointer !important;
}

.sidebar#sidebar .fx-opacity-control input[type="range"]:focus-visible {
  outline: 2px solid var(--map-glass-accent) !important;
  outline-offset: 2px !important;
  border-radius: 999px !important;
}

.sidebar#sidebar .fx-pill.layer-card,
.sidebar#sidebar .fx-pills-environment .fx-pill {
  min-height: 38px !important;
  padding: 7px 8px !important;
  border: 1px solid var(--map-glass-border) !important;
  border-radius: 10px !important;
  background: var(--filter-field-bg, rgba(255, 255, 255, 0.07)) !important;
  box-shadow: none !important;
}

.sidebar#sidebar .fx-fazendas-visibility {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 60px !important;
  margin: 0 !important;
  padding: 8px 14px 8px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--map-glass-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sidebar#sidebar .fx-fazendas-visibility:has(input:checked) {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, #f28c28 10%, transparent),
    transparent 72%
  ) !important;
  box-shadow: inset 4px 0 0 #f28c28 !important;
}

.sidebar#sidebar .fx-fazendas-visibility > .fx-layer-swatch {
  position: static !important;
  width: 17px !important;
  height: 12px !important;
  transform: none !important;
  border-color: #f28c28 !important;
  background: color-mix(in srgb, #f28c28 18%, transparent) !important;
}

.sidebar#sidebar .fx-fazendas-visibility-copy {
  display: grid !important;
  min-width: 0 !important;
  gap: 2px !important;
}

.sidebar#sidebar .fx-fazendas-visibility-copy strong {
  color: var(--map-glass-text) !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  line-height: 1.1 !important;
}

.sidebar#sidebar .fx-fazendas-visibility-copy small {
  overflow: hidden !important;
  color: var(--map-glass-muted) !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.sidebar#sidebar .fx-fazendas-visibility:has(input:checked) .fx-fazendas-visibility-copy small {
  color: color-mix(in srgb, #f28c28 78%, var(--map-glass-text)) !important;
}

.sidebar#sidebar .fx-group.fx-group-environment {
  border-bottom: 0 !important;
}

.sidebar#sidebar .sidebar-attribution {
  margin: 0 !important;
  padding: 11px 16px 13px !important;
  border-top: 1px solid var(--map-glass-border) !important;
  text-align: left !important;
  font-size: 8px !important;
  line-height: 1.35 !important;
  opacity: 0.58 !important;
}

@media (max-width: 640px) {
  .sidebar#sidebar {
    left: 10px !important;
    width: min(328px, calc(100vw - 20px)) !important;
    padding: 0 !important;
    border-radius: 16px !important;
  }

  .sidebar#sidebar .fx-group,
  .sidebar#sidebar .layer-card.fx-group,
  .sidebar#sidebar .layer-card.fx-group[data-layer-card] {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }
}
