/* Dokumen cetak mandiri: tanpa stylesheet aplikasi, font jaringan atau iframe. */
@page{size:A4 landscape;margin:5mm;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:#fff;color:#07111f;font-family:Arial,sans-serif;}
.print-toolbar{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;font-size:14px;background:#eef2f6;}
.print-toolbar button{padding:8px 16px;cursor:pointer;}
/* Isi sudah diukur dan diskalakan utuh oleh fitSheet. Batas halaman hanya
   mencegah kotak layout sebelum transform menghasilkan lembar kosong ekstra. */
.print-page{position:relative;width:287mm;height:199mm;margin:0 auto;padding:0;overflow:hidden;}
.pdf-slide{position:absolute;transform-origin:top left;width:1200px;min-height:740px;padding:150px 100px 32px;background:#fff;color:#07111f;font-family:"Arial Narrow","Roboto Condensed",Arial,sans-serif;}
.pdf-heading{position:absolute;top:28px;left:140px;right:140px;text-align:center;color:#002b68;}
.pdf-heading h1{margin:0;font-size:36px;line-height:1.08;font-weight:900;}
.pdf-heading h2{margin:20px 0 0;font-size:28px;line-height:1.1;font-weight:500;}
.pdf-heading p,.pdf-corner-mark{display:none;}
.pdf-seal{position:absolute;top:26px;right:28px;width:88px;height:88px;}
.pdf-seal img{display:block;width:100%;height:100%;object-fit:contain;}
.pdf-left-block-a,.pdf-left-block-b,.pdf-left-block-c,.pdf-left-block-d{position:absolute;top:0;left:0;width:34px;height:88px;background:#414578;}
.pdf-left-block-b{left:34px;width:42px;height:102px;background:#526895;}
.pdf-left-block-c{top:48px;width:66px;height:72px;background:#151e59;}
.pdf-left-block-d{top:120px;width:66px;height:30px;background:#002964;}
.pdf-timeline-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto auto auto;gap:0;}
/* Tiga baris bersama tanpa subgrid: tinggi seragam di Safari dan Chrome. */
.pdf-day-col{display:contents;}
.pdf-lane{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:0 5px;}
.pdf-lane-top{grid-row:1;justify-content:flex-end;padding-bottom:10px;}
.pdf-lane-bottom{grid-row:3;justify-content:flex-start;padding-top:10px;}
.pdf-day-band{grid-row:2;text-align:center;color:#111827;}
.pdf-date-cell,.pdf-name-cell{border:1px solid #111827;padding:2px;background:#fff;line-height:1.1;}
.pdf-date-cell{font-size:24px;font-weight:800;}
.pdf-name-cell{border-top:0;font-size:19px;}
.friday .pdf-date-cell,.friday .pdf-name-cell{background:#ffc20a;}
.weekend .pdf-date-cell,.weekend .pdf-name-cell{background:#f7a19d;}
.pdf-event{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:4px;width:150%;flex:none;padding:5px 6px;border:2px solid #a15c07;background:#fef5d2;border-radius:1px;font-size:12px;line-height:1.13;text-align:left;font-weight:700;overflow-wrap:anywhere;}
.pdf-event-time{max-width:65px;}
.pdf-event-title{min-width:0;}
.pdf-event-ready{border:1.5px solid #0a386c;border-radius:20px;padding:0 4px;background:#fff;color:#0a386c;font-size:10px;line-height:1.2;white-space:nowrap;}
.pdf-event.status-approved{background:#e3effe;border-color:#1d4ed8;}
.pdf-event.status-pending{background:#fef5d2;border-color:#a15c07;}
.pdf-event.status-tapping{background:#ffe6eb;border-color:#ff2d55;}
.pdf-event.status-rejected{background:#fee8e8;border-color:#b42318;}
.pdf-event.status-delegated{background:#f1edfe;border-color:#6d28d9;}
.pdf-event.status-waiting{background:#e7ecf3;border-color:#334155;}
.pdf-empty-note{padding:12px 0 4px;color:#64748b;font-size:11px;}
.pdf-status-dots{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;}
.pdf-status-dots span{display:block;width:9px;height:9px;border-radius:50%;background:#a91f23;}
@media print{
  html,body{width:auto;height:auto;overflow:visible;}
  .print-toolbar{display:none;}
  .print-page{margin:0;break-inside:avoid;page-break-inside:avoid;}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}
