/* Ajustes específicos do CondoGest sobre o Pico.css */
.marca { text-decoration: none; }

nav ul.menu { flex-wrap: wrap; }

.cartoes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.cartao {
  border: 1px solid var(--pico-muted-border-color);
  border-radius: var(--pico-border-radius);
  padding: 0.9rem 1rem;
  background: var(--pico-card-background-color);
}
.cartao .rotulo {
  font-size: 0.8rem;
  color: var(--pico-muted-color);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cartao .valor {
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 0.15rem;
}
.cartao.alerta .valor { color: #c0392b; }

.scroll-x { overflow-x: auto; }
/* As tabelas ocupam a largura natural das colunas e fazem scroll horizontal
   em ecrãs pequenos, em vez de esmagar/partir o conteúdo das células. */
.scroll-x table { width: max-content; min-width: 100%; }
td.num, th.num, td.nowrap, th.nowrap { white-space: nowrap; }
/* Descrições longas podem quebrar linha, dentro de uma largura razoável */
td.desc, th.desc { white-space: normal; min-width: 14rem; max-width: 24rem; }

/* Mapa de quotas */
table.mapa { font-size: 0.85rem; }
table.mapa th, table.mapa td { padding: 0.3rem 0.4rem; text-align: center; white-space: nowrap; }
table.mapa td.fracao-nome { text-align: left; font-weight: 600; }
table.mapa a.celula {
  display: block;
  min-width: 3.2rem;
  padding: 0.25rem 0.2rem;
  border-radius: 4px;
  text-decoration: none;
  color: #1a1a1a;
  font-variant-numeric: tabular-nums;
}
.celula.paga     { background: #a7e3a7; }
.celula.parcial  { background: #f7dd72; }
.celula.atrasada { background: #f0a3a3; }
.celula.prazo    { background: #d5d9de; }
span.celula.isenta {
  background: #eef0f2;
  color: #8a8f94;
  font-style: italic;
  font-size: 0.75rem;
}
td.vazia { color: var(--pico-muted-color); }

.legenda { display: flex; gap: 1rem; flex-wrap: wrap; font-size: 0.85rem; margin: 0.5rem 0 1rem; }
.legenda span::before {
  content: "";
  display: inline-block;
  width: 0.9rem; height: 0.9rem;
  border-radius: 3px;
  margin-right: 0.35rem;
  vertical-align: -0.1rem;
}
.legenda .l-paga::before     { background: #a7e3a7; }
.legenda .l-parcial::before  { background: #f7dd72; }
.legenda .l-atrasada::before { background: #f0a3a3; }
.legenda .l-prazo::before    { background: #d5d9de; }
.legenda .l-isenta::before   { background: #eef0f2; }

.num { text-align: right; font-variant-numeric: tabular-nums; }
.pos { color: #1e7e34; }
.neg { color: #c0392b; }

.duas-colunas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 768px) {
  .duas-colunas { grid-template-columns: 1fr; }
}

fieldset.pagador {
  border: 1px solid var(--pico-muted-border-color);
  border-radius: var(--pico-border-radius);
  padding: 0.8rem 1rem;
}
fieldset.pagador legend { font-weight: 600; padding: 0 0.3rem; }

.filtros {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  align-items: end;
}
.filtros label { margin-bottom: 0; font-size: 0.85rem; }
.filtros select, .filtros input { margin-bottom: 0; }

.erro { color: #c0392b; font-weight: 600; }

tr.clicavel { cursor: pointer; }
tr.clicavel:hover td { background: rgba(128, 148, 170, 0.12); }

input.aloc { max-width: 7rem; margin-bottom: 0; text-align: right; }
