:root{--preto:#111;--amarelo:#FFC000;--cinza:#f4f4f4;--borda:#e3e3e3;--texto:#222;--verde:#2e9e4f;--amarela:#e0a800;--vermelha:#d0342c}
*{box-sizing:border-box}
body{margin:0;font-family:"Open Sans","Segoe UI",Arial,sans-serif;font-size:14px;color:var(--texto);background:#fafafa}
a{color:#0a58ca}
header.topo{background:var(--preto);color:#fff;display:flex;align-items:center;gap:20px;padding:0 24px;height:58px;border-bottom:4px solid var(--amarelo)}
header.topo .marca{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
header.topo .marca .logo{height:22px;width:auto}
header.topo .marca .produto{font-size:12px;color:#bbb;border-left:1px solid #444;padding-left:12px;white-space:nowrap}
header.topo .marca .produto b{color:var(--amarelo)}
header.topo nav{display:flex;flex-wrap:wrap;gap:2px 14px}
header.topo nav a{color:#ddd;text-decoration:none;font-size:13px;white-space:nowrap}
header.topo nav a.ativo,header.topo nav a:hover{color:var(--amarelo)}
header.topo .direita{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12.5px;color:#ccc;white-space:nowrap}
header.topo select{background:#222;color:#fff;border:1px solid #444;padding:6px 8px;border-radius:4px;max-width:260px}
main{max-width:1180px;margin:0 auto;padding:24px 16px 60px}
h1{font-size:22px;margin:0 0 6px}
h2{font-size:17px;margin:26px 0 10px}
.sub{color:#666;margin-bottom:18px}
.aviso{padding:10px 14px;border-radius:6px;margin-bottom:16px;border:1px solid}
.aviso.ok{background:#e8f6ec;border-color:#b9e2c5;color:#1d5a2f}
.aviso.erro{background:#fdeceb;border-color:#f3c0bd;color:#7b1d18}
.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:16px 0}
.cartao{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:16px}
.cartao .num{font-size:28px;font-weight:700}
.cartao .rot{color:#666;font-size:12.5px}
.painel{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:18px;margin-bottom:18px}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:9px 10px;border-bottom:1px solid var(--borda);text-align:left;vertical-align:top}
th{background:var(--cinza);font-size:12.5px;text-transform:uppercase;letter-spacing:.3px}
tr:hover td{background:#fffdf3}
.btn{display:inline-block;padding:8px 14px;border-radius:5px;border:1px solid var(--preto);background:var(--preto);color:#fff;text-decoration:none;font-size:13px;cursor:pointer}
.btn.amarelo{background:var(--amarelo);border-color:var(--amarelo);color:#111;font-weight:600}
.btn.claro{background:#fff;color:#111}
.btn.perigo{background:#fff;border-color:#c33;color:#c33}
.btn.pq{padding:4px 9px;font-size:12px}
.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
form.inline{display:inline}
label{display:block;font-size:12.5px;font-weight:600;margin:10px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{width:100%;padding:8px 10px;border:1px solid #ccc;border-radius:5px;font:inherit}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 18px}
.etiqueta{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11.5px;font-weight:600}
.etiqueta.verde{background:#e2f4e7;color:#1d5a2f}.etiqueta.amarela{background:#fff3cd;color:#7a5a00}.etiqueta.vermelha{background:#fbe1df;color:#7b1d18}
.etiqueta.cinza{background:#eee;color:#555}
.barra{height:12px;background:#eee;border-radius:6px;overflow:hidden}
.barra i{display:block;height:100%}
.barra i.verde{background:var(--verde)}.barra i.amarela{background:var(--amarela)}.barra i.vermelha{background:var(--vermelha)}
details.modal{margin:10px 0}
details.modal summary{cursor:pointer;font-weight:600;list-style:none}
details.modal>div{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:14px 18px;margin-top:8px}
.login{max-width:400px;margin:70px auto;background:#fff;border:1px solid var(--borda);border-radius:10px;padding:28px;border-top:5px solid var(--amarelo)}
.login h1{margin-bottom:2px}
.login .logo-login{display:block;background:#111;padding:14px 18px;border-radius:6px;margin:-28px -28px 22px;border-bottom:4px solid var(--amarelo)}
.login .logo-login img{height:26px;width:auto;display:block}
.logo-pub{height:20px;width:auto;display:block;margin-top:4px}
.rodape{text-align:center;color:#888;font-size:12px;padding:20px}
.qr{text-align:center}.qr img{width:260px;border:1px solid var(--borda);padding:8px;background:#fff}
.mono{font-family:Consolas,monospace;background:#f4f4f4;padding:6px 10px;border-radius:4px;word-break:break-all}
/* formulário público */
.publico main{max-width:820px}
.pergunta{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:14px 16px;margin-bottom:10px}
.pergunta .txt{font-weight:600;margin-bottom:8px}
.opcoes{display:flex;flex-wrap:wrap;gap:6px}
.opcoes label{flex:1 1 120px;margin:0;font-weight:400;border:1px solid #ddd;border-radius:6px;padding:8px;text-align:center;cursor:pointer;font-size:12.5px}
.opcoes input{display:none}
.opcoes input:checked+span{font-weight:700;color:#000}
.opcoes label:has(input:checked){background:var(--amarelo);border-color:var(--amarelo)}
.grande{font-size:38px;font-weight:700}
@media(max-width:1100px){header.topo{height:auto;flex-wrap:wrap;padding:8px 14px;gap:8px 16px}header.topo nav{width:100%;order:3}}
@media(max-width:700px){header.topo{height:auto;flex-wrap:wrap;padding:10px 14px}header.topo nav{width:100%;order:3}header.topo .direita{margin-left:0}}
