/* =========================================================
   LIMA ENGENHARIA
   LIMA_ANALISE_IMOVEL_V3

   Reconstrução visual completa do painel "Análise do imóvel".
   Namespace novo (.ai-*) — não colide com .ci-mini/.ci-badge
   (card "Imóvel selecionado", CSS protegido de status/condição).

   Linguagem visual: mesma do relatório aprovado (verde escuro,
   branco, cinzas claros, amarelo atenção, vermelho crítico).
   Carregada depois de consulta-inteligente.css/lima-analise-
   imovel-v2.css (estrutura/sticky-header, preservados).
   ========================================================= */

/* ---- cabeçalho: pequeno ícone de diagnóstico antes do título ---- */

#lima-consulta-area-panel.ci-panel .lima-consulta-area-titulo{
  display:flex;
  align-items:center;
  gap:7px;
}

#lima-consulta-area-panel.ci-panel .lima-consulta-area-titulo::before{
  content:"";
  flex:0 0 auto;
  width:16px;
  height:16px;
  background-color:#176c3a;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5a2 2 0 0 1 2-2h9l5 5v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z'/%3E%3Cpath d='M14 3v6h6'/%3E%3Cpath d='m9 15 2 2 4-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5a2 2 0 0 1 2-2h9l5 5v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Z'/%3E%3Cpath d='M14 3v6h6'/%3E%3Cpath d='m9 15 2 2 4-5'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---- ícones inline (svg copiados do relatório) ---- */

.ai-ic{
  width:15px;
  height:15px;
  display:block;
  flex:0 0 auto;
}

/* ---- corpo geral ---- */

#lima-consulta-area-panel .ai-corpo{
  padding:0 12px 12px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:#1e2c24;
}

.ai-titulo-secao{
  display:flex;
  align-items:center;
  gap:6px;
  margin:14px 0 7px;
  color:#17422c;
  font-size:10.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.ai-titulo-secao::before{
  content:"";
  width:4px;
  height:13px;
  border-radius:3px;
  background:#177743;
}

/* ---- identificação (D.4) ---- */

/* LIMA_ANALISE_IMOVEL_V4 — card de identificação com faixa verde
   institucional no topo (Parte 3 da rodada de reformulação),
   substituindo o "ai-nome" solto de antes. */
.ai-identificacao{
  margin-top:10px;
  border:1px solid #d7e2db;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 10px rgba(15,40,25,.06);
  overflow:hidden;
}

.ai-identificacao-faixa{
  padding:10px 13px 9px;
  background:linear-gradient(135deg,#123e29,#1b5b3b);
}

.ai-identificacao-faixa small{
  display:block;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#a9d6bb;
}

.ai-identificacao-faixa strong{
  display:block;
  margin-top:2px;
  font-size:16.5px;
  font-weight:800;
  line-height:1.25;
  color:#fff;
  word-break:break-word;
}

.ai-identificacao-corpo{
  padding:11px 13px 12px;
}

.ai-car-linha{
  display:flex;
  align-items:center;
  gap:7px;
}

.ai-car-rotulo{
  flex:0 0 auto;
  font-size:9.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#7c877f;
}

.ai-car-codigo{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family:'SF Mono',Consolas,'Courier New',monospace;
  font-size:12.5px;
  font-weight:700;
  color:#1c2620;
}

.ai-copy{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  padding:0;
  border:1px solid #cdd8d1;
  border-radius:7px;
  background:#fff;
  color:#2f6b45;
  cursor:pointer;
}

.ai-copy:hover{
  background:#eef5f0;
}

.ai-copy.lima-copiado{
  background:#177743;
  border-color:#177743;
  color:#fff;
}

.ai-copy .lima-copiado-flutuante{
  position:relative;
}

.ai-badge-linha{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:9px;
}

.ai-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.01em;
}

.ai-badge.ci-bad{background:#ffeded;color:#912929;border:1px solid #e7aaaa}
.ai-badge.ci-warn{background:#fff6dc;color:#826006;border:1px solid #ecd485}
.ai-badge.ci-warn-laranja{background:#ffefdc;color:#a3590a;border:1px solid #f0c896}
.ai-badge.ci-ok{background:#e9f6ee;color:#176b40;border:1px solid #b9dec7}
.ai-badge.ci-info{background:#edf6fc;color:#286388;border:1px solid #bdd7e7}

/* status de CARs sobrepostos (Parte 10): Ativo=verde, Pendente=
   dourado, Suspenso=laranja, Cancelado=padrão crítico atual */
.ai-badge-mini.ci-ok{background:#e9f6ee;color:#176b40}
.ai-badge-mini.ci-warn{background:#fff6dc;color:#826006}
.ai-badge-mini.ci-warn-laranja{background:#ffefdc;color:#a3590a}
.ai-badge-mini.ci-bad{background:#ffeded;color:#912929}
.ai-badge-mini.ci-info{background:#edf6fc;color:#286388}

.ai-badge-meta{
  font-size:12.5px;
  font-weight:600;
  color:#42504a;
}

.ai-condicao{
  margin-top:9px;
  padding-top:9px;
  border-top:1px dashed #dde6e0;
}

.ai-condicao-rotulo{
  display:block;
  font-size:9.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#7c877f;
  margin-bottom:3px;
}

.ai-condicao-texto{
  font-size:13px;
  line-height:1.45;
  color:#3a453f;
}

.ai-dono{
  margin-top:8px;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.ai-dono-linha{
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:11.5px;
}

.ai-dono-linha span{
  color:#7c877f;
  font-weight:700;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.02em;
  align-self:center;
}

.ai-dono-linha strong{
  color:#2c3a32;
  font-weight:600;
  text-align:right;
}

.ai-secundarios{
  margin-top:9px;
  padding-top:8px;
  border-top:1px dashed #e6ece7;
}

.ai-secundarios summary{
  cursor:pointer;
  font-size:10.5px;
  font-weight:700;
  color:#67756c;
  list-style:none;
}

.ai-secundarios summary::-webkit-details-marker{display:none}

.ai-secundarios summary::before{
  content:"▸ ";
}

.ai-secundarios[open] summary::before{
  content:"▾ ";
}

.ai-secundarios-corpo{
  margin-top:5px;
  font-size:11px;
  color:#5b665f;
}

/* ---- grid de resumo (Parte E) ---- */

.ai-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.ai-card{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:8px 9px;
  border:1px solid #e3e8e4;
  border-left:3px solid #c7cfc9;
  border-radius:9px;
  background:#fbfcfb;
}

.ai-card-icone{
  flex:0 0 auto;
  margin-top:1px;
  color:#5c6b61;
}

.ai-card-corpo{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.ai-card-titulo{
  font-size:9.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:#7c877f;
}

.ai-card-valor{
  margin-top:2px;
  font-size:12px;
  font-weight:700;
  line-height:1.3;
  color:#22302a;
}

.ai-sev-verde{border-left-color:#2d8a52}
.ai-sev-verde .ai-card-icone{color:#2d8a52}
.ai-sev-amarelo{border-left-color:#c99a1c;background:#fffcf4}
.ai-sev-amarelo .ai-card-icone{color:#a67c0a}
.ai-sev-laranja{border-left-color:#c46a1c;background:#fff8f0}
.ai-sev-laranja .ai-card-icone{color:#a3590a}
.ai-sev-vermelho{border-left-color:#c33d3d;background:#fff8f8}
.ai-sev-vermelho .ai-card-icone{color:#c33d3d}
.ai-sev-cinza{border-left-color:#a9b3ad}
.ai-sev-cinza .ai-card-icone{color:#748177}

/* ---- apontamentos (Parte F) ---- */

.ai-apontamento{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:7px;
  padding:9px 10px;
  border:1px solid #e3e8e4;
  border-left:3px solid #c7cfc9;
  border-radius:9px;
  background:#fbfcfb;
}

.ai-apontamento-icone{
  flex:0 0 auto;
  margin-top:2px;
}

.ai-apontamento strong{
  display:block;
  font-size:12px;
  color:#22302a;
}

.ai-apontamento p{
  margin:3px 0 0;
  font-size:11.5px;
  line-height:1.45;
  color:#4a564d;
}

.ai-apontamento.ai-sev-verde{border-left-color:#2d8a52}
.ai-apontamento.ai-sev-verde .ai-apontamento-icone{color:#2d8a52}
.ai-apontamento.ai-sev-amarelo{border-left-color:#c99a1c;background:#fffcf4}
.ai-apontamento.ai-sev-amarelo .ai-apontamento-icone{color:#a67c0a}
.ai-apontamento.ai-sev-vermelho{border-left-color:#c33d3d;background:#fff8f8}
.ai-apontamento.ai-sev-vermelho .ai-apontamento-icone{color:#c33d3d}

/* ---- accordions (Parte G) ---- */

.ai-acc{
  margin-top:7px;
  border:1px solid #dde3de;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}

.ai-acc summary{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  cursor:pointer;
  list-style:none;
  font-size:11.5px;
  font-weight:800;
  color:#17422c;
}

.ai-acc summary::-webkit-details-marker{display:none}

.ai-acc-icone{
  flex:0 0 auto;
  color:#176c3a;
}

.ai-acc-titulo{
  flex:1 1 auto;
  min-width:0;
}

.ai-acc-contagem{
  flex:0 0 auto;
  padding:1px 8px;
  border-radius:999px;
  background:#eef3ef;
  color:#4a564d;
  font-size:10px;
  font-weight:800;
}

.ai-acc summary::after{
  content:"";
  flex:0 0 auto;
  width:9px;
  height:9px;
  border-right:2px solid #7c877f;
  border-bottom:2px solid #7c877f;
  transform:rotate(45deg);
  transition:transform .15s ease;
  margin-left:2px;
}

.ai-acc[open] summary::after{
  transform:rotate(-135deg);
}

.ai-acc-corpo{
  padding:2px 10px 10px;
  border-top:1px solid #eef1ef;
}

/* LIMA_REFINO_V3 (Parte 5) — recolher/expandir explícito via CSS,
   não só o comportamento nativo do <details>. Causa real apurada:
   quando conteúdo é inserido DEPOIS do primeiro layout (caso da
   Mineração/Subsolo, cujo card vem de window.LimaAnmSubsolo.render()
   via appendChild assíncrono, crescendo de ~vazio para o card
   completo), o Chromium não recalcula corretamente o estado interno
   de colapso do <details> nativo — o cabeçalho alterna normalmente,
   mas o conteúdo permanece visível. Seções cujo corpo já nasce
   pronto dentro do innerHTML (Certificação, CARs sobrepostos, PRODES,
   DETER, Territorial) não sofrem esse problema, mas a regra abaixo é
   redundante e inofensiva para elas — só passa a ser a fonte real de
   verdade para a Mineração. */
.ai-acc:not([open]) .ai-acc-corpo{
  display:none;
}

/* CARs cancelados dentro de CARs sobrepostos — única seção que
   inicia recolhida por padrão (Parte 7, exceção explícita) */
.ai-sub-acc{
  margin-top:9px;
  border:1px solid #eef1ef;
  border-radius:8px;
  overflow:hidden;
}

.ai-sub-acc summary{
  padding:7px 9px;
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-size:10.5px;
  font-weight:800;
  color:#5c6b61;
  background:#fafcfb;
}

.ai-sub-acc summary::-webkit-details-marker{display:none}

.ai-sub-acc-corpo{
  padding:2px 9px 8px;
}

.ai-subtitulo{
  margin:9px 0 5px;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#5c6b61;
}

.ai-subtitulo:first-child{
  margin-top:6px;
}

.ai-vazio{
  padding:8px 0;
  font-size:11.5px;
  color:#67756c;
}

.ai-nota{
  margin:8px 0 0;
  font-size:10px;
  line-height:1.4;
  color:#8a9590;
}

/* registro individual (embargo/auto/CAR sobreposto/certificação/territorial) */

.ai-registro{
  padding:7px 0;
  border-top:1px solid #eef1ef;
}

.ai-registro:first-of-type{
  border-top:0;
}

.ai-registro-cab{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.ai-registro-cab strong{
  font-size:11.5px;
  color:#22302a;
}

.ai-badge-mini{
  flex:0 0 auto;
  padding:2px 8px;
  border-radius:999px;
  background:#f1f4f2;
  color:#4a564d;
  font-size:9.5px;
  font-weight:800;
  white-space:nowrap;
}

.ai-registro-linha{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:2px;
  font-size:10.5px;
  line-height:1.4;
}

.ai-registro-linha span:first-child{
  flex:0 0 auto;
  color:#8a9590;
}

.ai-registro-linha span:last-child{
  text-align:right;
  color:#3a453f;
  word-break:break-word;
}

/* tabela PRODES/DETER por ano */

.ai-tabela-anos{
  margin-top:5px;
  border:1px solid #eef1ef;
  border-radius:7px;
  overflow:hidden;
}

.ai-tabela-linha{
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr;
  gap:6px;
  padding:5px 8px;
  font-size:10.5px;
  color:#3a453f;
}

.ai-tabela-linha:nth-child(even){
  background:#f8faf8;
}

/* ---- recomendações (Parte L) ---- */

.ai-recomendacoes{
  margin:0;
  padding-left:18px;
  font-size:11.5px;
  line-height:1.55;
  color:#3a453f;
}

.ai-recomendacoes li{
  margin-bottom:4px;
}

/* ---- CTA / contato (Parte M) ---- */

.ai-cta{
  margin-top:14px;
  padding:12px 13px;
  border-radius:12px;
  background:linear-gradient(135deg,#123e29,#1b5b3b);
  color:#fff;
}

.ai-cta-corpo small{
  display:block;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#a9d6bb;
}

.ai-cta-corpo strong{
  display:block;
  margin-top:2px;
  font-size:14px;
}

.ai-cta-corpo p{
  margin:4px 0 0;
  font-size:11px;
  line-height:1.4;
  color:#dce9e0;
}

/* LIMA_ANALISE_IMOVEL_V4 — Parte 19.1: ação comercial (WhatsApp) e
   ação documental (relatório) em linhas separadas, nunca no mesmo
   grupo visual. */
.ai-cta-linha{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.14);
}

.ai-cta-linha-comercial{
  display:flex;
}

.ai-cta-whats{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 14px;
  height:36px;
  border-radius:8px;
  background:#25d366;
  color:#0b2b16;
  font-size:11.5px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}

.ai-cta-whats:hover{
  background:#1fbd59;
}

.ai-cta-whats .ai-ic{
  color:#0b2b16;
}

.ai-cta-linha-doc{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.ai-cta-doc-rotulo{
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#a9d6bb;
}

.ai-cta-relatorio{
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:38px;
  padding:0 15px;
  border:0;
  border-radius:8px;
  background:#fff;
  color:#123e29;
  font-size:11.5px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}

.ai-cta-relatorio:hover{
  background:#eef5f0;
}

.ai-metodo{
  margin-top:10px;
  font-size:9.5px;
  line-height:1.4;
  color:#93998f;
}

/* ---- conteúdo antigo do painel (area-ativa.js/renderConsulta:
   .lima-consulta-area-resumo, .lima-consulta-secao "Imóveis
   sobrepostos", cards INPE) — totalmente superado pelo novo
   .ai-corpo (mesmos dados: resumo, PRODES/DETER, CARs sobrepostos
   já aparecem nos cards/accordions acima). Continua sendo montado
   normalmente por area-ativa.js (lógica de consulta intocada) —
   só deixa de ser exibido, evitando duplicar a mesma informação
   duas vezes na tela. */
#lima-consulta-area-panel .lima-consulta-area-resumo,
#lima-consulta-area-panel .lima-consulta-secao{
  display:none !important;
}

/* ---- slot do módulo ANM (mantém render próprio, só espaçamento) ---- */

.ai-anm-slot:empty{
  display:none;
}

.ai-anm-slot{
  margin-top:7px;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:700px){

  .ai-grid{
    grid-template-columns:1fr;
  }

  .ai-tabela-linha{
    grid-template-columns:1fr 1fr 1fr;
    font-size:10px;
  }

  .ai-cta-whats,.ai-cta-relatorio{
    width:100%;
    justify-content:center;
  }

  .ai-cta-linha-doc{
    flex-direction:column;
    align-items:stretch;
  }

}
