/* ============================================================================
   BuildDesk PH — Print / document layer
   Documents render into #print-layer. When body.printing, only that shows.
   Also styles the on-screen preview of documents (.doc).
   ============================================================================ */
#print-layer { display: none; }

body.printing #print-layer { display: block; }
body.printing .app { display: none !important; }
body.printing .modal-overlay, body.printing .toast-host { display: none !important; }

/* The document sheet (used both in preview modal and print) */
.doc {
  background: #fff; color: #1a1a1a; font-family: "Georgia", "Times New Roman", serif;
  width: 100%; max-width: 800px; margin: 0 auto; padding: 40px 48px; line-height: 1.55; font-size: 13px;
}
.doc * { box-sizing: border-box; }
.doc h1 { font-family: var(--font, sans-serif); font-size: 22px; margin: 0 0 2px; letter-spacing: -.01em; }
.doc h2 { font-family: var(--font, sans-serif); font-size: 15px; margin: 22px 0 8px; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1.5px solid #1a1a1a; padding-bottom: 4px; }
.doc h3 { font-family: var(--font, sans-serif); font-size: 13.5px; margin: 14px 0 4px; }
.doc p { margin: 7px 0; }
.doc .doc-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #d97706; padding-bottom: 14px; margin-bottom: 8px; }
.doc .doc-firm { font-family: var(--font, sans-serif); }
.doc .doc-firm .fname { font-size: 18px; font-weight: 800; color: #1a1a1a; }
.doc .doc-firm .frole { font-size: 11px; color: #666; letter-spacing: .03em; }
.doc .doc-logo { width: 54px; height: 54px; border-radius: 10px; background: linear-gradient(135deg,#d97706,#b45309); color:#fff; display:grid; place-items:center; font-weight:800; font-size:24px; font-family: var(--font, sans-serif); }
.doc .doc-meta { text-align: right; font-family: var(--font, sans-serif); font-size: 11px; color: #444; }
.doc .doc-title { text-align: center; font-family: var(--font, sans-serif); font-size: 20px; font-weight: 800; margin: 18px 0 4px; text-transform: uppercase; letter-spacing: .05em; }
.doc .doc-sub { text-align: center; color: #666; font-family: var(--font, sans-serif); font-size: 12px; margin-bottom: 12px; }

.doc table { width: 100%; border-collapse: collapse; margin: 10px 0; font-family: var(--font, sans-serif); font-size: 12px; }
.doc table th { background: #f5efe7; text-align: left; padding: 8px 10px; border: 1px solid #ddd; font-size: 10.5px; text-transform: uppercase; letter-spacing: .03em; }
.doc table td { padding: 8px 10px; border: 1px solid #e5e5e5; vertical-align: top; }
.doc table td.num, .doc table th.num { text-align: right; font-variant-numeric: tabular-nums; }
.doc .total-row td { font-weight: 800; background: #fff7ed; border-top: 2px solid #d97706; font-size: 13px; }

.doc .field-line { border-bottom: 1px solid #999; min-width: 160px; display: inline-block; }
.doc .box { border: 1px solid #ccc; border-radius: 8px; padding: 12px 14px; margin: 8px 0; font-family: var(--font, sans-serif); font-size: 12px; }
.doc .box-title { font-weight: 800; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color:#b45309; margin-bottom: 6px; }
.doc ol, .doc ul { margin: 8px 0; padding-left: 22px; }
.doc li { margin: 5px 0; }
.doc .sig-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 40px; margin-top: 40px; font-family: var(--font, sans-serif); }
.doc .sig { text-align: center; }
.doc .sig-line { border-top: 1px solid #333; margin-top: 34px; padding-top: 4px; font-size: 11px; }
.doc .sig-role { font-size: 10px; color: #666; }
.doc .doc-foot { margin-top: 30px; border-top: 1px solid #ccc; padding-top: 10px; font-size: 10px; color: #888; font-family: var(--font, sans-serif); text-align: center; }
.doc .checkline { display:flex; gap:8px; align-items:flex-start; margin:4px 0; font-family: var(--font, sans-serif); font-size:12px; }
.doc .checkbox { width:13px; height:13px; border:1.5px solid #555; border-radius:3px; flex:0 0 13px; margin-top:2px; }
.doc .checkbox.on { background:#15803d; border-color:#15803d; }
.doc .two-col { column-count: 2; column-gap: 28px; }
.doc small { color:#666; }
.doc .note { background:#fffbeb; border-left:3px solid #d97706; padding:8px 12px; font-family:var(--font,sans-serif); font-size:11.5px; margin:8px 0; }

@page { size: A4; margin: 14mm; }
@media print {
  body { background: #fff; }
  .doc { box-shadow: none; padding: 0; max-width: 100%; }
  .doc h2 { break-after: avoid; }
  .doc table, .doc .box, .doc .sig-grid { break-inside: avoid; }
}
