/* CNDEB Configurador de Caixas. Todo o estilo fica dentro de .cndeb-cfg para não interferir no tema. */
.cndeb-cfg{--brown:#6B4423;--brown-d:#4E3118;--kraft:#C9A06C;--kraft-l:#F2D9A8;--kraft-xl:#FBF5EA;--ink:#1a1a1a;--muted:#6b6257;--line:#e6dccb;--red:#C62828;--ok:#1e7a34;--fh:44px;
  font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.45;max-width:1180px;margin:0 auto;text-align:left}
.cndeb-cfg *,.cndeb-cfg *::before,.cndeb-cfg *::after{box-sizing:border-box}
.cndeb-cfg h2,.cndeb-cfg h3{font-family:Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none}

.cndeb-cfg .cfg-hero{background:linear-gradient(135deg,var(--brown),var(--brown-d));color:#fff;padding:30px 28px 24px;border-radius:14px;margin:0 0 4px}
.cndeb-cfg .cfg-title{margin:0 0 6px;font-size:30px;line-height:1.2;color:#fff;font-weight:700}
.cndeb-cfg .cfg-hero p{margin:0;opacity:.94;font-size:16px;color:#fff}
.cndeb-cfg .cfg-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.cndeb-cfg .cfg-steps a{background:rgba(255,255,255,.16);color:#fff;padding:5px 12px;border-radius:20px;font-size:13px;text-decoration:none;font-weight:600}
.cndeb-cfg .cfg-steps a:hover{background:rgba(255,255,255,.28);color:#fff}

.cndeb-cfg .cfg-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin:22px 0;box-shadow:0 2px 8px rgba(80,60,20,.06);scroll-margin-top:100px}
.cndeb-cfg .cfg-card h3{margin:0 0 6px;color:var(--brown);font-size:21px;font-weight:700;display:flex;align-items:center;gap:10px;line-height:1.3}
.cndeb-cfg .num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--kraft);color:#fff;font-size:15px;flex:none}
.cndeb-cfg .hint{color:var(--muted);margin:0 0 16px;font-size:14px}

.cndeb-cfg .fgrid{display:grid;gap:16px 18px;margin-bottom:14px;align-items:stretch}
.cndeb-cfg .fgrid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cndeb-cfg .s2{grid-column:span 2}.cndeb-cfg .s3{grid-column:1/-1}
.cndeb-cfg .field{display:grid;grid-template-rows:20px var(--fh);row-gap:6px;min-width:0;margin:0}
.cndeb-cfg .field.tall{grid-template-rows:20px auto}
.cndeb-cfg .lbl{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:14px;font-weight:600;line-height:20px;white-space:nowrap;overflow:hidden;color:var(--ink)}
.cndeb-cfg .lbl small{font-weight:400;color:var(--muted);font-size:12px;flex:none}
.cndeb-cfg input,.cndeb-cfg select,.cndeb-cfg textarea{font-family:inherit;font-weight:400;font-size:15px;line-height:1.3;padding:0 12px;border:1px solid #cfc3ae;border-radius:8px;background:#fff;width:100%;max-width:none;margin:0;color:var(--ink);box-shadow:none}
.cndeb-cfg .field input,.cndeb-cfg .field select{height:var(--fh);min-width:0}
.cndeb-cfg select{padding-right:30px;text-overflow:ellipsis}
.cndeb-cfg textarea{padding:10px 12px;resize:vertical;min-height:88px;height:auto}
.cndeb-cfg input:focus,.cndeb-cfg select:focus,.cndeb-cfg textarea:focus{outline:2px solid rgba(107,68,35,.3);border-color:var(--brown)}
.cndeb-cfg .subinfo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;font-size:13px;color:var(--muted);margin:-4px 0 14px}
.cndeb-cfg .subinfo b{color:var(--ink)}.cndeb-cfg .subinfo div+div{grid-column:span 2}

.cndeb-cfg .specbox{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:var(--kraft-xl);border:1px dashed var(--kraft);border-radius:10px;padding:14px}
.cndeb-cfg .specbox div{display:flex;flex-direction:column;font-size:13px}.cndeb-cfg .specbox span{color:var(--muted)}.cndeb-cfg .specbox b{font-size:15px;color:var(--brown)}
.cndeb-cfg .specbox .warn{grid-column:1/-1;color:var(--red);font-weight:600}
.cndeb-cfg .specbox .note{grid-column:1/-1;color:#7a5f30}

.cndeb-cfg .pv2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cndeb-cfg .pv2 figure{position:relative;margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.cndeb-cfg .pv2 figcaption{font-size:13px;font-weight:700;color:var(--brown);padding:8px 12px;border-bottom:1px solid var(--line);background:var(--kraft-xl);margin:0;text-align:left}
.cndeb-cfg .svgbox{height:310px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.cndeb-cfg .svgbox svg{display:block;width:100%;height:100%;max-height:310px}
.cndeb-cfg .lockmark{display:none}
.cndeb-cfg.is-locked .svgbox svg{filter:blur(.7px)}
.cndeb-cfg.is-locked .lockmark{display:flex;position:absolute;inset:37px 0 0 0;align-items:center;justify-content:center;pointer-events:auto;
  background:repeating-linear-gradient(-24deg,rgba(198,40,40,0) 0 46px,rgba(198,40,40,.07) 46px 62px)}
.cndeb-cfg.is-locked .lockmark span{background:rgba(255,255,255,.92);color:var(--red);font-weight:700;font-size:13px;padding:6px 12px;border:1px solid var(--red);border-radius:6px;text-align:center}
.cndeb-cfg:not(.is-locked) .lockhint{color:var(--ok)}
.cndeb-cfg .disclaimer{color:var(--red);font-size:13px;margin:10px 0 0}

.cndeb-cfg .drop{position:relative;border:2px dashed var(--kraft);border-radius:12px;padding:16px;background:var(--kraft-xl);display:flex;flex-direction:column;gap:6px;min-height:170px;transition:.15s}
.cndeb-cfg .drop.over{border-color:var(--brown);background:#f6ead6}.cndeb-cfg .drop.has{border-style:solid;border-color:var(--brown)}.cndeb-cfg .drop.bad{border-color:var(--red)}
.cndeb-cfg .drop strong{font-size:15px;line-height:1.3;color:var(--brown-d)}.cndeb-cfg .drop small{color:var(--muted);font-size:13px;line-height:1.4}
.cndeb-cfg .filepick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;cursor:pointer}
.cndeb-cfg .filepick-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.cndeb-cfg .filepick-btn{display:inline-block;background:#fff;color:var(--brown-d);border:1px solid var(--brown);border-radius:6px;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.2}
.cndeb-cfg .filepick:hover .filepick-btn{background:var(--kraft-xl)}
.cndeb-cfg .filepick-name{font-size:13px;color:var(--muted);word-break:break-all}
.cndeb-cfg .pv img{max-width:100%;max-height:140px;border-radius:6px;border:1px solid var(--line);background:#fff;object-fit:contain}
.cndeb-cfg .doc{display:inline-grid;place-items:center;width:70px;height:86px;border-radius:6px;background:var(--brown);color:#fff;font-weight:700}
.cndeb-cfg .err{color:var(--red);font-size:13px;font-weight:600}
.cndeb-cfg .filelist{margin:10px 0 0;padding-left:18px;font-size:14px}.cndeb-cfg .filelist .muted{color:var(--muted);list-style:none;margin-left:-18px}
.cndeb-cfg .check{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;font-size:14px;gap:10px;margin:6px 0 12px;cursor:pointer}
.cndeb-cfg .check input{width:auto;height:auto;margin-top:3px;flex:none}
.cndeb-cfg .sdp{background:#fff4f4;border-left:4px solid var(--red);padding:10px 14px;font-size:13px;color:#7a1c1c;border-radius:6px}
.cndeb-cfg .actions{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
.cndeb-cfg .cfg-btn{font-family:inherit;font-weight:700;background:var(--brown);color:#fff;border:0;padding:13px 26px;border-radius:9px;cursor:pointer;font-size:16px;line-height:1.2;text-transform:none;letter-spacing:0;box-shadow:none}
.cndeb-cfg .cfg-btn.ghost{background:#fff;color:var(--brown);border:1px solid var(--brown);padding:10px 18px;font-size:14px}
.cndeb-cfg .cfg-btn:disabled{background:#c9b7a4;color:#fff;border-color:#c9b7a4;cursor:not-allowed}
.cndeb-cfg .cfg-btn:not(:disabled):hover{background:var(--brown-d);color:#fff}
.cndeb-cfg .gatemsg{color:var(--muted);font-size:14px}.cndeb-cfg .gatemsg.ok{color:var(--ok);font-weight:600}
.cndeb-cfg .result{margin-top:16px;padding:14px 16px;border-radius:8px;font-size:15px}
.cndeb-cfg .result.ok{background:#eaf6ec;border:1px solid #9bd0a6}.cndeb-cfg .result.bad{background:#fff0f0;border:1px solid #f0a4a4}
.cndeb-cfg .cfg-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.cndeb-cfg [hidden]{display:none!important}
.cndeb-cfg-print-lock,.cndeb-cfg .printsheet{display:none}
.cfg-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1a1a1a;color:#fff;padding:12px 18px;border-radius:8px;font:14px/1.4 Arial,Helvetica,sans-serif;z-index:99999;box-shadow:0 4px 16px rgba(0,0,0,.25);max-width:90vw}
.cfg-toast[hidden]{display:none}

@media (max-width:820px){
  .cndeb-cfg .fgrid.c3,.cndeb-cfg .specbox,.cndeb-cfg .pv2,.cndeb-cfg .subinfo{grid-template-columns:1fr}
  .cndeb-cfg .s2,.cndeb-cfg .s3,.cndeb-cfg .subinfo div+div{grid-column:auto}
  .cndeb-cfg .cfg-title{font-size:24px}
  .cndeb-cfg .cfg-card{padding:18px 16px}
}

/* ---------- impressão (protocolo padrão CNDEB, 0.1.15) ----------
 * Só #cfg-printout é impresso: 2 páginas A4 paisagem, logo no topo à direita, caixa de contato CNDEB + ID sob cada desenho,
 * rodapé "https://cndeb.com.br/ | dd/mm/aaaa, HH:mm". @page margin 0 remove cabeçalho/rodapé do navegador. */
.cfg-printout{display:none}
@media print{
  @page{size:A4 landscape;margin:0}
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body.cndeb-cfg-locked > *{display:none!important}
  body.cndeb-cfg-locked > .cndeb-cfg-print-lock{display:block!important;padding:40px;font-family:Arial,sans-serif;color:#C62828}
  body.cndeb-cfg-unlocked > *:not(#cfg-printout){display:none!important}
  body.cndeb-cfg-unlocked #cfg-printsheet,.cndeb-cfg .printsheet{display:none!important}
  body.cndeb-cfg-unlocked > #cfg-printout{display:block!important;font-family:Arial,Helvetica,sans-serif;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #cfg-printout .pg{position:relative;width:297mm;height:209.5mm;box-sizing:border-box;padding:3mm 10mm 0;display:flex;flex-direction:column;overflow:hidden;page-break-after:always;break-after:page;page-break-inside:avoid;break-inside:avoid}
  #cfg-printout .pg:last-child{page-break-after:auto;break-after:auto}
  #cfg-printout .ph{position:absolute;top:4mm;right:10mm;z-index:2}
  #cfg-printout img.plogo{height:11mm;width:auto;display:block}
  #cfg-printout .pmain{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
  #cfg-printout .psvg{flex:1 1 auto;min-height:0;display:flex;justify-content:center}
  #cfg-printout .psvg svg{display:block;width:100%;height:100%;max-height:160mm}
  #cfg-printout .pbox{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:4mm;margin-top:1mm}
  #cfg-printout table.pc{width:100%;border-collapse:collapse;font-size:7.6pt;line-height:1.25}
  #cfg-printout table.pc caption{text-align:left;font-weight:700;color:#1F5AA6;font-size:8pt;padding:0 0 1mm}
  #cfg-printout table.pc th,#cfg-printout table.pc td{border:1px solid #9aa9bf;padding:.8mm 1.6mm;text-align:left;vertical-align:top}
  #cfg-printout table.pc th{width:22%;background:#EEF3FA;color:#1F3B66;font-weight:700;white-space:nowrap}
  #cfg-printout .pdisc{margin:1mm 0 0;font-size:7pt;color:#C62828}
  #cfg-printout .pf{flex:none;height:8mm;display:flex;align-items:center;justify-content:center;font-size:8.5pt;color:#333}
  #cfg-printout a,#cfg-printout a:link,#cfg-printout a:visited{color:#007B00!important;text-decoration:underline!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  #cfg-printout a::after,#cfg-printout a::before,#cfg-printout a[href]::after{content:none!important;display:none!important}
}

/* Verificação por código (OTP) */
.cndeb-cfg .otp{margin:4px 0 14px}
.cndeb-cfg .otp .actions{margin-top:10px}
.cndeb-cfg .otp .otp-verify{align-items:flex-end}
.cndeb-cfg .otp .otp-code{width:240px;max-width:100%}
.cndeb-cfg .otp .otp-code input{letter-spacing:4px;font-weight:700}
.cndeb-cfg .otp .gatemsg{display:block;margin-top:10px}
.cndeb-cfg .otp .gatemsg.err{color:var(--red)}
@media print{.cndeb-cfg .otp{display:none!important}}

/* Equipe CNDEB: ID do cliente + Ficha Interna do Cliente (/mapa/) */
.cndeb-cfg .cfg-staff{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;padding-left:14px;border-left:2px solid #007B00}
.cndeb-cfg .cfg-staff[hidden]{display:none!important}
.cndeb-cfg .cfg-staff-id{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#007B00}
.cndeb-cfg .cfg-staff-id input{width:150px;padding:9px 10px;border:1px solid #007B00;border-radius:8px;font:inherit;font-weight:400}
.cndeb-cfg .cfg-btn.cfg-btn-green{background:#007B00;padding:10px 18px;font-size:14px}
.cndeb-cfg .cfg-btn.cfg-btn-green:not(:disabled):hover{background:#005c00}

.cndeb-cfg .cfg-staff-id input#cfg-cxnum{width:64px}

.cfg-staff .cfg-id-wrap{display:inline-flex;align-items:center;gap:0}
.cfg-staff .cfg-id-wrap input{border-top-right-radius:0;border-bottom-right-radius:0}
.cfg-staff .cfg-id-new{border:1px solid #9aa9bf;border-left:0;background:#EEF3FA;height:2.1em;min-width:2.1em;cursor:pointer;border-radius:0 4px 4px 0;font-size:1rem;line-height:1}
.cfg-staff .cfg-id-new:hover{background:#dce6f4}
