.quote-agreement-dialog {
  --agreement-ink: #fff5dd;
  box-sizing: border-box;
  position: fixed;
  width: min(920px, calc(100vw - 48px));
  max-height: calc(100dvh - 48px);
  padding: 0;
  border: 1px solid #557174;
  border-radius: 24px;
  background: #082631;
  color: var(--agreement-ink);
  box-shadow: 0 24px 100px #0008;
  font: 16px/1.55 system-ui, sans-serif;
}
.quote-agreement-dialog::backdrop { background: #001019d9; backdrop-filter: blur(8px); }
.quote-agreement-dialog form { display: flex; flex-direction: column; max-height: calc(100dvh - 50px); margin: 0; }
.quote-agreement-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 32px; border-bottom: 1px solid #34515a; }
.quote-agreement-heading span { color: #efd59a; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.quote-agreement-heading h2 { margin: 2px 0 0; color: var(--agreement-ink); font-size: 28px; line-height: 1.2; }
.quote-agreement-body { overflow: auto; overscroll-behavior: contain; padding: 28px 32px; min-height: 120px; }
.quote-agreement-document { overflow-wrap: anywhere; }
.quote-agreement-document header { margin-bottom: 28px; }
.quote-agreement-document header > span { color: #b9cbc9; font-size: 14px; }
.quote-agreement-document h3 { margin: 4px 0 16px; color: #efd59a; font-size: 26px; }
.quote-agreement-document h4 { font-size: 18px; margin: 28px 0 12px; color: #efd59a; }
.quote-agreement-document h5 { margin: 18px 0 4px; font-size: 16px; color: var(--agreement-ink); }
.quote-agreement-document p { margin: 6px 0 12px; color: #d8e3df; }
.quote-agreement-document small { color: #bdcdca; }
.quote-agreement-multiline { white-space: pre-wrap; }
.quote-agreement-lines section { border-bottom: 1px solid #34515a; padding: 16px 0; }
.quote-agreement-lines section > div { display: flex; justify-content: space-between; gap: 24px; }
.quote-agreement-lines section > div > strong:last-child { white-space: nowrap; }
.quote-agreement-lines p { margin: 6px 0; }
.quote-agreement-totals { padding: 20px; background: #173a3c; border: 1px solid #486469; border-radius: 14px; }
.quote-agreement-totals > div { display: flex; justify-content: space-between; gap: 20px; padding: 6px 0; }
.quote-agreement-totals dd { margin: 0; font-weight: 700; }
.quote-agreement-totals > div:last-child { border-top: 1px solid #486469; margin-top: 10px; padding-top: 14px; color: #efd59a; }
.quote-agreement-sign-fields { border: 1px solid #7e8b78; border-radius: 16px; background: #173a3c; padding: 24px; margin: 32px 0 0; }
.quote-agreement-sign-fields legend { padding: 0 8px; color: #efd59a; font-weight: 700; }
.quote-agreement-sign-fields label { display: grid; gap: 8px; font-weight: 600; }
.quote-agreement-sign-fields input:not([type="checkbox"]) { box-sizing: border-box; width: 100%; min-height: 52px; padding: 12px; border: 1px solid #7b9696; border-radius: 8px; background: #082631; color: #fff5dd; font: 20px/1.4 Georgia, serif; }
.quote-agreement-sign-fields input::placeholder { color: #aebfbd; }
.quote-agreement-sign-fields .quote-agreement-consent { grid-template-columns: 24px minmax(0, 1fr); gap: 12px; margin-top: 22px; font-weight: 400; }
.quote-agreement-consent input { width: 22px; height: 22px; margin: 3px 0 0; accent-color: #efd59a; }
.quote-agreement-dialog :focus-visible { outline: 3px solid #efd59a; outline-offset: 4px; }
.quote-agreement-dialog footer { padding: 16px 32px 24px; background: #082631; border-top: 1px solid #34515a; }
.quote-agreement-dialog [data-agreement-status] { margin: 0 0 12px; color: #efd59a; overflow-wrap: anywhere; }
.quote-agreement-dialog [data-agreement-status]:empty { display: none; }
.quote-agreement-dialog [data-agreement-actions] { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.quote-agreement-dialog .button { min-height: 48px; white-space: normal; }
.quote-agreement-dialog .button.primary { background: #efd59a; border: 1px solid #efd59a; color: #082631; font-weight: 750; }
.quote-agreement-dialog .button.secondary { background: transparent; border: 1px solid #718889; color: #fff5dd; }
.quote-agreement-dialog .button:disabled { opacity: .55; cursor: wait; }
.quote-agreement-receipt { border-top: 1px solid #7e8b78; margin-top: 28px; }
.quote-agreement-document .quote-agreement-signature { font: italic 32px/1.4 Georgia, serif; color: #efd59a; }
.quote-agreement-saved { padding: 16px; border-radius: 12px; background: #173a3c; color: #efd59a; }
@media screen {
  .client-hub:has(.is-premium-quote) {
    --deep: #fff9e9; --navy: #efd59a; --ink: #fff9e9; --muted: #b9ccca; --slate: #b9ccca;
    background: #021720; color: #fff9e9; min-height: 100dvh;
  }
  .client-hub:has(.is-premium-quote) .client-hub-layout { grid-template-columns: minmax(0, 1fr); }
  .client-hub:has(.is-premium-quote) :is(.client-hub-sidebar, .client-hub-mobile-nav, .client-hub-refer) { display: none; }
  .client-hub:has(.is-premium-quote) :is(.client-hub-content, .client-hub-document-heading, .client-hub-topbar) { background: #021720; border-color: #29434a; }
  .client-hub:has(.is-premium-quote) .client-hub-content { padding: 0; }
  .client-hub:has(.is-premium-quote) .client-hub-topbar { min-height: 72px; padding-block: max(8px, var(--safe-top)) 8px; }
  .client-hub:has(.is-premium-quote) .client-hub-brand img { width: 56px; height: 56px; }
  .client-hub:has(.quote-public-card:not(.is-christmas-lights)) .client-hub-brand img { content: url("../kinda-nice-raccoon-badge-cutout-v1.png"); }
  .client-hub:has(.is-premium-quote) :is(.client-hub-back-button, .client-hub-top-actions .button, .client-hub-top-actions .icon-button, .client-hub-contact-menu) { background: #103139; color: #efd59a; border-color: #456064; }
  .quote-public-shell.is-premium-quote:not(.is-christmas-lights) { width: min(1200px, 100%); max-width: 1200px; padding: 0; margin: 0 auto; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) {
    --deep: #fff9e9; --navy: #efd59a; --ink: #fff9e9; --muted: #b9ccca; --slate: #b9ccca;
    background: #021720; color: #fff9e9; border: 0; border-radius: 0; box-shadow: none; padding: clamp(20px, 4vw, 48px); gap: 24px; color-scheme: dark;
  }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-document-top { gap: 24px; padding: 0; border: 0; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-recipient { min-width: 0; overflow-wrap: anywhere; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-recipient strong { font-size: clamp(26px, 3vw, 36px); line-height: 1.25; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-number-panel { border: 1px solid #365057; border-radius: 14px; overflow: hidden; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) :is(.quote-number-panel, .quote-number-panel h3, .quote-number-panel > div, .quote-total-box, .quote-deposit-customer-panel, .quote-public-decision-panel, .quote-public-change-request, .quote-terms.is-public-terms, .quote-public-payment-schedule) { background: #0b2832; border-color: #365057; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) :is(.quote-public-header h2, .quote-recipient strong, .quote-number-panel h3, .quote-number-panel strong, .quote-total-box strong, .invoice-public-pay-main > strong, .quote-deposit-breakdown strong, .quote-public-change-request summary, .quote-terms summary, .quote-public-notes h3, .quote-terms h3, .quote-public-payment-row strong, .quote-public-line-title > span) { color: #fff9e9; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) :is(.quote-recipient p, .quote-recipient em, .quote-number-panel span, .quote-total-box span, .quote-deposit-breakdown span, .quote-deposit-breakdown small, .invoice-public-pay-main > span, .invoice-public-pay-main small, .quote-approval-copy, .quote-public-notes p, .quote-terms p, .quote-public-footer span, .quote-public-payment-row small, .quote-public-line-desc, .quote-public-line-copy small) { color: #b9ccca; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) :is(.quote-recipient > span, .quote-line-inclusion-status.is-included, .quote-public-line-total) { color: #efd59a; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-public-section { padding: 0; margin: 0; border: 0; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-product-table.is-public-list { background: transparent; padding: 0; border: 0; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-product-table.is-public-list .quote-public-line-row { border: 1px solid #365057; border-radius: 14px; background: #173a3c; box-shadow: none; padding: 20px; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-total-box { width: 100%; margin: 0; border-radius: 14px; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-total-box > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 14px 20px; border-color: #365057; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-total-box :is(span, strong) { border: 0; padding: 0; font-size: 17px; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-total-box span { justify-self: start; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-total-box > div:last-child { background: #173a3c; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-total-box > div:last-child :is(span, strong) { color: #efd59a; font-size: 21px; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-public-change-request summary { background: #0b2832; color: #b9ccca; border-color: #365057; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-public-change-request textarea { background: #021720; color: #fff9e9; border-color: #456064; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .button.primary { background: #efd59a; border-color: #efd59a; color: #082631; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .button.secondary { background: #103139; border-color: #718889; color: #fff5dd; }
  .quote-public-card.is-public-portal:not(.is-christmas-lights) .quote-public-decision-actions > .button { min-height: 56px; }
}
@media (max-width: 600px) {
  .quote-agreement-dialog { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; border: 0; margin: 0; }
  .quote-agreement-dialog form { height: 100dvh; max-height: 100dvh; }
  .quote-agreement-heading { padding: 20px; gap: 12px; }
  .quote-agreement-heading h2 { font-size: 24px; }
  .quote-agreement-body { flex: 1; padding: 20px; }
  .quote-agreement-dialog footer { padding: 16px 20px max(20px, env(safe-area-inset-bottom)); }
  .quote-agreement-dialog [data-agreement-actions] { flex-direction: column; }
  .quote-agreement-sign-fields { padding: 16px; }
  .quote-agreement-document h3 { font-size: 22px; }
  .quote-agreement-lines section > div { gap: 12px; }
}
