:root{--amarelo:#FDF603;--magenta:#EC2BC8;--ciano:#00AEEF;--tinta:#1A1A1A;--cinza:#F3F3F3;--borda:#CFCFCF}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--cinza);color:var(--tinta);font-family:Lato,sans-serif;min-height:100vh}
.topbar{background:var(--amarelo);height:72px;padding:0 40px;display:flex;align-items:center}
.logo{height:42px;display:block}
main{max-width:1120px;margin:0 auto;padding:32px 24px;display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.card{background:#fff;padding:28px;display:flex;flex-direction:column;gap:22px;flex:999 1 520px;min-width:0;border-top:6px solid var(--magenta)}
aside{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:16px}
aside .card{flex:none;border-top:0;padding:16px;gap:10px}
h1,h2{font-family:Montserrat,sans-serif;margin:0}
h1{font-size:24px}h2{font-size:14px}
.campo{display:flex;flex-direction:column;gap:6px}
label,legend{font-size:13px;font-weight:700}
input{font:inherit;height:48px;border:2px solid var(--tinta);padding:0 12px;font-size:20px;font-weight:700;background:#fff;min-width:0}
input[readonly]{border-color:var(--borda);background:var(--cinza)}
.linha{display:flex;gap:8px}.linha input{flex:1;height:52px;font-size:22px}
.btn-busca{width:120px;border:0;background:var(--ciano);color:var(--tinta);font:700 16px Montserrat,sans-serif;cursor:pointer}
small{font-size:12px;color:#5A5A5A}
.dados{background:var(--cinza);padding:16px 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}
.dados .produto{grid-column:span 3;font:700 18px Montserrat,sans-serif}
.dados span{display:block;font-size:12px;font-weight:700;color:#5A5A5A}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin-bottom:22px}
fieldset{border:0;margin:0;padding:0}legend{margin-bottom:8px;padding:0}
.modelos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.modelos label{border:2px solid var(--borda);padding:12px 14px;display:flex;gap:10px;align-items:center;font-weight:700;cursor:pointer}
.modelos label:has(input:checked){border:3px solid var(--magenta);padding:11px 13px}
.modelos input{height:auto;accent-color:var(--magenta)}
.moldura{width:100%;aspect-ratio:3/1;display:flex;align-items:center;justify-content:center;background:var(--cinza);overflow:hidden}
.moldura img{width:100%;height:100%;display:block;object-fit:fill}
.moldura p{color:#5A5A5A;font-size:14px;padding:16px;text-align:center}
.btn-emitir{height:56px;border:0;background:var(--tinta);color:var(--amarelo);font:800 16px Montserrat,sans-serif;cursor:pointer}
.btn-emitir:disabled{opacity:.4;cursor:not-allowed}
.erro{margin:0;color:#B00020;font-size:14px;font-weight:700}
.origem{grid-column:span 3;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--borda);padding-top:8px}
.btn-busca:disabled{opacity:.5;cursor:wait}
.resultado{max-width:1120px;margin:0 auto 40px;padding:0 24px;display:flex;flex-direction:column;gap:12px}
.res-topo{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;background:#fff;padding:16px 20px;border-top:6px solid var(--ciano)}
.res-topo h2{font-size:18px}
.res-acoes{display:flex;gap:10px;flex-wrap:wrap}
.btn-sec{display:inline-flex;align-items:center;height:44px;padding:0 18px;border:2px solid var(--tinta);color:var(--tinta);font:700 14px Montserrat,sans-serif;text-decoration:none;background:#fff}
.btn-sec:hover{background:var(--amarelo)}
#res-pdf{width:100%;height:80vh;border:0;background:#fff}
input::placeholder{color:#9A9A9A;font-weight:400;font-size:16px}
.aviso{margin:0;font-size:14px;font-weight:700;color:#5A5A5A;text-align:center}
.aviso.erro{color:#B00020}
.medidas{text-align:center}
