/* ============================================================================
   vk-laudo.css — o laudo Veredika com a MESMA cara que o motor nitro mostra na
   tela ao fim da análise (veredika001-deepseek/static/assets/css/veredika-brand.css,
   bloco "Laudo formatado (tela)" + os estilos inline de analisar.html).

   Diferença deliberada: lá as variáveis vivem no `:root` do app Veredika; aqui
   ficam presas a `.vk-laudo` para não vazar na página do Hasta que hospeda o
   laudo (/oportunidades). Fora isso, é o mesmo sistema — Fraunces nos títulos de
   seção, Space Grotesk nos dados, cartões de risco com faixa colorida por nível.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

.vk-laudo{
  --vk-ink:#14172A; --vk-ink-soft:#3A3F57; --vk-surface:#FFFFFF; --vk-violet:#6D4AFF;
  --vk-line:#E5E4F0; --vk-red:#E5484D; --vk-amber:#F5A623; --vk-green:#2BA24A; --vk-muted:#6A7088;
  font-family:'Manrope',system-ui,sans-serif; font-size:1rem; color:var(--vk-ink); line-height:1.62;
}
.vk-laudo h3.vk-sec{font-family:'Fraunces',serif;font-weight:600;font-size:1.4rem;color:var(--vk-ink);margin:30px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--vk-line)}
.vk-laudo h3.vk-sec:first-of-type{margin-top:22px}

.vk-gauge-wrap{display:flex;justify-content:center;margin:0 0 8px}

.vk-callout{border-radius:14px;padding:18px 20px;border-left:6px solid var(--vk-muted);background:#F7F7FC}
.vk-callout.comprar{border-color:var(--vk-green);background:#EDF7F0}
.vk-callout.cautela{border-color:var(--vk-amber);background:#FFF6EA}
.vk-callout.naocomprar{border-color:var(--vk-red);background:#FCEDED}
.vk-callout.insuf{border-color:var(--vk-muted);background:#F3F3F7}
.vk-callout-head{font-family:'Space Grotesk',monospace;font-weight:700;font-size:1.12rem;color:var(--vk-ink);letter-spacing:.01em}
.vk-callout-sub{margin:8px 0 0;color:var(--vk-ink-soft);font-size:1.02rem}

.vk-kpis{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 20px}
.vk-kpi{flex:1 1 140px;min-width:120px;padding:12px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.08)}
.vk-kpi-label{font-size:.75rem;opacity:.7;margin-bottom:4px}
.vk-kpi-value{font-size:1.15rem;font-weight:700}
.vk-kpi-red{background:#FDECEC;border-color:#E5484D33}.vk-kpi-red .vk-kpi-value{color:#E5484D}
.vk-kpi-amber{background:#FFF6E5;border-color:#F5A62333}.vk-kpi-amber .vk-kpi-value{color:#B8791A}
.vk-kpi-green{background:#EAF7EE;border-color:#2BA24A33}.vk-kpi-green .vk-kpi-value{color:#2BA24A}
.vk-kpi-blue{background:#EAF1FB;border-color:#3B6FD633}.vk-kpi-blue .vk-kpi-value{color:#3B6FD6}
.vk-kpi-gray{background:#F1F1F1;border-color:#66666633}.vk-kpi-gray .vk-kpi-value{color:#666}

.vk-deflist{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
@media(max-width:640px){.vk-deflist{grid-template-columns:1fr}}
.vk-defrow{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--vk-line)}
.vk-deflabel{flex:0 0 104px;font-family:'Space Grotesk',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--vk-muted);padding-top:3px}
.vk-defrow span:last-child{color:var(--vk-ink)}

.vk-docs{display:flex;flex-wrap:wrap;gap:8px}
.vk-doc{font-family:'Space Grotesk',monospace;font-size:.8rem;padding:7px 12px;border-radius:999px;border:1px solid var(--vk-line);background:#F8F7FC;color:var(--vk-ink)}
.vk-doc.nativo{border-color:var(--vk-green);color:#1c7a36}
.vk-doc.texto{border-color:var(--vk-amber)}
.vk-doc.none{color:var(--vk-muted)}

.vk-prose p{margin:0 0 12px;color:var(--vk-ink-soft)}
.vk-prose strong{color:var(--vk-ink)}

.vk-risk{border-left:4px solid #cfd3dd;padding:16px 18px;border-radius:12px;background:#F8F7FC;margin-bottom:14px}
.vk-risk.alto{border-color:var(--vk-red)}.vk-risk.medio{border-color:var(--vk-amber)}.vk-risk.baixo{border-color:var(--vk-green)}
.vk-risk-head{font-family:'Manrope',sans-serif;font-weight:800;color:var(--vk-ink);font-size:1.06rem;margin-bottom:10px}
.vk-risk-row{display:flex;gap:14px;padding:5px 0;font-size:.96rem}
.vk-risk-row b{flex:0 0 96px;color:var(--vk-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding-top:3px}
.vk-risk-row span{color:var(--vk-ink-soft)}

.vk-table{width:100%;border-collapse:collapse;margin:8px 0 4px}
.vk-table td{padding:10px 4px;border-bottom:1px solid var(--vk-line);font-size:.95rem;font-family:'Space Grotesk',monospace}
.vk-table td:first-child{font-family:'Manrope',sans-serif}
.vk-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--vk-ink)}
.vk-table tr.vk-total td{font-weight:800;color:var(--vk-ink);border-top:2px solid var(--vk-ink);border-bottom:none;padding-top:10px}
.vk-table a{color:var(--vk-violet);text-decoration:underline}
.vk-desconto{color:var(--vk-ink-soft);margin-top:8px}

.vk-checklist{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.vk-checklist{grid-template-columns:1fr}}
.vk-check-group h4{font-family:'Space Grotesk',monospace;font-size:.82rem;letter-spacing:.03em;color:var(--vk-violet);margin:0 0 8px}
.vk-check{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:.92rem;color:var(--vk-ink-soft);cursor:pointer}
.vk-check input{margin-top:3px;accent-color:var(--vk-violet);width:16px;height:16px;flex:0 0 16px}

.vk-analise-completa{margin-top:20px;border:1px solid var(--vk-line);border-radius:14px;padding:16px 20px}
.vk-analise-completa summary{cursor:pointer;font-family:'Manrope',sans-serif;font-weight:700;color:var(--vk-violet);font-size:.96rem}
.vk-analise-prose{margin-top:14px;font-size:.95rem;line-height:1.65;color:var(--vk-ink-soft)}
.vk-analise-prose h1,.vk-analise-prose h2,.vk-analise-prose h3,.vk-analise-prose h4{color:var(--vk-ink);font-family:'Manrope',sans-serif;margin:18px 0 8px}
.vk-analise-prose table{width:100%;border-collapse:collapse;margin:10px 0;font-size:.9rem}
.vk-analise-prose th,.vk-analise-prose td{border:1px solid var(--vk-line);padding:6px 10px;text-align:left}
.vk-analise-prose th{background:#F8F7FC;color:var(--vk-ink)}
.vk-analise-prose a{color:var(--vk-violet)}

.vk-critica-judicial{border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px;margin:16px 0;background:#fafafa}
.vk-critica-judicial summary{font-weight:600;cursor:pointer;color:#2d3748}
.vk-critica-judicial ul{margin:8px 0 0 16px}
.vk-critica-judicial li{margin-bottom:6px;font-size:.88rem}
.vk-critica-judicial h4{margin:10px 0 4px;font-size:.85rem;color:#4a5568}

.vk-foot{color:var(--vk-muted);font-size:.85rem;margin-top:20px;line-height:1.5}
.vk-foot a{color:var(--vk-violet)}

/* ════════ Mobile — o laudo inteiro legível em tela estreita ════════
   Nada é escondido: o que não cabe em coluna vira empilhado, e as tabelas
   largas ganham rolagem horizontal própria em vez de estourar a página. */
.vk-laudo{overflow-wrap:anywhere}
.vk-laudo img,.vk-laudo svg{max-width:100%;height:auto}
.vk-gauge-wrap svg{max-width:100%}

@media(max-width:820px){
  .vk-laudo{font-size:.96rem;line-height:1.58}
  .vk-laudo h3.vk-sec{font-size:1.18rem;margin:24px 0 12px}
  .vk-callout{padding:15px 16px;border-left-width:5px}
  .vk-callout-head{font-size:1.02rem}
  .vk-kpi{flex:1 1 132px;min-width:132px;padding:11px 12px}
  .vk-kpi-value{font-size:1.06rem}
  .vk-risk{padding:14px 15px}
  .vk-analise-completa{padding:14px 15px}
  /* Markdown com tabela larga: rolagem própria, sem empurrar a página.
     (a .vk-table de custos é de 2 colunas — continua fluida, só encolhe) */
  .vk-analise-prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .vk-table td{font-size:.9rem;padding:9px 4px}
  .vk-table td:first-child{overflow-wrap:anywhere}
}

/* Pares rótulo/valor: em tela estreita o rótulo vai para cima do valor */
@media(max-width:560px){
  .vk-defrow,.vk-risk-row{flex-direction:column;gap:3px}
  .vk-deflabel,.vk-risk-row b{flex:none;padding-top:0}
  .vk-kpis{gap:8px}
  .vk-kpi{flex:1 1 100%;min-width:0}
  .vk-doc{font-size:.74rem;padding:6px 10px}
  /* valores longos ("R$ 310.000 (R$ 4.627/m²)") podem quebrar em vez de
     estourar a coluna — nowrap aqui empurrava o texto para fora da tela */
  .vk-table td:last-child{white-space:normal}
  .vk-critica-judicial{padding:11px 13px}
}
