/* canal-de-denuncia.css — a página do canal de denúncia (programa de integridade, Lei 12.846/2013), 23/10/2026.
   Só os tokens da página (:root do <style> da página: --laranja, --noite, --nevoa, --fio...) e as cores do tema
   da Engenharia; nenhuma cor nova, nenhuma pílula. Formulário em duas etapas: cada etapa cabe numa tela
   (PAD-SIT-01, tipo "formulario"), rodapé reduzido incluído. */
.dn{--dn-erro:#B3261E;--dn-ok:#1F7A4D}
.dn-tela{padding:clamp(18px,3.2svh,40px) 0 clamp(18px,3svh,36px)}
.dn-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"cabeca cartao" "mais cartao";grid-template-rows:auto 1fr;
  column-gap:clamp(28px,4.5vw,72px);row-gap:0;align-items:start}
.dn-cabeca{grid-area:cabeca;padding-top:4px}
.dn-mais{grid-area:mais}
.dn-cartao{grid-area:cartao}
.dn .pc-trilha{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 clamp(8px,1.6svh,16px);font-size:13.5px;color:var(--meta)}
.dn .pc-trilha a{color:var(--noite);text-decoration:underline;text-decoration-color:var(--laranja);text-underline-offset:3px}
.dn-titulo{margin:10px 0 0;font-family:var(--titulo);font-weight:300;font-size:clamp(30px,3.1vw,44px);line-height:1.08;letter-spacing:-.02em;color:var(--noite)}
.dn-lede{margin:clamp(10px,1.8svh,16px) 0 0;max-width:46ch;font-size:16px;line-height:1.55;color:var(--texto2)}
.dn-garantias{list-style:none;margin:clamp(14px,2.6svh,26px) 0 0;padding:0;display:grid;gap:clamp(10px,1.8svh,16px)}
.dn-garantias li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;font-size:14px;line-height:1.5;color:var(--texto2)}
.dn-garantias strong{display:block;font-weight:700;color:var(--noite)}
.dn-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--raio);background:var(--nevoa);color:var(--laranja-esc)}
.dn-ico .ico{width:18px;height:18px}
.dn-acomp{margin:clamp(16px,3svh,28px) 0 0;padding-top:clamp(12px,2svh,16px);border-top:1px solid var(--fio);font-size:14px;color:var(--meta)}
.dn-link{display:inline;padding:0;margin:0 0 0 .2em;border:0;background:none;font:inherit;font-weight:700;color:var(--noite);cursor:pointer;
  text-decoration:underline;text-decoration-color:var(--laranja);text-underline-offset:3px}
.dn-link:hover{color:var(--laranja-esc)}
.dn-link:focus-visible{outline:2px solid var(--laranja);outline-offset:3px;border-radius:2px}

/* o cartão do formulário */
.dn-cartao{position:relative;background:#FFFFFF;border:1px solid var(--fio);border-radius:12px;padding:clamp(18px,2.6svh,26px) clamp(18px,2.2vw,28px);
  box-shadow:0 1px 2px rgba(16,32,46,.06),0 18px 40px -24px rgba(16,32,46,.28)}
.dn-cartao [hidden]{display:none!important}
.dn-passos{display:flex;align-items:center;gap:10px;margin:0 0 clamp(10px,1.6svh,16px);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--meta)}
.dn-passo{display:inline-flex;align-items:center;gap:8px}
.dn-passo i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;border:1px solid var(--fio-2);font-style:normal;font-size:12px;letter-spacing:0;color:var(--meta);background:#FFFFFF;
  transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.dn-passo.ativa{color:var(--noite)}
.dn-passo.ativa i{background:var(--laranja);border-color:var(--laranja);color:#FFFFFF}
.dn-passo.feita i{background:var(--noite);border-color:var(--noite);color:#FFFFFF}
.dn-fio{flex:1 1 auto;height:1px;background:var(--fio);min-width:16px}
.dn-etapa{margin:0;padding:0;border:0;min-width:0;animation:dnEntra .32s cubic-bezier(.2,.7,.2,1) both}
.dn-etapa-t{padding:0;margin:0 0 clamp(8px,1.4svh,12px);font-family:var(--titulo);font-weight:400;font-size:22px;line-height:1.2;letter-spacing:-.01em;color:var(--noite)}
.dn-etapa-d{margin:0 0 clamp(10px,1.8svh,14px);font-size:13.5px;color:var(--meta)}
.dn-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.4svh,12px) 14px}
.dn-tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.dn-inteiro{grid-column:1/-1}
.dn-campo{display:flex;flex-direction:column;gap:5px;min-width:0}
.dn-campo>label{font-weight:500;font-size:13.5px;line-height:1.3;color:var(--noite)}
.dn-opc{font-weight:400;font-size:12.5px;color:var(--meta)}
.dn input[type=text],.dn input[type=email],.dn input[type=tel],.dn select,.dn textarea{
  -webkit-user-select:text;user-select:text;width:100%;margin:0;font:inherit;font-size:15px;color:var(--noite);background:#FFFFFF;
  border:1px solid var(--borda-campo,#8593A0);border-radius:var(--raio);padding:0 12px;height:42px;-webkit-appearance:none;appearance:none;
  transition:border-color .15s ease,box-shadow .15s ease}
.dn select{background-image:linear-gradient(45deg,transparent 50%,var(--meta) 50%),linear-gradient(135deg,var(--meta) 50%,transparent 50%);
  background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px;text-overflow:ellipsis}
.dn textarea{height:auto;min-height:clamp(72px,12svh,120px);padding:10px 12px;line-height:1.5;resize:vertical}
.dn input:hover,.dn select:hover,.dn textarea:hover{border-color:var(--noite)}
.dn input:focus,.dn select:focus,.dn textarea:focus{outline:0;border-color:var(--laranja);box-shadow:0 0 0 3px var(--laranja-anel)}
.dn [aria-invalid="true"]{border-color:var(--dn-erro)!important;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.dn-ajuda{margin:0;font-size:12.5px;line-height:1.4;color:var(--meta)}
.dn-erro{margin:0;font-size:12.5px;line-height:1.35;font-weight:700;color:var(--dn-erro)}
.dn-erro:empty{display:none}
.dn-marca{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;color:var(--texto2);cursor:pointer}
.dn-marca input,.dn-opcao input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:#CC4A14;cursor:pointer}
.dn-escolha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 clamp(10px,1.8svh,14px)}
.dn-opcao{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--fio-2);border-radius:var(--raio);background:#FFFFFF;cursor:pointer;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.dn-opcao:hover{border-color:var(--noite)}
.dn-opcao:has(input:checked){border-color:var(--laranja);background:var(--nevoa-2);box-shadow:inset 3px 0 0 var(--laranja)}
.dn-opcao:has(input:focus-visible){outline:2px solid var(--laranja);outline-offset:2px}
.dn-opcao strong{display:block;font-size:14.5px;font-weight:700;color:var(--noite)}
.dn-opcao small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--meta)}
.dn-ident{margin:0 0 clamp(10px,1.8svh,14px);animation:dnEntra .28s ease both}
.dn-aviso{margin:0;padding:10px 14px;background:var(--nevoa-2);border:1px solid var(--fio);border-radius:var(--raio);font-size:12.5px;line-height:1.5;color:var(--texto2)}
.dn-aviso a,.dn-nota a{color:var(--noite);font-weight:500;text-decoration:underline;text-decoration-color:var(--laranja);text-underline-offset:3px}
.dn-turnstile:empty{display:none}
.dn-turnstile{margin-top:10px}
.dn-mel{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.dn-status{margin:10px 0 0;font-size:13px;font-weight:500;color:var(--texto2)}
.dn-status:empty{display:none}
.dn-acoes{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:clamp(12px,2svh,16px);padding-top:clamp(10px,1.8svh,14px);border-top:1px solid var(--fio)}
.dn-acoes-entre{justify-content:space-between}
.dn-acoes .btn[disabled]{opacity:.7;cursor:progress}
.dn-roda{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#FFFFFF;border-radius:50%;animation:dnGira .7s linear infinite}

/* resultados */
.dn-resultado{animation:dnEntra .36s cubic-bezier(.2,.7,.2,1) both}
.dn-resultado .rv-chapeu{margin-bottom:6px}
.dn-selo{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--dn-ok);color:#FFFFFF}
.dn-selo .ico{width:12px;height:12px;stroke-width:2.4}
.dn-resultado h2{font-family:var(--titulo);font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-.01em;color:var(--noite)}
.dn-resultado h2:focus{outline:0}
.dn-dados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:14px 0 0;padding:14px 16px;background:var(--nevoa-2);
  border:1px solid var(--fio);border-left:3px solid var(--laranja);border-radius:var(--raio)}
.dn-dados div{display:flex;flex-direction:column;gap:2px;min-width:0}
.dn-dados dt{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--meta)}
.dn-dados dd{margin:0;font-family:var(--titulo);font-size:16px;font-weight:500;color:var(--noite);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dn-dados .dn-chave{font-size:18px;font-weight:700;letter-spacing:.04em}
.dn-dados .copiavel{-webkit-user-select:text;user-select:text}
.dn-nota{margin:12px 0 0;font-size:14px;line-height:1.55;color:var(--texto2)}
.dn-nota strong{color:var(--noite)}
.dn-falha .rv-chapeu{color:var(--dn-erro)}

@keyframes dnEntra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes dnGira{to{transform:rotate(360deg)}}
@media (max-width:1080px){.dn-grade{grid-template-columns:minmax(0,1fr);grid-template-areas:"cabeca" "cartao" "mais";grid-template-rows:auto;row-gap:clamp(18px,3svh,28px)}
  .dn-cabeca,.dn-mais{max-width:720px}.dn-garantias{margin-top:0}}
@media (max-width:860px){.dn-tres{grid-template-columns:repeat(2,minmax(0,1fr))}.dn-tres>.dn-inteiro{grid-column:1/-1}}
@media (max-width:600px){
  .dn-titulo{font-size:30px}
  .dn-lede{font-size:15px}
  .dn-cartao{padding:18px 16px;border-radius:10px}
  .dn-campos,.dn-tres,.dn-escolha,.dn-dados{grid-template-columns:minmax(0,1fr)}
  .dn-acoes-entre .dn-marca{flex:1 1 100%}
  .dn-acoes{justify-content:stretch}
  .dn-acoes .btn{flex:1 1 auto}
  .dn-passos{letter-spacing:.08em;font-size:11px}
}
@media (prefers-reduced-motion:reduce){.dn-etapa,.dn-resultado,.dn-ident{animation:none}.dn-roda{animation-duration:2s}.dn-passo i,.dn-opcao{transition:none}}
