/* Laporan FK Unpad: ukuran A4 stabil untuk layar pratinjau dan cetak. */
#pt-report { display: none; color: #18232d; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; line-height: 1.4; text-align: left; }
#pt-report.report-preview { display: block; }
#pt-report.report-building { display: block; position: absolute; left: -20000px; top: 0; width: 186mm; }
.report-toolbar { max-width: 210mm; margin: 24px auto 12px; padding: 0 16px; }
.report-toolbar p { margin: 10px 0; font-size: 13px; }
.report-page { box-sizing: border-box; width: 186mm; height: 268mm; padding: 0; margin: 0 auto 18px; background: white; display: block; position: relative; overflow-wrap: anywhere; }
.report-preview .report-page { box-sizing: content-box; padding: 12mm; border: 1px solid #dce1e5; box-shadow: 0 3px 16px #0b2a4f12; }
.report-letterhead { display: flex; align-items: center; gap: 6mm; padding: 0 0 4mm; border-bottom: 3px double #172b40; flex: none; }
.report-letterhead img { width: 22mm; height: 22mm; object-fit: contain; flex: none; }
.report-letterhead > div { text-align: center; flex: 1; padding-right: 20mm; }
.report-letterhead p { margin: 0; font-size: 8.4pt; line-height: 1.45; }
.report-letterhead .report-university { font-size: 13pt; font-weight: 700; letter-spacing: .035em; }
.report-letterhead .report-faculty { font-size: 17pt; font-weight: 700; letter-spacing: .035em; margin-bottom: 1.5mm; }
.report-document-title { text-align: center; margin: 5mm 0 4mm; flex: none; }
.report-document-title h1 { font-family: Arial, Helvetica, sans-serif; font-size: 12pt; line-height: 1.4; letter-spacing: .035em; font-weight: 700; color: #172b40; margin: 0 0 1mm; }
.report-document-title p { margin: 0; font-size: 9pt; color: #485561; }
.report-page-body { display: block; padding-bottom: 10mm; }
.report-page h2 { font: 700 10pt/1.4 Arial, Helvetica, sans-serif; color: #172b40; margin: 0 0 2mm; padding-bottom: 1mm; border-bottom: 1px solid #bcc5cc; }
.report-section { margin: 0 0 3mm; break-inside: avoid; }
.report-fields { display: grid; grid-template-columns: 1fr 1fr; column-gap: 6mm; margin: 0; }
.report-fields > div { display: grid; grid-template-columns: 42% 58%; border-bottom: 1px solid #e4e8eb; padding: 1.5mm 0; font-size: 9pt; }
.report-fields dt { color: #4d5964; padding-right: 2mm; }
.report-fields dd { margin: 0; font-weight: 600; }
.report-table { width: 100%; border-collapse: collapse; font-size: 9pt; line-height: 1.4; }
.report-table th, .report-table td { border: 1px solid #bdc7cf; padding: 2mm 2.3mm; vertical-align: top; text-align: left; }
.report-table th { font-weight: 700; background: #edf1f4; }
.report-table th:nth-child(1) { width: 49%; }
.report-table th:nth-child(2) { width: 12%; }
.report-table .report-number { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.report-note { font-size: 8.4pt; margin: 1.5mm 0 0; color: #4d5964; }
.report-ages { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #bdc7cf; }
.report-ages > div { padding: 2.5mm; text-align: center; }
.report-ages > div + div { border-left: 1px solid #bdc7cf; }
.report-ages span { display: block; font-size: 9pt; margin-bottom: 1mm; }
.report-ages strong { font-size: 13pt; }
.report-assessment { border: 1px solid #9aaebb; border-left: 4px solid #253f58; padding: 3mm 4mm; margin-bottom: 5mm; }
.report-assessment span { display: block; font-size: 9pt; color: #4d5964; }
.report-assessment strong { display: block; font-size: 14pt; margin: 1mm 0; }
.report-assessment p, .report-finding p { margin: 0; font-size: 10pt; }
.report-finding { margin: 0 0 3mm; break-inside: avoid; }
.report-finding h3 { font: 700 10pt/1.4 Arial, Helvetica, sans-serif; margin: 0 0 1mm; }
.report-note-item { margin: 0 0 3mm; font-size: 9.5pt; }
.report-flow-block { break-inside: avoid; }
.report-followup { margin-top: 5mm; }
.report-write-line { height: 7mm; border-bottom: 1px solid #aeb9c2; }
.report-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 20mm; text-align: center; margin: 5mm 5mm 2mm; font-size: 9pt; }
.report-signatures p { margin: 1mm 0; }
.report-signatures strong { display: block; border-bottom: 1px solid #8d9aa5; padding-bottom: 1mm; }
.report-sign-space { height: 15mm; }
.report-page-footer { position: absolute; bottom: 0; left: 0; right: 0; display: flex; justify-content: space-between; gap: 4mm; padding-top: 2mm; border-top: 1px solid #8d9aa5; font-size: 8pt; color: #485561; }
.report-preview .report-page-footer { bottom: 12mm; left: 12mm; right: 12mm; }
.report-page-number { white-space: nowrap; }
.report-chart-context { margin: 0 0 3mm; font-size: 9pt; }
.report-chart { break-inside: avoid; margin: 0 0 4mm; }
.report-chart h2 { margin: 0 0 1mm; }
.report-chart h2 span { font-weight: 400; }
.report-chart > svg { display: block; width: 100%; height: 75mm; }
.report-chart-legend { display: flex; justify-content: center; gap: 4mm; font-size: 8pt; margin: 1mm 0; }
.report-chart-legend span:nth-child(1) { color: #1b7449; }
.report-chart-legend span:nth-child(2) { color: #b3261e; }
.report-chart-legend span:nth-child(3) { color: #16212c; }
.report-chart-legend span:nth-child(4) { color: #0068b3; }
.report-chart-note { margin: 1mm 0 0; color: #4d5964; font-size: 8pt; line-height: 1.35; }
@media screen and (max-width: 850px) { .report-preview { overflow-x: auto; padding: 0 10px; } .report-preview .report-page { margin-left: 0; } }
@media print {
  @page { size: A4; margin: 12mm; }
  body.pt-report-ready { margin: 0 !important; padding: 0 !important; background: white !important; }
  body.pt-report-ready > :not(#pt-report) { display: none !important; }
  body.pt-report-ready > #pt-report { display: block !important; position: static; padding: 0; margin: 0; width: auto; }
  #pt-report .report-page { box-sizing: border-box; margin: 0; padding: 0; border: 0; box-shadow: none; width: 100%; height: 268mm; break-after: page; break-inside: avoid; }
  #pt-report .report-page-footer { bottom: 0; left: 0; right: 0; }
  #pt-report .report-page:last-child { break-after: auto; }
  #pt-report *, #pt-report svg { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
