:root{--bg:#eef2f7;--dark:#0f172a;--card:#fff;--line:#e5e7eb;--text:#111827;--muted:#64748b;--blue:#2563eb;--green:#16a34a;--yellow:#d19000;--red:#dc2626;--shadow:0 14px 36px rgba(15,23,42,.10)}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;background:var(--bg);font-family:Arial,sans-serif;color:var(--text)}
.hidden{display:none!important}
button{border:0;background:var(--blue);color:#fff;border-radius:18px;padding:14px 18px;font-weight:900;font-size:16px;cursor:pointer;max-width:100%}
button.outline{background:#fff;color:#111827;border:1px solid var(--line)}
button.outline.dark{background:#fff;color:#111827;border:1px solid var(--line)}
input,textarea{font:inherit;max-width:100%}
.splash{position:fixed;inset:0;background:#fff;z-index:999;display:grid;place-items:center;padding:24px}
.splash-inner{width:100%;max-width:420px;display:grid;gap:16px;text-align:center}
.splash-logo{width:100%;max-width:330px;margin:auto;object-fit:contain;background:transparent;border:0}
.splash-code{font-size:30px;font-weight:900;letter-spacing:.06em;color:#1d4ed8;background:#dbeafe;border-radius:20px;padding:16px}
.recover{display:grid;gap:10px}.recover input{text-align:center;text-transform:uppercase;border:1px solid var(--line);border-radius:16px;padding:15px;font-weight:900}
.app{display:flex}
.sidebar{position:fixed;left:0;top:0;width:300px;min-height:100vh;background:var(--dark);padding:26px 22px;color:#fff}
.brand{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.home-logo-text{font-size:20px;font-weight:900;color:#fff;letter-spacing:.03em;line-height:1.05;min-width:118px}
.user-id{font-size:21px;font-weight:900;letter-spacing:.05em;color:#fff}.user-plan{font-size:12px;color:#cbd5e1;font-weight:800;margin-top:4px}
.nav{width:100%;margin:7px 0;text-align:left;background:transparent;border:1px solid rgba(255,255,255,.12);color:#cbd5e1}
.nav.active{background:var(--blue);color:#fff}
.main{margin-left:300px;width:calc(100% - 300px);padding:28px}
.view{display:none}.view.active{display:block}
h1{font-size:38px;margin:20px 0 22px}
.hero{background:#fff;border-radius:28px;padding:24px;margin-bottom:18px;box-shadow:var(--shadow)}
.hero span{display:inline-block;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:8px 14px;font-weight:900}
.hero h1{margin:14px 0 0}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{border-radius:28px;padding:24px;color:#fff;box-shadow:var(--shadow);min-height:150px}
.kpi b{font-size:44px}.kpi p{font-weight:900;margin:10px 0 0}
.blue{background:linear-gradient(135deg,#1d4ed8,#60a5fa)}.green{background:linear-gradient(135deg,#15803d,#4ade80)}.yellow{background:linear-gradient(135deg,#b45309,#facc15);color:#111827}.red{background:linear-gradient(135deg,#b91c1c,#fb7185)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.panel,.op-card,.audit-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:20px;box-shadow:var(--shadow);max-width:100%}
.panel h2{font-size:22px;margin-top:0}
.ops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.op-card{min-height:170px;display:flex;flex-direction:column;justify-content:space-between}
.op-card .ico{font-size:34px}.op-card h3{margin:8px 0;font-size:20px;text-transform:uppercase}
.barRow{display:grid;grid-template-columns:170px 1fr 40px;gap:8px;margin:12px 0;align-items:center}.track{height:14px;background:#eef2ff;border-radius:999px;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa)}
.hist{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;margin:12px 0;box-shadow:var(--shadow)}
.hist-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.search{width:100%;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:14px;font-weight:800}
.form{display:grid;gap:12px}.form label{font-weight:900}.form input{width:100%;border:1px solid var(--line);border-radius:16px;padding:15px}
.profile-card,.plan-card{background:#f8fafc;border:1px solid var(--line);border-radius:20px;padding:16px;display:grid;gap:8px}
.profile-card strong,.plan-card span{font-size:30px;color:#1d4ed8;font-weight:900}.check{display:flex!important;gap:10px;align-items:center}.check input{width:auto}.import-label{display:block;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;font-weight:900}.import-label input{display:none}
.hint{color:var(--muted);font-weight:800}.model-item{display:flex;gap:8px;margin:8px 0}.model-item input{flex:1;border:1px solid var(--line);border-radius:14px;padding:12px}.model-card{border:1px solid var(--line);border-radius:18px;padding:14px;margin:10px 0;background:#fff}
.run-card{background:#fff;border-radius:28px;padding:20px;box-shadow:var(--shadow);max-width:100%;overflow:hidden}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.field{background:#f8fafc;border:1px solid var(--line);border-radius:20px;padding:14px;max-width:100%;overflow:hidden}.field label{display:block;font-weight:900;margin-bottom:8px}.field input{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px}
.live-score{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.mini{border-radius:22px;padding:18px;color:#fff;font-weight:900;font-size:20px}.mini.score{background:var(--blue)}.mini.ok{background:var(--green)}.mini.warn{background:var(--yellow);color:#111}.mini.crit{background:var(--red)}
.audit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}
.audit-card{box-shadow:0 8px 24px rgba(15,23,42,.06);overflow:hidden}
.audit-card.ok{border-left:9px solid var(--green)}.audit-card.warn{border-left:9px solid var(--yellow)}.audit-card.crit{border-left:9px solid var(--red)}
.audit-card h3{font-size:22px;margin:0 0 12px}
.statusBtns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.statusBtns button{font-size:13px;padding:12px 8px;opacity:.6;white-space:normal;line-height:1.15}.statusBtns button.selected{opacity:1;outline:3px solid rgba(15,23,42,.12)}
.okB{background:var(--green)}.warnB{background:var(--yellow);color:#111}.critB{background:var(--red)}
.nc-extra{display:none;gap:8px;margin-top:8px}.audit-card.warn .nc-extra,.audit-card.crit .nc-extra{display:grid}
.thumb{font-size:12px;color:var(--muted);margin-top:8px;word-break:break-word}.thumb img{max-width:100%;max-height:105px;object-fit:contain;border:1px solid var(--line);border-radius:10px;margin-top:5px}
.audit-card.done .card-body{display:none}.compact-summary{display:none}.audit-card.done .compact-summary{display:block}.audit-card.done{padding:16px}.ok-edit{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.editBtn{background:#fff;color:#111;border:1px solid var(--line)}
.signatureBox{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;margin-top:18px;max-width:100%;overflow:hidden}
.signatureBox canvas{width:100%;height:160px;border:1px dashed #94a3b8;border-radius:16px;touch-action:none;background:linear-gradient(to bottom, transparent calc(100% - 34px),rgba(15,23,42,.16) calc(100% - 33px),transparent calc(100% - 32px)),#fff}
.signature-line-ui{width:70%;border-top:2px solid #111827;margin:10px auto 0;text-align:center;padding-top:6px;font-weight:900;color:#475569}
.signature-feedback{display:none;margin-top:10px;padding:12px;border-radius:14px;font-weight:900}.signature-feedback.ok{display:block;background:#dcfce7;color:#166534;border:1px solid #86efac}
.signature-confirmed canvas{pointer-events:none;border-color:#16a34a!important;opacity:.9}.signature-confirmed .confirmSignatureBtn{background:#16a34a!important;color:white!important}
.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
.print-report{display:none}
.report-page{position:relative;background:#fff;color:#111;width:210mm;min-height:auto;padding:6mm;font-size:10px;overflow:hidden}
.watermark{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:140mm;opacity:.08;z-index:999;pointer-events:none;mix-blend-mode:multiply}
.report-page>*:not(.watermark){position:relative;z-index:2}
.report-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #111;padding-bottom:4px;margin-bottom:7px}
.report-logo,.report-brand-logo{max-width:82px;max-height:42px;object-fit:contain}.report-title{font-size:18px;font-weight:900;text-align:right;text-transform:uppercase}
.report-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0}.box{border:1px solid #ddd;border-radius:6px;padding:5px;background:rgba(255,255,255,.9)}.box b{display:block;color:#555;font-size:10px}
.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.report-kpis .box{text-align:center}.report-kpis strong{font-size:18px}.st-ok{color:#15803d;font-weight:900}.st-warn{color:#a16207;font-weight:900}.st-crit{color:#b91c1c;font-weight:900}
.report-table{width:100%;border-collapse:collapse;margin-top:8px;background:rgba(255,255,255,.9)}.report-table th,.report-table td{border:1px solid #ccc;padding:4px;text-align:left;vertical-align:top}.report-table th{background:#f1f5f9}
.evidence-section{margin-top:10px}.evidence-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.ev-card{border:1px solid #ccc;border-radius:8px;padding:5px;background:rgba(255,255,255,.9)}.ev-card img{width:100%;max-height:120px;object-fit:contain;border:1px solid #eee}.evidence-count-1{grid-template-columns:1fr}.evidence-count-1 img{max-height:180px!important}
.signature-block{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;margin-top:16px}.signature-col{min-height:94px;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.sig-img{max-height:58px;max-width:100%;object-fit:contain;border-bottom:1px solid #111}.sig-placeholder{height:58px;width:100%;border-bottom:1px solid #111;display:flex;align-items:flex-end;justify-content:center;color:#777;font-size:10px}.sig-name{font-weight:900}.sig-date,.sig-role{font-size:10px;color:#555}
.powered{text-align:center;margin-top:10px;color:#777;font-size:10px}.report-logo-footer{width:22px;height:14px;object-fit:contain;vertical-align:middle;margin-right:4px}
@media(max-width:900px){.app{display:block}.sidebar{position:static;width:100%;min-height:auto;padding:22px 18px}.main{margin:0;width:100%;padding:18px;overflow:hidden}.brand{justify-content:center}.kpis,.grid2,.ops-grid,.form-grid,.audit-grid{grid-template-columns:1fr}.actions,.live-score{grid-template-columns:1fr 1fr}h1{font-size:34px}.panel,.run-card{padding:16px}}
@media(max-width:430px){.main{padding:14px}.sidebar{padding:18px 14px}.brand{gap:10px}.home-logo-text{font-size:16px;min-width:92px}.user-id{font-size:17px}.user-plan{font-size:10px}.nav{font-size:15px;padding:13px}.statusBtns{grid-template-columns:1fr;}.actions,.live-score,.ok-edit{grid-template-columns:1fr}.audit-card{border-left-width:7px!important;padding:14px}.field{padding:12px}.field input[type=file]{font-size:13px;width:100%}.signatureBox canvas{height:140px}.kpi{min-height:115px}.kpi b{font-size:34px}}
@media print{body{background:white}.app,.splash{display:none!important}.print-report{display:block}.print-report *{break-inside:avoid}@page{size:A4;margin:8mm}}

/* V7.2 ajustes */
.home-logo-white{
  width:142px;
  height:86px;
  object-fit:contain;
  filter:brightness(0) invert(1) contrast(1.25);
  mix-blend-mode:screen;
}
.home-logo-text{display:none!important}
#config h1::after{
  content:"";
}
#config .panel::before{
  content:"DADOS DA EMPRESA";
  display:block;
  font-weight:900;
  font-size:20px;
  margin-bottom:8px;
}
.model-item{
  display:grid!important;
  grid-template-columns:1fr auto;
  align-items:center;
}
.model-item button{
  white-space:nowrap;
}
.report-title{
  max-width:78mm;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
@media(max-width:430px){
  .model-item{
    grid-template-columns:1fr!important;
  }
  .model-item button{
    width:100%;
  }
  .home-logo-white{
    width:112px!important;
    height:66px!important;
  }
  .brand{
    justify-content:center;
  }
}
@media print{
  html,body{
    width:210mm!important;
    height:auto!important;
    overflow:visible!important;
  }
  .print-report{
    display:block!important;
    width:100%!important;
    height:auto!important;
  }
  .report-page{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:5mm!important;
    overflow:hidden!important;
    page-break-after:auto!important;
    break-after:auto!important;
  }
  .report-page:empty{display:none!important}
  .report-page + .report-page{
    page-break-before:always!important;
  }
}

.report-table th,.report-table td{padding:3px!important}
.ev-card img{max-height:90px!important}
.signature-block{margin-top:10px!important}
.signature-col{min-height:72px!important}
.sig-img,.sig-placeholder{height:45px!important;max-height:45px!important}
.powered{margin-top:6px!important}

/* V7.4 Correções principais */
.hero span{display:none!important}
.watermark{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:165mm!important;
  max-width:72%!important;
  height:auto!important;
  opacity:.075!important;
  z-index:0!important;
  pointer-events:none!important;
  object-fit:contain!important;
}
.report-page>*:not(.watermark){
  position:relative!important;
  z-index:2!important;
}
.report-page{
  overflow:hidden!important;
}
.splash{
  background:#fff!important;
}
.splash-logo{
  background:transparent!important;
  border-radius:0!important;
}
@media print{
  .watermark{
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:165mm!important;
    max-width:72%!important;
    opacity:.075!important;
    z-index:0!important;
  }
  .report-page>*:not(.watermark){
    position:relative!important;
    z-index:2!important;
  }
}

/* V7.4.1 correção real: remover selo e centralizar marca d'água */
.hero span,
.hero > span,
span.version,
.version-badge{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
.watermark{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) rotate(-18deg)!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:.055!important;
  color:#2563eb!important;
  font-size:76mm!important;
  font-weight:900!important;
  letter-spacing:-4mm!important;
  white-space:nowrap!important;
  text-align:center!important;
  line-height:1!important;
  font-family:Arial, sans-serif!important;
  mix-blend-mode:multiply!important;
}
.report-page{
  position:relative!important;
  overflow:hidden!important;
}
.report-page>*:not(.watermark){
  position:relative!important;
  z-index:2!important;
}
@media print{
  .hero span,
  .hero > span,
  span.version,
  .version-badge{
    display:none!important;
  }
  .watermark{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%) rotate(-18deg)!important;
    opacity:.055!important;
    color:#2563eb!important;
    font-size:76mm!important;
    font-weight:900!important;
    letter-spacing:-4mm!important;
    white-space:nowrap!important;
    z-index:0!important;
  }
  .report-page>*:not(.watermark){
    position:relative!important;
    z-index:2!important;
  }
}

/* V7.4.2 - marca d'água oficial centralizada */
.watermark{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:150mm!important;
  max-width:68%!important;
  height:auto!important;
  opacity:.075!important;
  z-index:0!important;
  pointer-events:none!important;
  object-fit:contain!important;
  mix-blend-mode:multiply!important;
}
.report-page{
  position:relative!important;
  overflow:hidden!important;
}
.report-page>*:not(.watermark){
  position:relative!important;
  z-index:2!important;
}
.hero span,
.hero > span,
span.version,
.version-badge{
  display:none!important;
}
@media print{
  .watermark{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:150mm!important;
    max-width:68%!important;
    height:auto!important;
    opacity:.075!important;
    z-index:0!important;
    object-fit:contain!important;
  }
  .report-page>*:not(.watermark){
    position:relative!important;
    z-index:2!important;
  }
}

/* V7.4.4 - correção final: marca d'água oficial visível e busca por DOC mantida no JS */
.watermark{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:172mm!important;
  max-width:78%!important;
  height:auto!important;
  opacity:.115!important;
  z-index:20!important;
  pointer-events:none!important;
  object-fit:contain!important;
  mix-blend-mode:multiply!important;
}
.report-page{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.report-page>*:not(.watermark){
  position:relative!important;
  z-index:2!important;
}
@media print{
  .watermark{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:172mm!important;
    max-width:78%!important;
    opacity:.115!important;
    z-index:20!important;
    object-fit:contain!important;
  }
}

/* V7.4.7 - ajustes efetivos do PDF */
.report-head{
  border-bottom:1.5px solid #111!important;
}
.report-table{
  border-collapse:collapse!important;
  border:1px solid #b9b9b9!important;
}
.report-table th,
.report-table td{
  border:1px solid #b9b9b9!important;
  padding:3px 4px!important;
  line-height:1.2!important;
}
.report-table th:first-child,
.report-table td:first-child{
  width:8mm!important;
  text-align:center!important;
}
.signature-block{
  border:0!important;
}
.sig-img,
.sig-placeholder{
  border-bottom:1.5px solid #111!important;
}
.evidence-grid{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:6px!important;
}
.evidence-grid-extra{
  grid-template-columns:repeat(2,1fr)!important;
}
.ev-card{
  border:1px solid #c9c9c9!important;
  border-radius:6px!important;
  padding:5px!important;
  background:rgba(255,255,255,.92)!important;
}
.ev-card img{
  width:100%!important;
  height:85px!important;
  max-height:85px!important;
  object-fit:contain!important;
  display:block!important;
  margin-top:4px!important;
}
.evidence-page .ev-card img{
  height:115px!important;
  max-height:115px!important;
}
@media print{
  .report-page + .report-page{
    page-break-before:always!important;
    break-before:page!important;
  }
  .evidence-page .ev-card img{
    height:115px!important;
    max-height:115px!important;
  }
}

/* Correções PDF */
.report-table th,
.report-table td{
  border:1px solid #000 !important;
}
.signature-col{
  width:45% !important;
}

/* V7.4.8 FINAL - PDF corrigido */
.report-head,
.report-table,
.report-table th,
.report-table td,
.box,
.ev-card{
  border-color:#000!important;
  border-width:1px!important;
  border-style:solid!important;
}
.report-head{
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:1px solid #000!important;
}
.report-table{
  border-collapse:collapse!important;
  border-spacing:0!important;
  width:100%!important;
}
.report-table th,
.report-table td{
  padding:3px 4px!important;
  line-height:1.2!important;
}
.report-table th:first-child,
.report-table td:first-child{
  width:9mm!important;
  text-align:center!important;
}
.signature-block{
  grid-template-columns:1fr 1fr!important;
  gap:16mm!important;
  align-items:end!important;
}
.signature-col{
  width:100%!important;
  max-width:78mm!important;
  justify-self:center!important;
}
.sig-img,
.sig-placeholder{
  width:78mm!important;
  max-width:78mm!important;
  height:42px!important;
  max-height:42px!important;
  border-bottom:1px solid #000!important;
}
.evidence-grid{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0,1fr))!important;
  gap:6px!important;
}
.evidence-count-1{
  grid-template-columns:1fr!important;
}
.ev-card{
  padding:5px!important;
  background:rgba(255,255,255,.94)!important;
  overflow:hidden!important;
}
.ev-card img{
  width:100%!important;
  height:95px!important;
  max-height:95px!important;
  object-fit:contain!important;
  display:block!important;
  margin-top:4px!important;
}
.evidence-page .ev-card img{
  height:118px!important;
  max-height:118px!important;
}
.thumb-item{
  margin-top:6px;
  word-break:break-word;
}
@media print{
  .report-page + .report-page{
    page-break-before:always!important;
    break-before:page!important;
  }
}


/* V7.5.2 - Correção tela Personalizar: remove barra/campo vazio */
#modelos .form-grid{
  grid-template-columns:1fr!important;
}
#modelos .field:empty{
  display:none!important;
}
@media(max-width:900px){
  #modelos h1{margin-top:0!important;}
}
