.nf { color: #1c2430; font-size: 13.5px; line-height: 1.45; }
.nf-head { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 2px solid #1f3a5f; padding-bottom: .8rem; margin-bottom: 1rem; flex-wrap: wrap; }
.nf-soc { font-weight: 800; font-size: 1.15em; color: #1f3a5f; }
.nf-title { text-align: right; }
.nf-h { font-size: 1.5em; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: #1f3a5f; }
.nf-statut { color: #6b7686; font-size: .9em; }
.nf h3 { font-size: 1.05em; margin: 1.3rem 0 .5rem; color: #1f3a5f; }
.nf-t { width: 100%; border-collapse: collapse; font-size: .95em; }
.nf-t th { text-align: left; background: #eef2f8; padding: .4rem .5rem; font-size: .85em; text-transform: none; letter-spacing: 0; color: #1c2430; border: 0; }
.nf-t td { padding: .4rem .5rem; border-bottom: 1px solid #e2e7ee; }
.nf-t tfoot td { font-weight: 700; border-top: 1.5px solid #1f3a5f; border-bottom: 0; }
.nf-t .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.nf-small { font-size: .85em; color: #6b7686; margin: .4rem 0 0; }
.nf .muted { color: #6b7686; }
.nf-total { display: flex; justify-content: space-between; align-items: center; margin-top: 1.4rem; padding: .8rem 1rem; background: #1f3a5f; color: #fff; border-radius: 8px; font-size: 1.1em; }
.nf-total strong { font-size: 1.3em; }
.nf-sign { display: flex; gap: 2rem; margin-top: 2rem; }
.nf-sign > div { flex: 1; border: 1px solid #c9d2de; border-radius: 8px; padding: .6rem .8rem; min-height: 90px; font-weight: 600; }
.nf-sign small { font-weight: 400; color: #6b7686; }

body.print-page { margin: 0; padding: 24px; background: #fff; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.print-page .nf { max-width: 800px; margin: 0 auto; }
.bar-print { max-width: 800px; margin: 0 auto 1.2rem; display: flex; gap: 1rem; align-items: center; }
.bar-print button { background: #1f3a5f; color: #fff; border: 0; padding: .6rem 1.1rem; border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; }

@media print {
  .no-print { display: none !important; }
  body.print-page { padding: 0; }
  @page { size: A4; margin: 14mm; }
  .nf-total { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .nf-t th { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
