/* Fontes servidas pelo próprio site (Barlow, licença SIL OFL 1.1): sem depender do Google para a primeira exibição. */
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 400; font-display: swap; src: url('/static/fontes/barlow-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 500; font-display: swap; src: url('/static/fontes/barlow-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 600; font-display: swap; src: url('/static/fontes/barlow-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url('/static/fontes/barlow-condensed-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url('/static/fontes/barlow-condensed-latin-700-normal.woff2') format('woff2'); }

/* Identidade comum ao site e ao sistema: grafite + amarelo-máquina, Barlow. */
:root {
  --tinta: #1B1F23;
  --tinta-2: #2A3036;
  --fraco: #4B5259;
  --linha: #D5D8DA;
  --borda-campo: #8A9198;
  --fundo: #F2F3F3;
  --branco: #FFFFFF;
  --acao: #F2B705;
  --erro: #A4161A;
  --display: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --texto: 'Barlow', 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fundo); color: var(--tinta); font-family: var(--texto); font-size: 17px; line-height: 1.5; }
a { color: var(--tinta); }
h1, h2, h3 { margin: 0; }
h1, h2 { font-family: var(--display); font-weight: 700; text-transform: uppercase; line-height: 1.05; }
p { margin: 0; }
.so-leitor { position: absolute; left: -9999px; }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 20px; border-radius: 4px; border: 2px solid transparent; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; text-align: center; }
.btn-g { min-height: 54px; padding: 12px 28px; font-size: 18px; }
.btn-acao { background: var(--acao); color: var(--tinta); }
.btn-acao:hover { background: #DDA600; }
.btn-escuro { background: var(--tinta); color: var(--branco); }
.btn-branco { background: var(--branco); color: var(--tinta); }
.btn-claro { border-color: var(--branco); color: var(--branco); }
.btn-contorno, .btn-linha { border-color: var(--tinta); color: var(--tinta); background: transparent; }
.btn-linha { font-size: 15px; min-height: 44px; border-width: 1px; background: var(--branco); }
.btn-linha.na-lista { background: var(--tinta); color: var(--branco); }
:focus-visible { outline: 3px solid #1565C0; outline-offset: 2px; }

.form { display: flex; flex-direction: column; gap: 16px; }
.form-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.largo { grid-column: 1 / -1; }
.campo { display: flex; flex-direction: column; gap: 6px; }
.campo label, .campo-titulo { font-weight: 600; font-size: 15px; }
.campo input, .campo select, .campo textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--borda-campo); border-radius: 4px; font: inherit; background: var(--branco); color: var(--tinta); }
.campo textarea { resize: vertical; }
.pote { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.erro { background: #FDECEC; border: 1px solid var(--erro); color: var(--erro); padding: 12px 14px; border-radius: 4px; font-weight: 500; }
.ajuda, .fraco { color: var(--fraco); font-size: 15px; }

.faixa-homologacao { background: #A4161A; color: #FFFFFF; text-align: center; font-weight: 600; font-size: 14px; padding: 8px 16px; }
