/* ═══════════════════════════════════════════════════════════
   TurfMiami — Print & PDF Stylesheet v4.0 PREMIUM PRODUCTION
   ═══════════════════════════════════════════════════════════
   <link rel="stylesheet" href="print.css" media="print">
   ═══════════════════════════════════════════════════════════ */

@page { size: letter; margin: 0.35in 0.45in 0.3in; }
@page :first { margin: 0; } /* Cover page: zero margins — gradient fills full page */

/* ═══ GLOBAL RESET ═══ */
* {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  box-sizing: border-box !important;
}

html, body {
  background: #fff !important;
  color: #222 !important;
  font-size: 11px !important;
  font-family: 'Inter', 'Segoe UI', Tahoma, sans-serif !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  line-height: 1.5 !important;
  height: auto !important;
}

p, li, td, th { orphans: 3; widows: 3; }

/* ═══ Logo: solid black on white paper (NOT on dark cover) ═══ */
.letter-page .page-header img,
.sow-header img,
.prop-hdr img,
.prop-hdr-left img {
  filter: brightness(0) saturate(100%) !important;
}
/* Cover page logo stays white */
#proposalDoc .prop-page:first-child img {
  filter: none !important;
  opacity: 1 !important;
}

/* ═══ HIDE UI ═══ */
.header, .tabs, .actions, .admin-panel, .send-cfg, .examples,
.btn, .toggle-item, .admin-toggle, .sow-edit-area, .card-h,
.notif, .estimate-approve-card, .nav-tab, #quickAccessBar,
#userSection, .sow-approve-box,
#paypal-button-container, .sig-pad-actions {
  display: none !important;
}

.section, .app { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: 100% !important; overflow: visible !important; }
.card { box-shadow: none !important; border: none !important; background: transparent !important; }
.card-body { padding: 0 !important; }

/* ═══════════════════════════════════════════════
   RESULTS (.letter-page)
   ═══════════════════════════════════════════════ */
.letter-page {
  box-shadow: none !important; border: none !important; border-radius: 0 !important;
  padding: 0 !important; margin: 0 !important; min-height: auto !important;
  max-width: 100% !important; width: 100% !important; overflow: visible !important;
  font-size: 12px !important; background: #fff !important; color: #222 !important;
  border-top: 6px solid #0A1628 !important;
  padding-top: 4px !important;
}
.letter-page * { box-sizing: border-box !important; }
.letter-page div[style*="overflow"] { overflow: visible !important; }

/* Header */
.letter-page .page-header {
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #0A1628 !important;
  page-break-inside: avoid !important;
}
.letter-page .page-header img { height: 50px !important; }
.letter-page .page-meta { font-size: 11px !important; line-height: 1.6 !important; }
.letter-page .page-meta .doc-num {
  font-size: 20px !important; font-weight: 800 !important; color: #0A1628 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}

/* Customer Info Box */
.letter-page div[style*="background:#F0F3FA"] {
  padding: 12px 16px !important;
  margin-bottom: 14px !important;
  font-size: 12.5px !important;
  line-height: 1.7 !important;
  page-break-inside: avoid !important;
  background: #F5F7FD !important;
  border-radius: 6px !important;
  border-left: 4px solid #0A1628 !important;
  border: 1px solid #e8efe8 !important;
  border-left: 4px solid #0A1628 !important;
}

/* Hero Price */
.letter-page .result-hero {
  padding: 22px 24px !important;
  margin-bottom: 16px !important;
  background: linear-gradient(135deg, #081420, #0D2847) !important;
  border-radius: 10px !important;
  page-break-inside: avoid !important;
}
.letter-page .result-hero .big {
  font-size: 36px !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 800 !important;
}
.letter-page .result-hero .psf { font-size: 13px !important; }
.letter-page .result-hero .sub { font-size: 10px !important; }

/* Metrics */
.letter-page .metrics-grid {
  gap: 8px !important; margin-bottom: 14px !important; page-break-inside: avoid !important;
}
.letter-page .metric {
  padding: 8px !important; border-radius: 6px !important;
  background: #F5F7FD !important; border: 1px solid #e8efe8 !important;
}
.letter-page .metric .m-label { font-size: 8px !important; color: #0A1628 !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }
.letter-page .metric .m-value { font-size: 14px !important; font-weight: 800 !important; }

/* Breakdown Table */
.letter-page .bk-table {
  width: 100% !important; table-layout: fixed !important;
  font-size: 11px !important; border-collapse: collapse !important;
}
.letter-page .bk-table th {
  padding: 7px 10px !important; font-size: 9px !important;
  background: #0A1628 !important; color: #fff !important;
  text-transform: uppercase !important; letter-spacing: 0.8px !important;
  font-weight: 600 !important;
}
.letter-page .bk-table td {
  padding: 6px 10px !important; font-size: 11px !important;
  border-bottom: 1px solid #eee !important;
}
.letter-page .bk-table tr:nth-child(even) { background: #fafafa !important; }
.letter-page .bk-table th:first-child, .letter-page .bk-table td:first-child { width: 44% !important; }
.letter-page .bk-table th:nth-child(2), .letter-page .bk-table td:nth-child(2) { width: 14% !important; }
.letter-page .bk-table th:nth-child(3), .letter-page .bk-table td:nth-child(3) { width: 20% !important; }
.letter-page .bk-table th:nth-child(4), .letter-page .bk-table td:nth-child(4) { width: 22% !important; }
.letter-page .bk-table .total td {
  font-size: 13px !important; font-weight: 800 !important; color: #0A1628 !important;
  border-top: 3px solid #0A1628 !important; padding-top: 8px !important;
  background: #F0F4FF !important;
}
.letter-page .bk-table .subtotal td { font-weight: 700 !important; border-top: 1px solid #ccc !important; }
.letter-page .bk-table .auto-tag { font-size: 7.5px !important; padding: 1px 4px !important; }

/* Category headers in print */
.letter-page .bk-table .cat-extras td {
  color: #2563eb !important; font-weight: 700 !important; font-size: 10px !important;
  text-transform: uppercase !important; letter-spacing: 0.5px !important;
  padding-top: 10px !important; border-bottom: none !important;
}
.letter-page .bk-table .cat-services td {
  color: #7c3aed !important; font-weight: 700 !important; font-size: 10px !important;
  text-transform: uppercase !important; letter-spacing: 0.5px !important;
  padding-top: 10px !important; border-bottom: none !important;
}

/* Results Totals Summary */
.letter-page .results-totals {
  margin-top: 4px !important; page-break-inside: avoid !important;
}
.letter-page .results-totals .tot-row {
  display: flex !important; justify-content: space-between !important;
  padding: 5px 10px !important; font-size: 11px !important;
  border-bottom: 1px solid #eee !important;
}
.letter-page .results-totals .tot-row .tot-label { color: #555 !important; }
.letter-page .results-totals .tot-row .tot-value { font-weight: 700 !important; color: #222 !important; }
.letter-page .results-totals .tot-row.accent .tot-value { color: #b8860b !important; }

/* Final Price Banner */
.letter-page .results-final {
  margin-top: 8px !important; padding: 14px 16px !important;
  background: linear-gradient(90deg, #F0F4FF, #E3F0FF) !important;
  border: 2px solid #0A1628 !important; border-radius: 8px !important;
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; page-break-inside: avoid !important;
}
.letter-page .results-final .rf-label {
  font-size: 11px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 1.5px !important;
  color: #0A1628 !important;
}
.letter-page .results-final .rf-value {
  font-size: 24px !important; font-weight: 800 !important;
  color: #0A1628 !important; font-family: 'Fraunces', Georgia, serif !important;
}

/* Footer */
.letter-page .page-footer {
  position: static !important; margin-top: 18px !important; padding-top: 10px !important;
  font-size: 9px !important; border-top: 1px solid #e0e0e0 !important;
  page-break-inside: avoid !important; text-align: center !important; color: #999 !important;
  background: #fafdf9 !important; padding: 8px 0 !important; margin-left: -0.5in !important;
  margin-right: -0.5in !important; padding-left: 0.5in !important; padding-right: 0.5in !important;
}

/* ═══════════════════════════════════════════════
   ESTIMATE / QUOTE (SOW)
   ═══════════════════════════════════════════════ */
/* Top green bar via border */
#quoteBox, #sec-quote .letter-page {
  border-top: 6px solid #0A1628 !important;
  padding-top: 4px !important;
}

.sow-header {
  margin-bottom: 14px !important; padding-bottom: 10px !important;
  border-bottom: 2px solid #0A1628 !important;
  page-break-inside: avoid !important;
}
.sow-header img { height: 50px !important; }
.sow-header .sow-sub { font-size: 10px !important; }
.sow-header .sow-date {
  font-size: 13px !important; font-weight: 700 !important; color: #0A1628 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}

/* Customer Info */
.q-info {
  padding: 12px 16px !important; margin-bottom: 14px !important;
  font-size: 12.5px !important; line-height: 1.7 !important;
  page-break-inside: avoid !important;
  background: #F5F7FD !important; border: 1px solid #e8efe8 !important;
  border-left: 4px solid #0A1628 !important; border-radius: 0 6px 6px 0 !important;
}
.q-info strong { font-size: 12.5px !important; color: #111 !important; }

/* Project Bar */
.sow-project {
  padding: 10px 16px !important; margin-bottom: 16px !important; font-size: 13px !important;
  page-break-inside: avoid !important;
  background: #F5F7FD !important; border: 1px solid #e8efe8 !important;
  border-left: 4px solid #0A1628 !important; border-radius: 0 6px 6px 0 !important;
}

/* Section Titles */
.sow-section { margin-bottom: 14px !important; }
.sow-section h3 {
  font-size: 12px !important; margin-bottom: 8px !important;
  page-break-after: avoid !important; color: #0A1628 !important;
  text-transform: uppercase !important; letter-spacing: 1px !important;
  font-weight: 700 !important; padding-bottom: 4px !important;
  border-bottom: none !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
}
.sow-section h3::after {
  content: '' !important; flex: 1 !important; height: 1px !important;
  background: #d4e8d4 !important; display: block !important;
}

/* Scope Items — numbered circles */
.sow-list { counter-reset: scope !important; list-style: none !important; padding-left: 0 !important; }
.sow-list li {
  position: relative !important; padding: 4px 0 4px 32px !important;
  font-size: 12px !important; line-height: 1.6 !important; color: #333 !important;
  counter-increment: scope !important; list-style: none !important;
}
.sow-list li::before {
  content: counter(scope) !important;
  position: absolute !important; left: 0 !important; top: 4px !important;
  width: 22px !important; height: 22px !important;
  background: #E3F0FF !important; color: #0A1628 !important;
  border-radius: 50% !important; font-size: 10px !important; font-weight: 700 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}

.sow-upgrades li {
  font-size: 11.5px !important; padding: 3px 0 3px 16px !important;
  line-height: 1.55 !important; color: #444 !important;
}
.sow-notes li {
  font-size: 11px !important; padding: 2px 0 2px 16px !important;
  line-height: 1.5 !important; color: #444 !important;
}

/* PRICE BOX — Premium gradient */
.sow-price-box {
  padding: 26px 24px !important; margin: 20px 0 !important;
  background: linear-gradient(135deg, #081420, #0D2847) !important;
  border-radius: 10px !important; page-break-inside: avoid !important;
  text-align: center !important;
}
.sow-price-box .sow-price {
  font-size: 40px !important; color: #fff !important; font-weight: 800 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}
.sow-price-box .sow-psf {
  font-size: 13px !important; color: rgba(255,255,255,0.85) !important; margin-top: 6px !important;
}
.sow-price-box div[style*="text-transform"] {
  font-size: 10px !important; color: rgba(255,255,255,0.7) !important; letter-spacing: 2px !important;
}

/* Payment Terms */
.sow-payment {
  padding: 10px 16px !important; font-size: 12px !important;
  page-break-inside: avoid !important;
  background: #F5F7FD !important; border: 1px solid #e8efe8 !important;
  border-left: 4px solid #0A1628 !important; border-radius: 0 6px 6px 0 !important;
  margin-top: 14px !important;
}

/* Footer */
.sow-footer {
  font-size: 9px !important; margin-top: 18px !important; padding: 8px 0 !important;
  page-break-inside: avoid !important; border-top: 1px solid #e0e0e0 !important;
  text-align: center !important; color: #999 !important;
}

/* Hide approve button */
.sow-approve-box, div[style*="border:2px solid #4caf50"][style*="text-align:center"] { display: none !important; }

/* ═══════════════════════════════════════════════
   PROPOSAL (.prop)
   ═══════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════
   PROPOSAL — COMPLETE PRINT RESET
   Target: no empty spaces, no text cuts, auto-flow
   ═══════════════════════════════════════════════ */

/* ── Outer container ── */
.prop {
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  font-size: 11px !important;
  border-top: none !important;
  display: block !important;
}

/* ── ALL pages: strip inline sizing, let content flow ── */
.prop-page {
  /* ❶ Reset ALL inline dimensions */
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  /* ❷ Remove box styles */
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  /* ❸ Page flow */
  margin: 0 !important;
  padding: 0.25in 0 !important;
  overflow: visible !important;
  display: block !important;
  /* ❹ Force page break AFTER each section (not inside) */
  page-break-after: always !important;
  break-after: page !important;
  page-break-inside: auto !important;
  break-inside: auto !important;
  /* ❺ Color preservation */
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* Last page: no trailing page break */
.prop-page:last-child {
  page-break-after: auto !important;
  break-after: auto !important;
}

/* No separator lines between pages */
.prop-page + .prop-page {
  border-top: none !important;
  padding-top: 0.25in !important;
  page-break-before: always !important;
  break-before: page !important;
}

/* ── PAGE 1: COVER ── */
#proposalDoc .prop-page:first-child {
  /* Full-page dark background */
  background: linear-gradient(160deg,#040810 0%,#0A1628 40%,#0D2847 70%,#0A1830 100%) !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  /* Fill the full page height minus margins */
  min-height: 9.5in !important;
  height: 9.5in !important;
  /* Layout */
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  /* Strip inline box styles */
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  /* Text */
  color: #fff !important;
}

/* ALL children inside cover: preserve colors + center */
#proposalDoc .prop-page:first-child * {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  color: #fff !important;
}

/* Cover: all direct child divs fill full width */
#proposalDoc .prop-page:first-child > div {
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

/* Cover logo: white, centered */
#proposalDoc .prop-page:first-child img {
  filter: none !important;
  opacity: 1 !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 20px !important;
  margin-top: 0 !important;
  width: 200px !important;
  max-width: 200px !important;
  height: auto !important;
}

/* Cover accent bar top */
#proposalDoc .prop-page:first-child [style*="linear-gradient(90deg,#0d9b4a"],
#proposalDoc .prop-page:first-child [style*="linear-gradient(90deg,#0A1628"] {
  background: linear-gradient(90deg,#0d9b4a,#33E0FF,#0d9b4a) !important;
  position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important;
  height: 4px !important;
}

/* Cover customer info box */
#proposalDoc .prop-page:first-child [style*="background:rgba(255,255,255,0.06)"] {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.15) !important;
}

/* ── PAGES 2-5: content flow ── */
#proposalDoc .prop-page:not(:first-child) {
  background: #fff !important;
  color: #222 !important;
  padding: 0.2in 0 !important;
}

/* ── COLOR PRESERVATION: all coloured boxes ── */
#proposalDoc * {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* ── FLOW: prevent orphaned headings ── */
#proposalDoc h1, #proposalDoc h2, #proposalDoc h3,
#proposalDoc h4, #proposalDoc h5 {
  page-break-after: avoid !important;
  break-after: avoid !important;
  page-break-inside: avoid !important;
  break-inside: avoid !important;
}

/* ── FLOW: keep items together (scope, warranty cards) ── */
#proposalDoc .prop-item,
#proposalDoc .prop-party,
#proposalDoc .prop-deposit,
#proposalDoc .prop-totals,
#proposalDoc .prop-sig,
#proposalDoc .prop-reps,
#proposalDoc .prop-payment-box {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
}

/* ── INLINE bg: dark gradient bars ── */
#proposalDoc [style*="background:linear-gradient(90deg,#0A1628"],
#proposalDoc [style*="background:linear-gradient(135deg,#0A1628"],
#proposalDoc [style*="background:linear-gradient(135deg, #0A1628"],
#proposalDoc [style*="background:#0A1628"],
#proposalDoc [style*="background:#0A1628"],
#proposalDoc [style*="background:#040810"] {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* ── PAGE TOP BAR (green gradient bar at top of pages 2-5) ── */
#proposalDoc [style*="height:5px;background:linear-gradient"] {
  background: linear-gradient(90deg,#0A1628,#0D2847,#0A1628) !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  height: 4px !important;
  display: block !important;
  margin: 0 !important;
}

/* ── ALL SECTIONS: overflow visible so content doesn't clip ── */
#proposalDoc * {
  overflow: visible !important;
  max-height: none !important;
}

/* ── Exception: don't make hidden elements visible ── */
#proposalDoc [style*="display:none"] {
  display: none !important;
}

/* Separator between pages */
.prop-page + .prop-page {
  border-top: none !important;
}

/* Header */
.prop-hdr {
  margin-bottom: 16px !important; padding-bottom: 12px !important;
  border-bottom: 2px solid #0A1628 !important; page-break-inside: avoid !important;
}
.prop-hdr img { height: 50px !important; }
.prop-hdr-co { font-size: 10px !important; color: #666 !important; line-height: 1.6 !important; }
.prop-hdr-right .prop-num {
  font-size: 22px !important; font-weight: 800 !important; color: #0A1628 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}
.prop-hdr-right .prop-meta { font-size: 10.5px !important; color: #666 !important; line-height: 1.6 !important; }

/* Parties — card style */
.prop-parties {
  margin-bottom: 16px !important; gap: 16px !important; page-break-inside: avoid !important;
}
.prop-party {
  background: #F5F7FD !important; border: 1px solid #e8efe8 !important;
  border-radius: 6px !important; padding: 10px 14px !important;
}
.prop-party h4 {
  font-size: 9px !important; color: #0A1628 !important; letter-spacing: 1.2px !important;
  padding-bottom: 4px !important; border-bottom: 2px solid #0A1628 !important;
  margin-bottom: 6px !important; text-transform: uppercase !important; font-weight: 700 !important;
}
.prop-party p { font-size: 12px !important; color: #333 !important; line-height: 1.5 !important; }

/* Deposit — gradient banner */
.prop-deposit {
  margin-bottom: 16px !important; padding: 14px 20px !important;
  page-break-inside: avoid !important;
  background: linear-gradient(135deg, #0A1628, #0D2847) !important;
  border: none !important; border-radius: 10px !important; color: #fff !important;
}
.prop-deposit .dep-amt {
  font-size: 18px !important; font-weight: 800 !important; color: #fff !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}
.prop-deposit .dep-note { color: rgba(255,255,255,0.8) !important; font-size: 11px !important; }

/* Terms Bar */
.prop-terms-bar {
  font-size: 11px !important; margin-bottom: 14px !important; padding: 5px 0 !important;
  border-bottom: 1px solid #e0e0e0 !important; color: #666 !important;
}

/* Line Items — card style */
.prop-item {
  page-break-inside: avoid !important; margin-bottom: 14px !important;
  border: 1px solid #e0e0e0 !important; border-radius: 8px !important; overflow: hidden !important;
}
.prop-item-hdr {
  padding: 10px 16px !important; background: #f5f8f5 !important;
  border-bottom: 1px solid #e8efe8 !important;
}
.prop-item-hdr .item-title { font-size: 14px !important; font-weight: 700 !important; color: #1a1a1a !important; }
.prop-item-hdr .item-cols { font-size: 11px !important; gap: 14px !important; color: #555 !important; }
.prop-item-hdr .item-total {
  font-size: 14px !important; font-weight: 800 !important; color: #0A1628 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}

.prop-item-body { padding: 14px 16px !important; font-size: 11.5px !important; line-height: 1.55 !important; }
.prop-item-body .item-product { font-size: 12px !important; margin-bottom: 4px !important; }

/* Scope headings inside proposal */
.prop-item-body h5 {
  font-size: 11px !important; margin: 10px 0 6px !important; color: #0A1628 !important;
  text-transform: uppercase !important; letter-spacing: 0.8px !important;
  page-break-after: avoid !important; font-weight: 700 !important;
  padding-bottom: 3px !important; border-bottom: none !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
}
.prop-item-body h5::after {
  content: '' !important; flex: 1 !important; height: 1px !important;
  background: #d4e8d4 !important; display: block !important;
}

.prop-item-body ol { counter-reset: pscope !important; list-style: none !important; padding-left: 0 !important; }
.prop-item-body ol li {
  position: relative !important; padding: 3px 0 3px 30px !important;
  font-size: 11px !important; line-height: 1.55 !important; color: #333 !important;
  counter-increment: pscope !important; list-style: none !important;
}
.prop-item-body ol li::before {
  content: counter(pscope) !important;
  position: absolute !important; left: 0 !important; top: 3px !important;
  width: 20px !important; height: 20px !important;
  background: #E3F0FF !important; color: #0A1628 !important;
  border-radius: 50% !important; font-size: 9px !important; font-weight: 700 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
.prop-item-body ul li {
  padding: 2px 0 !important; font-size: 11px !important;
  line-height: 1.5 !important; color: #444 !important;
}

/* Totals — premium gradient row */
.prop-totals { margin: 16px 0 !important; page-break-inside: avoid !important; }
.prop-totals table { width: 100% !important; border-collapse: collapse !important; }
.prop-totals td {
  padding: 8px 16px !important; font-size: 12px !important; border-bottom: 1px solid #eee !important;
}
.prop-totals td:last-child { text-align: right !important; }
.prop-totals tr:first-child td {
  font-size: 18px !important; font-weight: 800 !important; color: #0A1628 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  background: linear-gradient(90deg, #F0F4FF, #E3F0FF) !important;
  border-top: 3px solid #0A1628 !important; border-bottom: 3px solid #0A1628 !important;
  padding: 12px 16px !important;
}

/* T&C */
.prop-tc { page-break-before: auto !important; page-break-inside: auto !important; margin-top: 20px !important; }
.prop-tc h3 {
  font-size: 16px !important; color: #0A1628 !important;
  font-family: 'Playfair Display', Georgia, serif !important; font-weight: 800 !important;
  padding-bottom: 8px !important; border-bottom: 3px solid #0A1628 !important;
  margin-bottom: 12px !important; page-break-after: avoid !important;
  text-transform: uppercase !important; letter-spacing: 1px !important;
}
.prop-tc ol { padding-left: 20px !important; }
.prop-tc ol li {
  padding: 3px 0 !important; font-size: 10px !important;
  line-height: 1.5 !important; color: #333 !important; margin-bottom: 6px !important;
}
.prop-tc ol li strong { color: #111 !important; font-weight: 700 !important; }

/* Entire Agreement */
div[style*="background:#f8f8f8"] {
  font-size: 9px !important; line-height: 1.5 !important;
  padding: 10px 14px !important; background: #f8f8f8 !important;
  border-radius: 0 6px 6px 0 !important; border-left: 3px solid #999 !important;
  margin-top: 12px !important;
}

/* Signature */
.prop-sig {
  page-break-inside: avoid !important; margin-top: 18px !important;
  padding-top: 16px !important; border-top: 3px solid #0A1628 !important;
}
.prop-sig h3 {
  font-size: 16px !important; color: #0A1628 !important; margin-bottom: 14px !important;
  font-family: 'Playfair Display', Georgia, serif !important; font-weight: 800 !important;
  page-break-after: avoid !important;
}
.prop-sig-line { margin-bottom: 8px !important; }
.prop-sig-line .sig-rule { min-height: 44px !important; border-bottom: 1px solid #333 !important; }
.prop-sig-line .sig-x { font-size: 18px !important; color: #bbb !important; }
.prop-sig-line .sig-date { font-size: 11px !important; color: #666 !important; }
.prop-sig-note { font-size: 9px !important; color: #aaa !important; }

/* Digital Signature */
.sig-pad-wrapper { border: none !important; background: transparent !important; }
.sig-pad-wrapper canvas { display: none !important; }
.sig-pad-wrapper img[src] { display: block !important; height: 110px !important; }
.sig-accepted-badge { border: none !important; background: transparent !important; padding: 4px 0 !important; }
.sig-accepted-badge .sig-label { font-size: 12px !important; color: #0A1628 !important; }
.sig-accepted-badge .sig-date { font-size: 10px !important; }

/* Reps */
.prop-reps {
  page-break-inside: avoid !important; margin-top: 16px !important; gap: 24px !important;
}
.prop-reps h4 {
  font-size: 9px !important; color: #0A1628 !important; text-transform: uppercase !important;
  letter-spacing: 1px !important; font-weight: 700 !important;
  border-bottom: 1px solid #e0e0e0 !important; padding-bottom: 4px !important; margin-bottom: 6px !important;
}
.prop-reps p { font-size: 12px !important; color: #333 !important; }

/* Footer */
.prop-footer {
  font-size: 9px !important; padding: 10px 0 !important; margin-top: 16px !important;
  border-top: 1px solid #e0e0e0 !important; page-break-inside: avoid !important;
  text-align: center !important; color: #999 !important;
}

/* Payment CTA — VISIBLE in PDF with print-friendly styling */
.prop-payment-box,
div[style*="border:2px solid #1976d2"][style*="text-align:center"] {
  display: block !important;
  background: #F0F4FF !important;
  border: 2px solid #0A1628 !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  margin: 16px 0 !important;
  text-align: center !important;
  page-break-inside: avoid !important;
  color: #222 !important;
}

.prop-payment-box div[style*="color:#1565c0"],
.prop-payment-box div[style*="font-weight:600"] {
  color: #0A1628 !important;
  font-size: 13px !important;
}

.prop-payment-box div[style*="font-size:24px"],
.prop-payment-box div[style*="color:#0d47a1"] {
  color: #0A1628 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}

.prop-payment-box div[style*="color:#555"] {
  color: #444 !important;
  font-size: 11px !important;
}

.prop-payment-box a {
  background: #0A1628 !important;
  color: #fff !important;
  padding: 12px 28px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: inline-block !important;
  box-shadow: none !important;
}

.prop-payment-box div[style*="font-size:10px"] {
  color: #888 !important;
  font-size: 9px !important;
}

/* Hide PayPal logos in print (images won't load) but keep the button */
.prop-payment-box img[src*="paypal"] {
  height: 16px !important;
}

/* ═══ var(--bg) FIX ═══ */
div[style*="background: var(--bg)"] { background: #0A1628 !important; color: #fff !important; }
a[style*="background: var(--bg)"] { background: #0A1628 !important; color: #fff !important; }

/* ═══════════════════════════════════════════════
   PHASE G: Print rules for Phase E sections
   ═══════════════════════════════════════════════ */

/* Project Overview / ROI / Financing on approve.html */
#projectOverview, #roiSavings, #financeCallout {
  page-break-inside: avoid !important;
  margin-bottom: 12px !important;
  border-radius: 8px !important;
}

/* ═══════════════════════════════════════════════
   PHASE G: Print rules for Phase F sections
   ═══════════════════════════════════════════════ */

/* Payment Breakdown */
#payBreakdown {
  page-break-inside: avoid !important;
  background: #f0f7ff !important;
  border: 1px solid #bbdefb !important;
  border-radius: 8px !important;
  padding: 12px !important;
  margin-bottom: 10px !important;
}

/* Project Summary in payment */
#paySummary {
  page-break-inside: avoid !important;
  background: #f0faf1 !important;
  border: 1px solid #c8e6c9 !important;
  border-radius: 8px !important;
  padding: 10px !important;
  margin-bottom: 10px !important;
}

/* Financing callout */
#payFinancing {
  page-break-inside: avoid !important;
  background: #fff3e0 !important;
  border: 1px solid #ffe0b2 !important;
  border-radius: 8px !important;
  padding: 10px !important;
  margin-bottom: 10px !important;
}

/* User Stats row on manage-users */
#userStatsRow {
  page-break-inside: avoid !important;
  margin-bottom: 12px !important;
}

/* ═══════════════════════════════════════════════
   PHASE G: Hide interactive-only elements in print
   ═══════════════════════════════════════════════ */
#togglePw,
#roleIndicator,
#tm-connection-toast,
div[style*="add to home screen"] {
  display: none !important;
}

