/* Bulletin de paie imprimable (fragments/bulletin.html) : écran et impression */
/* Cartouches encadrés, lignes par section, totaux en gras, montant à payer en pied (mise en page classique d'un bulletin) */
.bulletin { font-size: 12px; color: #111; }
.bulletin-entete { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: .75rem; }
.bulletin-employeur { font-size: 13px; line-height: 1.45; }
.bulletin-cartouche { border: 1px solid #111; border-collapse: collapse; font-size: 11px; }
.bulletin-cartouche th, .bulletin-cartouche td { padding: .15rem .6rem; text-align: left; }
.bulletin-cartouche th { font-weight: 700; }
.bulletin-fiche { margin-top: .6rem; }
.bulletin-fiche th { text-align: center; background: #f3f4f6; border-bottom: 1px solid #111; }
.bulletin-fiche td { padding: .1rem .6rem; }
.bulletin-fiche td.bulletin-nombre { width: auto; min-width: 4.5rem; }
.bulletin-titre { text-align: center; border: 1px solid #111; background: #f3f4f6; padding: .3rem; margin: .5rem 0; font-size: 14px; }
.bulletin-table { width: 100%; border: 1px solid #111; border-collapse: collapse; }
.bulletin-table th, .bulletin-table td { padding: .2rem .5rem; border-left: 1px solid #111; vertical-align: top; text-align: left; }
.bulletin-table th:first-child, .bulletin-table td:first-child { border-left: 0; }
.bulletin-table thead th { border-bottom: 1px solid #111; background: #f3f4f6; font-weight: 700; }
.bulletin-code { width: 5.5rem; font-family: ui-monospace, Menlo, monospace; font-size: 11px; }
.bulletin-nombre { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; width: 8rem; }
.bulletin-section td { font-weight: 700; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: #1A365D; border-top: 1px solid #111; padding-top: .45rem; }
.bulletin-total td { font-weight: 700; border-top: 1px solid #111; border-bottom: 1px solid #111; }
.bulletin-a-payer td { font-weight: 700; font-size: 15px; border-top: 2px solid #111; padding: .45rem .5rem; }
.bulletin-pied { display: flex; justify-content: space-between; margin-top: .6rem; font-size: 11px; color: #374151; }
.bulletin-mention { font-size: 10px; color: #6b7280; margin-top: .75rem; }
/* Simulateur : le bulletin n'existe qu'à l'impression */
.bulletin-impression { display: none; }
/* Seul le bulletin sort à l'impression, sur les pages qui en ont un */
@media print {
    @page { margin: 12mm; }
    /* :where() : spécificité nulle, pour que la règle de visibilité du bulletin l'emporte */
    :where(body:has(#bulletin-imprimable)) * { visibility: hidden; }
    #bulletin-imprimable, #bulletin-imprimable * { visibility: visible; }
    #bulletin-imprimable { position: absolute; left: 0; top: 0; width: 100%; max-width: none; padding: 0; border: 0; box-shadow: none; }
    .bulletin-table tr { break-inside: avoid; }
    .bulletin-impression { display: block; }
    body { background: #fff; }
}
