/* report.css — laudo forense premium (AlliahScanning). Dono: agente de Relatório.
   Tudo escopado em .report-v2 (+ lightbox/filebar). Tema claro Alliah (azul #4f46e5).
   Usa os tokens globais de styles.css; não depende de classes antigas do report. */

.report-v2{ color:var(--text); }

/* ============ HERO DO VEREDITO ============ */
.r2-hero{
  position:relative; display:flex; align-items:center; gap:34px;
  border:1px solid var(--border); border-radius:var(--radius);
  padding:28px 34px; margin-bottom:18px; overflow:hidden;
  background:var(--panel); box-shadow:var(--shadow);
}
.r2-hero::before{ /* faixa de cor lateral */
  content:""; position:absolute; left:0; top:0; bottom:0; width:6px;
  background:var(--accent);
}
.r2-hero::after{ /* brilho decorativo */
  content:""; position:absolute; right:-90px; top:-110px; width:320px; height:320px; border-radius:50%;
  background:transparent; pointer-events:none;
}
.r2-hero.v-bad{ background:var(--bad-bg); border-color:#f6c6cf; }
.r2-hero.v-bad::before{ background:var(--bad); }
.r2-hero.v-ok{ background:var(--ok-bg); border-color:#bce6cb; }
.r2-hero.v-ok::before{ background:var(--ok); }
.r2-hero.v-warn{ background:var(--warn-bg); border-color:#f3dcb0; }
.r2-hero.v-warn::before{ background:var(--warn); }

.r2-hero-gauge{ flex:none; position:relative; z-index:1; }
.r2-gauge{ display:flex; flex-direction:column; align-items:center; }
.r2-gauge svg{ display:block; }
.r2-gauge-val{ transition:stroke-dasharray 1.1s cubic-bezier(.22,1,.36,1); }
.r2-gauge-band{ margin-top:2px; font-size:12px; font-weight:800; letter-spacing:.4px; }

.r2-hero-body{ min-width:0; position:relative; z-index:1; }
.r2-hero-label{
  display:inline-flex; align-items:center; gap:6px;
  font-size:10.5px; text-transform:uppercase; letter-spacing:1.4px; font-weight:800; color:var(--muted-2);
}
.r2-hero-label svg{ width:13px;height:13px; }
.r2-hero-body h2{ margin:9px 0 6px; font-size:27px; font-weight:800; letter-spacing:-.6px; color:var(--text); }
.r2-hero.v-bad .r2-hero-body h2 b{ color:var(--bad-soft); }
.r2-hero.v-ok .r2-hero-body h2 b{ color:var(--ok-soft); }
.r2-hero.v-warn .r2-hero-body h2 b{ color:var(--warn-soft); }
.r2-hero-body p{ margin:0; color:var(--muted); font-size:13.5px; line-height:1.55; max-width:580px; }
.r2-hero-meta{ display:flex; align-items:center; gap:9px; margin-top:16px; flex-wrap:wrap; }
.r2-chip{
  display:inline-flex; align-items:center; gap:6px;
  font-size:11.5px; font-weight:600; color:var(--text-2);
  background:rgba(255,255,255,.75); border:1px solid var(--border); padding:5px 11px; border-radius:99px;
}
.r2-chip svg{ width:13px;height:13px; color:var(--accent); }
.r2-chip.mono{ font-family:"JetBrains Mono",monospace; color:var(--muted-2); }
.r2-chip.mono svg{ color:var(--muted-2); }

/* ============ BANNER DE RECOMENDAÇÃO ============ */
.r2-rec{
  display:flex; align-items:center; gap:20px; margin-bottom:18px;
  padding:18px 22px; border-radius:var(--radius); border:1px solid;
  position:relative; overflow:hidden; box-shadow:var(--shadow);
}
.r2-rec::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; }
.r2-rec-acao{
  display:inline-flex; align-items:center; gap:9px; flex:none;
  font-size:13.5px; font-weight:700; letter-spacing:.04em; padding:8px 15px; border-radius:6px; color:#fff;
  
}
.r2-rec-acao svg{ width:20px;height:20px; }
.r2-rec-body{ min-width:0; }
.r2-rec-label{ font-size:9.5px; text-transform:uppercase; letter-spacing:1.3px; font-weight:800; opacity:.7; margin-bottom:3px; }
.r2-rec-texto{ font-size:14px; line-height:1.5; font-weight:600; color:var(--text); }
.r2-rec.rec-bad{ border-color:#f3c4cd; background:var(--bad-bg); }
.r2-rec.rec-bad::before{ background:var(--bad); }
.r2-rec.rec-bad .r2-rec-acao{ background:var(--bad); }
.r2-rec.rec-bad .r2-rec-label{ color:var(--bad-soft); }
.r2-rec.rec-warn{ border-color:#fcd34d; background:var(--warn-bg); }
.r2-rec.rec-warn::before{ background:var(--warn); }
.r2-rec.rec-warn .r2-rec-acao{ background:var(--warn); }
.r2-rec.rec-warn .r2-rec-label{ color:var(--warn-soft); }
.r2-rec.rec-ok{ border-color:#bce6cb; background:var(--ok-bg); }
.r2-rec.rec-ok::before{ background:var(--ok); }
.r2-rec.rec-ok .r2-rec-acao{ background:var(--ok); }
.r2-rec.rec-ok .r2-rec-label{ color:var(--ok-soft); }

/* ============ LAYOUT EM GRADE ============ */
.r2-grid{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; align-items:start; }
.r2-main{ min-width:0; display:flex; flex-direction:column; gap:18px; }
.r2-side{ display:flex; flex-direction:column; gap:18px; align-self:start; }
@media(max-width:1080px){
  .r2-grid{ grid-template-columns:1fr; }
  .r2-side{ position:static; }
}

/* ============ CARTÃO BASE ============ */
.r2-card{
  background:var(--panel); border:1px solid var(--border); border-radius:var(--radius);
  padding:22px; box-shadow:var(--shadow); transition:box-shadow .2s, border-color .2s;
}
.r2-card:hover{ box-shadow:var(--shadow-lg); }
.r2-head{ display:flex; align-items:center; gap:11px; margin-bottom:17px; }
.r2-head-ic{
  width:28px; height:28px; border-radius:6px; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:var(--accent-soft); border:1px solid var(--border); color:var(--accent);
}
.r2-head-t{ font-size:14px; font-weight:800; color:var(--text); letter-spacing:-.2px; }
.r2-head-sub{
  margin-left:auto; font-size:10px; text-transform:uppercase; letter-spacing:.6px; font-weight:700;
  color:var(--muted-2); background:var(--panel-2); border:1px solid var(--border); padding:3px 9px; border-radius:99px;
}

/* ============ SINAIS FORENSES (8) ============ */
.r2-ev-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
.r2-ev{
  position:relative; background:var(--panel-2); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:15px 16px; overflow:hidden; transition:.18s; display:flex; flex-direction:column; gap:10px;
}
.r2-ev::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--border-strong); }
.r2-ev.v-b::before{ background:var(--bad); } .r2-ev.v-o::before{ background:var(--ok); }
.r2-ev.v-w::before{ background:var(--warn); } .r2-ev.v-n::before{ background:var(--muted-2); }
.r2-ev:hover{ background:#fff; border-color:var(--border-strong); transform:translateY(-2px); box-shadow:var(--shadow); }
.r2-ev-top{ display:flex; align-items:center; gap:11px; }
.r2-ev-ico{
  width:34px; height:34px; border-radius:6px; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--border); color:var(--accent);
}
.r2-ev.v-b .r2-ev-ico{ color:var(--bad-soft); }
.r2-ev.v-o .r2-ev-ico{ color:var(--ok-soft); }
.r2-ev.v-w .r2-ev-ico{ color:var(--warn-soft); }
.r2-ev-id{ display:flex; flex-direction:column; gap:5px; min-width:0; flex:1; }
.r2-ev-name{ font-weight:800; font-size:13.5px; color:var(--text); }
.r2-ev-strength{
  align-self:flex-start; font-size:9px; text-transform:uppercase; letter-spacing:.6px; font-weight:800;
  padding:2px 7px; border-radius:5px; border:1px solid var(--border); color:var(--muted); background:#fff;
}
.r2-ev-strength.forte{ color:var(--ok-soft); border-color:#bce6cb; background:var(--ok-bg); }
.r2-ev-strength.alta{ color:var(--accent-deep); border-color:var(--border); background:var(--accent-soft); }
.r2-ev-strength.ind{ color:var(--warn-soft); border-color:#f3dcb0; background:var(--warn-bg); }
.r2-ev-detail{ font-size:12.5px; color:var(--muted); line-height:1.55; }
.r2-ev-score{
  align-self:flex-start; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:700;
  color:var(--text-2); background:#fff; border:1px solid var(--border); padding:2px 8px; border-radius:6px;
}

/* pills do componente compartilhado — garante aparência caso o global mude */
.report-v2 .pill{ font-weight:800; padding:3px 11px; border-radius:7px; font-size:11.5px; letter-spacing:.3px; flex:none; }

/* ============ TABELA FORENSE GEMINI ============ */
.r2-crit{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(max-width:760px){ .r2-crit{ grid-template-columns:1fr; } }
.r2-crit-row{
  display:flex; align-items:center; gap:14px;
  background:var(--panel-2); border:1px solid var(--border); border-radius:var(--radius-sm); padding:11px 14px;
}
.r2-crit-nm{ font-size:13px; font-weight:600; color:var(--text); flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.r2-crit-note{ color:var(--muted-2); font-size:11.5px; font-weight:500; line-height:1.45; }
.r2-crit-track{ width:108px; height:8px; border-radius:99px; background:var(--panel-3); overflow:hidden; flex:none; box-shadow:inset 0 1px 2px rgba(16,24,40,.06); }
.r2-crit-fill{ height:100%; border-radius:99px; transition:width .8s cubic-bezier(.22,1,.36,1); }
.r2-crit-fill.ok{ background:var(--ok); }
.r2-crit-fill.warn{ background:var(--warn); }
.r2-crit-fill.bad{ background:var(--bad); }
.r2-crit-sc{ font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:800; width:46px; text-align:right; flex:none; }
.r2-crit-sc span{ font-size:10px; font-weight:600; opacity:.6; }
.r2-crit-sc.ok{ color:var(--ok-soft); } .r2-crit-sc.warn{ color:var(--warn-soft); } .r2-crit-sc.bad{ color:var(--bad-soft); }

/* ============ IMAGENS FORENSES ============ */
.r2-figs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(248px,1fr)); gap:16px; }
.r2-fig{ margin:0; }
.r2-fig-btn{
  position:relative; display:block; width:100%; padding:0; border:none; cursor:zoom-in; background:none;
  border-radius:var(--radius-sm); overflow:hidden; line-height:0;
}
.r2-fig-btn img{
  width:100%; height:280px; object-fit:contain; display:block;
  border:1px solid var(--border); border-radius:var(--radius-sm); padding:6px; transition:transform .25s;
}
.r2-fig.dark .r2-fig-btn img{ background:#0b0e18; border-color:#1a2030; }
.r2-fig.light .r2-fig-btn img{ background:#fff; }
.r2-fig-btn:hover img{ transform:scale(1.02); }
.r2-fig-zoom{
  position:absolute; right:12px; bottom:12px; width:32px; height:32px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.92); color:var(--accent-deep); border:1px solid var(--border);
  opacity:0; transform:translateY(4px); transition:.2s; box-shadow:var(--shadow-sm);
}
.r2-fig-btn:hover .r2-fig-zoom{ opacity:1; transform:none; }
.r2-fig figcaption{ display:flex; flex-direction:column; gap:4px; text-align:center; margin-top:10px; }
.r2-fig figcaption b{ font-size:12px; font-weight:800; color:var(--text-2); }
.r2-fig figcaption span{ font-size:11px; color:var(--muted-2); line-height:1.45; }
.r2-ela-legend{ display:inline-flex; flex-wrap:wrap; justify-content:center; gap:11px; }
.r2-ela-legend i{ display:inline-block; width:9px; height:9px; border-radius:3px; margin-right:4px; vertical-align:middle; border:1px solid rgba(0,0,0,.15); }

/* ============ ANÁLISE ============ */
.r2-explain{
  background:var(--panel-2); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:17px; font-size:13.5px; white-space:pre-wrap; line-height:1.7; color:var(--text-2);
}
.r2-disclaimer{
  display:flex; gap:11px; align-items:flex-start; margin-top:12px;
  font-size:12.5px; color:var(--warn-soft); line-height:1.55;
  background:var(--warn-bg); border:1px solid #f3dcb0; border-radius:var(--radius-sm); padding:13px 15px;
}
.r2-disclaimer svg{ flex:none; }
.r2-disclaimer b{ color:var(--text); }

/* ============ COLUNA LATERAL: VEÍCULO / METADADOS ============ */
.r2-meta{ display:flex; flex-direction:column; }
.r2-meta-row{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  padding:10px 0; border-bottom:1px solid var(--border-soft);
}
.r2-meta-row:last-child{ border-bottom:none; }
.r2-meta-row .k{ display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:12px; font-weight:600; flex:none; padding-top:1px; }
.r2-meta-row .k svg{ width:13px;height:13px; color:var(--muted-2); }
.r2-meta-row .vv{ color:var(--text); font-size:12.5px; font-weight:700; text-align:right; word-break:break-word; min-width:0; line-height:1.45; }
.r2-meta-row .vv.mut{ color:var(--muted-2); font-weight:500; }
.r2-meta-row .vv.accent{ color:var(--accent-deep); }
.r2-meta-row.plate{ padding-top:0; }

.r2-plate{
  display:inline-flex; align-items:center; gap:5px; font-family:"JetBrains Mono",monospace;
  font-size:13px; font-weight:800; letter-spacing:.5px; padding:5px 11px; border-radius:8px;
}
.r2-plate.ok{ color:var(--ok-soft); background:var(--ok-bg); border:1px solid #bce6cb; }
.r2-plate.warn{ color:var(--warn-soft); background:#fef3c7; border:1px solid #fcd34d; }
.r2-plate.mut{ color:var(--muted); background:var(--panel-3); border:1px solid var(--border); }

.r2-vbadge{ display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:7px; }
.r2-vbadge svg{ width:13px;height:13px; }
.r2-vbadge.ok{ color:var(--ok-soft); background:var(--ok-bg); border:1px solid #bce6cb; }
.r2-vbadge.mut{ color:var(--muted); background:var(--panel-3); border:1px solid var(--border); }

.r2-note{
  display:flex; gap:9px; align-items:flex-start; margin-top:14px;
  font-size:12px; color:var(--muted); line-height:1.5;
  background:var(--panel-2); border:1px solid var(--border); border-radius:var(--radius-sm); padding:12px 13px;
}
.r2-note svg{ flex:none; color:var(--warn-soft); }
.r2-note b{ color:var(--text-2); }

.r2-details{ margin-top:14px; }
.r2-details summary{ cursor:pointer; color:var(--accent); font-size:12.5px; font-weight:700; user-select:none; list-style:none; }
.r2-details summary::-webkit-details-marker{ display:none; }
.r2-details summary::before{ content:"› "; }
.r2-details[open] summary::before{ content:"⌄ "; }
.r2-details summary:hover{ color:var(--accent-deep); }
.r2-raw{
  background:#f6f7fc; border:1px solid var(--border); border-radius:var(--radius-sm); padding:14px;
  overflow:auto; font-size:11.5px; color:#475067; max-height:300px; margin:11px 0 0;
  font-family:"JetBrains Mono",monospace; line-height:1.5; white-space:pre;
}

/* ============ BARRA DE ARQUIVO (viewCase) ============ */
.r2-filebar .fb .k{ display:inline-flex; align-items:center; gap:6px; }
.r2-filebar .fb .k svg{ width:13px;height:13px; color:var(--accent); }

/* ============ LIGHTBOX / ZOOM ============ */
.r2-lightbox{ position:fixed; inset:0; z-index:2000; display:none; align-items:center; justify-content:center; padding:32px; }
.r2-lightbox.open{ display:flex; animation:r2lbIn .2s ease; }
@keyframes r2lbIn{ from{ opacity:0; } to{ opacity:1; } }
.r2-lb-backdrop{ position:absolute; inset:0; background:rgba(11,14,24,.78); backdrop-filter:blur(4px); cursor:zoom-out; }
.r2-lb-fig{
  position:relative; z-index:1; margin:0; max-width:min(94vw,1100px); max-height:92vh;
  display:flex; flex-direction:column; align-items:center; gap:12px;
}
.r2-lb-fig img{
  max-width:100%; max-height:82vh; object-fit:contain; border-radius:var(--radius-sm);
  background:#0b0e18; padding:8px; box-shadow:0 30px 80px -20px rgba(0,0,0,.6);
}
.r2-lb-fig figcaption{ color:#fff; font-size:13px; font-weight:700; text-align:center; }
.r2-lb-close{
  position:absolute; top:-14px; right:-14px; width:36px; height:36px; border-radius:99px; border:none; cursor:pointer;
  background:#fff; color:var(--text); font-size:22px; line-height:1; font-weight:600;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lg);
}
.r2-lb-close:hover{ background:var(--bad); color:#fff; }

/* ============ IMPRESSÃO ============ */
@media print{
  .report-v2 .r2-card, .report-v2 .r2-ev, .report-v2 .r2-hero,
  .report-v2 .r2-explain, .report-v2 .r2-rec, .report-v2 .r2-fig{ break-inside:avoid; box-shadow:none; }
  .report-v2 .r2-grid{ grid-template-columns:1fr; }
  .report-v2 .r2-side{ position:static; }
  .report-v2 .r2-card:hover{ box-shadow:none; }
  .r2-fig-zoom{ display:none; }
  .r2-fig-btn{ cursor:default; }
}

/* ---- card exclusivo do Sightengine (abaixo dos metadados) ---- */
.report-v2 .r2-sight-prob{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.report-v2 .r2-sight-pct{font-family:"JetBrains Mono",monospace;font-size:38px;font-weight:800;line-height:1;color:var(--text)}
.report-v2 .r2-sight-pct small{font-size:18px;font-weight:700;color:var(--muted-2);margin-left:2px}
.report-v2 .r2-sight-prob.bad .r2-sight-pct{color:var(--bad-soft)}
.report-v2 .r2-sight-prob.ok .r2-sight-pct{color:var(--ok-soft)}
.report-v2 .r2-sight-prob.warn .r2-sight-pct{color:var(--warn-soft)}
.report-v2 .r2-sight-bar{height:8px;border-radius:99px;background:var(--panel-3);overflow:hidden}
.report-v2 .r2-sight-fill{height:100%;border-radius:99px;transition:width .7s cubic-bezier(.22,1,.36,1)}
.report-v2 .r2-sight-fill.bad{background:var(--bad)}
.report-v2 .r2-sight-fill.ok{background:var(--ok)}
.report-v2 .r2-sight-fill.warn{background:var(--warn)}
.report-v2 .r2-sight-cap{font-size:11px;color:var(--muted-2);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.report-v2 .r2-sight-note{font-size:12.5px;color:var(--muted);line-height:1.5;margin:14px 0 0;padding-top:13px;border-top:1px solid var(--border-soft)}
.report-v2 .r2-sight-na{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:600}

/* ---- fileira de métricas técnicas sob cada imagem forense ---- */
.report-v2 .r2-fig-metrics{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;padding-top:11px;border-top:1px solid var(--border-soft)}
.report-v2 .r2-fm{display:inline-flex;align-items:baseline;gap:5px;background:var(--panel-2);border:1px solid var(--border);
  border-radius:8px;padding:4px 9px;font-size:11px;line-height:1.2}
.report-v2 .r2-fm b{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:12px;color:var(--accent-deep)}
.report-v2 .r2-fm i{font-style:normal;color:var(--muted);font-weight:600}
