/* A folha reproduz o certificado da seguradora: A4 retrato, Arial, textos em
   azul-marinho (#003366) dentro de células de borda fina, rótulos em preto por fora. */
/* O border-box vinha do reset do MudBlazor, que não existe no documento isolado que vai
   para o Chromium. Sem ele os 10mm x 13mm de padding SOMAM aos 210mm x 297mm da folha e
   cada certificado passa a ocupar duas páginas no PDF. */
.cert-folha, .cert-folha *, .cert-folha *::before, .cert-folha *::after { box-sizing: border-box; }

.cert-folha {
    width: 210mm;
    min-height: 297mm;
    /* A margem do topo e a sombra são o que o MudPaper dava quando a folha era um
       <MudPaper Elevation="3">. Saiu do componente porque o mesmo markup é renderizado
       fora do Blazor, na geração do PDF, onde não há MudBlazor para carregar. */
    margin: 24px auto 0;
    box-shadow: 0 3px 5px -1px rgba(0,0,0,.2), 0 5px 8px 0 rgba(0,0,0,.14), 0 1px 14px 0 rgba(0,0,0,.12);
    padding: 10mm 13mm;
    background: #fff;
    color: #000;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9pt;
    line-height: 1.25;
}

/* O documento que vai para o Chromium não tem a app em volta: sem isto o corpo entra com
   a margem padrão do navegador e a folha de 210mm passa a não caber na página A4. */
body.cert-documento { margin: 0; background: #fff; }
body.cert-documento .cert-folha { margin: 0 auto; box-shadow: none; }

.cert-cabecalho { width: 100%; margin-bottom: 12mm; }
.cert-cabecalho img { width: 157mm; margin-left: 5mm; display: block; }

.cert-titulo {
    color: #003366;
    font-size: 11pt;
    font-weight: bold;
    margin: 5mm 0 1mm;
}

.cert-tbl { width: 100%; border-collapse: collapse; table-layout: fixed; }
.cert-tbl td { padding: 0 4px; line-height: 1.15; vertical-align: middle; }
.cert-tbl td.rot { border: 0; color: #000; font-weight: normal; font-size: 8.5pt; white-space: nowrap; }
.cert-tbl td.cel {
    border: 1px solid #003366;
    color: #003366;
    font-weight: bold;
    height: 4mm;
}
.cert-tbl td.vazio { border: 0; }
/* Os usuários assistidos saem sem negrito, ao contrário das coberturas. */
.cert-tbl td.leve { font-weight: normal; }
/* Capitais e datas nunca quebram: um valor em R$ ou uma data partida em duas linhas
   fica ilegível. */
.cert-tbl td.ctr { text-align: center; white-space: nowrap; }

/* Capital em TEXTO (o DSC_*_CAP da tabela de preços — "CONFORME CONDIÇÕES.
   CERTIFICADO EM ANEXO.") é a exceção: com table-layout fixo e nowrap ele saía cortado
   na borda da coluna. Aqui quebra em quantas linhas precisar, em corpo menor, para caber
   inteiro dentro da célula. */
.cert-tbl td.txt {
    white-space: normal;
    overflow-wrap: break-word;
    font-size: 7.5pt;
    line-height: 1.05;
    padding: 1px 2px;
}

.cert-aviso { margin: 1mm 0 0 4mm; }

/* No certificado da seguradora a assinatura começa sempre a 168,3mm do topo da folha
   (477pt), independente de quantas coberturas ou usuários assistidos vieram antes —
   só o conteúdo acima é que flui. O min-height reserva essa faixa; se o conteúdo
   passar dela, o bloco é empurrado em vez de sobrepor. Desconta os 10mm de padding. */
.cert-conteudo { min-height: 158.3mm; }

.cert-assinatura { text-align: center; }
.cert-assinatura img { height: 14mm; display: block; margin: 0 auto 1mm; }

.cert-seguradora { margin-top: 6mm; text-align: center; }
.cert-info ul { padding-left: 0; margin: 2mm 0 0; }
/* Recuo pendente: a continuação da linha alinha com o texto, não com o "*". */
.cert-info li { list-style: none; margin-bottom: 0.6mm; line-height: 1.2; padding-left: 7mm; }
.cert-info .marcador { display: inline-block; width: 7mm; margin-left: -7mm; }

/* Este arquivo é carregado no <head> de TODAS as páginas (ver App.razor), então o que segue
   é escopado a `body:has(.cert-folha)` — só a tela do certificado tem folha no DOM. A
   exceção é @page, que o CSS não deixa condicionar; como nenhuma outra tela do sistema
   imprime pelo navegador (só esta chama window.print), isso não afeta ninguém. */
@media print {
    @page { size: A4 portrait; margin: 0; }

    html, body { background: #fff !important; }

    /* Só a folha sai no papel: a app em volta (menu, cartão de busca, grade de seleção,
       botões) fica de fora. O seletor por ELEMENTO acompanha as classes do MudBlazor, que
       mudam de versão; o .no-print marca o que é da tela dentro do conteúdo. */
    body:has(.cert-folha) header,
    body:has(.cert-folha) nav,
    body:has(.cert-folha) aside,
    body:has(.cert-folha) .mud-appbar,
    body:has(.cert-folha) .mud-drawer,
    body:has(.cert-folha) .mud-overlay,
    body:has(.cert-folha) .mud-popover-provider,
    body:has(.cert-folha) .mud-snackbar-provider,
    body:has(.cert-folha) .no-print { display: none !important; }

    /* Os paddings do layout deslocariam a folha de 210mm dentro da página A4. */
    body:has(.cert-folha) .mud-main-content,
    body:has(.cert-folha) .mud-layout,
    body:has(.cert-folha) .mud-container { padding: 0 !important; margin: 0 !important; }

    .cert-folha { margin: 0; box-shadow: none !important; }
    /* Na emissão em lote cada segurado sai em uma folha; a última não quebra, para
       não jogar uma página em branco no fim do documento. */
    .cert-quebra { page-break-after: always; break-after: page; }
}
