:root{--verde:#0f766e;--borda:#cbd5e1;--fundo:#f4f6f8}
*{box-sizing:border-box}body{font-family:system-ui,sans-serif;background:var(--fundo);margin:0;color:#111827}
.centro{display:grid;place-items:center;min-height:100vh;padding:16px}
.cartao{background:#fff;padding:28px;border-radius:12px;width:min(94vw,420px);box-shadow:0 2px 12px #0001}
.largo{width:min(96vw,980px);margin:24px auto;padding:20px}
h1{font-size:20px;margin:0 0 16px}h2{font-size:16px;margin:22px 0 8px}
label{display:block;font-size:13px;margin:12px 0 4px}
input,select{width:100%;padding:10px;border:1px solid var(--borda);border-radius:8px;font-size:16px;background:#fff}
button{margin-top:16px;padding:11px 16px;border:0;border-radius:8px;background:var(--verde);color:#fff;font-size:15px;cursor:pointer}
button.sec{background:#e5e7eb;color:#111827}
.erro{color:#b91c1c;font-size:14px;min-height:18px;margin-top:10px}.ok{color:#047857;font-size:14px;margin-top:10px}
.topo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}th,td{text-align:left;padding:8px;border-bottom:1px solid #e5e7eb}
.qr{display:grid;place-items:center;margin:12px 0}.qr svg{width:200px;height:200px}
code{background:#f1f5f9;padding:2px 6px;border-radius:4px;word-break:break-all}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.vazio{color:#6b7280;font-size:14px}
.abas{display:flex;gap:8px;margin:16px 0 8px}.abas button{margin-top:0}.abas button.ativa{background:var(--verde);color:#fff}
.barra{display:flex;gap:8px;align-items:center;margin-top:8px}.barra input{flex:1}.barra button{margin-top:0;white-space:nowrap}
tbody tr.clicavel{cursor:pointer}tbody tr.clicavel:hover{background:#f1f5f9}a{color:var(--verde)}
textarea{width:100%;padding:10px;border:1px solid var(--borda);border-radius:8px;font-size:16px;font-family:inherit}
fieldset{border:1px solid #e5e7eb;border-radius:8px;margin:14px 0;padding:6px 14px 14px}legend{font-size:13px;color:#374151;padding:0 6px}
label.check{display:flex;align-items:center;gap:8px;margin-top:12px}label.check input{width:auto}
.resultados button{display:block;width:100%;text-align:left;margin-top:4px;background:#f1f5f9;color:#111827}
details.rastreio{margin-top:14px;font-size:13px;color:#6b7280}details.rastreio summary{cursor:pointer}
details.rastreio label{font-size:12px;color:#6b7280}details.rastreio input{font-size:13px;padding:6px;background:#f9fafb;color:#4b5563}
