/* Rapport de statistiques (lien partagé et PDF) et règles d'impression.
   À l'impression : fond blanc, textes foncés, couleurs conservées, format A4, rien d'autre que le rapport. */

.share-page { max-width: 1000px; margin: 0 auto; padding: var(--s-6) var(--gutter) var(--s-10); }
.share-bar { display: flex; justify-content: flex-end; align-items: center; gap: var(--s-2); margin-bottom: var(--s-4); }
.share-bar .btn-ghost { margin-right: auto; }
.rapport { display: flex; flex-direction: column; gap: var(--s-4); }
.rp-head { display: flex; align-items: center; gap: var(--s-3); }
.rp-head h1 { margin: 0; font-size: 26px; font-weight: 700; letter-spacing: -0.02em; }
.rp-head p { margin: 2px 0 0; color: var(--text-2); font-size: 14px; }
.rp-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
.rp-kpis .rp-kpi:last-child { grid-column: span 2; }
@media (min-width: 760px) { .rp-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); } .rp-kpis .rp-kpi:last-child { grid-column: auto; } }
.rp-kpi, .rp-chart, .rp-table { background: var(--card); border-radius: var(--r-card); padding: var(--s-4); box-shadow: var(--shadow); }
.rp-kpi { display: flex; flex-direction: column; gap: 4px; }
.rp-kpi span { font-size: 13px; color: var(--text-2); }
.rp-kpi strong { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; }
.rp-kpi small { font-size: 12px; color: var(--text-3); }
.rp-charts { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }
@media (min-width: 760px) { .rp-charts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rp-chart h2 { margin: 0 0 var(--s-3); font-size: 15px; font-weight: 600; }
.rp-table { overflow-x: auto; padding: var(--s-4) 0; } /* pas de marge de côté : voir .table-wrap dans screens.css */
.stat-table tr.subtotal td { font-weight: 600; color: var(--text-2); border-bottom: 1px solid var(--line-strong); }
.rp-foot { font-size: 12px; line-height: 1.5; color: var(--text-3); }
.rp-foot p { margin: 0 0 6px; }

.print-root { display: none; }
@media print {
  @page { size: A4; margin: 12mm; }
  :root {
    color-scheme: light;
    --bg: #FFFFFF; --card: #FFFFFF; --card-2: #F1F4F9;
    --line: rgba(15, 23, 42, 0.1); --line-strong: rgba(15, 23, 42, 0.2);
    --text: #0B1220; --text-2: #4B5772; --text-3: #6B7890;
    --fill: rgba(15, 23, 42, 0.06); --fill-2: rgba(15, 23, 42, 0.12);
    --accent-bg: #5B4BE8; --shadow: none;
  }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  html, body { background: #FFFFFF !important; }
  body.printing > *:not(.print-root) { display: none !important; }
  body.printing .print-root { display: block; }
  .share-bar { display: none !important; }
  .share-page { padding: 0; max-width: none; }
  .rapport { gap: 12px; }
  .rp-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .rp-kpis .rp-kpi:last-child { grid-column: auto; }
  .rp-charts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp-kpi, .rp-chart, .rp-table { border: 1px solid #E3E7EF; box-shadow: none; break-inside: avoid; }
  .rp-kpi { padding: 12px 14px; }
  .rp-kpi span { font-size: 12px; white-space: nowrap; }
  .rp-kpi strong { font-size: 20px; }
  .rp-table { overflow: visible; }
  .stat-table th:first-child, .stat-table td:first-child { position: static; }
  .stat-table tr { break-inside: avoid; }
  .bar-value { display: block !important; }
}
