.pr { padding: 20px; max-width: 1200px; margin: 0 auto; }
.pr-actions { margin-bottom: 16px; }
.pr-page { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 22px 26px; margin-bottom: 16px; }
.pr-head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 2px solid var(--primary); margin-bottom: 16px; }
.pr-brand { font-weight: 800; font-size: 16px; }
.pr-sub { font-size: 11px; color: var(--text-3); }
.pr-client { margin-left: auto; text-align: right; font-size: 12px; line-height: 1.5; }
.pr-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.pr-kpis > div { padding: 10px 12px; background: var(--surface-2); border-radius: 8px; }
.pr-kpis small { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-3); }
.pr-kpis b { font-size: 20px; }
.pr-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pr-cols h3 { font-size: 13px; margin-bottom: 8px; }
.pr-mini { width: 100%; border-collapse: collapse; font-size: 11px; }
.pr-mini td { padding: 5px 4px; border-bottom: 1px solid var(--border); }
.pr-mini .num, .pr-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.pr-dot { display: inline-block; width: 8px; height: 8px; border-radius: 2px; background: var(--cc); margin-right: 6px; }
.pr-table { width: 100%; border-collapse: collapse; font-size: 10px; table-layout: fixed; }
.pr-table th, .pr-table td { border: 1px solid var(--border); padding: 3px 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-table th { background: var(--surface-2); font-weight: 700; text-align: left; }
.pr-table th.mois { background: var(--cc-1); color: var(--cc-text); text-align: center; width: 44px; }
.pr-table td.cell { text-align: center; font-weight: 700; }
.pr-table td.cell[data-on="1"] { background: var(--cc-2); color: var(--cc-text); }
.pr-table tr.groupe td { background: var(--surface-3); font-weight: 700; }
.pr-table tr.groupe td[data-couleur] { color: var(--cc-text); }
.pr-table tr.totaux td { font-weight: 700; background: var(--surface-2); }
.pr-texte { white-space: pre-wrap; font-size: 11px; line-height: 1.6; }
.pr-mentions { margin-top: 18px; font-size: 10px; color: var(--text-3); }
.pr-foot { text-align: center; font-size: 10px; color: var(--text-3); }

@media print {
  @page { size: A4 landscape; margin: 10mm; }
  body { background: #fff; }
  .sb, .ss-toast-root, .ss-modal-root, .pr-actions { display: none !important; }
  .pr { padding: 0; max-width: none; }
  .pr-page { border: 0; border-radius: 0; padding: 0; margin: 0; page-break-after: always; }
  .pr-page:last-of-type { page-break-after: auto; }
  .pr-foot { position: fixed; bottom: 0; left: 0; right: 0; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

.pr-desc { font-size: 10px; color: var(--text-2); margin-top: 2px; line-height: 1.4; }
.pr-mini th { text-align: left; font-size: 10px; color: var(--text-3); font-weight: 600; padding: 4px; border-bottom: 1px solid var(--border); }
.pr-mini th.num { text-align: right; }
.pr-titre-obj { font-size: 13px; margin: 16px 0 8px; }
