/* Identidade visual da Fundacao Garcia d'Avila — Sistema PPF */
:root{
  --pedra:#5b4a36;
  --dourado:#a07d2c;
  --claro:#f3eee4;
  --linha:#cdbf9f;
  --fundo:#faf7f0;
  --verde:#3f7d3a;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  color:#3d3328;
  background:var(--fundo);
  min-height:100vh;
}
header.topo{
  background:#fff;
  border-bottom:2px solid var(--dourado);
  padding:14px 28px;
  display:flex;
  align-items:center;
  gap:16px;
}
header.topo img{height:46px;}
header.topo .titulo{
  font-weight:700;color:var(--pedra);font-size:15px;line-height:1.2;
}
header.topo .titulo small{display:block;color:var(--dourado);font-weight:600;font-size:11px;letter-spacing:1px;}

main{max-width:760px;margin:0 auto;padding:48px 24px;}

.cartao{
  background:#fff;border:1px solid var(--linha);border-radius:10px;
  padding:40px;text-align:center;box-shadow:0 2px 10px rgba(91,74,54,.06);
}
.cartao img.brasao{height:120px;margin-bottom:18px;}
.cartao h1{color:var(--pedra);font-size:26px;margin:6px 0 2px;}
.cartao .sub{color:var(--dourado);font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:600;}

.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:#eef5ec;color:var(--verde);border:1px solid #bcd7b6;
  padding:8px 16px;border-radius:30px;font-weight:600;font-size:14px;margin-top:22px;
}
.badge .ponto{width:10px;height:10px;border-radius:50%;background:var(--verde);
  box-shadow:0 0 0 3px rgba(63,125,58,.18);}

.info{margin-top:26px;color:#6b5d49;font-size:13px;line-height:1.6;}
.info code{background:var(--claro);padding:2px 7px;border-radius:5px;color:var(--pedra);}

.proximos{
  margin-top:30px;text-align:left;background:var(--claro);
  border-left:4px solid var(--dourado);border-radius:0 8px 8px 0;padding:16px 20px;
}
.proximos h2{font-size:14px;color:var(--pedra);margin:0 0 8px;}
.proximos ol{margin:0;padding-left:20px;color:#6b5d49;font-size:13px;line-height:1.7;}
.proximos li.feito{color:var(--verde);font-weight:600;}

footer.rodape{
  text-align:center;color:#8a7a60;font-size:12px;padding:24px;
  border-top:1px solid var(--linha);margin-top:30px;
}

/* menu */
header.topo .menu{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14px;}
header.topo .menu a{color:var(--pedra);text-decoration:none;font-weight:600;}
header.topo .menu a:hover{color:var(--dourado);}
header.topo .menu .quem{color:#8a7a60;font-weight:400;border-left:1px solid var(--linha);padding-left:18px;}
header.topo .menu a.sair{color:#a23b2d;}

/* mensagens flash */
.flash{padding:11px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:600;}
.flash.ok{background:#eef5ec;color:var(--verde);border:1px solid #bcd7b6;}
.flash.erro{background:#fbecea;color:#a23b2d;border:1px solid #e6b9b2;}

/* titulos de pagina */
.pgtit{color:var(--pedra);font-size:22px;margin:0;}
.ajuda{color:#6b5d49;font-size:13px;}
.barra{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap;}

/* botoes e links */
.btn{display:inline-block;background:var(--dourado);color:#fff;border:none;border-radius:7px;
  padding:9px 18px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;}
.btn:hover{background:#8a6a22;}
.link2{background:none;border:none;color:var(--dourado);font-weight:600;font-size:13px;
  cursor:pointer;text-decoration:none;padding:0 6px;}
.link2:hover{text-decoration:underline;}

/* grade de blocos (admin) */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.bloco{background:#fff;border:1px solid var(--linha);border-radius:10px;padding:22px;
  text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:.15s;}
.bloco:hover{border-color:var(--dourado);box-shadow:0 3px 12px rgba(91,74,54,.10);}
.bloco .num{font-size:30px;font-weight:700;color:var(--pedra);}
.bloco .rot{color:var(--dourado);font-weight:600;font-size:14px;}

/* tabelas */
.tab{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--linha);border-radius:8px;overflow:hidden;}
.tab th{background:var(--pedra);color:#fff;text-align:left;padding:10px 12px;font-size:13px;}
.tab td{padding:9px 12px;border-top:1px solid var(--linha);font-size:13.5px;}
.tab tr:nth-child(even) td{background:var(--claro);}
.tab tr.inativo td{opacity:.5;}
.tab .acoes{white-space:nowrap;}
.pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;}
.pill.on{background:#eef5ec;color:var(--verde);}
.pill.off{background:#f0e9df;color:#8a7a60;}
.vazio{color:#8a7a60;background:var(--claro);border:1px dashed var(--linha);border-radius:8px;padding:24px;text-align:center;}

/* formularios */
.formul{display:flex;flex-direction:column;gap:14px;max-width:420px;margin:0 auto;text-align:left;}
.formul.larga{max-width:560px;margin:0;}
.formul label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--pedra);}
.formul input[type=text],.formul input[type=password],.formul select{
  padding:9px 11px;border:1px solid var(--linha);border-radius:7px;font-size:14px;font-weight:400;color:#3d3328;}
.formul input:focus,.formul select:focus{outline:none;border-color:var(--dourado);}
.formul .checkbox{flex-direction:row;align-items:center;gap:8px;font-weight:400;}
.obg{color:#a23b2d;}
fieldset.papeis{border:1px solid var(--linha);border-radius:8px;padding:14px 16px;}
fieldset.papeis legend{color:var(--dourado);font-weight:700;font-size:13px;padding:0 6px;}
.tag{display:inline-block;background:var(--claro);color:var(--pedra);border:1px solid var(--linha);
  border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;margin:2px 3px 2px 0;}
.cartao.login{max-width:380px;margin:30px auto;}
.ou-bio{color:#8a7a60;font-size:12px;margin:14px 0 8px;}
.btn-bio{width:100%;background:#fff;color:var(--pedra);border:1.5px solid var(--dourado);border-radius:8px;
  padding:11px 16px;font-size:15px;font-weight:600;cursor:pointer;}
.btn-bio:hover{background:#fbf6ea;}

/* avisos */
.aviso{background:#fbf6ea;border:1px solid var(--dourado);border-radius:8px;padding:12px 16px;
  font-size:13.5px;color:var(--pedra);margin-bottom:16px;}
.aviso.erro{background:#fbecea;border-color:#e6b9b2;color:#a23b2d;}
.aviso code{background:#fff;padding:1px 6px;border-radius:4px;}

/* secoes de formulario */
h3.sec{color:var(--dourado);font-size:13px;text-transform:uppercase;letter-spacing:1px;
  border-bottom:1px solid var(--linha);padding-bottom:4px;margin:8px 0 2px;}
.dois{display:flex;gap:14px;flex-wrap:wrap;}
.dois>label{flex:1;min-width:180px;}

/* resumo do processo */
.resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px;}
.resumo>div{background:#fff;border:1px solid var(--linha);border-radius:8px;padding:10px 12px;}
.resumo span{display:block;font-size:10px;color:var(--dourado);text-transform:uppercase;font-weight:700;}
.resumo b{color:var(--pedra);font-size:14px;}

/* etapas (stepper) */
.etapa{background:#fff;border:1px solid var(--linha);border-radius:10px;margin-bottom:12px;overflow:hidden;}
.etapa .et-cab{padding:11px 16px;font-weight:700;color:var(--pedra);display:flex;align-items:center;gap:10px;}
.etapa .nb{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--linha);
  color:#fff;align-items:center;justify-content:center;font-size:13px;}
.etapa.feito{border-color:#bcd7b6;}
.etapa.feito .et-cab{background:#eef5ec;color:var(--verde);}
.etapa.feito .nb{background:var(--verde);}
.etapa.ativo{border-color:var(--dourado);box-shadow:0 2px 12px rgba(160,125,44,.15);}
.etapa.ativo .et-cab{background:#fbf6ea;}
.etapa.ativo .nb{background:var(--dourado);}
.etapa.bloq{opacity:.6;}
.etapa .et-corpo{padding:14px 16px;border-top:1px solid var(--linha);font-size:13.5px;}
.etapa .et-corpo .btn{margin-top:10px;}
.etapa .et-corpo label{display:block;margin:8px 0;font-size:13px;font-weight:600;color:var(--pedra);}
.etapa .et-corpo input[type=text],.etapa .et-corpo select{
  padding:7px 9px;border:1px solid var(--linha);border-radius:6px;font-size:13px;width:100%;font-weight:400;}
.mini{width:100%;border-collapse:collapse;margin:6px 0;}
.mini th{background:var(--claro);color:var(--pedra);font-size:11px;padding:5px 7px;text-align:left;border:1px solid var(--linha);}
.mini td{padding:4px 7px;border:1px solid var(--linha);font-size:12.5px;}
.mini input{padding:5px 7px;border:1px solid var(--linha);border-radius:5px;font-size:12.5px;}
label.radio{display:inline-flex;align-items:center;gap:4px;margin-right:12px;font-size:13px;color:var(--pedra);}

/* seleção de esfera (cartões) */
.opcoes-esfera{display:flex;gap:12px;flex-wrap:wrap;}
.cartao-radio{flex:1;min-width:200px;display:flex;align-items:center;gap:10px;cursor:pointer;
  background:#fff;border:1.5px solid var(--linha);border-radius:8px;padding:12px 14px;font-size:14px;color:var(--pedra);}
.cartao-radio:has(input:checked){border-color:var(--dourado);background:#fbf6ea;}
.cartao-radio input{width:18px;height:18px;}

/* painel (dashboard) */
.painel-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.painel-topo .pgtit{margin:0 0 6px;}
.papeis-linha{margin:0;}
.bloco.acao{align-items:flex-start;gap:4px;text-align:left;}
.bloco.acao .ico{font-size:24px;color:var(--dourado);line-height:1;margin-bottom:4px;}
.bloco.acao .rot{font-size:15px;color:var(--pedra);}
.bloco.acao .desc{font-size:12px;color:#8a7a60;font-weight:400;}
.alerta{display:inline-block;background:#a23b2d;color:#fff;font-size:11px;font-weight:700;
  border-radius:20px;padding:1px 7px;margin-left:4px;vertical-align:middle;}

/* responsivo (celular) */
@media (max-width:640px){
  header.topo{padding:10px 14px;gap:10px;flex-wrap:wrap;}
  header.topo img{height:38px;}
  header.topo .titulo{font-size:12.5px;}
  header.topo .titulo small{font-size:10px;letter-spacing:.5px;}
  header.topo .menu{order:3;width:100%;gap:12px;flex-wrap:wrap;font-size:13.5px;
    border-top:1px solid var(--linha);padding-top:8px;}
  header.topo .menu .quem{border-left:none;padding-left:0;width:100%;font-size:12px;}
  main{padding:24px 14px;}
  .cartao{padding:26px 18px;}
  .pgtit{font-size:19px;}
  .grade{grid-template-columns:1fr 1fr;gap:12px;}
  .bloco{padding:16px;}
  .resumo{grid-template-columns:1fr 1fr;}
  .barra{gap:8px;}
  .tab{font-size:13px;}
  .tab th,.tab td{padding:7px 8px;}
  .dois{flex-direction:column;gap:0;}
  /* tabelas largas rolam na horizontal no celular */
  .tab,.mini{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .mini{white-space:nowrap;}
  .mini input{min-width:70px;}
  /* processo: resumo e etapas */
  .resumo>div{padding:8px 10px;}
  .etapa .et-cab{font-size:14px;padding:10px 12px;}
  .etapa .et-corpo{padding:12px;}
  .assin{font-size:11.5px;}
  /* formulários ocupam a largura toda */
  .formul,.formul.larga{max-width:100%;}
  .anexo-form input[type=text]{min-width:140px;}
}
@media (max-width:380px){
  .grade{grid-template-columns:1fr;}
}

/* assinatura eletronica */
.assin{margin-top:8px;background:#faf7f0;border:1px solid var(--linha);border-left:3px solid var(--dourado);
  border-radius:0 6px 6px 0;padding:7px 11px;font-size:12px;color:var(--pedra);}
.assin b{color:var(--pedra);}

/* form de anexo */
.anexo-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;
  background:var(--claro);border:1px solid var(--linha);border-radius:8px;padding:10px;}
.anexo-form input[type=text]{flex:1;min-width:200px;}
.anexo-form input[type=file]{font-size:12px;}
.anexo-opcoes{display:flex;gap:8px;flex-wrap:wrap;}
.btn-foto,.btn-sec{cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  border-radius:8px;padding:10px 14px;font-size:14px;font-weight:600;margin:0;}
.btn-foto{background:var(--dourado);color:#fff;border:none;}
.btn-foto:hover{background:#8a6a22;}
.btn-sec{background:#fff;color:var(--pedra);border:1.5px solid var(--dourado);}
.btn-sec:hover{background:#fbf6ea;}
.anexo-conta{flex-basis:100%;font-size:12px;color:#2f7d32;min-height:14px;}
.anexo-embute{margin:12px 0;padding:10px;border:1px dashed var(--dourado);border-radius:8px;background:#fcfaf3;}
.anexo-tit{font-size:13px;font-weight:700;color:var(--pedra);margin-bottom:8px;}
.anexo-embute .anexo-opcoes{display:flex;gap:8px;flex-wrap:wrap;}
/* cartões de cotação (cada um com seu documento) */
.cotacao-card{border:1px solid var(--linha);border-radius:12px;padding:12px;margin:10px 0;background:#fff;box-shadow:0 2px 8px rgba(91,74,54,.06);}
.cot-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.cot-num{font-weight:700;color:var(--dourado);font-size:14px;}
.doc-cot{margin-top:8px;width:100%;justify-content:center;}
.doc-cont{display:block;font-size:12px;color:#2f7d32;font-weight:600;margin-top:4px;min-height:14px;}
.manter{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--pedra);margin:10px 0;font-weight:600;}
.manter input{width:20px;height:20px;}

/* ============ RELATÓRIOS (mobile-first) ============ */
.rel-ano{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 14px;font-size:13px;color:#6b5d49;}
.pill-ano{background:#fff;border:1px solid var(--linha);border-radius:20px;padding:6px 14px;text-decoration:none;color:var(--pedra);font-weight:600;}
.pill-ano.on{background:var(--dourado);color:#fff;border-color:var(--dourado);}
.rel-sec{background:#fff;border:1px solid var(--linha);border-radius:14px;box-shadow:var(--sombra);padding:16px;margin-bottom:14px;}
.rel-tit{font-size:16px;color:var(--pedra);margin:0 0 12px;line-height:1.3;}
.rel-sub{font-size:13.5px;color:var(--dourado);margin:16px 0 8px;}
.rel-nota{font-size:12px;color:#8a7a60;line-height:1.5;margin:12px 0 0;border-left:3px solid var(--linha);padding-left:10px;}
.rel-rodape{text-align:center;font-size:11px;color:#8a7a60;margin:18px 0;}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.kpi{background:var(--claro);border:1px solid var(--linha);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px;}
.kpi span{font-size:11px;color:#8a7a60;text-transform:uppercase;letter-spacing:.5px;}
.kpi b{font-size:20px;color:var(--pedra);line-height:1.1;}
.kpi small{font-size:11px;color:#8a7a60;}
.kpi.destaque{grid-column:1/-1;background:#fbf6ea;border-color:var(--dourado);}
.kpi.alerta-sim b{color:#a23b2d;}
.sobe{color:#2f7d32;} .desce{color:#a23b2d;}
.legenda{font-size:11px;color:#6b5d49;margin-bottom:10px;}
.lg{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;}
.lg.meta{background:#cdbf9f;} .lg.real{background:var(--dourado);}
.rb{margin:10px 0;}
.rb-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;color:var(--pedra);}
.rb-top b{font-weight:700;} .rb-top b.estouro{color:#a23b2d;}
.rb-val{margin-top:2px;}
.barra-dupla{position:relative;background:#f0ebe0;border-radius:6px;margin-top:5px;min-height:10px;}
.bd{height:10px;border-radius:6px;}
.bd.meta{background:#cdbf9f;}
.bd.real{background:var(--dourado);margin-top:-10px;}
.bd.real.over{background:#a23b2d;}
.colunas{display:flex;align-items:flex-end;gap:4px;height:130px;padding-top:8px;}
.col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;}
.col-bar{width:70%;background:var(--dourado);border-radius:4px 4px 0 0;min-height:3px;}
.col span{font-size:9px;color:#8a7a60;}
@media (min-width:560px){ .kpis{grid-template-columns:repeat(3,1fr);} }
.dica{display:block;color:#8a7a60;font-size:11.5px;font-weight:400;margin-top:3px;}

/* drill-down: elementos clicáveis (sintético -> analítico) */
.rb-link{display:block;text-decoration:none;color:inherit;border-radius:8px;padding:6px;margin:6px -6px;transition:background .15s;}
.rb-link:hover,.rb-link:active{background:#faf7f0;}
.kpi-link{text-decoration:none;cursor:pointer;}
.kpi-link:hover{box-shadow:0 0 0 2px var(--dourado) inset;}
a.col{text-decoration:none;}
.tab tr[onclick]:active{background:#faf7f0;}

/* ===== AUDITORIA ===== */
.aud-resumo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 14px;}
.aud-kpi{background:#fff;border:1px solid var(--linha);border-radius:10px;padding:10px;text-align:center;}
.aud-kpi b{display:block;font-size:22px;}
.aud-kpi span{font-size:10px;color:#8a7a60;text-transform:uppercase;letter-spacing:.4px;}
.aud-card{background:#fff;border:1px solid var(--linha);border-radius:12px;box-shadow:var(--sombra);padding:14px;margin-bottom:12px;}
.sev-alto{border-left:5px solid #a23b2d;} .sev-medio{border-left:5px solid #c98a00;}
.sev-ok{border-left:5px solid #2f7d32;} .sev-info{border-left:5px solid var(--linha);}
.aud-tag{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;color:#fff;}
.tag-alto{background:#a23b2d;} .tag-medio{background:#c98a00;} .tag-ok{background:#2f7d32;} .tag-info{background:#9a8a6a;}
.aud-tec{font-size:11px;color:#8a7a60;font-style:italic;margin:4px 0 8px;}
.aud-card h3{font-size:14.5px;color:var(--pedra);margin:6px 0 2px;}
details.aud-det summary{cursor:pointer;color:var(--dourado);font-weight:600;font-size:13px;margin-top:6px;}
.benford-row{display:flex;align-items:center;gap:6px;font-size:11px;margin:3px 0;}
.benford-row .dg{width:14px;font-weight:700;color:var(--pedra);}
.benbar{flex:1;background:#f0ebe0;border-radius:5px;height:14px;position:relative;}
.benbar .obs{position:absolute;left:0;top:0;height:14px;background:var(--dourado);border-radius:5px;}
.benbar .esp{position:absolute;top:-2px;width:2px;height:18px;background:#a23b2d;}

/* ===== PAINEL — VOLUME DA FUNDAÇÃO ===== */
.volume-bloco{background:linear-gradient(135deg,#5b4a36,#7a6442);color:#fff;border-radius:14px;
  padding:16px 16px 12px;margin:6px 0 14px;box-shadow:var(--sombra);}
.volume-tit{font-weight:700;font-size:14px;letter-spacing:.3px;margin-bottom:10px;}
.volume-tit small{color:#e7d9bd;font-weight:400;}
.volume-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
@media(min-width:560px){ .volume-grid{grid-template-columns:repeat(3,1fr);} }
.vstat{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:10px;
  padding:10px 12px;text-align:center;}
.vstat b{display:block;font-size:26px;line-height:1.1;color:#fff;}
.vstat span{font-size:11px;color:#efe6d2;text-transform:uppercase;letter-spacing:.4px;}
.vstat.destaque{background:var(--dourado);border-color:var(--dourado);}
.vstat.destaque b{font-size:30px;}
.vstat.valor b{font-size:19px;color:#ffe9b8;}
.volume-frase{font-size:12px;color:#f2e9d6;margin:11px 2px 2px;line-height:1.4;}
.bloco.tarefa .ico.contador{background:var(--dourado);color:#fff;border-radius:50%;width:38px;height:38px;
  display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;}

/* busca de processos */
.busca-form{display:flex;gap:8px;align-items:center;margin:10px 0 14px;flex-wrap:wrap;}
.busca-form input[type=search]{flex:1;min-width:200px;padding:11px 12px;border:1px solid var(--linha);
  border-radius:10px;font-size:15px;}
.busca-form input[type=search]:focus{outline:none;border-color:var(--dourado);box-shadow:0 0 0 2px rgba(160,125,44,.2);}

/* tutorial / primeiros passos */
.tutorial-banner{position:relative;background:#fbf6ea;border:1px solid var(--linha);border-left:5px solid var(--dourado);
  border-radius:10px;padding:12px 36px 10px 14px;margin:6px 0 14px;font-size:13.5px;color:var(--pedra);}
.tutorial-banner ol{margin:6px 0 0;padding-left:20px;}
.tutorial-banner li{margin:3px 0;}
.tut-x{position:absolute;top:6px;right:8px;border:none;background:transparent;font-size:22px;line-height:1;
  color:#9a8a6a;cursor:pointer;}

/* mostradores que viram botões (descoberta intuitiva) */
a.vstat{text-decoration:none;color:inherit;cursor:pointer;transition:transform .08s,box-shadow .12s;}
a.vstat:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(160,125,44,.18);}
.resumo.resumo-link a{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .08s,box-shadow .12s;}
.resumo.resumo-link a:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(160,125,44,.16);}
.meses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:4px 0 6px;}
.mes-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  text-decoration:none;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px 8px;
  color:var(--pedra);cursor:pointer;transition:transform .08s,box-shadow .12s,border-color .12s;}
.mes-btn:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(160,125,44,.18);border-color:var(--dourado);}
.mes-btn b{font-size:22px;color:var(--dourado);line-height:1;}
.mes-btn span{font-size:12px;color:#7a6a4e;}
.mes-btn.destaque{background:#fbf6ea;border-color:var(--dourado);}

/* caixa de divergência (slip) na conciliação */
.divbox{margin-top:8px;padding:8px 10px;background:#fff3da;border:1px solid #e7c878;border-radius:8px;font-size:12.5px;color:#6b5320;}
.divbox select,.divbox input[type=text]{font-size:12.5px;padding:4px 6px;border:1px solid #d9c79a;border-radius:6px;}

/* hub de relatórios em botões */
.rel-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:14px 0;}
.rel-cardbtn{display:flex;flex-direction:column;gap:3px;text-decoration:none;background:#fff;
  border:1px solid var(--linha);border-radius:14px;padding:16px;color:var(--pedra);
  transition:transform .08s,box-shadow .12s,border-color .12s;}
.rel-cardbtn:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(160,125,44,.18);border-color:var(--dourado);}
.rel-cardbtn.on{background:#fbf6ea;border-color:var(--dourado);}
.rel-cardbtn .ic{font-size:26px;line-height:1;}
.rel-cardbtn b{font-size:15px;}
.rel-cardbtn small{color:#8a7a60;font-size:12px;}

/* =================== MODERNIZAÇÃO MOBILE / TOUCH (v2) =================== */
:root{ --raio:14px; --sombra:0 6px 22px rgba(91,74,54,.10); --foco:0 0 0 3px rgba(160,125,44,.22); }
html{ -webkit-text-size-adjust:100%; }
body{ font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",Inter,Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a,button,input,select,textarea,label,.btn,.tab-item,.bloco,.btn-foto,.btn-sec,.cartao-radio{
  -webkit-tap-highlight-color:transparent; }
button,.btn,a.btn,.btn-foto,.btn-sec,.tab-item,.bloco,.cartao-radio,.link2{
  touch-action:manipulation; transition:transform .12s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease; }

/* botões maiores e com resposta ao toque */
.btn,a.btn{ min-height:46px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px; padding:12px 20px; font-size:15px;
  background:linear-gradient(180deg,#b08a33,#9a7327); box-shadow:0 3px 10px rgba(160,125,44,.30); }
.btn:hover,a.btn:hover{ background:linear-gradient(180deg,#9a7327,#876320); }
.btn:active,.btn-foto:active,.btn-sec:active,.cartao-radio:active{ transform:scale(.97); }
.bloco:active{ transform:scale(.985); }
.btn-foto,.btn-sec{ min-height:46px; border-radius:12px; }

/* campos: 16px evita zoom automático no iOS; alvo de toque confortável */
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],
input[type=tel],select,textarea,
.etapa .et-corpo input[type=text],.etapa .et-corpo select{
  font-size:16px; min-height:46px; border-radius:11px; padding:12px 13px;
  border:1.5px solid var(--linha); background:#fff; -webkit-appearance:none; appearance:none; }
select{ background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23a07d2c' stroke-width='2'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
input:focus,select:focus,textarea:focus{ outline:none; border-color:var(--dourado); box-shadow:var(--foco); }
.mini input{ font-size:15px; min-height:40px; border-radius:9px; }

/* cartões/blocos com sombra suave e cantos modernos */
.bloco,.cartao{ border-radius:var(--raio); box-shadow:var(--sombra); }
.bloco.acao .ico{ font-size:28px; }

/* linhas de tabela clicáveis com leve realce ao toque */
.tab tbody tr:active{ background:#fbf6ea; }

/* barra inferior estilo aplicativo (só no celular/tablet) */
.tabbar{ display:none; }
@media (max-width:820px){
  .tabbar{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:rgba(255,255,255,.93); backdrop-filter:saturate(180%) blur(14px);
    -webkit-backdrop-filter:saturate(180%) blur(14px);
    border-top:1px solid var(--linha); box-shadow:0 -6px 22px rgba(91,74,54,.10);
    justify-content:space-around; align-items:flex-end;
    padding:7px 6px calc(7px + env(safe-area-inset-bottom)); }
  .tab-item{ flex:1; display:flex; flex-direction:column; align-items:center; gap:3px;
    text-decoration:none; color:#9a8a70; font-size:11px; font-weight:600; padding:5px 2px; border-radius:14px; }
  .tab-item .ti{ font-size:22px; line-height:1; }
  .tab-item.on{ color:var(--dourado); }
  .tab-item.on .ti{ transform:translateY(-1px); }
  .tab-item:active{ transform:scale(.9); }
  .tab-fab{ color:var(--pedra); }
  .tab-fab .ti{ width:52px; height:52px; margin-top:-22px; border-radius:50%;
    background:linear-gradient(180deg,#b58e33,#956f24); color:#fff; font-size:28px; font-weight:300;
    display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px rgba(160,125,44,.50);
    border:3px solid #fff; }
  main{ padding-bottom:96px; }                 /* espaço para a barra inferior */
  footer.rodape{ margin-bottom:72px; }
  /* no celular os principais ficam na barra inferior; topo vira pílulas roláveis só com secundários */
  header.topo .menu{ order:3; width:100%; gap:8px; flex-wrap:nowrap; overflow-x:auto;
    -webkit-overflow-scrolling:touch; border-top:1px solid var(--linha); padding-top:10px; scrollbar-width:none; }
  header.topo .menu::-webkit-scrollbar{ display:none; }
  header.topo .menu a.mp{ display:none; }       /* já estão na barra inferior */
  header.topo .menu a.ms,header.topo .menu a.sair{
    white-space:nowrap; background:var(--claro); border:1px solid var(--linha);
    padding:9px 14px; border-radius:20px; font-size:14px; }
  header.topo .menu a.sair{ background:#fbecea; border-color:#e6b9b2; }
  header.topo .menu .quem{ display:none; }
  /* botões primários ocupam a largura no celular (mais fáceis de tocar) */
  .etapa .et-corpo .btn,.formul .btn,form .btn{ width:100%; }
  .barra .btn{ width:auto; }
}

/* respeita quem prefere menos animação */
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } }

/* ===== Lote 7: atalho pagar, gamificação, gráfico, ajuda, tema escuro ===== */
/* atalho pagar agora */
.pagar-agora{display:flex;align-items:center;gap:14px;text-decoration:none;
  background:linear-gradient(135deg,#a07d2c,#8a6a22);color:#fff;border-radius:14px;padding:16px 18px;
  margin:8px 0 14px;box-shadow:0 4px 16px rgba(160,125,44,.3);}
.pagar-agora:hover{filter:brightness(1.06);}
.pa-ic{font-size:30px;} .pa-txt{display:flex;flex-direction:column;flex:1;}
.pa-txt b{font-size:17px;} .pa-txt small{opacity:.92;font-size:12.5px;} .pa-seta{font-size:24px;}

/* gamificação leve */
.gami{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 14px;}
.selo{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--linha);
  border-radius:12px;padding:12px 14px;flex:1;min-width:200px;}
.selo-ic{font-size:30px;} .selo b{display:block;color:var(--pedra);} .selo small{color:#8a7a60;font-size:12px;}
.prog{flex:2;min-width:220px;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px 14px;}
.prog-top{display:flex;justify-content:space-between;font-size:13px;color:var(--pedra);} .prog-top b{color:var(--dourado);}
.prog-bar{height:10px;background:#eee4cf;border-radius:6px;overflow:hidden;margin:6px 0 4px;}
.prog-fill{height:100%;background:linear-gradient(90deg,#a07d2c,#3f7d3a);border-radius:6px;transition:width .6s;}
.prog small{color:#8a7a60;font-size:11.5px;}

/* mini-gráfico de meses */
.mini-graf{display:flex;align-items:flex-end;gap:8px;height:96px;margin:6px 0 10px;padding:4px;}
.mg-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;text-decoration:none;gap:3px;}
.mg-n{font-size:11px;color:var(--pedra);font-weight:700;}
.mg-bar{width:62%;min-height:3px;background:linear-gradient(180deg,#c79a3a,#a07d2c);border-radius:5px 5px 0 0;transition:height .5s;}
.mg-col:hover .mg-bar{filter:brightness(1.12);}
.mg-lab{font-size:11px;color:#8a7a60;}

/* botão de ajuda flutuante */
.help-fab{position:fixed;right:16px;bottom:80px;z-index:60;width:50px;height:50px;border-radius:50%;
  border:none;background:var(--dourado);color:#fff;font-size:24px;font-weight:700;cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.28);}
.help-fab:hover{filter:brightness(1.07);} .help-fab.on{background:var(--pedra);}
.help-panel{position:fixed;right:16px;bottom:140px;z-index:60;width:300px;max-width:calc(100vw - 32px);
  background:#fff;border:1px solid var(--linha);border-radius:14px;box-shadow:0 10px 34px rgba(0,0,0,.24);overflow:hidden;}
.help-head{display:flex;justify-content:space-between;align-items:center;background:var(--dourado);color:#fff;padding:10px 14px;}
.help-x{background:transparent;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1;}
.help-body{padding:10px 12px;display:flex;flex-direction:column;gap:6px;}
.help-item{text-align:left;background:#faf7f0;border:1px solid var(--linha);border-radius:8px;padding:9px 10px;
  font-size:13.5px;color:var(--pedra);cursor:pointer;text-decoration:none;}
.help-item:hover{border-color:var(--dourado);background:#fbf6ea;}
.help-item.link{background:var(--claro);font-weight:600;}
.help-tip{background:#eef6ee;border:1px solid #bcd8ba;border-radius:8px;padding:9px 10px;font-size:13px;color:#2f5a2c;}
.help-pref{display:flex;gap:8px;margin-top:4px;}
.help-toggle{flex:1;background:#fff;border:1px solid var(--linha);border-radius:8px;padding:8px;font-size:13px;cursor:pointer;color:var(--pedra);}
.help-toggle.on{background:var(--dourado);color:#fff;border-color:var(--dourado);}

/* acessibilidade: fonte maior */
html.fonte-g body{font-size:17px;}
html.fonte-g table.tab td,html.fonte-g table.tab th{font-size:15px;}
html.fonte-g input,html.fonte-g select,html.fonte-g textarea,html.fonte-g .btn{font-size:16px;}
html.fonte-g .ajuda,html.fonte-g .desc,html.fonte-g .aud-tec{font-size:14px;}

/* modo escuro */
html.dark{--pedra:#e8dcc4;--claro:#2a2620;--linha:#473f31;--fundo:#1b1813;--dourado:#cda959;}
html.dark body{background:#1b1813;color:#e9e2d3;}
html.dark header.topo{background:#241f18;border-bottom-color:#cda959;}
html.dark header.topo .titulo{color:#e8dcc4;}
html.dark .bloco,html.dark .cartao,html.dark .volume-bloco,html.dark .resumo>div,
html.dark .resumo.resumo-link a,html.dark .mes-btn,html.dark .rel-cardbtn,html.dark a.vstat,html.dark .vstat,
html.dark .aviso,html.dark table.tab,html.dark .tabbar,html.dark .help-panel,html.dark .help-item,
html.dark .gami,html.dark .selo,html.dark .prog,html.dark .rel-sec,html.dark .cotacao-card,
html.dark .help-toggle{background:#241f18;color:#e9e2d3;border-color:#473f31;}
html.dark table.tab th{background:#2c261d;color:#e8dcc4;}
html.dark table.tab td{border-color:#3a3329;}
html.dark input,html.dark select,html.dark textarea{background:#1f1b15;color:#e9e2d3;border-color:#473f31;}
html.dark .prog-bar{background:#3a3329;}
html.dark a{color:#d8b765;}
html.dark .rodape,html.dark small,html.dark .ajuda,html.dark .desc,html.dark .mg-lab,html.dark .selo small{color:#b3a584;}
html.dark .tab-item{color:#cdbf9f;}
html.dark .help-tip{background:#22301f;border-color:#3c5a39;color:#bfe0bb;}

/* conquistas por pessoa */
.conq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:6px 0 10px;}
.conq{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--linha);
  border-radius:12px;padding:12px 13px;}
.conq.off{opacity:.62;}
.conq-ic{font-size:28px;line-height:1;}
.conq-txt{flex:1;min-width:0;} .conq-txt b{display:block;color:var(--pedra);font-size:14px;}
.conq-n{font-size:12.5px;color:var(--dourado);font-weight:700;}
.conq-bar{height:7px;background:#eee4cf;border-radius:5px;overflow:hidden;margin:5px 0 3px;}
.conq-fill{height:100%;background:linear-gradient(90deg,#c79a3a,#3f7d3a);border-radius:5px;transition:width .6s;}
.conq small{color:#8a7a60;font-size:11px;}
.conq.on{border-color:var(--dourado);box-shadow:0 2px 10px rgba(160,125,44,.12);}
html.dark .conq{background:#241f18;border-color:#473f31;}
html.dark .conq-bar{background:#3a3329;}

/* quadro de honra do mês */
.honra{display:flex;flex-direction:column;gap:8px;margin:6px 0;}
.honra-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--linha);
  border-radius:12px;padding:10px 14px;}
.honra-row.eu{border-color:var(--dourado);background:#fbf6ea;}
.honra-pos{font-size:22px;min-width:34px;text-align:center;font-weight:700;color:var(--pedra);}
.honra-mid{flex:1;min-width:0;}
.honra-nome{font-size:14px;color:var(--pedra);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.honra-voce{background:var(--dourado);color:#fff;font-size:10px;padding:1px 6px;border-radius:8px;font-weight:700;}
.honra-bar{height:8px;background:#eee4cf;border-radius:5px;overflow:hidden;margin-top:5px;}
.honra-fill{height:100%;background:linear-gradient(90deg,#c79a3a,#a07d2c);border-radius:5px;transition:width .6s;}
.honra-n{text-align:right;color:var(--dourado);font-weight:700;font-size:16px;line-height:1;}
.honra-n small{display:block;color:#8a7a60;font-weight:400;font-size:10px;}
html.dark .honra-row{background:#241f18;border-color:#473f31;}
html.dark .honra-row.eu{background:#2c2616;}
html.dark .honra-bar{background:#3a3329;}

/* destaque por função (quadro de honra por papel) */
.sec-sub{margin:6px 0 4px;color:var(--pedra);font-size:15px;}
.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:4px 0 8px;}
.dest{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:10px 12px;}
.dest.eu{border-color:var(--dourado);background:#fbf6ea;}
.dest-ic{font-size:24px;line-height:1;}
.dest-txt{display:flex;flex-direction:column;min-width:0;}
.dest-txt small{color:#8a7a60;font-size:11px;}
.dest-txt b{color:var(--pedra);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dest-n{font-size:11px;color:var(--dourado);font-weight:700;}
html.dark .dest{background:#241f18;border-color:#473f31;}
html.dark .dest.eu{background:#2c2616;}

/* conquista de constância */
.constancia{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff3da,#fbe9c2);
  border:1px solid #e7c878;border-radius:12px;padding:11px 14px;margin:4px 0 10px;}
.cons-ic{font-size:28px;line-height:1;}
.cons-txt b{display:block;color:#6b5320;font-size:15px;}
.cons-txt small{color:#8a7a60;font-size:12px;}
html.dark .constancia{background:#2c2616;border-color:#5a4a2a;}
html.dark .cons-txt b{color:#e8cf8f;}

/* botão WhatsApp (clique para enviar) */
.btn-wa{display:inline-block;background:#25d366;color:#fff;text-decoration:none;font-weight:700;
  font-size:13px;padding:8px 12px;border-radius:8px;white-space:nowrap;}
.btn-wa:hover{background:#1eb858;}
html.dark .btn-wa{color:#0b2e16;}

/* abas: mês de processamento × meses já fechados */
.abas-mes{display:flex;gap:8px;margin:8px 0 14px;flex-wrap:wrap;}
.aba{text-decoration:none;background:#fff;border:1px solid var(--linha);border-radius:10px;
  padding:9px 14px;color:var(--pedra);font-weight:600;font-size:14px;transition:all .1s;}
.aba:hover{border-color:var(--dourado);}
.aba.on{background:var(--dourado);color:#fff;border-color:var(--dourado);}
html.dark .aba{background:#241f18;border-color:#473f31;}
html.dark .aba.on{background:var(--dourado);color:#241f18;}

/* termo de responsabilidade */
.termo-box{background:#fff;border:1px solid var(--linha);border-left:5px solid var(--dourado);
  border-radius:12px;padding:16px 18px;max-height:50vh;overflow:auto;font-size:14px;line-height:1.5;color:var(--pedra);}
.termo-box ol{padding-left:20px;} .termo-box li{margin:7px 0;}
html.dark .termo-box{background:#241f18;border-color:#473f31;}

/* quadro de assinatura digital (dedo) */
.assin-wrap{position:relative;display:inline-block;margin-top:6px;max-width:100%;}
#assin-cv{border:1px solid var(--linha);border-radius:10px;background:#fff;touch-action:none;cursor:crosshair;
  width:100%;max-width:640px;height:auto;display:block;}
.assin-linha{position:absolute;left:18px;right:18px;bottom:42px;border-top:1px dashed #b9a87f;}
/* faixa global: fase de testes */
.faixa-teste{background:#a23b2d;color:#fff;text-align:center;font-size:12.5px;font-weight:600;
  padding:5px 10px;letter-spacing:.3px;}
html.dark .faixa-teste{background:#7d2b20;}

/* ===== Caixa de mensagens (recados) ===== */
.recado-form{display:flex;flex-direction:column;gap:8px;margin:6px 0 16px;}
.recado-form textarea{width:100%;border:1px solid var(--linha);border-radius:10px;padding:10px;font-size:14px;resize:vertical;}
.recado-form .btn{align-self:flex-start;}
.recados-lista{display:flex;flex-direction:column;gap:10px;}
.recado{background:#fff;border:1px solid var(--linha);border-left:4px solid var(--dourado);border-radius:12px;
  padding:11px 14px;position:relative;animation:rec-in .3s ease;}
.recado.feito{opacity:.6;border-left-color:#2f7d32;}
.recado.feito .recado-txt{text-decoration:line-through;}
.recado-cab{display:flex;justify-content:space-between;align-items:baseline;gap:8px;}
.recado-cab b{color:var(--pedra);} .recado-cab small{color:#8a7a60;}
.recado-txt{margin:5px 0;color:#3d3328;white-space:pre-wrap;}
.recado-acao{margin:0;}
@keyframes rec-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
html.dark .recado{background:#241f18;border-color:#473f31;border-left-color:var(--dourado);}
html.dark .recado-txt{color:#e9e2d3;}
html.dark .recado-form textarea{background:#1f1b15;color:#e9e2d3;border-color:#473f31;}

/* badge de recados (pulsa) */
.badge-rec{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;
  background:#a23b2d;color:#fff;border-radius:9px;font-size:11px;font-weight:700;padding:0 5px;margin-left:4px;
  animation:rec-pulse 1.4s infinite;}
.tab-badge{position:absolute;transform:translate(8px,-8px);}
@keyframes rec-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.tab-badge{animation:rec-pulse 1.4s infinite;}

/* toast animado ao abrir o sistema com recados novos */
.rec-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);z-index:70;display:flex;
  align-items:center;gap:10px;text-decoration:none;background:var(--dourado);color:#fff;
  padding:11px 16px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.28);
  animation:toast-bounce .6s cubic-bezier(.2,1.3,.4,1);}
.rec-toast .rec-toast-ic{font-size:24px;animation:rec-shake 1s ease 2;}
.rec-toast span span,.rec-toast small{display:block;font-size:11.5px;opacity:.92;font-weight:400;}
.rec-toast.saindo{animation:toast-out .4s forwards;}
@keyframes toast-bounce{0%{transform:translateX(-50%) translateY(80px);opacity:0}100%{transform:translateX(-50%) translateY(0);opacity:1}}
@keyframes toast-out{to{transform:translateX(-50%) translateY(80px);opacity:0}}
@keyframes rec-shake{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}

/* ===== Onda 1: destravadores do jovem ===== */
/* tooltip "?" */
.tip{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;
  background:var(--dourado);color:#fff;font-size:11px;font-weight:700;cursor:help;vertical-align:middle;}
/* bloco avançado (classificação recolhível) */
.bloco-avancado{border:1px solid var(--linha);border-radius:12px;padding:6px 12px;margin:8px 0;background:#fff;}
.bloco-avancado>summary{cursor:pointer;font-weight:700;color:var(--pedra);padding:6px 0;font-size:15px;}
.bloco-avancado>summary small{font-weight:400;color:#8a7a60;}
html.dark .bloco-avancado{background:#241f18;border-color:#473f31;}
/* acessibilidade no cabeçalho */
.acess-top{display:flex;gap:6px;margin-left:auto;}
.acess-btn{background:#fff;border:1px solid var(--linha);border-radius:8px;padding:5px 9px;font-size:13px;
  font-weight:700;color:var(--pedra);cursor:pointer;}
.acess-btn:hover{border-color:var(--dourado);}
html.dark .acess-btn{background:#241f18;color:#e8dcc4;border-color:#473f31;}
/* microcelebração */
.flash.ok.flash-celebra{animation:celebra-flash .5s ease;}
@keyframes celebra-flash{0%{transform:scale(.96);}50%{transform:scale(1.02);}100%{transform:scale(1);}}
.celebra-pop{position:fixed;left:50%;top:38%;z-index:90;
  background:var(--dourado);color:#fff;font-size:22px;font-weight:800;padding:14px 26px;border-radius:16px;
  box-shadow:0 10px 34px rgba(0,0,0,.3);transform:translate(-50%,-50%) scale(0);animation:celebra-in .45s cubic-bezier(.2,1.4,.4,1) forwards;}
.celebra-pop.saindo{animation:celebra-out .5s forwards;}
@keyframes celebra-in{to{transform:translate(-50%,-50%) scale(1);}}
@keyframes celebra-out{to{opacity:0;transform:translate(-50%,-60%) scale(.9);}}
/* resumo humano do termo */
.termo-resumo{background:#eef6ee;border:1px solid #bcd8ba;border-radius:12px;padding:12px 16px;margin-bottom:10px;color:#2f5a2c;}
.termo-resumo ul{margin:6px 0;padding-left:18px;} .termo-resumo li{margin:4px 0;}
details.termo-box>summary{cursor:pointer;font-weight:700;color:var(--dourado);padding:4px 0;}
html.dark .termo-resumo{background:#22301f;border-color:#3c5a39;color:#bfe0bb;}

/* Acessibilidade: skip-link (Onda 6/Fase 5) — visível só ao focar pelo teclado */
.skip-link{position:absolute;left:-999px;top:0;background:var(--dourado,#a07d2c);color:#fff;
  padding:8px 14px;z-index:9999;border-radius:0 0 6px 0;font-weight:700;}
.skip-link:focus{left:0;}

/* Onda 7/Bloco A: lista de pendências acionável do processo suspenso */
.pend-lista{margin:6px 0 4px;padding-left:20px;}
.pend-lista li{margin:6px 0;line-height:1.4;}
.pend-lista li a.link2{margin-left:6px;white-space:nowrap;}

/* Onda 7/Bloco B: documentos — meta, status e visualizador embutido */
.ver-doc{background:none;border:none;color:var(--dourado);font:inherit;font-weight:600;cursor:pointer;padding:0;text-align:left;}
.ver-doc:hover{text-decoration:underline;}
.anexo-meta{color:#8a7a60;margin-left:6px;font-size:12px;white-space:nowrap;}
.anexos-tab tr.anexo-ruim{background:#fbecea;}
.link-excluir{background:none;border:none;cursor:pointer;font-size:15px;opacity:.55;padding:4px;}
.link-excluir:hover{opacity:1;}
.doc-modal{position:fixed;inset:0;background:rgba(20,15,5,.62);z-index:1000;display:flex;
  align-items:center;justify-content:center;padding:12px;}
.doc-modal[hidden]{display:none;}
.doc-modal-cx{background:var(--papel,#fff);border-radius:10px;width:min(960px,100%);height:min(92vh,100%);
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.4);}
.doc-modal-top{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;padding:8px 12px;
  /* respeita o notch/status bar do app instalado (PWA) — senao o ✕ fica embaixo da area do sistema */
  padding-top:calc(8px + env(safe-area-inset-top));
  background:var(--claro,#f4efe3);border-bottom:1px solid var(--linha,#e2d8c4);
  position:sticky;top:0;z-index:3;}
.doc-modal-tit{font-weight:700;flex:1;min-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.doc-modal-val{color:#1a5;font-size:14px;white-space:nowrap;}
.btn-fechar-doc{background:#a23b2d;color:#fff;border:none;font-size:15px;font-weight:700;cursor:pointer;
  line-height:1;border-radius:8px;padding:11px 14px;min-height:44px;white-space:nowrap;flex:none;}
.btn-fechar-doc:hover{background:#8f3025;}
.doc-modal-frame{border:0;width:100%;flex:1;background:#525659;}
html.dark .doc-modal-cx{background:#1e1a12;}
@media(max-width:640px){ .doc-modal-cx{height:100vh;height:100dvh;border-radius:0;width:100%;}
  .doc-modal{padding:0;} .doc-modal-val{display:none;} #docNova{display:none;} }

/* Onda 7: itens da cotação (tabela editável + OCR) */
.cot-itens{margin:8px 0;}
.cot-itens>summary{cursor:pointer;font-weight:600;color:var(--dourado);}
.cot-itens>summary small{font-weight:400;color:#8a7a60;}
.itens-wrap{overflow-x:auto;}
.itens-tab{width:100%;border-collapse:collapse;margin:6px 0;font-size:14px;}
.itens-tab th{text-align:left;color:#8a7a60;font-weight:600;padding:2px 4px;white-space:nowrap;}
.itens-tab td{padding:2px 3px;}
.itens-tab .it-desc{width:100%;min-width:140px;}
.itens-tab .it-qtd{width:60px;} .itens-tab .it-unit,.itens-tab .it-sub{width:90px;}
.itens-tab input{padding:6px 7px;}
.it-rm{background:none;border:none;cursor:pointer;font-size:14px;opacity:.6;}
.it-rm:hover{opacity:1;}
.itens-soma{display:inline-block;margin-left:8px;font-weight:700;color:#1a5;}
.cot-itens-ro{margin:6px 0;} .cot-itens-ro>summary{cursor:pointer;color:var(--dourado);font-weight:600;}

/* Onda 7/Bloco B: overlay "Abrindo documento" sobre o visor pdf.js */
.doc-modal-area{position:relative;flex:1;display:flex;min-height:0;}
.doc-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;
  background:#525659;color:#fff;font-weight:600;font-size:15px;z-index:2;}
.doc-spin{width:18px;height:18px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;
  border-radius:50%;animation:doc-rot .8s linear infinite;}
@keyframes doc-rot{to{transform:rotate(360deg)}}
