:root { --fundo:#f7f8fa; --papel:#fff; --texto:#15181d; --mudo:#5b6472; --marca:#1f3a5f; --marca-escura:#162a45; --borda:#e3e6eb; --erro:#b42318; --ok:#067647; --raio:12px; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter, system-ui, sans-serif; color:var(--texto); background:var(--fundo); line-height:1.5; }
a { color:var(--marca); text-decoration:none; }
.topo { display:flex; justify-content:space-between; align-items:center; padding:20px 24px; max-width:1100px; margin:0 auto; }
.marca { display:inline-flex; align-items:center; color:var(--texto); }
.marca img { display:block; height:30px; width:auto; }
.topo nav a { margin-left:20px; font-weight:500; }
.conteudo { max-width:1100px; margin:0 auto; padding:16px 24px 64px; }
.rodape { max-width:1100px; margin:0 auto; padding:24px; border-top:1px solid var(--borda); display:flex; gap:20px; flex-wrap:wrap; color:var(--mudo); font-size:14px; }
.cartao { background:var(--papel); border:1px solid var(--borda); border-radius:var(--raio); padding:28px; }
.estreito { max-width:520px; margin:40px auto; }
h1 { font-size:28px; letter-spacing:-0.02em; margin:0 0 12px; }
h2 { font-size:20px; margin:0 0 8px; }
.mudo { color:var(--mudo); }
.aviso { padding:12px 14px; border-radius:8px; background:#eef2f7; }
.aviso.erro { background:#fdecea; color:var(--erro); }
.aviso.ok { background:#e6f4ea; color:var(--ok); }
.botao { display:inline-block; background:var(--marca); color:#fff; padding:12px 20px; border-radius:10px; font-weight:600; border:0; cursor:pointer; font-size:16px; }
.botao:hover { background:var(--marca-escura); }
.botao.secundario { background:transparent; color:var(--marca); border:1px solid var(--borda); }
.hero { padding:56px 0 32px; max-width:720px; }
.hero h1 { font-size:44px; line-height:1.1; }
.hero p { font-size:19px; color:var(--mudo); margin:12px 0 24px; }
.blocos { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin-top:24px; }
.tabela { width:100%; border-collapse:collapse; background:var(--papel); border:1px solid var(--borda); border-radius:var(--raio); overflow:hidden; }
.tabela th, .tabela td { text-align:left; padding:12px 14px; border-bottom:1px solid var(--borda); font-size:15px; }
.tabela th { color:var(--mudo); font-weight:500; font-size:13px; text-transform:uppercase; letter-spacing:0.04em; }
.selo { display:inline-block; padding:2px 10px; border-radius:999px; font-size:13px; font-weight:500; background:#eef2f7; color:var(--mudo); }
.selo.ok { background:#e6f4ea; color:var(--ok); } .selo.erro { background:#fdecea; color:var(--erro); } .selo.pendente { background:#fff4e5; color:#b54708; }
form.formulario { display:grid; gap:14px; max-width:640px; }
label { display:grid; gap:6px; font-weight:500; font-size:14px; }
input, select, textarea { font:inherit; padding:10px 12px; border:1px solid var(--borda); border-radius:8px; background:#fff; }
textarea { min-height:120px; }
.previa { background:#e7f6ec; border-radius:12px; padding:12px 14px; white-space:pre-wrap; font-size:15px; max-width:420px; }
.acoes { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:16px 0; }
.prosa { max-width:760px; } .prosa h2 { margin-top:28px; }
@media (max-width: 720px) { .blocos { grid-template-columns:1fr; } .hero h1 { font-size:32px; } .topo { padding:16px; } .conteudo { padding:8px 16px 48px; } }
