@media print {
  body { background: #fff; }
  .sidebar, .topbar, .no-print, .toast, .modal-backdrop { display: none !important; }
  .main { margin-left: 0 !important; }
  .content { padding: 0; max-width: none; }
  .report-card-page { box-shadow: none; border: 0; border-radius: 0; padding: 0; }
  .card { box-shadow: none; }
  .report-identity { grid-template-columns: 140px 1fr 280px; gap: 10px; }
  .report-student-photo { width: 140px; min-height: 180px; }
  .report-section-grid { grid-template-columns: 1.2fr 0.8fr; gap: 10px; }
  .remarks-grid { grid-template-columns: 1fr 1fr 0.7fr; gap: 10px; }
  .chart-box { height: 220px; }
  .page-strip { display: none; }
  .result-sheet-head,
  .result-sheet-title { padding: 10px; }
  .result-signatures { margin-top: 24px; }
  .final-report-card {
    page: student-report-card;
    max-width: none;
    box-shadow: none;
    border: 1px solid #C7D3E4;
    padding: 10px;
  }
  .report-actions,
  .page-header,
  .page-actions { display: none !important; }
  .report-school-header,
  .final-report-hero,
  .final-metric-strip,
  .final-subject-card,
  .report-attendance-strip,
  .final-remarks-grid,
  .report-footer-grid { break-inside: avoid; }
  .report-school-header { margin-bottom: 10px; padding-bottom: 8px; }
  .report-school-logo { width: 50px; height: 50px; }
  .report-school-logo img,
  .report-school-logo .app-logo-img { width: 42px; height: 42px; }
  .report-school-header h2 { font-size: 1rem; }
  .report-school-header p,
  .report-school-header span { font-size: 0.68rem; }
  .report-school-header strong { font-size: 0.82rem; }
  .final-report-hero { grid-template-columns: 145px 1fr 150px; gap: 10px; }
  .final-student-photo { width: 140px; min-height: 178px; }
  .final-info-grid { column-gap: 14px; }
  .final-info-row {
    grid-template-columns: 14px 86px 8px minmax(0, 1fr);
    gap: 4px;
    min-height: 20px;
    font-size: 0.69rem;
  }
  .final-section-title { min-height: 26px; margin-bottom: 7px; padding-right: 28px; font-size: 0.76rem; }
  .final-section-title span { width: 26px; height: 26px; }
  .position-card { min-height: 170px; padding: 9px; }
  .position-medal { width: 54px; height: 54px; font-size: 1.55rem; }
  .position-ribbon { padding: 4px 20px; font-size: 0.72rem; }
  .position-card strong { font-size: 2rem; }
  .position-card span { font-size: 0.78rem; }
  .final-metric-strip { padding: 8px 4px; margin-top: 10px; }
  .metric-card { gap: 7px; min-height: 46px; }
  .metric-card > span { width: 34px; height: 34px; font-size: 0.86rem; }
  .metric-card small { font-size: 0.6rem; }
  .metric-card strong { font-size: 1.1rem; }
  .final-subject-card { margin-top: 10px; padding: 0 10px 8px; }
  .final-report-table { font-size: 0.66rem; }
  .final-report-table th,
  .final-report-table td { padding: 4px 5px; }
  .status-legend { margin-top: 5px; gap: 7px; font-size: 0.56rem; }
  .report-attendance-strip { grid-template-columns: repeat(5, 1fr); margin-top: 8px; padding: 6px; }
  .report-attendance-strip div { padding: 3px 6px; }
  .report-attendance-strip span { font-size: 0.58rem; }
  .report-attendance-strip strong { font-size: 0.82rem; }
  .final-remarks-grid { gap: 8px; margin-top: 8px; }
  .final-remark-card { min-height: 112px; padding: 8px; }
  .final-remark-card h3 { font-size: 0.68rem; margin-bottom: 6px; }
  .final-remark-card h3 span { width: 22px; height: 22px; }
  .final-remark-card p,
  .report-notes ul { font-size: 0.64rem; line-height: 1.45; }
  .final-signature { margin-top: 18px; font-size: 0.72rem; }
  .parent-line { margin-top: 16px; font-size: 0.7rem; }
  .report-footer-grid { grid-template-columns: 1fr 210px; gap: 8px; margin-top: 8px; }
  .report-notes,
  .verification-block { padding: 7px 8px; }
  .report-notes h3 { font-size: 0.7rem; margin-bottom: 4px; }
  .qr-demo { width: 50px; height: 50px; gap: 2px; padding: 5px; }
  .verification-block > strong,
  .verification-block > span { font-size: 0.6rem; }
  .daily-filter-card,
  .daily-chip-row,
  .daily-pagination,
  .daily-table-head .toolbar-actions,
  .daily-attendance-table th:last-child,
  .daily-attendance-table td:last-child {
    display: none !important;
  }
  .daily-summary {
    grid-template-columns: repeat(7, 1fr);
  }
  .daily-table-wrap {
    max-height: none;
    overflow: visible;
  }
  .daily-attendance-table {
    min-width: 0;
    width: 100%;
    font-size: 0.76rem;
  }
  .monthly-filter-card,
  .monthly-register-tools,
  .monthly-pagination {
    display: none !important;
  }
  .monthly-context,
  .monthly-summary {
    break-inside: avoid;
  }
  .monthly-summary {
    grid-template-columns: repeat(8, 1fr);
  }
  .monthly-table-wrap {
    max-height: none;
    overflow: visible;
  }
  .monthly-table {
    min-width: 0;
    width: 100%;
    font-size: 0.58rem;
  }
  .monthly-table th,
  .monthly-table td {
    padding: 4px 5px;
  }
  .monthly-register-card {
    page: monthly-register;
  }
  .class-result-filter,
  .class-result-toolbar,
  .class-result-pagination,
  .class-results-table th:last-child,
  .class-results-table td:last-child {
    display: none !important;
  }
  .professional-result-sheet {
    page: class-result-sheet;
  }
  .class-sheet-summary {
    grid-template-columns: repeat(6, 1fr);
  }
  .class-result-table-wrap {
    max-height: none;
    overflow: visible;
  }
  .class-results-table {
    min-width: 0;
    width: 100%;
    font-size: 0.58rem;
  }
  .class-results-table th,
  .class-results-table td {
    padding: 4px 5px;
  }
  @page { margin: 14mm; }
}
@page monthly-register {
  size: landscape;
  margin: 10mm;
}
@page class-result-sheet {
  size: landscape;
  margin: 10mm;
}
@page student-report-card {
  size: A4 portrait;
  margin: 10mm;
}
