/* Quotation surfaces follow the current login/Home palette (start.css).
   Scoped styles only: renderers, content and commercial rules stay unchanged. */
@font-face { font-family: "Exo 2"; src: url("./assets/fonts/exo-2/exo-2-regular-latin.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Exo 2"; src: url("./assets/fonts/exo-2/exo-2-italic-latin.woff2") format("woff2"); font-style: italic; font-weight: 100 900; font-display: swap; }
.quote-preview {
  --navy: #143442; --ink: #143442; --muted: #526b75; --cyan: #087d7c;
  --line: #d5e5e8; --soft: #f0f9fa;
  font-family: "Aptos", "Segoe UI", system-ui, sans-serif;
  box-shadow: 0 16px 50px #1434420c;
}
.quote-preview :is(h1,h2,h3,.online-brand,.quote-total strong,.financial-summary strong) { font-family: "Exo 2", "Segoe UI", system-ui, sans-serif; font-weight: 600; }
.quote-preview :is(h1,h2,h3,p,small,.info-card strong,td) { overflow-wrap: anywhere; }
.quote-preview :is(.quote-hero,.quote-compact-header) { background: linear-gradient(135deg,#e1fbf6,#e7f3ff); color: #143442; border-bottom: 2px solid #087d7c; border-radius: 14px; }
.quote-preview :is(.quote-hero,.quote-compact-header) :is(p,.quote-print-number) { color: #285f7d; }
.quote-preview :is(.quote-hero,.quote-compact-header) h1 { font-style: italic; }
.quote-preview :is(.info-card,.quote-summary,.financial-summary > div,.quote-note) { border-radius: 10px; box-shadow: none; }
.quote-preview .info-card span { font-weight: 600; }
.quote-preview .quote-section-heading { text-transform: none; letter-spacing: -.015em; }
.quote-preview .quote-section-heading::before { width: 4px; height: 24px; }
.quote-preview .quote-table { border-radius: 10px; }
.quote-preview .quote-table th { background: #e5f5f6; color: #143442; font-weight: 650; }
.quote-preview .quote-table td { vertical-align: top; line-height: 1.55; }
.quote-preview .quote-total { background: #08717d; border-radius: 10px; }
.quote-preview .quote-total strong { color: #fff; }
.quote-preview .financial-summary .total-due { background: #e1fbf6; color: #143442; border-color: #8acccd; }
.quote-preview .financial-summary .total-due strong { color: #086778; }
.quote-preview .online-quote-refined { background: #ecf7fb; }
.quote-preview .online-quote-refined .online-hero { background: linear-gradient(135deg,#e1fbf6,#e7f3ff); border-color: #d5e5e8; border-radius: 20px; }
.quote-preview .online-hero h1 { font-style: italic; font-weight: 600; }
.quote-preview .online-quote-refined .online-total-card { background: #08717d; border-color: #08717d; }
.quote-preview .online-total-card :is(.eyebrow,span,.strong-saving) { color: #fff !important; }
.quote-preview .online-total-breakdown { border-color: #ffffff55; }
.quote-preview .online-quote-refined .primary-button { background: linear-gradient(115deg,#087c8b,#0876bd); color: #fff; }
.quote-preview :is(a,button,summary):focus-visible,.quote-print-toolbar button:focus-visible { outline: 3px solid #087d7c; outline-offset: 4px; }
.quote-print-toolbar { color: #143442; border-color: #d5e5e8; box-shadow: none; }
.quote-print-toolbar button { background: #08717d; }
@media screen and (max-width: 650px) {
  .quotation-print-view .quote-page:not(.cover-page):not(.template-image-page) { padding: 20px 14px; min-height: auto; }
  .quotation-print-view .quote-compact-header { grid-template-columns: 70px minmax(0,1fr); padding: 14px; gap: 10px; }
  .quotation-print-view .quote-compact-header img { width: 70px; height: 60px; }
  .quotation-print-view .quote-compact-header > :last-child { grid-column: 1 / -1; }
  .quotation-print-view .quote-info-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quotation-print-view .quote-table { overflow-x: auto; }
  .quotation-print-view .quote-table table { min-width: 540px; }
}
@media print {
  @page { size: A4; margin: 10mm; }
  .quote-preview,.quote-preview .quote-page { width: 190mm; max-width: 100%; overflow: visible; }
  .quote-preview .quote-page { min-height: 0; padding: 0 0 7mm; }
  .quote-preview :is(.cover-page,.cover-image-page,.template-image-page) { width: 190mm; height: 246mm; min-height: 246mm; max-height: 246mm; padding: 0; overflow: hidden; }
  .quote-preview .quote-page:last-child { break-after: auto; page-break-after: auto; }
  .quote-preview .quote-table { overflow: visible; border-radius: 0; }
  .quote-preview table { width: 100%; table-layout: fixed; }
  .quote-preview thead { display: table-header-group; }
  .quote-preview tr { break-inside: avoid; page-break-inside: avoid; }
  .quote-preview th:first-child { width: 7%; }
  .quote-preview th:nth-child(2) { width: 43%; }
  .quote-preview th:nth-child(3) { width: 9%; }
  .quote-preview :is(.financial-summary,.quote-total,.info-card,.quote-compact-header) { break-inside: avoid; }
  .quote-preview .quote-section-heading { break-after: avoid; }
  .quote-preview :is(.quote-note,.quote-summary,.acceptance-terms-text) { break-inside: auto; }
}
@media print {
  .quote-preview .payment-card { break-inside: avoid; page-break-inside: avoid; }
  .quote-preview .quote-footer { break-before: avoid; page-break-before: avoid; break-inside: avoid; }
}
.quote-preview .online-quote-refined .online-savings { color: #08717d !important; }
