:root { --azul:#0b1f3a; --destaque:#1f6feb; --texto:#1b2430; --suave:#5b6675; --fundo:#f4f6fa; --borda:#dde3ec; --perigo:#c62828; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background:var(--fundo); color:var(--texto); line-height:1.5; }
header { background:var(--azul); color:#fff; padding:28px 16px; text-align:center; }
header h1 { margin:0; font-size:1.6rem; }
header p { margin:6px 0 0; opacity:.85; }
main { max-width:640px; margin:0 auto; padding:24px 16px 48px; }
.card { background:#fff; border:1px solid var(--borda); border-radius:12px; padding:20px; margin-bottom:16px; }
h2 { font-size:1.1rem; margin:0 0 12px; }
ol { padding-left:20px; margin:0; }
li { margin-bottom:10px; }
.termo { font-size:.92rem; color:var(--suave); }
label { display:flex; gap:10px; align-items:flex-start; margin-top:12px; font-size:.95rem; color:var(--texto); cursor:pointer; }
label.campo { flex-direction:column; gap:6px; }
input[type=checkbox] { width:20px; height:20px; margin-top:2px; flex-shrink:0; }
input:not([type=checkbox]), textarea, select { font:inherit; padding:10px; border:1px solid var(--borda); border-radius:8px; width:100%; }
#codigo { text-transform:uppercase; letter-spacing:.3em; font-size:1.4rem; text-align:center; }
.botao { display:block; width:100%; text-align:center; background:var(--destaque); color:#fff; text-decoration:none; font-weight:600; font-size:1.05rem; padding:14px; border-radius:10px; margin-top:16px; border:none; cursor:pointer; }
.botao[aria-disabled=true] { background:#9bb5dd; pointer-events:none; }
.aviso { background:#fff4e5; border:1px solid #f0c27b; padding:12px; border-radius:8px; margin-bottom:16px; }
.ajuda { text-align:center; color:var(--suave); font-size:.9rem; }
code { background:var(--fundo); padding:2px 6px; border-radius:4px; }
