/* Halaman siap cetak A4 (portofolio, sertifikat, surat, laporan) */
*{box-sizing:border-box}
body{margin:0;background:#e9ecf2;font-family:var(--font-b),system-ui,sans-serif;color:#1b2333;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.toolbar{position:sticky;top:0;z-index:5;display:flex;gap:10px;align-items:center;padding:12px 16px;background:#17213A;color:#fff;flex-wrap:wrap}
.tb-btn{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:8px 14px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.tb-primary{background:var(--accent);color:#1a1405;border-color:transparent}
.tb-hint{font-size:.85rem;opacity:.8}
.page{width:210mm;min-height:297mm;margin:16px auto;background:#fff;padding:18mm 18mm 16mm;box-shadow:0 6px 24px rgba(0,0,0,.12);position:relative;page-break-after:always;overflow:hidden}
.page:last-child{page-break-after:auto}
.landscape .page{width:297mm;min-height:210mm;height:210mm;padding:0}
.kop{display:flex;align-items:center;gap:16px;border-bottom:3px double #1b2333;padding-bottom:10px;margin-bottom:18px}
.kop img{height:64px}
.kop h1{font-family:var(--font-h);font-size:18pt;margin:0}
.kop p{margin:2px 0 0;font-size:9.5pt;color:#555}
h2.doc-title{text-align:center;font-family:var(--font-h);font-size:15pt;letter-spacing:.04em;margin:6px 0 2px}
.doc-sub{text-align:center;font-size:10pt;color:#555;margin-bottom:16px}
table.doc{width:100%;border-collapse:collapse;font-size:9.8pt}
table.doc th,table.doc td{border:1px solid #c9ced8;padding:6px 8px;text-align:left;vertical-align:top}
table.doc th{background:#f0f2f7;font-weight:700}
.sign{display:flex;justify-content:space-between;align-items:flex-end;margin-top:26px;gap:20px}
.sign__box{text-align:center;min-width:220px;font-size:10pt;position:relative}
.sign__box img.sig{height:56px;display:block;margin:4px auto -6px}
.sign__box img.stamp{position:absolute;left:10px;top:18px;height:86px;opacity:.85}
.qr{display:flex;gap:10px;align-items:center;font-size:8.5pt;color:#555;max-width:62mm}
.qr svg{width:22mm;height:22mm}
.muted{color:#666}
.small{font-size:9pt}
/* sertifikat */
.cert{width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20mm 26mm;background-size:cover;background-position:center}
.cert__frame{position:absolute;inset:8mm;border:2.5mm solid var(--cert);outline:.6mm solid var(--cert);outline-offset:-5mm;pointer-events:none}
.cert__logo{height:22mm;margin-bottom:4mm}
.cert__school{font-family:var(--font-h);font-size:13pt;letter-spacing:.08em;color:#333}
.cert__type{font-family:var(--font-h);font-size:30pt;font-weight:800;color:var(--cert);margin:6mm 0 2mm;letter-spacing:.02em}
.cert__no{font-size:9pt;color:#666}
.cert__to{margin-top:7mm;font-size:11pt;color:#444}
.cert__name{font-family:var(--font-h);font-size:28pt;font-weight:800;margin:2mm 0 1mm;border-bottom:.5mm solid #999;padding:0 12mm 2mm}
.cert__detail{font-size:10.5pt;color:#555}
.cert__as{margin-top:6mm;font-size:11pt}
.cert__title{font-family:var(--font-h);font-size:17pt;font-weight:800;color:#1b2333;margin-top:1mm}
.cert__event{font-size:11pt;margin-top:1mm}
.cert__foot{position:absolute;left:26mm;right:26mm;bottom:20mm;display:flex;justify-content:space-between;align-items:flex-end}
@page{size:A4;margin:0}
@media print{
  body{background:#fff}
  .no-print{display:none!important}
  .page{margin:0;box-shadow:none}
  .landscape{}
}
/* surat */
.letter{font-size:11pt;line-height:1.6}
.letter p{margin:0 0 10px;text-align:justify}
.letter__body{text-indent:1.2cm}
