/* Comparateur La Réussite — rapport imprimable (A4). Masqué à l'écran, seul visible à l'impression. */
@page { size: A4; margin: 0; }

@media print {
  html, body { background: #fff; }
  #appli { display: none !important; }
  #rapport { display: block !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

#rapport { font-family: var(--corps); color: var(--noir); font-size: 9.5pt; line-height: 1.45; }
.rpage { width: 210mm; height: 297mm; position: relative; overflow: hidden; background: var(--beige); break-after: page; page-break-after: always; }
.rpage:last-child { break-after: auto; page-break-after: auto; }
.rentete { height: 16mm; background: var(--vert); color: var(--beige); display: flex; align-items: center; justify-content: space-between; padding: 0 16mm; font-size: 8.5pt; }
.rentete img { height: 9mm; width: auto; }
.rcorps { padding: 8mm 16mm 0; }
.rcorps > * + * { margin-top: 3.2mm; }
.rpied { position: absolute; left: 16mm; right: 16mm; bottom: 8mm; display: flex; align-items: center; gap: 4mm; font-size: 7.5pt; color: var(--gris); }
.rpied span:nth-child(2) { flex: 1; }
.rtrait { width: 12mm; height: 1mm; background: var(--orange); display: inline-block; }
#rapport h1 { font-size: 17pt; }
#rapport h1.titre-res { font-size: 16pt; }
#rapport h2 { font-size: 10.5pt; margin-top: 5mm; }
.rk { font-size: 8pt; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vert); }
.rnote { font-size: 8pt; color: var(--texte2); }
#rapport .accent { color: var(--orange); }
#rapport .legende { font-size: 8pt; }
#rapport .barres { gap: 3mm; }
#rapport .barre-ligne { grid-template-columns: 44mm minmax(0, 1fr) 30mm; gap: 3mm; }
#rapport .barre-piste { height: 6mm; }
#rapport .barre-val { font-size: 11pt; }
#rapport .barre-val small, #rapport .barre-nom small { font-size: 7pt; }
#rapport table.t { font-size: 8.3pt; background: #fff; }
#rapport table.t th, #rapport table.t td { padding: 1.6mm 2.2mm; }
#rapport table.t br + small { font-size: 7pt; }
.rkpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3mm; }
.rkpis.q { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rkpi { background: #fff; border-radius: 4mm; padding: 3mm 4mm; display: flex; flex-direction: column; gap: 1mm; }
.rkpi b { font-family: var(--titre); font-size: 13pt; color: var(--vert); }
.rkpi span { font-size: 7.8pt; color: var(--texte2); }
.rkpi.saumon { background: var(--saumon); }
.rkpi.saumon b { color: var(--noir); }
.rradar { display: grid; grid-template-columns: 76mm minmax(0, 1fr); gap: 5mm; align-items: center; }
.rradar svg { width: 76mm; height: auto; }
#rapport svg.graph-durees { width: 150mm; height: auto; }
.rencadre { background: #fff; border-left: 1.2mm solid var(--orange); border-radius: 2mm; padding: 3mm 4mm; font-size: 8.8pt; }
.rencadre.saumon { background: var(--saumon); border-left-color: var(--vert); }
#rapport .liste { font-size: 8.5pt; }
#rapport .liste li + li { margin-top: 1mm; }

/* Couverture */
.rcouv { background: var(--vert); color: var(--beige); }
.rcouv .rcorps { padding: 20mm 18mm 0; }
.rlogo { width: 56mm; height: auto; display: block; }
.rbarre { width: 16mm; height: 2mm; background: var(--orange); margin-top: 42mm !important; }
.rtitre { font-family: var(--titre); color: var(--beige) !important; font-size: 28pt !important; text-transform: uppercase; line-height: 1.2; }
.rsous { font-family: var(--titre); color: var(--saumon); font-size: 12pt; }
.rbesoin { position: absolute; left: 18mm; right: 18mm; bottom: 30mm; background: var(--beige); color: var(--noir); border-radius: 5mm; padding: 6mm 8mm; }
.rbesoin table { border-collapse: collapse; width: 100%; margin-top: 2mm; }
.rbesoin th { text-align: left; font-weight: 400; color: var(--texte2); width: 38mm; padding: 1.1mm 0; vertical-align: top; font-size: 8.8pt; }
.rbesoin td { font-weight: 700; padding: 1.1mm 0; font-size: 8.8pt; }
.rcouv-pied { position: absolute; left: 18mm; bottom: 16mm; font-size: 8pt; color: var(--beige); }
#rapport .barre-ligne .barre-piste { grid-column: auto; grid-row: auto; }
#rapport .barre-ligne { grid-template-columns: 44mm minmax(0, 1fr) 30mm !important; }

/* Aperçu à l'écran (version de test, où l'impression est bloquée) */
.rapercu-barre { display: none; }
@media screen {
  body.apercu-rapport #appli { display: none; }
  body.apercu-rapport #rapport { display: block; padding: 16px; overflow-x: auto; background: #D9D2C6; }
  body.apercu-rapport .rpage { margin: 0 auto 16px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15); }
  body.apercu-rapport .rapercu-barre { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; max-width: 210mm; background: var(--vert); color: var(--beige); padding: 10px max(16px, env(safe-area-inset-left, 0px)); font-size: 14px; position: fixed; left: 0; right: 0; top: 0; z-index: 5; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); }
  body.apercu-rapport .rapercu-barre.bas { position: static; box-shadow: none; max-width: 210mm; margin: 16px auto 0; border-radius: 12px; }
  body.apercu-rapport #rapport { padding-top: 96px; }
}
@media print { .rapercu-barre { display: none !important; } }
.rkpi.total { background: var(--vert); }
.rkpi.total b, .rkpi.total span { color: var(--beige); }
#rapport table.t td, #rapport table.t th { padding-top: 1.3mm; padding-bottom: 1.3mm; }
@media screen and (max-width: 840px) { body.apercu-rapport .rpage { zoom: 0.75; } }
@media screen and (max-width: 640px) { body.apercu-rapport .rpage { zoom: 0.55; } }
@media screen and (max-width: 460px) { body.apercu-rapport .rpage { zoom: 0.44; } }
