/* One selected-budget document for screen preview and browser Print / Save PDF. */
#summaryBody { overflow-wrap: anywhere; }
#summaryBody > div:first-child { text-align: left !important; }
#summaryBody > div:first-child svg { height: 36px; max-width: 100%; }
#summaryBody .summary-title { font-size: 28px; line-height: 1.2; font-weight: 600; margin: 18px 0 24px; letter-spacing: -.6px; }
#summaryBody .summary-table { min-width: 0; table-layout: fixed; }
#summaryBody .summary-table th:first-child { width: 76%; }
#summaryBody .summary-table th:last-child { width: 24%; }
#summaryBody .summary-table small { display: block; color: var(--text-light); font-size: 14px; margin-top: 3px; }
#summaryBody .summary-table .price-cell { white-space: nowrap; }
#summaryBody .summary-system { margin-top: 28px; }
#summaryBody .summary-features { width: 100%; border-collapse: collapse; table-layout: fixed; }
#summaryBody .summary-features th { text-align: left; padding: 12px 0; border-top: 2px solid var(--accent); vertical-align: top; }
#summaryBody .summary-features th:last-child { width: 30%; text-align: right; font-size: 20px; font-weight: 600; }
#summaryBody h3 { font-size: 20px; line-height: 1.3; font-weight: 600; margin: 0; }
#summaryBody .summary-package { font-size: 16px; font-weight: 500; color: var(--accent); margin-top: 4px; }
#summaryBody .summary-features td { padding: 10px 0; border-bottom: 1px solid var(--border); font-size: 16px; line-height: 1.5; vertical-align: top; }
#summaryBody .summary-features td:last-child { text-align: right; padding-left: 14px; }
#summaryBody .summary-features small { display: block; color: var(--text-light); font-size: 14px; font-weight: 400; margin-top: 3px; }
#summaryBody .summary-included .customer-check { color: var(--accent); width: 16px; height: 16px; margin-right: 5px; }
#summaryBody .summary-addon td { background: var(--accent-bg); padding: 10px; }
#summaryBody .summary-system-total { display: flex; justify-content: space-between; gap: 16px; margin-top: 10px; font-size: 16px; }
#summaryBody .summary-brands { font-size: 14px; color: var(--text-light); margin: 10px 0; }
#summaryBody .summary-excluded { border-top: 1px solid var(--border); margin-top: 28px; padding-top: 16px; }
#summaryBody .summary-excluded ul { margin: 10px 0 0; padding-left: 22px; font-size: 16px; }
@media screen and (max-width: 640px) {
  #summaryModal .modal-body { padding: 16px; }
  #summaryBody .summary-table th, #summaryBody .summary-table td { padding: 8px 3px; font-size: 14px; }
  #summaryBody .summary-table th { font-size:12px; letter-spacing:0; white-space:nowrap; }
  #summaryBody .summary-table th:first-child { width:66%; }
  #summaryBody .summary-table th:last-child { width:34%; }
  #summaryBody .summary-table .price-cell { white-space: normal; }
  #summaryBody .summary-features th:last-child { font-size: 18px; width: 34%; }
  #summaryBody h3 { font-size: 18px; }
}
@media print {
  @page { size: Letter; margin: .5in; }
  html, body { background: white !important; color: #182f43; }
  #summaryModal, #summaryModal .modal, #summaryModal .modal-body {
    display: block !important; position: static; overflow: visible !important; max-height: none !important;
    height: auto; width: auto; max-width: none; padding: 0; margin: 0; border: 0; box-shadow: none;
  }
  #summaryModal .modal-header { display: none; }
  #summaryBody { --text: #182f43; --text-light: #435766; --text-lighter: #435766; --border: #cbd5dd; --accent: #1c6795; --accent-bg: #f2f7fb; color: var(--text); font-size: 12pt; }
  #summaryBody .summary-title { font-size: 24pt; text-align: left; margin: 12px 0 16px; }
  #summaryBody .summary-project-info { font-size: 11pt; grid-template-columns: auto 1fr auto 1fr; gap: 6px 12px; }
  #summaryBody .summary-table { break-inside: auto; font-size: 12pt; }
  #summaryBody .summary-table td { font-size: 12pt; padding: 7px 6px; }
  #summaryBody .summary-table th { font-size: 10.5pt; text-transform: none; letter-spacing: 0; }
  #summaryBody .summary-table small { font-size: 10.5pt; }
  #summaryBody .summary-table tr, #summaryBody .summary-features tr { break-inside: avoid; }
  #summaryBody .summary-table .summary-footer-row td { font-size: 12pt; }
  #summaryBody .summary-table .grand-total-row td { font-size: 14pt !important; }
  #summaryBody .summary-features thead { display: table-header-group; }
  #summaryBody .summary-features td, #summaryBody .summary-package, #summaryBody .summary-system-total, #summaryBody .summary-excluded ul { font-size: 12pt; }
  #summaryBody .summary-features td { padding-top: 7px; padding-bottom: 7px; }
  #summaryBody h3, #summaryBody .summary-features th:last-child { font-size: 15pt; }
  #summaryBody .summary-features small, #summaryBody .summary-brands { font-size: 10.5pt; }
  #summaryBody .summary-system-total, #summaryBody .summary-brands { break-before: avoid; break-inside: avoid; }
  #summaryBody .summary-excluded h3 { break-after: avoid; }
  #summaryBody .disclaimer { font-size: 10pt; line-height: 1.5; margin-top: 16px; padding-top: 12px; break-inside: avoid; }
  #summaryBody .summary-addon td { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
