/* ============================================================
   REDES.LAB ON · Folha do relatório parcial (decisão 17)
   Correções de leiaute da caixa + estados finais do fluxo.
   Complementa .rp-* de layout.css; carregado via link no
   index.html (o módulo relatorio.jsx injeta como fallback).
   ============================================================ */

/* A caixa: altura em dvh para o Android com barra de endereço
   dinâmica não clipar o rodapé. */
.sb-modal.rp-modal{
  max-height:90vh;
  max-height:90dvh;
}

/* A área de conteúdo é quem rola. min-height:0 é o conserto do
   corte: sem ele o filho flex não encolhe, estoura a caixa
   (overflow:hidden) e o fim da lista some sem scrollbar. */
.rp-modal .rp-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:28px;
}

/* Os filhos da área rolável não encolhem. Sem isto o flexbox
   espremia os cartões para caber na caixa e o overflow:hidden
   do .rp-pub comia o fim do conteúdo (o corte relatado). */
.rp-modal .rp-body>*{flex:0 0 auto;}

/* Rodapé fixo da folha: dica do que falta + ações. */
.rp-foot{flex-wrap:wrap;row-gap:10px;}
.rp-foot-dica{font-size:11px;}
.rp-foot-acoes{display:flex;align-items:center;gap:10px;margin-left:auto;}

/* Confirmação de envio */
.rp-envio{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:6px;padding:44px 24px 40px;
}
.rp-envio-ico{
  width:64px;height:64px;border-radius:50%;
  background:var(--verde-vivo);color:#04323d;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;box-shadow:0 12px 30px -8px var(--verde-vivo);
  animation:rlPop .3s ease both;
}
.rp-envio-t{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--ink);}
.rp-envio-s{font-size:12.5px;line-height:1.6;color:var(--body-soft);max-width:360px;}

/* Cartão de notificação no estado concluído */
.rp-notif.rp-notif-ok{border-left-color:var(--verde-vivo);}
.rp-notif-ico.ok{
  background:color-mix(in srgb,var(--verde-vivo) 20%,transparent);
  color:#22697A;
}
html[data-mode="escuro"] .rp-notif-ico.ok{color:var(--verde-vivo);}

/* Mobile (mesmo breakpoint do softbox): folha ancorada embaixo,
   altura dinâmica e área segura do gesto do Android/iOS. */
@media (max-width:680px){
  .sb-modal.rp-modal{
    max-height:94vh;
    max-height:94dvh;
  }
  .rp-modal .rp-body{padding-bottom:32px;}
  .rp-modal .sb-foot{
    padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));
  }
}

/* Viewports estreitos (390px): dica em linha própria, ações
   nunca espremidas nem cortadas. */
@media (max-width:460px){
  .rp-foot{justify-content:flex-end;}
  .rp-foot-dica{flex:1 1 100%;}
  .rp-foot-acoes{margin-left:0;width:100%;justify-content:flex-end;flex-wrap:wrap;}
}
