:root{--fundo:#f4f4f2;--texto:#222;--marca:#1f3a5f;--borda:#d8d8d4;--ok:#1d6f3a;--erro:#a12a2a;--aviso:#8a5a00}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,sans-serif;background:var(--fundo);color:var(--texto)}
header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:.6rem 1rem;background:var(--marca);color:#fff}
header a,header .link{color:#fff;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:0}
header nav a{margin-right:.9rem}header .marca{font-weight:700;font-size:1.1rem}header .quem{margin-left:auto;font-size:.9rem}
main{max-width:1100px;margin:1rem auto;padding:0 1rem}footer{text-align:center;color:#777;font-size:.8rem;padding:2rem}
table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid var(--borda);padding:.4rem .6rem;text-align:left;vertical-align:top}
th{background:#eceae4}form.inline{display:inline}form p{margin:.4rem 0}input,select{padding:.35rem;border:1px solid var(--borda);border-radius:3px}
button{padding:.4rem .8rem;border:1px solid var(--marca);background:var(--marca);color:#fff;border-radius:3px;cursor:pointer}
.filtros{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0 1rem}.mensagens{list-style:none;padding:0}
.mensagens li{padding:.5rem .8rem;border-radius:3px;margin:.3rem 0;background:#fff;border-left:4px solid var(--marca)}
.mensagens .error{border-color:var(--erro)}.mensagens .success{border-color:var(--ok)}.erro{color:var(--erro)}.ok{color:var(--ok)}.aviso{color:var(--aviso)}
.estado-falhou strong{color:var(--erro)}.estado-concluida strong{color:var(--ok)}
body.publica{display:grid;place-items:center;min-height:100vh}.cartao{background:#fff;padding:2rem;border-radius:6px;min-width:320px;box-shadow:0 2px 12px #0002}
code,pre{background:#eceae4;padding:.1rem .3rem;border-radius:3px;word-break:break-all}

a.botao{display:inline-block;padding:.4rem .8rem;background:var(--marca);color:#fff;border-radius:3px;text-decoration:none}
pre.resumo{white-space:pre-wrap;background:#fff;border:1px solid var(--borda);padding:.6rem}
.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin:1rem 0}
.cartao-opcao{background:#fff;border:1px solid var(--borda);border-radius:6px;padding:1rem}.cartao-opcao h2{margin:0 0 .3rem}
