/* ══ VAI PRO APP · INÍCIO ══  extrato_familia_v1.css — Jean · 02/11/2026 · v2 (devolutiva de 02/11 à noite)
   A FAMÍLIA: o mesmo miolo (.ext-*) em três saídas que vão AO ALUNO, na voz dele e já filtradas —
   IMAGEM (WhatsApp; 1080 de largura, altura que cresce; as linhas desde a última vez em que zerou) ·
   PDF NO CELULAR (o extrato completo, nas cores do app; sai como IMAGEM LONGA/PNG, gerada como o cartão de cobrança) ·
   PDF PRA IMPRIMIR (A4 claro, papel branco, tinta escura; nenhuma informação só por cor).
   Cabeçalho comum .fam-*: SÓ O SÍMBOLO oficial de img/logo/ (sem o nome escrito; se faltar, caixa tracejada com o caminho) + nome do aluno + «Emitido em …».
   O nome do app fica no campo ÚNICO e OCULTO .fam-app[data-campo="nome-do-app"][hidden] (valor em APP_NOME). Sem «Extrato nº»: exigiria contador novo.
   Tamanhos: a MESMA escala --fs-* — a imagem é desenhada em 375 e ampliada 2,88×; nenhum token novo. ── */
/* cabeçalho da família */
.fam-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.fam-marca{flex:none;display:flex;align-items:center;gap:12px;min-width:0}
.fam-logo{display:inline-flex;align-items:center;height:44px;max-width:100%}
.fam-logo img{height:44px;width:auto;display:block}
.fam-logo.sem-logo img{display:none}
.fam-logo.sem-logo::after{content:"logo oficial · " attr(data-arquivo);display:inline-flex;align-items:center;height:30px;max-width:100%;padding:0 10px;border:1px dashed rgba(var(--rnj-champ),.4);border-radius:9px 9px 9px 4px;font:400 var(--fs-xs)/1 var(--rnj-ui);color:var(--rnj-text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fam-app{display:inline-flex;align-items:center;min-height:22px;font:500 var(--fs-micro)/1.2 var(--rnj-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--rnj-text3);white-space:nowrap}
.fam-app[hidden]{display:none}
.fam-meta{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}
.fam-nome{font:500 var(--fs-md)/1.3 var(--rnj-serif);color:var(--rnj-text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fam-meta small{font:400 var(--fs-xs)/1.3 var(--rnj-ui);color:var(--rnj-text3);white-space:nowrap}
.fam-tit h1{margin:0;font:500 var(--fs-xl)/1.15 var(--rnj-serif);color:var(--rnj-text)}
.fam-tit p{margin:4px 0 0;font:400 var(--fs-sm)/1.4 var(--rnj-ui);color:var(--rnj-text2)}
/* A IMAGEM (WhatsApp): desenhada em 375 (o celular do aluno), ampliada 2,88× = 1080 de largura; ALTURA LIVRE. Sem brilho de fundo. */
.im-1080{width:1080px;overflow:hidden;background:#0a0806}
.im-1080>.im{transform:scale(2.88);transform-origin:0 0}
.im{position:relative;width:375px;min-height:667px;padding:26px 22px 22px;display:flex;flex-direction:column;gap:14px;background:#0a0806;color:var(--rnj-text);font:400 var(--fs-sm)/1.45 var(--rnj-ui);-webkit-font-smoothing:antialiased}
.im .ext{gap:14px}
.im .ext-ver,.im .ext-chev{display:none}
.im .rnj-status{font-size:var(--fs-sm)}
.im-pe{margin:4px 0 0;font:400 var(--fs-xs)/1.45 var(--rnj-ui);color:var(--rnj-text3);text-wrap:pretty}
/* acima de ~12 linhas: resumo por mês (nome · fim do mês) e «detalhe completo no PDF» */
.im-res{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:0;padding:4px 12px}
.im-res>span{display:flex;align-items:center;min-height:44px;font:400 var(--fs-sm)/1.3 var(--rnj-ui);color:var(--rnj-text)}
.im-res>b{display:flex;align-items:center;justify-content:flex-end;min-height:44px;font:500 var(--fs-sm)/1.3 var(--rnj-ui);color:var(--rnj-text);font-variant-numeric:tabular-nums;white-space:nowrap}
.im-res>span+span,.im-res>b+span,.im-res>span+b+span{border-top:1px solid rgba(255,255,255,.06)}
.im-res>span:nth-child(n+3),.im-res>b:nth-child(n+3){border-top:1px solid rgba(255,255,255,.06)}
/* O PDF NO CELULAR: folha única, 375 de largura, altura livre, cores do app — SAI COMO IMAGEM LONGA (PNG). No celular se rola; nenhum mês quebra. */
.pc-paginas{display:flex;flex-direction:column;align-items:flex-start}
.pcel{--rnj-text:#eee7da;--rnj-text2:#c8bfb0;--rnj-text3:#b1a99a;--rnj-champ:236,214,170;--rnj-verde:#3ddc97;--rnj-limao:#fde047;--rnj-verm:#f0616b;
  position:relative;display:flex;flex-direction:column;width:375px;padding:32px 20px 18px;background:#0a0806;color:var(--rnj-text);font:400 var(--fs-sm)/1.45 var(--rnj-ui);-webkit-font-smoothing:antialiased}
.pcel .a4-body{flex:none;overflow:visible;gap:18px;padding-top:16px}
.pcel .fam-cab{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}
.pcel .fam-tit{margin-top:14px}
.pcel .pd-id{grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:16px}
.pcel .pd-id dt{margin-bottom:4px}
.pcel .ext-chev,.pcel .ext-ver{display:none}
.pcel .ext-mes>summary{min-height:0;padding:4px 0}
.pcel .pc-fim{display:flex;flex-direction:column;gap:16px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25)}
.pcel .a4-foot{border-top-color:rgba(255,255,255,.12);margin-top:18px}
.pcel details::details-content{transition:none}
/* O PDF PRA IMPRIMIR — A4 retrato: papel branco, tinta escura; nenhuma informação só por cor (sinal + palavra + ícone); sem ouro */
.pd-paginas{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.a4{--rnj-text:#15120e;--rnj-text2:#3b3630;--rnj-text3:#6b645b;--rnj-ouro-txt:#15120e;--rnj-champ:138,122,85;--rnj-verde:#1f7f57;--rnj-limao:#7a6100;--rnj-verm:#a8261f;
  position:relative;display:flex;flex-direction:column;width:210mm;height:297mm;padding:16mm 18mm 12mm;background:#fff;color:var(--rnj-text);font:400 var(--fs-sm)/1.45 var(--rnj-ui);box-shadow:0 24px 54px -28px rgba(0,0,0,.8);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.a4-body{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:5mm;padding-top:5mm}
.pd-bl{flex:none}
.a4-foot{flex:none;display:flex;justify-content:space-between;gap:12px;margin-top:5mm;padding-top:3mm;border-top:1px solid #d9d3c8;font:400 var(--fs-xs)/1.3 var(--rnj-ui);color:var(--rnj-text3)}
.a4-foot span{white-space:nowrap}
.a4-cont{visibility:hidden;font-style:italic}.a4.continua .a4-cont{visibility:visible}
.a4 .fam-cab{padding-bottom:5mm;border-bottom:1px solid #d9d3c8}
.a4 .fam-logo,.a4 .fam-logo img{height:16mm}.a4 .fam-logo.sem-logo::after{height:16mm;border-color:#b9b2a6}
.a4 .fam-tit{margin-top:6mm}
.pd-slim{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:4mm;border-bottom:1px solid #d9d3c8;font:400 var(--fs-xs)/1.3 var(--rnj-ui);color:var(--rnj-text3)}
.pd-slim b{color:var(--rnj-text);font-weight:500}
.pd-slim span{white-space:nowrap}
.pd-id{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5mm 8mm;margin:6mm 0 0}
.pd-id div{min-width:0}
.pd-id dt{font:500 var(--fs-micro)/1.2 var(--rnj-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--rnj-text3);margin-bottom:2mm}
.pd-id dd{margin:0;font:400 var(--fs-sm)/1.4 var(--rnj-ui);color:var(--rnj-text)}
.pd-id dd small{display:block;font-size:var(--fs-xs);color:var(--rnj-text2)}
.a4 .ext-hist{font-size:var(--fs-md)}
.a4 .ext-linhas.rnj-poco{padding:0;border:0;background:none}
.a4 .ext-linhas>*+*{border-top-color:#e4dfd6}
.a4 .ext-linhas>.ext-l--ctx{border-color:#b9b2a6;background:#f6f3ee}
.a4 .ext-fil{background:#d9d3c8}
.a4 .ext-mes-n::before,.a4 .rnj-eyebrow::before{background:#8a7a55}
.a4 .ext-mes>summary{min-height:0;padding:0 0 1.5mm}
.a4 .ext{gap:10px}
.a4 .ext-g{min-height:0;padding:6px 0;row-gap:1px}
.a4 .ext-l--conta .ext-g{row-gap:3px}
.a4 .ext-sub{display:grid;grid-template-columns:1fr 1fr;column-gap:10mm;margin:2px 0 6px 56px;padding:2px 0 2px 12px;border-left-color:#c9c2b6}
.a4 .ext-sub li{min-height:24px}
.a4 .ext-chev,.a4 .ext-ver,.a4 .ext-vk{display:none}
.a4 .ext-aberto{border-color:#b9b2a6;background:#f6f3ee}.a4 .ext-anel{border-color:#6b645b}
.a4 .ext-conf{border-color:#d9d3c8;background:none}
.a4 .ext-atesta{background:none;border-color:#1f7f57}.a4 .ext-atesta-i .r{stroke:#1f7f57}
.a4 .rnj-note{border-top-color:#c9c2b6}
.a4 .ext-ls-bl{--cred:#7a6100;--card:#fff;--line:#d9d3c8;--text4:#b9b2a6}.a4 .labA i{background:#c9c2b6}
.a4 details::details-content{transition:none}
.pd-fim{display:grid;grid-template-columns:1fr 1fr;gap:8mm;align-items:start;padding-top:6mm;border-top:1px solid #15120e}
.pd-fim>div{display:flex;flex-direction:column;gap:5mm}
.a4-frag{width:210mm;padding:12mm 18mm;background:#fff}
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff!important}
  .pr-page{max-width:none;padding:0;margin:0}
  .pr-page>*:not(#pdf){display:none!important}
  #pdf>*:not(.pd-paginas){display:none!important}
  .pd-paginas{gap:0}
  .a4{box-shadow:none;break-after:page;page-break-after:always}
  .a4:last-child{break-after:auto;page-break-after:auto}
}
/* ══ VAI PRO APP · FIM ══ */