.no-print .form-actions { margin-top: 16px; }
.report-viewport { overflow-x: auto; padding: 4px 0 24px; }
.result-sheet { width: 190mm; min-height: 260mm; margin: 0 auto; padding: 8mm; background: white; border: 1px solid #cbd5d1; color: #172f38; font: 10px/1.35 Arial, sans-serif; }
.report-heading { display: flex; align-items: center; justify-content: center; gap: 5mm; text-align: center; border-bottom: 2px solid #116b56; padding-bottom: 4mm; }
.report-heading h2 { font: bold 19px/1.2 Arial, sans-serif; margin: 0 0 2mm; }
.report-heading h3 { font: bold 12px Arial, sans-serif; margin: 1mm 0; }
.report-heading p { font-size: 9px; margin: 1mm 0; }
.report-logo { width: 18mm; height: 18mm; object-fit: contain; }
.report-student { display: flex; gap: 4mm; padding: 4mm 0; align-items: center; }
.report-student dl { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm 5mm; flex: 1; margin: 0; }
.report-student dl div { display: flex; gap: 2mm; }
.report-student dt { font-weight: bold; }
.report-student dd { margin: 0; overflow-wrap: anywhere; }
.report-photo { width: 17mm; height: 21mm; object-fit: cover; }
.report-logo, .report-photo { flex-shrink: 0; }
.report-image-missing { display: flex; align-items: center; justify-content: center; text-align: center; border: 1px solid #bccac3; color: #52665e; font-size: 8px; }
.result-sheet table { table-layout: fixed; width: 100%; border-collapse: collapse; margin: 0; }
.result-sheet th, .result-sheet td { font: 9px/1.25 Arial, sans-serif; padding: 1.5mm .8mm; border: 1px solid #bccac3; text-align: center; overflow-wrap: anywhere; color: #172f38; letter-spacing: 0; text-transform: none; }
.result-sheet th { background: #eaf3ee; font-weight: bold; }
.result-sheet td:first-child { text-align: left; }
.report-summary { display: flex; flex-wrap: wrap; gap: 2mm 4mm; justify-content: space-between; padding: 3mm 0; border-bottom: 1px solid #bccac3; }
.report-skills { padding: 3mm 0; }
.report-skills h3 { font: bold 10px Arial, sans-serif; margin: 0 0 2mm; }
.report-skills > div { display: flex; flex-wrap: wrap; gap: 2mm 4mm; }
.report-skills p { font-size: 8px; margin: 2mm 0 0; }
.report-comments { border-top: 1px solid #bccac3; padding-top: 2mm; }
.report-comments p { margin: 1.5mm 0; overflow-wrap: anywhere; }
.report-signatures { display: flex; justify-content: space-between; margin-top: 5mm; line-height: 2; }
.broadsheet-screen { overflow: auto; }
.broadsheet-table { border-collapse: collapse; table-layout: fixed; width: 100%; }
.broadsheet-table th, .broadsheet-table td { border: 1px solid #a9b9b0; text-align: center; padding: 4px 2px; font: 10px/1.3 Arial, sans-serif; color: #172f38; letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
.broadsheet-table .student-name { text-align: left; }
.broadsheet-screen .broadsheet-table { min-width: var(--sheet-width, 1400px); }
.broadsheet-print { display: none; }
@page result { size: A4 portrait; margin: 10mm; }
@page broad { size: A4 landscape; margin: 8mm; }
@media print {
	html, body.school-workspace { margin: 0 !important; padding: 0 !important; background: white !important; }
	.workspace-sidebar, .workspace-topbar, .workspace-footer, .page-heading, .no-print, .skip-link, .notice, .broadsheet-screen { display: none !important; }
	.workspace-main, .workspace-content { margin: 0 !important; padding: 0 !important; width: auto !important; max-width: none !important; min-height: 0 !important; }
	.report-viewport { overflow: visible; padding: 0; }
	.public-result { max-width: none !important; margin: 0 !important; padding: 0 !important; }
	.result-sheet { page: result; width: 190mm; min-height: 0; margin: 0; padding: 0; border: 0; break-inside: avoid; print-color-adjust: exact; }
	.result-sheet th, .result-sheet td { padding: 1.2mm .7mm; font-size: 8.5px; }
	.report-batch .report-viewport { break-after: page; }
	.report-batch .report-viewport:last-child { break-after: auto; }
	.broadsheet-print { display: block; }
	.broadsheet-page { page: broad; width: 281mm; break-after: page; break-inside: avoid; }
	.broadsheet-page:last-child { break-after: auto; }
	.broadsheet-page h2 { font: bold 14px Arial, sans-serif; text-align: center; margin: 0 0 2mm; }
	.broadsheet-page p { font: 10px Arial, sans-serif; text-align: center; margin: 0 0 3mm; }
	.broadsheet-print .broadsheet-table th, .broadsheet-print .broadsheet-table td { font-size: 8px; padding: 1.3mm .5mm; }
	.broadsheet-print thead { display: table-header-group; }
	.broadsheet-print tr { break-inside: avoid; }
}

.report-skills > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1mm 3mm; font-size:8px; }
.report-skills span { overflow-wrap:anywhere; }
