/* The A4 document shares its coordinates with the downloadable vector PDF. */
.installation-document { width: 210mm; transform-origin: top left; }
.installation-document-page.print-page { position: relative; box-sizing: border-box; width: 210mm; height: 297mm; min-height: 297mm; padding: 0; margin: 0 0 18px; overflow: hidden; background: #fff; color: #23372c; box-shadow: 0 3px 18px #182c1f12; }
.installation-document-page > span, .installation-document-page > img { position: absolute; display: block; box-sizing: border-box; margin: 0; padding: 0; }
.installation-document-page .ib-text { white-space: pre; line-height: 1.3; border: 0; letter-spacing: 0; }
.installation-document-page .ib-check { border: .25mm solid currentColor; text-align: center; font: bold 9pt/3.4mm Arial, sans-serif; }
.installation-document-page .workorder-signature-image { object-fit: contain; object-position: left center; }
.ib-editor { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
.ib-editor-grid { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(320px, 1.6fr); gap: 22px; align-items: start; }
.ib-controls { min-width: 0; }
.ib-control-group { margin-bottom: 12px; border: 1px solid var(--border); border-radius: 12px; padding: 14px; background: #fff; }
.ib-control-group summary { cursor: pointer; font-weight: 750; color: var(--brand); }
.ib-control-group[open] summary { margin-bottom: 16px; }
.ib-control-group .field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ib-control-group .field:has(textarea), .ib-control-group .field:has(input[type="text"]) { grid-column: 1 / -1; }
.ib-section-control { padding: 10px 0; border-bottom: 1px solid var(--border); }
.ib-section-control:last-child { margin-bottom: 12px; }
.ib-section-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ib-section-actions label { display: flex; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.ib-section-actions input { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--brand); }
.ib-section-actions .button-row { flex-wrap: nowrap; gap: 4px; }
.ib-section-control > .field { margin-top: 10px; }
.ib-preview-panel { min-width: 0; padding: 16px; border: 1px solid var(--border); background: #eaf0ec; border-radius: 14px; }
.ib-preview-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.ib-preview-heading span { font-size: 12px; color: var(--muted); }
.ib-preview-window { overflow: hidden; width: 100%; }
[data-ib-preview] { width: 100%; }
@media (max-width: 1050px) { .ib-editor-grid { grid-template-columns: 1fr; } }
@media print {
  @page installationDocument { size: A4; margin: 0; }
  #print-document:has(.installation-document) { padding: 0; }
  .installation-document { width: 210mm; transform: none !important; }
  .installation-document-page.print-page { page: installationDocument; margin: 0; padding: 0; box-shadow: none; break-after: page; break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .installation-document-page.print-page:last-child { break-after: auto; }
}
