@page { size: A4 portrait; margin: 14mm 15mm; }
@media print {
  html, body { margin: 0; background: white; color: #222; }
  body > :not(.print-report) { display: none !important; }
  .print-report { display: block !important; font-family: "Noto Sans JP", sans-serif; font-size: 11pt; line-height: 1.65; }
  .print-report h1 { font-size: 18pt; margin: 0 0 3mm; }
  .print-report h2 { font-size: 15pt; margin: 0; }
  .print-report h3 { font-size: 12pt; margin: 0 0 3mm; break-after: avoid; }
  .print-date { font-size: 10pt; margin: 0 0 5mm; }
  .print-report .result-top { padding: 0 0 4mm; }
  .print-report .result-level { font-size: 17pt; }
  .print-report .lead, .print-report .result-note, .print-report .result-vet-note { margin: 2mm 0 0; font-size: 10pt; color: #333; }
  .print-report .result-section { padding: 4mm 0; break-inside: avoid; }
  .print-report .plain-list { padding-left: 5mm; }
  .print-report .plain-list li { margin-top: 1mm; }
  .print-report .care-items { grid-template-columns: 1fr 1fr; gap: 3mm 6mm; }
  .print-report .care-items li { gap: 3mm; }
  .print-report .care-items li::before { font-size: 11pt; }
  .print-report .care-area { font-size: 10pt; }
  .print-report .summary-heading { margin: 0; }
  .print-report .summary-item { grid-template-columns: 26mm 1fr; gap: 4mm; padding: 2mm 0; }
  .print-report .summary-item dt, .print-report .summary-item dd { font-size: 10pt; }
  .print-memo { border-top: 1px solid #bbb; padding-top: 4mm; }
  .print-memo-text { white-space: pre-wrap; overflow-wrap: anywhere; min-height: 24mm; line-height: 1.8; border-bottom: 1px solid #bbb; orphans: 3; widows: 3; }
}
