/* ADIS — estilo partilhado das páginas Fundadores, Verificar e Portal.
   Mesma identidade do site: sala escura, azul AD, dourado dos Fundadores. */
:root {
  --sala: #060709;
  --tela: #0d1014;
  --tela-2: #12161b;
  --linha: #1c2229;
  --texto: #e9eef2;
  --texto-2: #8f9ba6;
  --neon: #63b3d4;
  --neon-vivo: #b9e6f7;
  --ouro: #d8b45a;
  --verde: #3ddc97;
  --vermelho: #e5534b;
  --carimbo: #aa2632;
  --papel: #eef4f7;
  --tinta: #0f2231;
  --titulo: 'Anton', 'Impact', 'Arial Narrow', sans-serif;
  --corpo: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, Consolas, monospace;
  --mao: 'Caveat', 'Segoe Script', cursive;
  color-scheme: dark;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--sala); color: var(--texto); font-family: var(--corpo); font-size: 16.5px; line-height: 1.6; -webkit-font-smoothing: antialiased; min-height: 100vh; display: flex; flex-direction: column; }
a { color: inherit; }
[hidden] { display: none !important; }
.contentor { width: 100%; max-width: 1160px; margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.mono { font-family: var(--mono); }
.etiqueta { font-family: var(--mono); font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: var(--neon); }
h1, h2, h3 { font-family: var(--titulo); font-weight: 400; text-transform: uppercase; line-height: .95; margin: 0; text-wrap: balance; }
h1 { font-size: clamp(46px, 8vw, 96px); }
h2 { font-size: clamp(32px, 5vw, 52px); }
h3 { font-size: 26px; }
p { margin: 0; }
.muted { color: var(--texto-2); }

/* Topo */
.topo { border-bottom: 1px solid var(--linha); background: rgba(6, 7, 9, .9); backdrop-filter: blur(8px); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: var(--sala); }
.topo .contentor { display: flex; justify-content: space-between; align-items: center; padding-block: 14px; gap: 16px; }
.logo { font-family: var(--titulo); font-size: 24px; letter-spacing: 3px; text-decoration: none; color: var(--neon-vivo); padding: 3px 10px 1px; border: 2px solid var(--neon); border-radius: 7px; text-shadow: 0 0 8px var(--neon); box-shadow: 0 0 14px rgba(99, 179, 212, .45); }

/* Botões */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; text-decoration: none; cursor: pointer;
  font-family: var(--mono); font-weight: 600; font-size: 13px; letter-spacing: 2px; text-transform: uppercase;
  padding: 13px 20px; border-radius: 3px; border: 1px solid var(--neon); background: transparent; color: var(--texto);
  transition: background .2s, color .2s, opacity .2s;
}
.botao.cheio { background: var(--neon); color: #04121a; }
.botao.cheio:hover:not(:disabled) { background: var(--neon-vivo); }
.botao.vazio { border-color: rgba(233, 238, 242, .4); }
.botao.vazio:hover:not(:disabled) { border-color: var(--texto); }
.botao.ouro { background: var(--ouro); border-color: var(--ouro); color: #1d1606; }
.botao.perigo { border-color: rgba(229, 83, 75, .6); color: #ffb3ad; }
.botao.pequeno { padding: 8px 13px; font-size: 11.5px; }
.botao:disabled { opacity: .45; cursor: not-allowed; }
.botao:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, button:focus-visible { outline: 2px solid var(--ouro); outline-offset: 3px; }

/* Cartões e formulários */
.cartao { background: var(--tela); border: 1px solid var(--linha); border-radius: 10px; padding: 24px; min-width: 0; }
.campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.campo label { font-family: var(--mono); font-size: 11.5px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--texto-2); }
.campo input, .campo textarea {
  width: 100%; background: var(--sala); color: var(--texto); border: 1px solid var(--linha); border-radius: 6px;
  padding: 12px 14px; font: inherit; font-size: 16px; resize: vertical;
}
.campo input:focus, .campo textarea:focus { border-color: var(--neon); outline: none; box-shadow: 0 0 0 3px rgba(99, 179, 212, .15); }
.campo .ajuda { font-size: 13px; color: var(--texto-2); display: flex; justify-content: space-between; gap: 12px; }
.campo .ajuda .conta { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.campo .ajuda .conta.ok { color: var(--verde); }
.aviso { border: 1px solid; border-radius: 8px; padding: 14px 16px; font-size: 15px; }
.aviso.erro { border-color: rgba(229, 83, 75, .5); background: rgba(229, 83, 75, .08); color: #ffc9c4; }
.aviso.ok { border-color: rgba(61, 220, 151, .45); background: rgba(61, 220, 151, .07); color: #c3f5df; }
.aviso.info { border-color: rgba(99, 179, 212, .45); background: rgba(99, 179, 212, .07); color: var(--neon-vivo); }

footer.rodape { margin-top: auto; border-top: 1px solid var(--linha); padding-block: 22px; font-size: 13.5px; color: var(--texto-2); }
footer.rodape .contentor { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }

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