@import url('./naktraining-tokens.css');

.report-page {
  box-sizing: border-box;
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto 12mm;
  padding: 12mm 12mm 10mm;
  background: #fff;
  color: var(--nak-text);
  font-family: var(--nak-font);
  display: flex;
  flex-direction: column;
  break-after: page;
}
.report-page:last-child { break-after: auto; }
.report-header { display: flex; justify-content: space-between; align-items: baseline; gap: 10mm; font-size: 9pt; }
.report-brand { font-size: 11pt; font-weight: 800; color: var(--nak-navy); }
.report-brand-accent { color: var(--nak-teal); }
.report-divider { border: 0; border-top: 1.5pt solid var(--nak-teal); margin: 2.5mm 0 4mm; }
.report-title { margin: 0; color: var(--nak-navy); font-size: 18pt; line-height: 1.08; }
.report-subtitle { margin: 1.5mm 0 0; color: var(--nak-muted); font-size: 9.5pt; }
.report-details { margin: 4mm 0; padding: 3mm; border-radius: 2.5mm; background: var(--nak-surface-soft); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2mm 4mm; font-size: 8.5pt; }
.report-details strong { display: block; color: var(--nak-navy); }
.report-body { flex: 1; min-height: 0; }
.report-card { break-inside: avoid; border: 0.5pt solid var(--nak-border); border-radius: 2.5mm; padding: 3mm; margin-bottom: 3mm; }
.report-disclaimer { margin-top: auto; padding-top: 3mm; font-size: 7.5pt; line-height: 1.35; color: var(--nak-muted); }
.report-footer { border-top: 0.5pt solid var(--nak-border); margin-top: 2mm; padding-top: 2mm; display: flex; justify-content: space-between; gap: 5mm; font-size: 7.5pt; color: var(--nak-muted); }
.report-resource-strip { break-inside: avoid; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3mm; margin-top: 3mm; }
.report-resource { border: 0.5pt solid var(--nak-border); border-radius: 2mm; padding: 2.5mm; font-size: 8pt; }
.report-qr { width: var(--nak-report-qr-size, 19.05mm); height: var(--nak-report-qr-size, 19.05mm); object-fit: contain; background: #fff; }

@page { size: A4; margin: 0; }
@media print {
  body { margin: 0; background: #fff; }
  .no-print { display: none !important; }
  .report-page { margin: 0; box-shadow: none; }
  .report-card,
  table,
  img { break-inside: avoid; }
  .report-disclaimer,
  .report-footer { break-inside: avoid; page-break-inside: avoid; }
  .report-footer { position: static; }
}

@media screen and (max-width: 800px) {
  .report-page { width: 100%; min-height: auto; padding: 1rem; }
  .report-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
