/* ============================================================
   ATLAS RS — relatorio.css
   Gerador de relatório PDF (AID/AII, mapas, texto automático).
   ============================================================ */

.relatorio-shell{ padding: 34px 0 80px; max-width: 900px; }

.aviso-metodologico{
  background: rgba(185,118,47,.08); border: 1px solid rgba(185,118,47,.3);
  border-radius: var(--radius-md); padding: 16px 18px; font-size: .84rem;
  color: #6b4a1f; line-height: 1.65; margin-bottom: 30px;
}

.etapa{
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 24px 26px; margin-bottom: 20px; background: #fff;
  transition: opacity .15s;
}
.etapa-disabled{ opacity: .45; pointer-events: none; }
.etapa-titulo{ display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.etapa-titulo h2{ font-size: 1.05rem; margin: 0; }
.etapa-num{
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--brand-green); color: #fff; font-size: .8rem; font-weight: 700;
  flex: none;
}
.etapa-desc{ font-size: .82rem; color: var(--ink-muted); margin-bottom: 16px; line-height: 1.55; }

.area-confirmada{
  margin-top: 18px; padding: 12px 16px; border-radius: var(--radius-md);
  background: rgba(47,107,79,.07); border: 1px solid rgba(47,107,79,.25);
  color: #2f5233; font-size: .86rem;
}

.buffer-form, .ident-form{ display: flex; flex-wrap: wrap; gap: 16px; }
.buffer-form .coord-field input{ width: 140px; }

.buffer-upload-grid{
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 4px;
}
.buffer-upload-field{
  border: 1px dashed var(--line); border-radius: var(--radius-sm); padding: 12px 14px;
}
.buffer-upload-field label{ display: block; font-size: .82rem; font-weight: 600; margin-bottom: 6px; }
.buffer-upload-field input[type=file]{ font-size: .8rem; width: 100%; }
.buffer-upload-status{ font-size: .78rem; margin-top: 6px; color: var(--ink-muted); }
.buffer-upload-status.ok{ color: #2f5233; }
.buffer-upload-status.erro{ color: #8a1f1f; }
@media (max-width: 640px){ .buffer-upload-grid{ grid-template-columns: 1fr; } }

.camadas-grid{
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 8px;
}
.camadas-grid label{
  display: flex; align-items: flex-start; gap: 8px;
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: 9px 11px; font-size: .82rem; cursor: pointer; color: var(--ink);
}
.camadas-grid label:has(input:checked){ border-color: var(--brand-green); background: rgba(47,107,79,.05); }
.camadas-grid input{ margin-top: 2px; flex: none; }
.camadas-grid small{ display: block; color: var(--ink-muted); font-size: .72rem; margin-top: 1px; }
.camadas-grid .grupo-titulo{
  grid-column: 1 / -1; font-family: var(--font-mono); font-size: .7rem;
  text-transform: uppercase; letter-spacing: .05em; color: var(--ink-muted);
  margin: 10px 0 2px; padding-top: 8px; border-top: 1px solid var(--line);
}
.camadas-grid .grupo-titulo:first-child{ margin-top: 0; padding-top: 0; border-top: 0; }

#gerarBtn{ margin-top: 6px; }
#gerarBtn:disabled{ opacity: .5; cursor: not-allowed; }
#gerarStatus, #areaStatus{ margin-top: 14px; font-size: .86rem; }
#gerarStatus.erro, #areaStatus.erro{ color: #8a1f1f; }
#gerarStatus.carregando, #areaStatus.carregando{ color: var(--ink-muted); }
#gerarStatus.ok{ color: #2f5233; }

.progresso-barra{
  height: 6px; border-radius: 99px; background: var(--paper-2);
  overflow: hidden; margin-top: 10px; max-width: 320px;
}
.progresso-barra > div{ height: 100%; background: var(--brand-green); width: 0%; transition: width .2s; }

/* svg de trabalho usado só pra gerar as imagens do PDF (fica fora da tela) */
#svgFabrica{ position: absolute; left: -9999px; top: -9999px; width: 900px; height: 900px; }

@media (max-width: 640px){
  .etapa{ padding: 18px; }
  .buffer-form .coord-field input{ width: 100%; }
}

/* ---------- CHECKLIST DE FEIÇÕES (quando o arquivo tem mais de uma) ---------- */
.feature-checklist{
  margin-top: 10px; padding: 10px 12px; background: var(--paper-2);
  border: 1px solid var(--line); border-radius: var(--radius-sm);
}
.feature-checklist-titulo{ font-size: .8rem; font-weight: 600; margin: 0 0 6px; }
.feature-checklist-item{
  display: flex; align-items: baseline; gap: 6px; font-size: .8rem;
  padding: 4px 0; cursor: pointer;
}
.feature-checklist-item small{ color: var(--ink-muted); font-family: var(--font-mono); font-size: .68rem; }
.feature-checklist-resumo{ font-size: .76rem; color: var(--ink-muted); margin-top: 6px; }
