/* Faixa de aviso de conexão (assets/js/conexao.js). Fixa na base, sem cobrir o conteúdo útil nem roubar foco.
   Contraste AAA (texto branco sobre fundo escuro: >= 8:1). */
.conexao-faixa {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2147483000;
  margin: 0;
  padding: 10px 16px;
  font: 600 1rem/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  text-align: center;
  color: #ffffff;
  background: #7c2d12;
  border-top: 3px solid #ffffff;
  overflow-wrap: anywhere;
  pointer-events: none; /* nunca impede clicar no que está atrás */
}
.conexao-faixa[hidden] { display: none; }
/* a faixa fixa não pode cobrir o fim do conteúdo (botões, mensagens) enquanto está visível */
body:has(.conexao-faixa:not([hidden])) { padding-bottom: 8rem; }
.conexao-faixa--aviso { background: #78350f; }
.conexao-faixa--ok { background: #14532d; }
.conexao-faixa--erro { background: #7c2d12; }
@media (prefers-reduced-motion: no-preference) {
  .conexao-faixa { animation: conexao-entra 0.2s ease-out; }
  @keyframes conexao-entra { from { opacity: 0; } to { opacity: 1; } }
}
@media print { .conexao-faixa { display: none; } }

/* Estados do voto (urna, voto online, terminal do vereador): três estados inequívocos. */
.voto-estado { margin: 12px 0; padding: 14px 16px; border: 3px solid currentColor; border-radius: 8px; font-weight: 700; font-size: 1.15rem; line-height: 1.4; overflow-wrap: anywhere; }
.voto-estado--enviando { color: #1e3a8a; background: #eff6ff; }
.voto-estado--registrado { color: #14532d; background: #f0fdf4; }
.voto-estado--nao-confirmado { color: #7f1d1d; background: #fef2f2; }
.voto-estado[hidden] { display: none; }
.voto-estado__acoes { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
.voto-estado small { display: block; font-weight: 400; margin-top: 6px; }
