.executive-modal {
  width: min(1080px, 96vw);
  max-width: 1080px;
}

.executive-report .report-toolbar-note {
  color: #40506b;
}

.executive-report .executive-delivery-help {
  color: #40506b;
  font-size: 14px;
  line-height: 1.6;
}

.executive-report .content-grid {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
}

@media (max-width: 760px) {
  .executive-report .content-grid {
    grid-template-columns: 1fr;
  }

  .executive-modal {
    max-height: 94dvh;
  }

  .executive-report h2 {
    overflow-wrap: anywhere;
  }
}

@media print {
  /* This page size is used only while the executive dialog is open. */
  @page surveyrei-executive {
    size: A4 portrait;
    margin: 14mm 12mm;
  }

  body:has(> #modal.executive-modal[open]) {
    page: surveyrei-executive;
    margin: 0;
    background: #fff !important;
    color: #13213c !important;
  }

  body:has(> #modal.executive-modal[open]) > :not(#modal) {
    display: none !important;
  }

  body:has(> #modal.executive-modal[open]) > #modal.executive-modal[open] {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(> #modal.executive-modal[open]) > #modal::backdrop {
    display: none !important;
  }

  body:has(> #modal.executive-modal[open]) > #modal > .modal-header,
  body:has(> #modal.executive-modal[open]) > #modal > .modal-footer,
  body:has(> #modal.executive-modal[open]) > #modal button,
  body:has(> #modal.executive-modal[open]) > #modal select {
    display: none !important;
  }

  body:has(> #modal.executive-modal[open]) > #modal .modal-body {
    padding: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body:has(> #modal.executive-modal[open]) .executive-report {
    min-width: 0;
    overflow: visible;
    overflow-wrap: anywhere;
    font-size: 10.5pt;
    line-height: 1.45;
  }

  body:has(> #modal.executive-modal[open]) .executive-report > h2 {
    margin: 10px 0 6px;
    font-size: 19pt;
    line-height: 1.25;
  }

  body:has(> #modal.executive-modal[open]) .executive-report > p {
    max-width: none;
    margin: 6px 0;
    font-size: 10pt;
    line-height: 1.45;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .badge {
    padding: 4px 7px;
    font-size: 9pt;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-context {
    gap: 6px;
    margin: 9px 0;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-context > span {
    padding: 4px 7px;
    font-size: 9pt;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-origin {
    margin: 0 0 12px;
    font-size: 9.5pt;
    line-height: 1.45;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .card {
    margin-bottom: 12px;
    overflow: visible;
    break-inside: avoid;
    box-shadow: none !important;
    border: 1px solid #b8bfd0;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .card-header,
  body:has(> #modal.executive-modal[open]) .executive-report .card-body {
    padding: 10px 12px;
    max-height: none;
    overflow: visible;
    break-inside: auto;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .card-title {
    margin: 4px 0;
    font-size: 12pt;
    line-height: 1.4;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .card-subtitle {
    font-size: 9pt;
    line-height: 1.45;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .eyebrow {
    font-size: 8pt;
    line-height: 1.4;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .card-header,
  body:has(> #modal.executive-modal[open]) .executive-report h2,
  body:has(> #modal.executive-modal[open]) .executive-report h3 {
    break-after: avoid;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .stats-grid,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin: 0 0 12px;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-stat {
    padding: 10px;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-stat > span {
    font-size: 9pt;
    line-height: 1.4;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-stat > strong {
    margin: 5px 0;
    font-size: 20pt;
    line-height: 1.2;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-stat > small {
    font-size: 8.5pt;
    line-height: 1.4;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .content-grid,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-grid,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-texts {
    display: block;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-texts blockquote {
    margin-bottom: 8px;
    padding: 10px 12px;
    break-inside: auto;
    overflow: visible;
  }

  /* Text-response collections may span pages; keep short chart cards together. */
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-question:has(.sr-report-texts) {
    break-inside: auto;
  }

  body:has(> #modal.executive-modal[open]) .executive-report p {
    overflow-wrap: anywhere;
    orphans: 3;
    widows: 3;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-texts p,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-insight p {
    font-size: 10.5pt;
    line-height: 1.5;
    white-space: pre-wrap;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-texts cite {
    margin-top: 7px;
    font-size: 8.5pt;
    line-height: 1.4;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-insight .card-title {
    margin: 6px 0;
    font-size: 14pt;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-insight p {
    margin: 8px 0;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-insight small,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-explanation,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-no-answer {
    font-size: 9pt;
    line-height: 1.45;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-bar {
    margin: 10px 0;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-bar:last-child {
    margin-bottom: 0;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-bar > div:first-child,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-bar strong {
    font-size: 10pt;
    line-height: 1.4;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-bar small {
    font-size: 8.5pt;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-track {
    height: 7px;
    margin-top: 5px;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-nps-score {
    gap: 12px;
    margin-bottom: 10px;
    padding: 0 0 10px;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-nps-score > strong {
    font-size: 30pt;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-nps-score b {
    font-size: 11pt;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .sr-nps-score span {
    margin-top: 3px;
    font-size: 9pt;
  }

  body:has(> #modal.executive-modal[open]) .executive-report .stat-card,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-stat,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-report-bar,
  body:has(> #modal.executive-modal[open]) .executive-report .sr-nps-score,
  body:has(> #modal.executive-modal[open]) .executive-report .chart {
    break-inside: avoid;
  }

  body:has(> #modal.executive-modal[open]) .executive-report svg,
  body:has(> #modal.executive-modal[open]) .executive-report img {
    max-width: 100%;
    height: auto;
    break-inside: avoid;
  }

  body:has(> #modal.executive-modal[open]) .executive-report * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
