:root{
  --preto:#111214; --grafite:#2a2c30; --cinza:#6b6f76; --cinza-claro:#d9dbde; --fundo:#f4f5f6;
  --branco:#fff; --ok:#1f7a4d; --erro:#b3261e; --info:#3c4a5c; --destaque:#111214;
  --raio:10px; --sombra:0 1px 2px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.05);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--preto);background:var(--fundo);line-height:1.5;font-size:16px}
a{color:var(--preto)}
h1,h2,h3{line-height:1.2;margin:0 0 .6em}
h1{font-size:1.9rem;letter-spacing:-.01em}
h2{font-size:1.35rem}
h3{font-size:1.05rem}
p{margin:0 0 1em}
small,.muted{color:var(--cinza)}

/* Topo */
.topo{background:var(--preto);color:#fff;position:sticky;top:0;z-index:20}
.topo-in{max-width:1180px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:16px}
.marca{color:#fff;text-decoration:none;display:flex;align-items:baseline;gap:8px}
.marca-r{font-weight:800;letter-spacing:.18em;font-size:1.05rem}
.marca-p{color:#b9bcc1;font-size:.95rem}
.nav{margin-left:auto;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.nav a{color:#e6e7e9;text-decoration:none;font-size:.95rem}
.nav a:hover{color:#fff;text-decoration:underline}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid #555;color:#fff;border-radius:6px;padding:4px 10px;font-size:1.1rem}
@media (max-width:820px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--preto);flex-direction:column;align-items:flex-start;padding:12px 16px 18px}
  .menu-aberto .nav{display:flex}
}

/* Conteúdo */
.conteudo{max-width:1180px;margin:0 auto;padding:28px 16px 48px}
.estreito{max-width:460px;margin:40px auto;padding:0 16px}
.medio{max-width:860px;margin:0 auto;padding:28px 16px 48px}
.cartao{background:var(--branco);border:1px solid var(--cinza-claro);border-radius:var(--raio);padding:22px;box-shadow:var(--sombra)}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.grade-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.secao{margin:34px 0 14px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.secao h2{margin:0}

/* Cartões de ferramenta */
.ferr{display:block;text-decoration:none;background:#fff;border:1px solid var(--cinza-claro);border-radius:var(--raio);padding:16px 16px 14px;transition:border-color .15s, transform .15s;position:relative;min-height:112px}
.ferr:hover{border-color:var(--preto);transform:translateY(-1px)}
.ferr h3{margin:0 0 6px;font-size:1rem}
.ferr p{margin:0;color:var(--cinza);font-size:.9rem}
.selo{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:2px 8px;background:#eceef0;color:var(--grafite);margin-bottom:8px}
.selo-isca{background:#e3f1ea;color:#1f6a45}
.selo-calc{background:var(--preto);color:#fff}
.selo-breve{background:#f3ece0;color:#7a5a1f}
.ferr.breve{opacity:.65;cursor:default}
.ferr.breve:hover{transform:none;border-color:var(--cinza-claro)}

/* Formulários */
label{display:block;font-weight:600;font-size:.9rem;margin:12px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=month],input[type=tel],input[type=search],select,textarea{
  width:100%;padding:10px 12px;border:1px solid #c5c8cc;border-radius:8px;font:inherit;background:#fff;color:var(--preto)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--preto);outline-offset:0;border-color:var(--preto)}
.linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 14px}
.check{display:flex;gap:8px;align-items:flex-start;font-weight:400;margin:10px 0}
.check input{margin-top:4px}
.btn{display:inline-block;background:var(--preto);color:#fff;border:1px solid var(--preto);border-radius:8px;padding:10px 18px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{background:#000}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-claro{background:#fff;color:var(--preto)!important;border-color:#fff}
.btn-sec{background:#fff;color:var(--preto);border-color:#a9adb2}
.btn-sec:hover{background:#f0f1f2}
.btn-peq{padding:5px 10px;font-size:.85rem}
.btn-bloco{display:block;width:100%;text-align:center}
.acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

/* Avisos */
.aviso{border-radius:8px;padding:12px 14px;margin:0 0 16px;border:1px solid}
.aviso-ok{background:#e9f5ef;border-color:#b6dcc7;color:#14532d}
.aviso-erro{background:#fbeceb;border-color:#efc1bd;color:#7f1d1d}
.aviso-info{background:#eef1f5;border-color:#cdd5df;color:var(--info)}
.faixa-plano{background:#fff;border:1px dashed #a9adb2;border-radius:8px;padding:10px 14px;margin:0 0 18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;font-size:.92rem}

/* Tabelas */
.tabela-wrap{overflow-x:auto;margin:12px 0}
table{border-collapse:collapse;width:100%;background:#fff;font-size:.9rem}
th,td{border-bottom:1px solid #e3e5e8;padding:7px 10px;text-align:left;vertical-align:top}
th{background:#f0f1f3;font-weight:700;white-space:nowrap}
td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
tr.total td{font-weight:700;background:#f7f7f8}

/* Resultado */
.resultado{margin-top:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0}
.kpi{background:#fff;border:1px solid var(--cinza-claro);border-radius:8px;padding:12px}
.kpi span{display:block;font-size:.8rem;color:var(--cinza)}
.kpi strong{font-size:1.25rem;font-variant-numeric:tabular-nums}
.kpi.forte{background:var(--preto);color:#fff;border-color:var(--preto)}
.kpi.forte span{color:#c9ccd1}

/* Área de arquivos */
.soltar{border:2px dashed #a9adb2;border-radius:var(--raio);background:#fff;padding:28px;text-align:center;cursor:pointer}
.soltar.sobre{border-color:var(--preto);background:#f7f7f8}
.lista-arq{list-style:none;padding:0;margin:12px 0}
.lista-arq li{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--cinza-claro);border-radius:8px;padding:8px 10px;margin-bottom:6px}
.lista-arq li .nome{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.miniaturas{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.miniaturas figure{margin:0;background:#fff;border:1px solid var(--cinza-claro);border-radius:8px;padding:8px;width:170px;text-align:center}
.miniaturas canvas,.miniaturas img{max-width:100%;height:auto;display:block;margin:0 auto 6px}
.miniaturas figcaption{font-size:.8rem;color:var(--cinza);display:flex;gap:4px;justify-content:center;flex-wrap:wrap}

/* Editor */
.paginas-editor{display:flex;flex-direction:column;gap:18px;align-items:center;margin-top:16px}
.pagina-ed{position:relative;box-shadow:var(--sombra);background:#fff;max-width:100%}
.pagina-ed canvas{display:block;max-width:100%;height:auto}
.anot{position:absolute;cursor:move;border:1px dashed transparent;line-height:1.15;white-space:pre;user-select:none;touch-action:none}
.anot:hover,.anot.sel{border-color:#2563eb}
.anot img{display:block;width:100%;height:auto;pointer-events:none}
.anot .x{position:absolute;top:-10px;right:-10px;background:#b3261e;color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;line-height:20px;text-align:center;cursor:pointer;display:none}
.anot.sel .x{display:block}
.barra-ed{position:sticky;top:58px;z-index:10;background:#fff;border:1px solid var(--cinza-claro);border-radius:8px;padding:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.barra-ed label{margin:0;font-weight:400}
.barra-ed input[type=number]{width:80px}
.ativo{background:var(--preto)!important;color:#fff!important}

/* Assinatura */
.quadro-ass{border:1px solid #a9adb2;border-radius:8px;background:#fff;touch-action:none;width:100%;max-width:520px;height:180px;display:block}

/* Planos */
.planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.plano{background:#fff;border:1px solid var(--cinza-claro);border-radius:var(--raio);padding:20px;display:flex;flex-direction:column}
.plano.dest{border:2px solid var(--preto)}
.plano .preco{font-size:2rem;font-weight:800;margin:6px 0 0;font-variant-numeric:tabular-nums}
.plano .pix{color:var(--ok);font-weight:600;font-size:.92rem}
.plano ul{padding-left:18px;margin:12px 0;color:var(--grafite);font-size:.92rem;flex:1}
.plano form{margin-top:6px}

/* Chamada comercial */
.cta{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--preto);color:#fff;border-radius:var(--raio);padding:18px 20px;margin:22px 0}
.cta p{margin:4px 0 0;color:#cfd2d6}
.cta .btn{background:#fff;color:var(--preto);border-color:#fff}

/* Capa */
.capa{background:var(--preto);color:#fff}
.capa-in{max-width:1180px;margin:0 auto;padding:56px 16px 48px}
.capa h1{font-size:2.4rem;max-width:760px}
.capa p{color:#c9ccd1;font-size:1.1rem;max-width:680px}
@media (max-width:600px){.capa h1{font-size:1.8rem}h1{font-size:1.5rem}}

.rodape{background:#1b1c1f;color:#a7abb1;font-size:.88rem}
.rodape-in{max-width:1180px;margin:0 auto;padding:24px 16px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rodape a{color:#d6d8db}
.rodape-links{display:flex;gap:16px;flex-wrap:wrap}

.qr{background:#fff;padding:10px;border:1px solid var(--cinza-claro);border-radius:8px;display:inline-block}
.copiar{display:flex;gap:8px}
.copiar input{font-size:.8rem}
.oculto{display:none!important}
.carregando{opacity:.6;pointer-events:none}

@media print{
  .topo,.rodape,.nao-imprimir,.faixa-plano,.cta,form .acoes{display:none!important}
  body{background:#fff}
  .cartao{box-shadow:none;border:none;padding:0}
  .conteudo,.medio{padding:0;max-width:none}
}

/* Páginas públicas das ferramentas (v1.3) */
.trilha{font-size:.88rem;color:var(--cinza);margin:0 0 12px}
.trilha a{color:var(--cinza)}
.publica h1{margin-top:0}
.publica-intro{font-size:1.08rem;max-width:62ch}
.publica-cond{margin:12px 0 0;font-size:.9rem}
.passos-pub{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.passos-pub li{background:#fff;border:1px solid var(--cinza-claro);border-radius:var(--raio);padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
.passos-pub li span{flex:none;width:28px;height:28px;border-radius:50%;background:var(--preto);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.9rem}
.faq-pub details{background:#fff;border:1px solid var(--cinza-claro);border-radius:var(--raio);padding:12px 16px;margin-bottom:8px}
.faq-pub summary{cursor:pointer;font-weight:600}
.faq-pub p{margin:8px 0 0;color:var(--grafite)}
.instalar-app{position:fixed;left:16px;right:16px;bottom:16px;z-index:30;background:var(--preto);color:#fff;border-radius:var(--raio);padding:12px 14px;display:flex;gap:12px;align-items:center;justify-content:space-between;box-shadow:0 6px 24px rgba(0,0,0,.25);max-width:520px;margin:0 auto}
.instalar-app .btn{background:#fff;color:var(--preto);border-color:#fff;padding:8px 14px}
.instalar-app button.fechar{background:none;border:0;color:#fff;font-size:1.3rem;cursor:pointer;padding:0 4px}

/* Painel de vendas (v1.3) */
.legenda{display:flex;flex-wrap:wrap;gap:14px;font-size:.85rem;color:var(--grafite);margin:0 0 8px}
.legenda i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.funil>div{display:grid;grid-template-columns:150px 1fr 44px 56px;gap:10px;align-items:center;margin:8px 0;font-size:.9rem}
.funil-barra{background:#eceef0;border-radius:6px;height:14px;overflow:hidden}
.funil-barra i{display:block;height:100%;background:var(--preto);border-radius:6px;min-width:2px}
.funil strong,.funil small{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:560px){.funil>div{grid-template-columns:1fr 44px 56px}.funil>div>span{grid-column:1/-1}}

/* Versão 1.4: renovação automática e planos para escritórios */
.btn-link{display:block;background:none;border:1px dashed #a9adb2;border-radius:8px;padding:8px 12px;font:inherit;font-size:.88rem;color:var(--grafite);cursor:pointer;text-align:center}
.btn-link:hover{border-style:solid;border-color:var(--preto);color:var(--preto)}
.equipe-plano .linha>div{flex:1;min-width:120px}
.equipe-preco{margin:14px 0;padding:12px 14px;border-radius:8px;background:var(--fundo)}
.equipe-preco .preco{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums}
.equipe-membros td form{display:inline}

/* Escolha do certificado (v1.5) */
.abas-cert{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px;border-bottom:1px solid var(--cinza-claro)}
.abas-cert .aba{background:none;border:0;border-bottom:3px solid transparent;padding:8px 10px;font:inherit;font-weight:600;color:var(--cinza);cursor:pointer;margin-bottom:-1px}
.abas-cert .aba.ativa{color:var(--preto);border-bottom-color:var(--preto)}
.lista-arqs{list-style:none;padding:0;margin:8px 0 0}
.lista-arqs li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #eceef0;font-size:.92rem}

/* Comparar PDFs (v1.5) */
.d-del{background:#fde2e1;color:#8a1c14;text-decoration:line-through;border-radius:3px;padding:0 2px}
.d-ins{background:#dcf3e5;color:#14532d;text-decoration:none;border-radius:3px;padding:0 2px}
.legenda-diff span{margin-right:10px;font-size:.9rem}
.diff-corpo p{margin:0 0 6px;line-height:1.55}
.d-igual{color:var(--cinza)}
.d-pulo{color:var(--cinza);font-style:italic;font-size:.85rem;text-align:center}
.d-bloco{border-left:3px solid var(--preto);padding:6px 10px;margin:8px 0;background:#fafafa}
.d-pag{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--cinza);margin-bottom:4px}
@media print{.d-del{background:none;color:#a00}.d-ins{background:none;color:#060;text-decoration:underline}}

/* Modelos para assinar (v1.5) */
.grade-modelo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px}
@media (max-width:900px){.grade-modelo{grid-template-columns:minmax(0,1fr)}}
.prev-modelo{position:sticky;top:70px}
.parte-modelo{border:1px solid var(--cinza-claro);border-radius:8px;padding:10px 14px 4px;margin:0 0 12px;min-width:0}
.parte-modelo legend{font-weight:700;font-size:.85rem;letter-spacing:.03em;padding:0 6px}
.multi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 12px}
.folha-modelo{background:#fff;border:1px solid var(--cinza-claro);border-radius:6px;padding:28px 30px;max-height:70vh;overflow:auto;font-family:"Times New Roman",Georgia,serif;font-size:.95rem;line-height:1.5;color:#151517}
.folha-modelo .m-tit{text-align:center;font-size:1.05rem;margin:0 0 14px}
.folha-modelo .m-cl{font-size:.9rem;margin:14px 0 4px}
.folha-modelo .m-p{text-align:justify;text-indent:2em;margin:0 0 8px}
.folha-modelo .m-lista{margin:0 0 8px 1.5em;padding:0}
.folha-modelo .m-data{margin:14px 0}
.folha-modelo .m-nota{font-size:.8rem;color:var(--cinza);margin-top:14px}
.m-assinaturas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:12px}
.m-ass{text-align:center;padding-top:28px}
.m-ass span{display:block;border-top:1px solid #333;margin:0 10px 4px}
.m-ass strong,.m-ass small{display:block}
.m-ass small{color:var(--cinza);font-size:.78rem}

/* Pedido de documentos (v1.5) */
.item-novo{grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) auto auto;align-items:end;gap:0 10px}
.item-novo>div[style]{grid-column:auto!important}
@media (max-width:640px){.item-novo{grid-template-columns:1fr 1fr}.item-novo>div:first-child{grid-column:1/-1!important}}
.item-pedido{margin-bottom:10px}
.item-cab{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.item-cab h3{margin:0 0 4px}
.item-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.item-acoes label.btn{margin:0;font-weight:600;font-size:inherit}
.arq-rec{margin:2px 0}

/* =====================================================================
   Tema Ravasco Produtividade (1.5.1): mesmo padrão da página de certificados,
   com cores neutras e vermelho em destaque (cor do PDF).
   ===================================================================== */
:root{
  --bg:#f5f4f2;--surface:#ffffff;--surface-2:#faf9f7;--ink:#1d1c1b;--muted:#625f5b;--line:#e1dfdb;
  --accent:#c62828;--accent-2:#a11f1f;--accent-ink:#ffffff;--accent-soft:#fbeceb;
  --carvao:#232120;--carvao-2:#2e2b29;
  --f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --f-body:"Hanken Grotesk","Segoe UI",system-ui,-apple-system,sans-serif;
  --preto:var(--ink);--grafite:#3a3735;--cinza:var(--muted);--cinza-claro:var(--line);--fundo:var(--bg);--destaque:var(--accent);
}
body{font-family:var(--f-body);background:var(--bg);color:var(--ink);font-size:15.5px;line-height:1.55}
h1,h2,h3,.marca{font-family:var(--f-display);letter-spacing:-.015em}
a{color:var(--ink)}
a:hover{color:var(--accent)}

/* Topo branco, como na página de certificados */
.topo{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}
.topo-in{min-height:60px}
.marca{color:var(--ink);align-items:center;gap:10px;font-size:19px;font-weight:700}
.marca .logo{width:30px;height:30px;flex:none;display:block}
.marca-r{letter-spacing:0;font-weight:700;font-size:19px}
.marca-p{color:var(--muted);font-weight:600;font-size:19px}
.nav a{color:var(--ink);font-weight:500}
.nav a:hover{color:var(--accent);text-decoration:none}
.nav .btn-claro{background:var(--accent);border-color:var(--accent);color:#fff!important;padding:8px 14px}
.nav .btn-claro:hover{background:var(--accent-2);color:#fff!important}
.menu-btn{border-color:var(--line);color:var(--ink);background:var(--surface)}
@media (max-width:820px){.nav{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 10px 20px rgba(0,0,0,.06)}}

/* Botões: vermelho no principal */
.btn{background:var(--accent);border-color:var(--accent);color:#fff;border-radius:7px;font-weight:700}
.btn:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff}
.btn-sec{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn-sec:hover{background:var(--surface-2);color:var(--ink);border-color:#cfccc7}
.btn-claro{background:var(--surface);color:var(--accent)!important;border-color:var(--surface)}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:transparent}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=month],input[type=tel],input[type=search],select,textarea{border-color:var(--line);border-radius:7px}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}

/* Capa: carvão neutro com destaque vermelho */
.capa{background:var(--carvao);border-bottom:4px solid var(--accent)}
.capa h1{font-size:2.6rem}
.capa p{color:#d6d2cd}
.capa .btn-claro{background:var(--accent);color:#fff!important;border-color:var(--accent)}
.capa .btn-claro:hover{background:var(--accent-2)}
.capa .btn-sec{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.capa .btn-sec:hover{background:rgba(255,255,255,.08);color:#fff}
.capa-sobre{color:#ff8a80;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin:0 0 10px}

/* Cartões e catálogo */
.cartao,.ferr,.kpi,.soltar,table{background:var(--surface)}
.cartao{border-color:var(--line);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ferr{border-color:var(--line)}
.ferr:hover{border-color:var(--accent);box-shadow:0 6px 18px rgba(198,40,40,.08)}
.ferr h3{font-family:var(--f-body);font-weight:700}
.selo{background:#efedea;color:#4a4744}
.selo-calc{background:var(--carvao);color:#fff}
.selo-isca{background:#e6f2ea;color:#1f6a45}
.selo-sign{background:var(--accent-soft);color:var(--accent-2)}
.soltar{border-color:#cfccc7}
.soltar:hover,.soltar.sobre{border-color:var(--accent);background:var(--accent-soft)}
th{background:#f1efec}
.kpi.forte{background:var(--carvao);border-color:var(--carvao)}
.kpi.forte strong{color:#fff}
.cta{background:var(--carvao)}
.cta .btn{background:var(--accent);color:#fff;border-color:var(--accent)}
.cta .btn:hover{background:var(--accent-2)}
.faixa-plano{border-color:#d9a3a0;background:var(--surface)}
.aviso-info{background:#f3f1ee;border-color:#e1ddd7;color:#3d3a37}
.abas-cert .aba.ativa{border-bottom-color:var(--accent);color:var(--ink)}
.passos-pub li span{background:var(--accent)}
.d-bloco{border-left-color:var(--accent)}
.funil-barra i{background:var(--accent)}
.rodape{background:var(--carvao);color:#b9b4ae}
.rodape a{color:#e8e4df}
.rodape a:hover{color:#fff}

/* =====================================================================
   1.5.2: logo de barras Ravasco, WhatsApp flutuante e modo escuro
   (o modo escuro segue o do aparelho, como na página de certificados)
   ===================================================================== */
.marca .logo{width:34px;height:30px;color:var(--ink)}
.marca-p{font-weight:600}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:40;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff!important;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .15s}
.wa-float:hover{transform:scale(1.07);color:#fff!important}
.wa-float svg{width:32px;height:32px}
.rodape{padding-bottom:70px}
@media (max-width:700px){.wa-float{right:14px;bottom:14px;width:52px;height:52px}.instalar-app{right:78px}}
@media print{.wa-float{display:none}}

@media screen and (prefers-color-scheme: dark){
  :root{
    --bg:#121110;--surface:#1b1a19;--surface-2:#22201f;--ink:#ebe8e4;--muted:#a8a29c;--line:#2f2c2a;
    --accent:#d23a3a;--accent-2:#b52a2a;--accent-soft:#3a1c1b;
    --carvao:#0c0b0b;--carvao-2:#181615;--grafite:#d5d0ca;--info:#c9c4be;
    color-scheme:dark;
  }
  body{background:var(--bg);color:var(--ink)}
  a{color:var(--ink)}
  a:hover{color:#ff7b74}
  .topo{background:#171615;border-bottom-color:var(--line)}
  .menu-btn{background:var(--surface)}
  .btn-sec{background:var(--surface);color:var(--ink);border-color:#45403c}
  .btn-sec:hover{background:var(--surface-2);color:var(--ink);border-color:#5a544f}
  .btn-claro{background:var(--surface);border-color:var(--surface)}
  .btn-link{color:var(--ink);border-color:#45403c}
  input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=month],input[type=tel],input[type=search],select,textarea{background:#141312;color:var(--ink);border-color:#3a3633}
  input::placeholder,textarea::placeholder{color:#7d7771}
  input:disabled{background:#1f1d1c;color:var(--muted)}
  .cartao,.ferr,.kpi,.soltar,table,.plano,.lista-arq li,.miniaturas figure,.barra-ed,.passos-pub li,.faq-pub details,.faixa-plano{background:var(--surface);border-color:var(--line)}
  th{background:#24211f}
  th,td{border-bottom-color:var(--line)}
  tr.total td{background:#211f1d}
  .selo{background:#2b2826;color:#d9d4ce}
  .selo-isca{background:#173325;color:#8fd8ab}
  .selo-breve{background:#3a2f1a;color:#e2c48a}
  .selo-sign{background:var(--accent-soft);color:#ff9d97}
  .selo-calc{background:#ebe8e4;color:#121110}
  .ferr:hover{box-shadow:0 6px 18px rgba(0,0,0,.35)}
  .soltar{border-color:#45403c}
  .soltar:hover,.soltar.sobre{background:#241918}
  .aviso-ok{background:#14271c;border-color:#24563a;color:#a7e2bd}
  .aviso-erro{background:#2e1514;border-color:#5c2623;color:#ffb4ae}
  .aviso-info{background:#1f1d1b;border-color:#36322f;color:#d6d1cb}
  .kpi.forte{background:#0c0b0b;border-color:#2f2c2a}
  .capa{background:#1e1c1b}
  .cta{background:#0c0b0b;border:1px solid var(--line)}
  .rodape{background:#0c0b0b;border-top:1px solid var(--line)}
  .funil-barra{background:#2b2826}
  .lista-arqs li{border-bottom-color:var(--line)}
  .d-bloco{background:#1f1d1b}
  .d-del{background:#4a1c19;color:#ffb4ae}
  .d-ins{background:#173325;color:#a7e2bd}
  .abas-cert .aba{color:var(--muted)}
  .instalar-app{background:#2a2725;border:1px solid #3a3633}
  hr{border-color:var(--line)}
  .ativo{background:var(--accent)!important;color:#fff!important}
  /* Papel continua branco: páginas do PDF, modelos, holerite, QR e quadro de assinatura */
  .pagina-ed,.folha-modelo,.holerite,.qr,.quadro-ass{background:#fff;color:#151517}
  .holerite *{color:#151517}
}
@media (min-width:701px){.rodape-in{padding-right:96px}}

/* 1.6.0: local da assinatura na coassinatura */
.pos-area{position:relative;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15);user-select:none}
.pos-editavel{cursor:crosshair;max-width:720px}
.pos-caixa{position:absolute;border:2px dashed var(--cor,#c62828);background:color-mix(in srgb,var(--cor,#c62828) 14%,transparent);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:move;touch-action:none;overflow:hidden}
.pos-caixa span{font-size:11px;font-weight:700;color:var(--cor,#c62828);background:rgba(255,255,255,.85);padding:1px 5px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:95%}
.pos-caixa button{position:absolute;top:-2px;right:-2px;width:22px;height:22px;border:0;border-radius:50%;background:var(--cor,#c62828);color:#fff;font-size:14px;line-height:22px;cursor:pointer;padding:0}
.pos-fixa{cursor:default;opacity:.55}
.pos-eu{opacity:1;border-style:solid;animation:pos-pulso 1.6s ease-in-out 3}
@keyframes pos-pulso{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--cor,#c62828) 30%,transparent)}}
.pos-pessoas{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.pos-pessoa{border:2px solid var(--cor);background:var(--surface);color:var(--ink);border-radius:20px;padding:5px 12px;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}
.pos-pessoa.sel{background:var(--cor);color:#fff}
.pos-pessoa small{font-weight:400;opacity:.8}
.pos-nav{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.passos-gov{counter-reset:pg;list-style:none;padding:0;margin:10px 0}
.passos-gov li{counter-increment:pg;position:relative;padding:10px 12px 10px 46px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:var(--surface)}
.passos-gov li::before{content:counter(pg);position:absolute;left:12px;top:10px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;display:grid;place-items:center;font-size:.85rem}

/* 1.6.0: página inicial */
.capa-selos{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;color:#d6d2cd;font-size:.9rem}
.capa-selos li::before{content:"✔";color:#ff8a80;margin-right:6px;font-weight:700}
.selo-novo{background:var(--accent);color:#fff}
.perfis .cartao h3{margin-top:0}

/* 1.6.1: canais de envio da coassinatura */
.envio-canais{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:2px}
.check-inline{display:inline-flex;gap:5px;align-items:center;font-weight:400;font-size:14px;margin:0}
.check-inline input{width:auto;margin:0}
.botoes-envio{white-space:normal}
.botoes-envio .btn{margin:2px 0}
small.erro{color:#c62828}

/* 1.7.0: ajuda para leigos (balões "?", painel de ajuda, como usar, continuar com outra ferramenta) */
.aj{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;min-width:19px;padding:0;margin:0 0 0 3px;border:1.5px solid var(--accent);border-radius:50%;background:var(--surface);color:var(--accent);font:700 12px/1 var(--f-body);cursor:pointer;vertical-align:middle;position:relative}
.aj::after{content:"";position:absolute;inset:-12px}
.aj:hover,.aj[aria-expanded="true"]{background:var(--accent);color:var(--accent-ink)}
.aj:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.aj-demo{cursor:default}
.aj-balao{position:absolute;z-index:200;max-width:min(320px,calc(100vw - 16px));background:var(--carvao);color:#fff;border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.45;box-shadow:0 10px 28px rgba(0,0,0,.28);pointer-events:auto}
.aj-balao strong{display:block;margin-bottom:3px;font-size:13px;color:#ffd6d3}
.aj-balao span{display:block}
.aj-flutuante{position:fixed;left:18px;bottom:18px;z-index:40;display:inline-flex;gap:7px;align-items:center;padding:10px 16px 10px 10px;border:0;border-radius:30px;background:var(--carvao);color:#fff;font:600 15px var(--f-body);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.aj-flutuante span{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--accent);align-items:center;justify-content:center;font-weight:700}
.aj-painel{position:fixed;z-index:210;left:16px;bottom:80px;width:min(420px,calc(100vw - 32px));max-height:min(72vh,640px);display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.3)}
.aj-painel-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.aj-painel-corpo{overflow:auto;padding:4px 16px 16px}
.aj-painel h3{font-size:1rem;margin:16px 0 6px}
.aj-passos{margin:0;padding-left:22px}.aj-passos li{margin:4px 0}
.aj-dica,.aj-como-dica{background:var(--accent-soft);border-radius:8px;padding:9px 11px;margin:12px 0 0;font-size:.95rem}
.aj-obs{font-size:.92rem;color:var(--muted);margin:12px 0 0}
.aj-botoes dt{font-weight:700;margin-top:8px}.aj-botoes dd{margin:2px 0 0;color:var(--muted);font-size:.93rem}
.aj-painel details{border-top:1px solid var(--line);padding:8px 0}.aj-painel summary{cursor:pointer;font-weight:600}
.aj-fechar{border:0;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer;padding:2px 8px;border-radius:6px}
.aj-fechar:hover{background:var(--surface-2)}
.aj-como{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:12px 16px;margin:6px 0 18px}
.aj-como-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.aj-como-alternar{border:0;background:transparent;color:var(--accent);font:600 14px var(--f-body);cursor:pointer;padding:4px 0}
.aj-como ol{margin:8px 0 0;padding-left:22px;display:grid;gap:4px}
.aj-como.aj-min ol,.aj-como.aj-min .aj-como-dica{display:none}
.aj-continuar{position:fixed;z-index:60;left:50%;transform:translateX(-50%);bottom:88px;width:min(760px,calc(100vw - 24px));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-top:4px solid #2e7d32;border-radius:12px;padding:10px 12px 12px;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.aj-continuar-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.aj-continuar-lista{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-height:30vh;overflow:auto}
@media (max-width:700px){.aj-flutuante{left:14px;bottom:14px;padding:8px 13px 8px 8px;font-size:14px}.aj-painel{left:8px;width:calc(100vw - 16px);bottom:72px;max-height:75vh}.aj-continuar{bottom:76px}.instalar-app{left:120px}}
@media print{.aj,.aj-flutuante,.aj-painel,.aj-continuar,.aj-balao,#ajComoUsar{display:none!important}}

/* 1.7.0: foto do signatário e dupla checagem */
.foto-modal{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.foto-caixa{background:var(--surface);color:var(--ink);border-radius:14px;padding:16px;width:min(460px,100%);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.foto-caixa video{width:100%;border-radius:10px;background:#000;aspect-ratio:4/3;object-fit:cover;transform:scaleX(-1);margin-top:6px}
.foto-linha{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.foto-mini{width:84px;height:84px;object-fit:cover;border-radius:10px;border:2px solid var(--line)}
.conf2{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--surface-2)}
.conf2 .copiar input{max-width:160px;letter-spacing:4px;font-size:1.1rem}
.pos-pessoa.sel small{color:#fff;opacity:.85}
main{padding-bottom:90px}
/* 1.7.0: caixas de marcar maiores (toque no celular) e textos longos sem estourar a tela */
input[type=checkbox],input[type=radio]{width:20px;height:20px;min-width:20px;accent-color:var(--accent);cursor:pointer}
.check input[type=checkbox],.check input[type=radio]{margin-top:2px}
main code{word-break:break-all;white-space:normal}
/* 1.8.0: casinha "Início" no menu */
.nav-inicio{display:inline-flex;align-items:center;gap:6px}
.nav-inicio svg{width:20px;height:20px}
@media (min-width:821px){.nav-inicio span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
/* 1.8.1: personagem do Walter na página inicial */
.capa-com-boneco{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:center}
.capa-boneco{margin:0;position:relative;justify-self:center;width:100%;max-width:340px}
.capa-boneco img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 18px 40px rgba(0,0,0,.35);border:3px solid rgba(255,255,255,.12)}
.boneco-fala{position:relative;background:#fff;color:#1d1c1b;border-radius:16px;padding:12px 14px;font-size:.95rem;line-height:1.4;margin-bottom:14px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.boneco-fala::after{content:"";position:absolute;left:50%;bottom:-9px;width:18px;height:18px;background:#fff;transform:translateX(-50%) rotate(45deg)}
@media (max-width:820px){.capa-com-boneco{grid-template-columns:1fr;gap:20px}.capa-boneco{max-width:250px}}
.aj-painel-topo img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:top;margin-right:8px;vertical-align:middle}

/* Aplicativo da Google Play: sem contratação de planos dentro do app (regra da loja) */
.so-app { display: none; }
.em-app .so-app { display: block; }
.em-app .so-site,
.em-app a[href*="planos.php"], .em-app a[href*="pagar.php"], .em-app a[href*="pix.php"],
.em-app form[action*="pagar.php"], .em-app [data-so-site] { display: none !important; }

/* Relatório de cálculo para petições (v1.8.3): folha A4 limpa, só na impressão */
#relCalc{display:none}
@page relatorio{size:A4;margin:0}
@media print{
  html.rel-imprimindo body>*:not(#relCalc){display:none!important}
  html.rel-imprimindo body{background:#fff!important;margin:0}
  html.rel-imprimindo #relCalc{display:block;page:relatorio;color:#111;font:9.5pt/1.4 "Hanken Grotesk",Arial,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.rel-folha{width:100%;border-collapse:collapse}
.rel-folha>thead td,.rel-folha>tfoot td,.rel-folha>tbody>tr>td{padding:0 16mm;border:0;background:#fff}
.rel-topo{height:14mm;display:flex;align-items:flex-end;justify-content:space-between;border-bottom:.6pt solid #999;padding-bottom:2mm;margin-bottom:5mm;font-size:7.5pt;color:#555}
.rel-pe{height:12mm}
.rel-corpo table.rel-preencher td{height:7mm;vertical-align:middle}
.rel-corpo h1{font-size:13pt;text-align:center;margin:0 0 1mm;letter-spacing:.02em}
.rel-corpo .rel-sub{text-align:center;font-size:8.5pt;color:#555;margin:0 0 5mm}
.rel-corpo h2{font-size:10pt;margin:6mm 0 2mm;padding:1.2mm 2mm;background:#eee;border-left:2pt solid #222;break-after:avoid}
.rel-corpo table.rel-t{width:100%;border-collapse:collapse;font-size:8.3pt;margin:0 0 2mm}
.rel-corpo table.rel-t th,.rel-corpo table.rel-t td{border:.5pt solid #bbb;padding:1.1mm 1.6mm;text-align:left;vertical-align:top}
.rel-corpo table.rel-t th{background:#f3f3f3;font-weight:700}
.rel-corpo table.rel-t td.n,.rel-corpo table.rel-t th.n{text-align:right;white-space:nowrap}
.rel-corpo table.rel-t tr{break-inside:avoid}
.rel-corpo table.rel-t tr.tot td{font-weight:700;background:#f7f7f7}
.rel-corpo table.rel-kv td:first-child{width:34%;color:#444}
.rel-corpo .rel-total{border:1pt solid #222;padding:3mm 4mm;margin:3mm 0;display:flex;justify-content:space-between;gap:6mm;align-items:baseline;break-inside:avoid}
.rel-corpo .rel-total strong{font-size:12pt;white-space:nowrap}
.rel-corpo .rel-ext{font-size:8.5pt;color:#333;margin:-1mm 0 3mm}
.rel-corpo ol.rel-524{margin:0;padding-left:6mm;font-size:8.5pt}
.rel-corpo ol.rel-524 li{margin:0 0 1mm}
.rel-corpo .rel-parc{break-inside:auto;margin-top:4mm}
.rel-corpo .rel-parc h3{font-size:9pt;margin:0 0 1.5mm;break-after:avoid}
.rel-corpo .rel-junto{break-inside:avoid;break-after:avoid}
.rel-corpo .rel-parc table.rel-t thead{display:table-header-group}
.rel-corpo .rel-nota{font-size:7.8pt;color:#444;margin:2mm 0}
.rel-corpo .rel-ass{margin-top:14mm;text-align:center;break-inside:avoid}
.rel-corpo .rel-ass span{display:block;width:80mm;margin:0 auto 1.5mm;border-top:.6pt solid #222}
