[hidden]{display:none!important}
@font-face{font-family:GV;src:url(fonts/gv.woff2)}
@font-face{font-family:PF;src:url(fonts/pf700.woff2);font-weight:700}
@font-face{font-family:MS;src:url(fonts/ms400.woff2);font-weight:400}
@font-face{font-family:MS;src:url(fonts/ms500.woff2);font-weight:500}
@font-face{font-family:MS;src:url(fonts/ms600.woff2);font-weight:600}
@font-face{font-family:MS;src:url(fonts/ms700.woff2);font-weight:700}
@font-face{font-family:IC;src:url(fonts/ic700.woff2);font-weight:700}

:root{--bg:#f6f4f1;--card:#fff;--ink:#22201d;--muted:#6f6a63;--line:#e4dfd8;--brand:#9e761d;--brand-d:#6b4f12;--ok:#1e7d43;--ok-bg:#e6f4ea;--bad:#b3261e;--bad-bg:#fbe9e7}
*{box-sizing:border-box}
body{margin:0;font-family:MS,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}
a{color:var(--brand-d)}
.wrap{max-width:1040px;margin:0 auto;padding:24px 16px 60px}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.logo{font-family:PF;font-weight:700;font-size:22px;color:var(--brand-d);letter-spacing:.02em}
.logo small{display:block;font-family:MS;font-weight:500;font-size:12px;color:var(--muted);letter-spacing:.08em}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
h2{font-family:PF;font-weight:700;font-size:20px;margin:0 0 14px}
label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:5px;letter-spacing:.02em}
input,select{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:2px solid #e9d6a6;border-color:var(--brand)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.c12{grid-column:span 12}.c6{grid-column:span 6}.c4{grid-column:span 4}.c3{grid-column:span 3}.c8{grid-column:span 8}
@media(max-width:720px){.c6,.c4,.c3,.c8{grid-column:span 12}}
.btn{font:inherit;font-weight:600;border:0;border-radius:9px;padding:10px 16px;cursor:pointer;background:var(--brand);color:#fff}
.btn:hover{background:var(--brand-d)}
.btn.sec{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.sec:hover{background:#f3efe9}
.btn.del{background:#fff;color:var(--bad);border:1px solid #f0c9c4}
.btn.sm{padding:6px 10px;font-size:13px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hint{font-size:12.5px;color:var(--muted)}
.msg{padding:10px 12px;border-radius:9px;font-size:14px;margin-top:12px}
.msg.ok{background:var(--ok-bg);color:var(--ok)}.msg.err{background:var(--bad-bg);color:var(--bad)}
.demo{background:#fff6dc;border:1px solid #f1dd9b;color:#6b5512;padding:10px 14px;border-radius:10px;font-size:13.5px;margin-bottom:18px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.03em}
td code{font-family:IC;font-size:12.5px}
.tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:600;color:#fff}
.tablewrap{overflow-x:auto}
/* validação */
.val-hero{max-width:560px;margin:30px auto 0;text-align:center}
.val-box{max-width:560px;margin:22px auto 0;text-align:left}
.status{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;padding:12px 14px;border-radius:10px;margin-bottom:16px}
.status.ok{background:var(--ok-bg);color:var(--ok)}.status.bad{background:var(--bad-bg);color:var(--bad)}
.dl{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;font-size:15px}
.dl dt{color:var(--muted);font-size:13px;font-weight:600}.dl dd{margin:0;font-weight:500}
@media(max-width:480px){.dl{grid-template-columns:1fr}.dl dd{margin-bottom:6px}}

/* ================= CERTIFICADO ================= */
.cf-wrap{--cor:#9e761d;--escura:#5e4510;--clara:#fbf5e6;--det:#d8b45a;color:#2b2023}
.cf-page{width:297mm;height:210mm;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#fff 0%,#fff 40%,var(--clara) 100%);font-family:MS;margin:0 auto 10mm;box-shadow:0 4px 24px rgba(0,0,0,.08)}
.cf-page .onda{position:absolute;width:105mm;height:82mm}
.cf-page .onda.tl{left:-12mm;top:-14mm}
.cf-page .onda.br{right:-12mm;bottom:-14mm;width:72mm;height:56mm}
.cf-frame{position:absolute;inset:9mm;border:1.2px solid var(--det);border-radius:6mm}
.cf-frame2{position:absolute;inset:11mm;border:.6px solid var(--det);opacity:.5;border-radius:5mm}
.cf-c{position:absolute;inset:16mm 24mm 14mm;display:flex;flex-direction:column;align-items:center;text-align:center}
.cf-brand{font-weight:700;letter-spacing:.42em;font-size:9.5pt;color:var(--cor);margin-top:2mm}
.cf-brand small{display:block;letter-spacing:.18em;font-weight:500;font-size:7pt;color:#8a7a80;margin-top:1.2mm}
.cf-page h1{font-family:PF;font-weight:700;font-size:50pt;letter-spacing:.06em;color:var(--escura);margin:5mm 0 0;line-height:1}
.cf-sub{margin-top:3mm;font-weight:600;font-size:9pt;letter-spacing:.32em;color:var(--cor)}
.cf-to{margin-top:8mm;font-size:10pt;letter-spacing:.25em;color:#8a7a80;text-transform:uppercase}
.cf-name{font-family:GV;font-size:52pt;color:var(--cor);line-height:1.15;margin-top:1mm}
.cf-rule{width:140mm;height:1px;background:linear-gradient(90deg,transparent,var(--det),transparent);margin:1mm auto 4mm}
.cf-body{font-size:10.5pt;line-height:1.65;max-width:205mm;color:#4a3a40}
.cf-body b{color:var(--escura)}
.cf-pill{margin-top:5mm;display:inline-flex;gap:4mm;align-items:center;padding:2.2mm 7mm;border-radius:20mm;background:linear-gradient(90deg,var(--escura),var(--cor));color:#fff;font-weight:700;font-size:10pt;letter-spacing:.14em}
.cf-pill.sm{margin-top:3mm;font-size:9pt}
.cf-pill i{font-style:normal;opacity:.75}
.cf-foot{position:absolute;left:24mm;right:30mm;bottom:17mm;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}
.cf-l{text-align:left;font-size:8pt;line-height:1.55}
.cf-city{font-family:PF;font-weight:700;font-size:11pt;color:var(--escura)}
.cf-mono{font-family:IC;font-weight:700;font-size:8pt;letter-spacing:.04em;color:#7a6a70}
.cf-soft{color:#aa9aa0}
.cf-sig{text-align:center}
.cf-sig img{height:15mm;display:block;margin:0 auto -1mm}
.cf-line{width:62mm;height:1px;background:var(--det);margin:0 auto 1.2mm}
.cf-sig b{font-family:PF;font-size:10.5pt;display:block}
.cf-sig span{font-size:7.5pt;color:var(--cor);font-weight:600;display:block}
.cf-sig small{font-size:6.8pt;color:#8a7a80;display:block;margin-top:.6mm}
.cf-val{display:flex;justify-content:flex-end;align-items:center;gap:3.5mm;text-align:right}
.cf-qr{width:22mm;height:22mm;padding:1.4mm;background:#fff;border:1.4px solid var(--det);border-radius:2.5mm}
.cf-qr img{width:100%;height:100%;display:block;image-rendering:pixelated}
.cf-badge{display:inline-block;background:#e6f4ea;color:#1e7d43;border:1px solid #b9dfc5;border-radius:2mm;padding:.6mm 2mm;font-weight:700;font-size:7.5pt;letter-spacing:.06em}
.cf-vt{font-family:PF;font-weight:700;color:var(--escura);font-size:10pt;margin-top:1mm}
.cf-code{font-family:IC;font-weight:700;color:var(--cor);font-size:9pt;margin-top:.6mm}
.cf-val small{display:block;font-size:6.5pt;color:#8a7a80;margin-top:.5mm}
.cf-h2{font-family:PF;font-weight:700;font-size:28pt;color:var(--escura);letter-spacing:.04em;margin-top:2mm}
.cf-cols{margin-top:5mm;width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:14mm;text-align:left}
.cf-cols ul{list-style:none;margin:0;padding:0}
.cf-cols li{display:flex;gap:2.6mm;font-size:var(--fs);font-weight:600;letter-spacing:.03em;color:#4a3a40;padding:var(--pad) 0;border-bottom:1px dashed var(--detsoft)}
.cf-cols li b{color:var(--cor);width:6mm;flex:none}
@media print{body{background:#fff;margin:0}#out{padding:0!important}.noprint{display:none!important}.cf-page{margin:0;box-shadow:none;page-break-after:always}.cf-page:last-child{page-break-after:auto}@page{size:297mm 210mm;margin:0}}
