/* Reçus, factures, livre des recettes : lisibles à l'écran, propres à l'impression (et en PDF). */
body { margin: 0; background: #f4f7f6; color: #12201d; font: 15px/1.5 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.document { max-width: 720px; margin: 24px auto; background: #fff; padding: 40px; border-radius: 12px; box-shadow: 0 6px 18px -8px rgba(11, 60, 55, .18); }
.document.large { max-width: 960px; }
header { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
h1 { font-size: 22px; margin: 0 0 6px; letter-spacing: -.01em; }
.droite { text-align: right; }
.libelle { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #7b8b87; margin: 0; }
section p { margin: 4px 0 20px; }
table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; }
th, td { padding: 10px 8px; border-bottom: 1px solid #dfe7e4; text-align: left; }
thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: #485a56; }
tfoot th { border-bottom: 0; font-size: 16px; }
td:last-child, th:last-child, .nombre { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mention { margin-top: 32px; font-size: 13px; color: #485a56; }
@media (max-width: 600px) { .document { margin: 0; border-radius: 0; padding: 20px 16px; } header { flex-direction: column; } .droite { text-align: left; } }
@media print { body { background: #fff; } .document { box-shadow: none; margin: 0; max-width: none; padding: 0; } }
