/* base.css — tokens e fundação (cores do Brasil, contraste AA) */
:root {
  --azul: #002776;
  --azul-vivo: #0B3D91;
  --verde: #009739;
  --verde-escuro: #0B6B32;   /* verde para texto pequeno (AA sobre claro) */
  --verde-suave: #E6F4EA;
  --amarelo: #FFDF00;        /* nunca como texto sobre fundo claro */
  --fundo: #F7F8F5;
  --card: #FFFFFF;
  --texto: #14213D;
  --texto-2: #56607A;
  --linha: #E4E7EC;
  --ambar-bg: #FFF1BF;
  --ambar-tx: #6B4E00;
  --cinza-bg: #ECEEF1;
  --cinza-tx: #5B6472;
  --raio: 16px;
  --sombra: 0 1px 2px rgba(16, 24, 40, 0.05), 0 4px 14px rgba(16, 24, 40, 0.06);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: var(--fundo);
  color: var(--texto);
  line-height: 1.5;
}

img { max-width: 100%; display: block; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
a { color: var(--azul); }
input, select, textarea { font: inherit; color: inherit; }

:focus-visible { outline: 3px solid var(--verde); outline-offset: 2px; border-radius: 6px; }

.skip {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--amarelo); color: var(--azul); font-weight: 700;
  padding: 10px 16px; border-radius: 0 0 10px 0;
}
.skip:focus { left: 0; }

/* Listra tricolor usada como divisor de seções */
.flag-stripe {
  height: 6px;
  background: linear-gradient(90deg, var(--verde) 0 62%, var(--amarelo) 62% 82%, var(--azul) 82% 100%);
}

.badge {
  display: inline-block;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em;
  padding: 3px 9px; border-radius: 999px; white-space: nowrap;
}
.badge-pendente { background: var(--ambar-bg); color: var(--ambar-tx); }
.badge-cancelado { background: var(--cinza-bg); color: var(--cinza-tx); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}
