/* KI-Datenschutz-Check: Druck-Styles (A4, 1-2 Seiten). */

@media print {
  @page { size: A4; margin: 12mm 13mm 14mm 13mm; }

  body { background: #fff; font-size: 9.5pt; }
  .topbar, .no-print { display: none !important; }
  /* Infobuttons sind reine Bildschirmhilfe und entfallen im Druck. */
  .info { display: none !important; }

  #app { max-width: none; margin: 0; padding: 0; }

  .report { box-shadow: none; border-radius: 0; padding: 0; }

  .report h1 { font-size: 16pt; }
  .report h2 { font-size: 11pt; margin: 8pt 0 3pt; }
  .report h3 { font-size: 9.5pt; }
  .report p, .report li { font-size: 8.8pt; line-height: 1.4; }

  .report-header { padding-bottom: 7pt; margin-bottom: 8pt; }

  .report-summary { page-break-inside: avoid; }
  .report-summary .answers {
    display: grid;
    grid-template-columns: fit-content(96pt) 1fr;
    column-gap: 8pt;
    row-gap: 0.8pt;
    margin-top: 1pt;
    page-break-inside: avoid;
  }
  .report-summary .answers dt { font-size: 7.8pt; font-weight: 600; color: var(--w-slate); line-height: 1.3; }
  .report-summary .answers dd { font-size: 7.8pt; color: var(--w-body); line-height: 1.3; margin: 0; }

  .recommendation { padding: 5pt 8pt; margin-bottom: 6pt; }

  .report-option { padding: 6pt 8pt; margin-bottom: 4pt; border: 0.75pt solid #D7DDE6; }
  .report-option ul { padding-left: 12pt; }
  .report-option li { font-size: 8.2pt; margin-bottom: 1.5pt; }
  .examples { font-size: 7.8pt; }
  .verdict-label { font-size: 7.8pt; }
  .light { width: 8pt; height: 8pt; margin-top: 2.5pt; }

  .overall { padding: 6pt 9pt; margin-top: 8pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .overall .light { width: 10pt; height: 10pt; }
  .overall strong { font-size: 9.5pt; }

  .area { padding: 5pt 8pt; margin-bottom: 3pt; border: 0.75pt solid #D7DDE6; }
  .area .light { width: 8pt; height: 8pt; margin-top: 2.5pt; }
  .area h3 { font-size: 9pt; }
  .area .verdict-label { font-size: 7.2pt; }
  .area-block { font-size: 8pt; margin-top: 2pt; }
  .area-block:first-of-type { margin-top: 1.5pt; }
  .area-list { margin: 0.5pt 0 0 9pt; }
  .area-list li { font-size: 8pt; margin-bottom: 0.5pt; }

  .stop-box { padding: 7pt 9pt; }

  .duty { margin-bottom: 4pt; }
  .duty p { font-size: 8.2pt; }

  .urgency { padding: 8pt 10pt; margin-top: 8pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .urgency li, .urgency p { font-size: 8.2pt; }
  .urgency li { margin-bottom: 2pt; }
  .penalty-strip { grid-template-columns: repeat(2, 1fr); gap: 6pt 10pt; margin: 5pt 0; }
  .penalty { padding-top: 3pt; border-top: 1.2pt solid var(--w-teal-light); page-break-inside: avoid; }
  .penalty .claim { font-size: 9.5pt; line-height: 1.2; margin-bottom: 1.5pt; }
  .penalty .trigger { font-size: 7.4pt; line-height: 1.3; margin-bottom: 1pt; }
  .penalty .norm { font-size: 6.8pt; }
  .penalty-note { font-size: 6.8pt; margin-bottom: 5pt; }


  .urgency-action { padding: 5pt 8pt; margin-top: 6pt; border-left-width: 3pt; border-radius: 4pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .urgency p.urgency-action { font-size: 8.4pt; }
  .urgency-action-label { font-size: 6.6pt; margin-bottom: 1pt; }

  .clarification p { font-size: 8.2pt; }
  .clarification { margin-bottom: 4pt; }

  .assumptions { padding: 7pt 9pt; margin-top: 8pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .assumptions li { font-size: 8.2pt; }

  .next-steps li { font-size: 8.4pt; margin-bottom: 2.5pt; }

  .closing-box {
    padding: 7pt 9pt;
    margin-top: 8pt;
    border-left-width: 3pt;
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .closing-box h2 { margin: 0 0 2pt; }
  .closing-box p { font-size: 8.4pt; margin-top: 0; }

  .report-footer { margin-top: 8pt; padding-top: 5pt; }
  .report-footer p { font-size: 7pt; }

  section { page-break-inside: auto; }
  .report-option, .duty, .area, .stop-box { page-break-inside: avoid; }
}
