/* ============================================================
   Revisao do relatorio de processo antes do Word (RelatorioRevisao,
   public/app/57-relatorio-revisao.js). Usa as variaveis e classes ja
   existentes (--primary, --border, .card, .btn, .badge) sem redesenhar
   a identidade visual do SARA.
   ============================================================ */

#proc-revisao-relatorio { display:block; margin-bottom:1rem; }

.rr-header { flex-wrap:wrap; gap:0.75rem; align-items:flex-start; }
.rr-header-actions { display:flex; gap:0.5rem; flex-wrap:wrap; }
.rr-meta { font-size:0.78rem; color:var(--text-secondary); margin-top:0.25rem; }

.rr-status { font-size:0.82rem; color:var(--text-secondary); margin-bottom:0.75rem; }
.rr-status:empty { display:none; }

.rr-secoes { display:flex; flex-direction:column; gap:1rem; }
.rr-secao { border:1px solid var(--border-light); border-radius:var(--radius); padding:0.75rem; background:var(--bg); }
.rr-secao-head { display:flex; align-items:center; justify-content:space-between; gap:0.5rem; flex-wrap:wrap; margin-bottom:0.4rem; }
.rr-secao-head label { font-weight:700; color:var(--text); font-size:0.82rem; }
.rr-secao-actions { display:flex; gap:0.4rem; flex-wrap:wrap; }

.rr-textarea {
  width:100%;
  min-height:84px;
  padding:0.6rem 0.7rem;
  border:1.5px solid var(--border);
  border-radius:8px;
  font-family:inherit;
  font-size:0.85rem;
  line-height:1.55;
  resize:vertical;
  background:white;
  overflow:hidden;
}
.rr-textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(30,58,95,0.1); }

/* Historico */
.rr-historico-lista { display:flex; flex-direction:column; gap:0.5rem; }
.rr-historico-item { border:1px solid var(--border-light); border-radius:8px; padding:0.6rem 0.75rem; display:flex; align-items:flex-start; justify-content:space-between; gap:0.75rem; flex-wrap:wrap; background:white; }
.rr-historico-info { font-size:0.78rem; color:var(--text-secondary); min-width:220px; flex:1; line-height:1.5; }
.rr-historico-info strong { color:var(--text); }
.rr-historico-actions { display:flex; gap:0.4rem; flex-shrink:0; }

/* Ver versao (modo leitura) */
.rr-versao-leitura { display:flex; flex-direction:column; gap:0.75rem; }
.rr-versao-leitura .rr-secao { background:white; }
.rr-leitura-texto {
  white-space:pre-wrap;
  font-size:0.85rem;
  line-height:1.55;
  color:var(--text);
  background:white;
  border:1px solid var(--border-light);
  border-radius:8px;
  padding:0.6rem 0.7rem;
}

/* Modal de ajuste com instrucao: mais largo que o modal-box padrao (560px)
   para caber a comparacao lado a lado. */
.rr-modal-box { max-width:900px; }
.rr-ajuste-trecho {
  background:var(--primary-50);
  border:1px solid var(--primary-200);
  border-radius:8px;
  padding:0.6rem 0.75rem;
  font-size:0.8rem;
  color:var(--text);
  margin-bottom:0.75rem;
  white-space:pre-wrap;
}
.rr-ajuste-nota { font-size:0.78rem; color:var(--text-secondary); margin-bottom:0.5rem; }
.rr-ajuste-instrucao {
  width:100%;
  min-height:70px;
  padding:0.6rem 0.7rem;
  border:1.5px solid var(--border);
  border-radius:8px;
  font-family:inherit;
  font-size:0.85rem;
  resize:vertical;
}
.rr-ajuste-instrucao:focus { outline:none; border-color:var(--primary); }
.rr-ajuste-status { font-size:0.82rem; color:var(--text-secondary); margin-top:0.5rem; min-height:1em; }
.rr-ajuste-actions { display:flex; gap:0.5rem; flex-wrap:wrap; margin-top:0.75rem; justify-content:flex-end; }

.rr-proposta-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:0.5rem; }
.rr-proposta-col h4 { font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-muted); margin-bottom:0.4rem; }
.rr-proposta-texto {
  white-space:pre-wrap;
  font-size:0.83rem;
  line-height:1.5;
  border:1px solid var(--border-light);
  border-radius:8px;
  padding:0.6rem 0.7rem;
  background:var(--bg);
  max-height:340px;
  overflow-y:auto;
}
.rr-proposta-col.proposta .rr-proposta-texto { border-color:var(--green); background:#f0fdf4; }

@media (max-width:900px) {
  .rr-proposta-grid { grid-template-columns:1fr; }
}

/* Edição não salva (13/10/2026): fica visível até o auditor salvar. */
.rr-secao.rr-pendente .rr-textarea { border-color: #f59e0b; box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.15); }
.rr-aviso-pendente { font-size: 0.75rem; font-weight: 700; color: #92400e; background: #fffbeb; border: 1px solid #fde68a; border-radius: 6px; padding: 0.3rem 0.55rem; margin-bottom: 0.4rem; }

/* ============================================================
   Relatório na tela (13/10/2026): índice das seções à esquerda e o
   texto da IA numa folha, como documento, na régua da Casa (papel
   branco, títulos em Lora, rótulos em versalete, azul só no texto da IA).
   ============================================================ */
.rr-doc { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; }
.rr-indice {
  position: sticky; top: 12px; max-height: calc(100vh - 140px); overflow-y: auto;
  background: var(--casa-papel, #fff); border: 1px solid var(--casa-linha, #d9e1e9);
  border-radius: 8px; padding: 14px 12px 12px; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.rr-indice-tit {
  font-size: 11.5px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase;
  color: var(--casa-acento-tinta, #8a6b28); margin: 0 4px 8px;
}
.rr-indice ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
.rr-indice a {
  display: block; padding: 6px 8px 6px 10px; border-radius: 6px; border-left: 2px solid transparent;
  font-size: 13.5px; line-height: 1.35; color: var(--casa-cinza, #526278); text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease;
}
.rr-indice a:hover { background: var(--casa-navy-suave, #eef2f7); color: var(--casa-navy, #1b2a4a); }
.rr-indice a.rr-indice-pendente { border-left-color: #b7791f; color: #83540f; font-weight: 600; }
.rr-indice a.rr-indice-pendente::after { content: " (não salvo)"; font-weight: 500; font-size: 12px; }
.rr-indice-nota { margin: 12px 4px 0; font-size: 12.5px; line-height: 1.5; color: var(--casa-cinza-claro, #7d8ca1); }

.rr-folha {
  background: var(--casa-papel, #fff); border: 1px solid var(--casa-linha, #d9e1e9); border-radius: 8px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06); padding: 36px 56px 44px; min-width: 0;
}
.rr-grupo { scroll-margin-top: 16px; }
.rr-grupo + .rr-grupo { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--casa-linha-suave, #e8edf3); }
.rr-grupo-tit {
  font-family: var(--casa-serifa, 'Lora', Georgia, serif); font-size: 21px; font-weight: 600; line-height: 1.3;
  color: var(--casa-navy, #1b2a4a); margin: 0 0 12px; text-wrap: balance;
}
.rr-folha .rr-secao { border: 0; background: transparent; padding: 0; border-radius: 0; }
.rr-folha .rr-secao + .rr-secao { margin-top: 16px; }
.rr-folha .rr-secao-head { margin-bottom: 4px; min-height: 30px; }
.rr-folha .rr-secao-head label {
  font-size: 11.5px; font-weight: 600; letter-spacing: 1.3px; text-transform: uppercase;
  color: var(--casa-acento-tinta, #8a6b28);
}
/* Ações sempre à vista (mais claras até o mouse chegar), para a folha não parecer só leitura. */
.rr-folha .rr-secao-actions { opacity: 0.6; transition: opacity 0.18s ease; }
.rr-folha .rr-secao:hover .rr-secao-actions,
.rr-folha .rr-secao:focus-within .rr-secao-actions,
.rr-folha .rr-secao.rr-editando .rr-secao-actions,
.rr-folha .rr-secao.rr-pendente .rr-secao-actions { opacity: 1; }
.rr-leitura {
  border-left: 2px solid rgba(43, 92, 158, 0.35); padding: 2px 0 2px 16px; cursor: text;
  border-radius: 0 4px 4px 0; transition: background 0.18s ease;
}
.rr-leitura:hover { background: rgba(43, 92, 158, 0.04); }
.rr-leitura p { margin: 0 0 10px; font-size: 15px; line-height: 1.7; color: var(--casa-tinta, #19293d); text-align: justify; hyphens: auto; }
.rr-leitura p:last-child { margin-bottom: 0; }
.rr-leitura .rr-vazio { color: var(--casa-cinza-claro, #7d8ca1); font-style: italic; }
.rr-marca { background: #fff4de; color: #83540f; border-radius: 3px; padding: 0 2px; }
.rr-folha .rr-secao.rr-editando .rr-leitura { display: none; }
.rr-folha .rr-textarea { font-size: 15px; line-height: 1.7; padding: 12px 14px; min-height: 120px; }
@media (max-width: 1100px) {
  .rr-doc { grid-template-columns: minmax(0, 1fr); }
  .rr-indice { position: static; max-height: none; }
  .rr-indice ol { flex-direction: row; flex-wrap: wrap; gap: 4px; }
  .rr-indice a { border: 1px solid var(--casa-linha, #d9e1e9); border-left-width: 1px; padding: 4px 8px; font-size: 12.5px; }
  .rr-indice-nota { display: none; }
  .rr-folha { padding: 24px 22px 28px; }
  .rr-folha .rr-secao-actions { opacity: 1; }
}
@media (max-width: 560px) {
  .rr-folha { padding: 18px 14px 22px; }
  .rr-grupo-tit { font-size: 18px; }
  .rr-leitura { padding-left: 10px; }
  .rr-leitura p { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .rr-indice a, .rr-folha .rr-secao-actions, .rr-leitura { transition: none; }
}

/* Capítulo inteiro: o título da seção já diz o que é; o rótulo fica só para leitor de tela. */
.rr-folha .rr-rotulo-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rr-folha .rr-secao-actions { margin-left: auto; }
/* O índice acompanha a rolagem: o cartão não pode cortar o que transborda. */
#proc-revisao-relatorio .rr-card, #proc-revisao-relatorio .rr-card > .card-body { overflow: visible; }
