:root {
  color: #172033;
  background: #f4f7fb;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 0; overflow-x: hidden; overflow-y: auto; }
body { min-width: 0; min-height: 100vh; margin: 0; overflow-x: hidden; background: #f4f7fb; }
.share-page { width: min(1480px, 100%); min-height: 100vh; margin: 0 auto; padding: 28px; }
.share-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 22px 0; border-bottom: 2px solid #172033; }
.brand { color: #1769e0; font-size: 13px; font-weight: 800; letter-spacing: 0; }
h1 { margin: 6px 0 0; font-size: 30px; letter-spacing: 0; }
.share-subtitle { margin: 8px 0 0; color: #667085; font-size: 16px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.customer-quote-table { margin-top: 24px; overflow-x: auto; border: 1px solid #d8e0ea; background: #fff; }
table { width: 100%; min-width: 900px; border-collapse: collapse; }
.customer-quote-table table { min-width: 0; table-layout: fixed; }
.customer-quote-table th:first-child, .customer-quote-table td:first-child { width: 68%; }
.customer-quote-table th:last-child, .customer-quote-table td:last-child { width: 32%; white-space: nowrap; }
th, td { padding: 13px 15px; border-right: 1px solid #e5eaf1; border-bottom: 1px solid #e5eaf1; text-align: left; vertical-align: top; }
th { background: #edf3fa; color: #475467; font-size: 13px; white-space: nowrap; }
td { font-size: 14px; }
.price-cell { color: #0f5dcc; font-weight: 800; }
.state-panel, .empty { margin-top: 24px; padding: 36px 24px; border: 1px solid #d8e0ea; background: #fff; text-align: center; }
.error-state h1 { margin: 0 0 8px; }
.error-state p { margin: 0; color: #667085; }
footer { padding: 24px 0; color: #8492a6; font-size: 12px; text-align: right; }

@media (max-width: 720px) {
  .share-page { padding: 16px; }
  .share-header { display: block; padding-top: 10px; }
  h1 { font-size: 24px; }
  .customer-quote-table { overflow-x: hidden; }
  footer { text-align: left; }
}
