@page{size:A4 portrait;margin:0}.print-page{position:relative;overflow:hidden;background:#fff;box-shadow:0 1mm 5mm rgba(23,32,25,.14);page-break-after:always;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-element{position:absolute;box-sizing:border-box;overflow:hidden;white-space:pre-wrap}.print-element table{width:100%;border-collapse:collapse;font-size:3.2mm}.print-element th,.print-element td{border:.25mm solid #475048;padding:2mm;vertical-align:top}.print-element tr,.print-element-image{break-inside:avoid}.print-element img{width:100%;height:100%;object-fit:contain}.photo-grid{height:100%;display:grid;gap:var(--photo-gap,2mm);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.photo-grid-1{grid-template-columns:1fr;grid-template-rows:1fr}.photo-grid-2{grid-template-columns:repeat(2,1fr);grid-template-rows:1fr}.photo-grid-6{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.photo-grid-auto:has(figure:nth-child(5)){grid-template-columns:repeat(3,1fr)}.photo-grid figure{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:2mm;background:#f0f2ed;break-inside:avoid}.photo-grid img{display:block;width:100%;height:100%}.photo-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:1mm 2mm;color:#fff;background:rgba(0,0,0,.58);font-size:2.5mm}.image-error{display:grid;height:100%;place-items:center;color:#687068}.print-element-line span{display:block;border-top:.3mm solid currentColor;margin-top:50%}.signature-line{display:inline-block;width:38mm;border-bottom:.25mm solid;margin-left:3mm}.qr-placeholder{display:block;font-size:16mm;line-height:1}.image-placeholder{display:grid;height:100%;place-items:center;background:#f3f5f1;color:#7b827b}.print-page:last-child{page-break-after:auto}@media print{body{margin:0!important;background:#fff!important}.print-nav,.preview-toolbar,.library-view,.designer-view{display:none!important}.preview-view{display:block!important}.preview-pages{padding:0!important;display:block!important}.print-page{box-shadow:none!important;margin:0!important}}
/* Collapsed table borders extend half a stroke beyond the element box. */
.print-element.print-element-table{overflow:visible}
.photo-table-cell{position:relative;overflow:hidden}.photo-table-cell>.photo-grid{position:absolute;inset:2mm;width:auto;height:auto;min-width:0;min-height:0}.photo-grid figure{min-width:0;min-height:0}.photo-grid figure>img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%}
.photo-table-cell.photo-align-left>.photo-grid{right:auto;width:calc(100% - 4mm)}.photo-table-cell.photo-align-right>.photo-grid{left:auto;width:calc(100% - 4mm)}.qr-simulation{position:relative;display:block;width:100%;height:100%;opacity:.78}.qr-simulation svg{width:100%;height:100%}.qr-simulation b{position:absolute;right:1mm;bottom:1mm;padding:.6mm 1.2mm;border-radius:1mm;background:rgba(23,32,25,.82);color:#fff;font-size:2.2mm}.print-watermark{position:absolute;z-index:0;inset:-15%;display:grid;grid-template-columns:repeat(4,var(--watermark-spacing));grid-auto-rows:var(--watermark-spacing);place-items:center;overflow:hidden;pointer-events:none;color:var(--watermark-color);opacity:var(--watermark-opacity);transform:rotate(var(--watermark-angle));transform-origin:center}.print-watermark span{font-size:var(--watermark-size);font-weight:700;white-space:nowrap}.print-page>.print-element{z-index:1}
.photo-grid figure,.image-placeholder{background:transparent}

/* Physical output must ignore the compact-screen preview scale. Use a solid,
   device-stable table grid so PDF and printer rasterization cannot drop lines. */
@media print{
  html,body{width:100%!important;height:auto!important;margin:0!important;background:#fff!important}
  .preview-view{min-height:0!important}
  .preview-pages{padding:0!important;overflow:visible!important;background:#fff!important}
  .preview-pages .print-page{transform:none!important;transform-origin:initial!important;margin:0!important;box-shadow:none!important}
  .print-element-table table{border-collapse:collapse!important;border-spacing:0!important}
  .print-element-table th,.print-element-table td{border-width:.35mm;border-style:solid;border-color:#202820}
}
/* Record verification QR: explicit dimensions keep browser/PDF output scannable. */
.print-element-qr{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;gap:1mm;padding:1mm}.print-element-qr svg{display:block;width:100%;height:100%;min-height:0;background:#fff}.print-element-qr small{max-width:100%;overflow:hidden;color:#38423b;font-size:2.45mm;font-weight:700;letter-spacing:.08em;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.print-element-qr .qr-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#67716a;font-size:3mm;line-height:1.35;text-align:center}
.print-element-barcode{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:stretch;align-items:center;gap:1mm;padding:1.5mm 2mm;background:#fff}.print-element-barcode svg{display:block;width:100%;height:100%;min-height:8mm;fill:#0b0d0c;shape-rendering:crispEdges}.print-element-barcode small{max-width:100%;overflow:hidden;color:#242a26;font:700 2.25mm/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.07em;text-align:center;text-overflow:ellipsis;white-space:nowrap}.print-element-barcode .barcode-placeholder{display:grid;height:100%;place-items:center;color:#67716a;font-size:3mm;text-align:center}
.print-watermark{z-index:2;grid-template-columns:repeat(auto-fill,minmax(var(--watermark-spacing),1fr));mix-blend-mode:multiply}
