/* =============================================
   ODbenchmark.com — Print Stylesheet
   Professional consulting-grade report output
   ============================================= */

/* =============================================
   SCREEN-ONLY HELPERS
   (These override main.css for screen, must
    come before the @media print block)
   ============================================= */

/* Hide print-only elements on screen */
.print-only,
.print-cover {
  display: none !important;
}

/* Hide print-value spans on screen (canvas shows instead) */
.pv {
  display: none;
}

/* =============================================
   @PAGE RULES
   ============================================= */
@media print {

  @page {
    size: letter portrait;
    margin: 0.75in 0.75in 0.9in 0.75in;

    @bottom-center {
      content: "OD Benchmark.com  |  Practice Performance Analysis  |  Confidential";
      font-family: 'Inter', system-ui, -apple-system, sans-serif;
      font-size: 7.5pt;
      color: #6b7280;
      letter-spacing: 0.04em;
      border-top: 1px solid #e2e8f0;
      padding-top: 6pt;
    }
  }

  /* Cover page — no margins, no footer line */
  @page cover {
    size: letter portrait;
    margin: 0;

    @bottom-center {
      content: none;
    }
  }

  /* =============================================
     GLOBAL PRINT RESETS
     ============================================= */

  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  html {
    font-size: 10pt;
  }

  body {
    font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    background: #ffffff !important;
    color: #0f2338 !important;
    line-height: 1.5;
    margin: 0;
    padding: 0;
  }

  /* Remove all background images globally
     (intentional colored cards override below) */
  *:not(.strength-card):not(.weakness-card):not(.pro-tip-box):not(.print-cover-header):not(.print-cover-accent):not(thead tr):not(.action-priority):not(.score-bar-fill):not(.comp-bar) {
    background-image: none !important;
  }

  a {
    color: #0f2338 !important;
    text-decoration: none !important;
  }

  /* =============================================
     HIDE ELEMENTS IN PRINT
     ============================================= */

  .top-nav,
  .site-footer,
  .edit-btn,
  .btn-feedback-sm,
  .paywall-cta-card,
  .collapsible-card,
  .paywall-wrapper,
  .share-wrap,
  .stepper-btn,
  .lens-stepper,
  .kpi-input-wrap,
  .kpi-sfx,
  .kpi-pfx,
  .kpi-sub,
  .pvc-rev-box,
  .ltv-grid .rev-entry-wrap,
  .ltv-grid .lens-top-box,
  .assoc-entry-row,
  .recall-base,
  .recall-cur,
  .equip-entry-row,
  canvas,
  .no-print,
  .spinner-overlay,
  .share-dropdown,
  .nav-right,
  .btn-ghost,
  .btn-primary:not(.print-keep),
  input,
  select,
  textarea {
    display: none !important;
  }

  /* =============================================
     SHOW PRINT-ONLY ELEMENTS
     ============================================= */

  .print-only {
    display: block !important;
  }

  .print-only.inline {
    display: inline !important;
  }

  /* Print-value spans replace canvas */
  .pv {
    display: inline !important;
    font-weight: 700;
    color: #0f2338;
  }

  /* =============================================
     COVER PAGE
     ============================================= */

  .print-cover {
    display: block !important;
    page: cover;
    page-break-after: always;
    break-after: page;
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    background: #ffffff;
    position: relative;
    font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  }

  /* Top 40% — dark navy header band */
  .print-cover-header {
    background: #0f2338 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    color: #ffffff;
    padding: 52pt 56pt 44pt;
    min-height: 38vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
  }

  .print-cover-eyebrow {
    font-size: 8pt;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #7fb3d9 !important;
    margin-bottom: 14pt;
    opacity: 0.9;
  }

  .print-cover-title {
    font-size: 28pt;
    font-weight: 800;
    line-height: 1.15;
    color: #ffffff !important;
    margin-bottom: 10pt;
    letter-spacing: -0.02em;
  }

  .print-cover-subtitle {
    font-size: 12pt;
    font-weight: 400;
    color: #a8c8e2 !important;
    line-height: 1.4;
    margin-bottom: 0;
  }

  /* Decorative accent line */
  .print-cover-accent {
    width: 48pt;
    height: 3pt;
    background: #1a6fb4 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    margin-bottom: 18pt;
  }

  /* Bottom 60% — white content area */
  .print-cover-body {
    background: #ffffff;
    padding: 40pt 56pt 40pt;
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  /* Metadata table */
  .print-cover-meta {
    margin-bottom: 28pt;
  }

  .print-cover-meta-title {
    font-size: 7pt;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #6b7280 !important;
    margin-bottom: 10pt;
    padding-bottom: 6pt;
    border-bottom: 1px solid #e2e8f0;
  }

  .print-cover-meta table {
    width: 100%;
    border-collapse: collapse;
  }

  .print-cover-meta table td {
    padding: 5pt 0;
    font-size: 9.5pt;
    line-height: 1.4;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: top;
  }

  .print-cover-meta table td:first-child {
    font-weight: 600;
    color: #6b7280 !important;
    width: 38%;
    font-size: 8.5pt;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  .print-cover-meta table td:last-child {
    color: #0f2338 !important;
    font-weight: 500;
  }

  /* Key Findings panel on cover */
  .print-cover-findings {
    margin-bottom: 24pt;
  }

  .print-cover-findings-title {
    font-size: 7pt;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #6b7280 !important;
    margin-bottom: 10pt;
    padding-bottom: 6pt;
    border-bottom: 1px solid #e2e8f0;
  }

  .print-cover-kpis {
    display: flex;
    gap: 12pt;
  }

  .print-cover-kpi {
    flex: 1;
    border: 1px solid #e2e8f0;
    border-top: 3px solid #0f2338;
    padding: 10pt 12pt;
    background: #f8fafc !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  .print-cover-kpi-val {
    font-size: 16pt;
    font-weight: 800;
    color: #0f2338 !important;
    line-height: 1.1;
    margin-bottom: 3pt;
  }

  .print-cover-kpi-lbl {
    font-size: 7.5pt;
    font-weight: 600;
    color: #6b7280 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }

  /* Confidentiality notice at bottom */
  .print-cover-confidential {
    border-top: 1px solid #e2e8f0;
    padding-top: 12pt;
    font-size: 7.5pt;
    color: #9ca3af !important;
    line-height: 1.5;
  }

  .print-cover-confidential strong {
    color: #6b7280 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 7pt;
  }

  /* =============================================
     LAYOUT WRAPPERS
     ============================================= */

  .main-content {
    padding-top: 0 !important;
    background: #ffffff !important;
  }

  .report-wrap {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  /* =============================================
     SECTION CARDS
     ============================================= */

  .card {
    background: #ffffff !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
  }

  .card.card-section {
    background: #ffffff !important;
    border-radius: 0 !important;
    border: none !important;
    border-top: 3px solid #0f2338 !important;
    box-shadow: none !important;
    padding: 18pt 0 22pt !important;
    margin-bottom: 12pt !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* =============================================
     SECTION HEADERS
     ============================================= */

  .section-header {
    font-size: 16pt !important;
    font-weight: 800 !important;
    color: #0f2338 !important;
    letter-spacing: -0.02em;
    margin-bottom: 6pt !important;
    padding-bottom: 8pt !important;
    border-bottom: 1px solid #e2e8f0 !important;
    line-height: 1.2;
  }

  .section-desc {
    font-size: 9.5pt !important;
    color: #4b5563 !important;
    line-height: 1.6;
    margin-bottom: 14pt !important;
    max-width: 88%;
  }

  .subsection-title {
    font-size: 11pt !important;
    font-weight: 700 !important;
    color: #0f2338 !important;
    margin-top: 14pt !important;
    margin-bottom: 8pt !important;
    break-before: avoid;
    page-break-before: avoid;
  }

  /* =============================================
     STAT ROW / STAT BOXES
     ============================================= */

  .stat-row {
    display: flex !important;
    flex-direction: row !important;
    gap: 10pt !important;
    margin-bottom: 14pt !important;
    flex-wrap: nowrap !important;
  }

  .stat-box {
    flex: 1 !important;
    border: 1px solid #e2e8f0 !important;
    border-top: 3px solid #0f2338 !important;
    border-radius: 0 !important;
    background: #f8fafc !important;
    padding: 10pt 12pt !important;
    text-align: center !important;
    break-inside: avoid;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  .stat-val {
    font-size: 20pt !important;
    font-weight: 800 !important;
    color: #0f2338 !important;
    line-height: 1.1 !important;
    display: block !important;
  }

  .stat-lbl {
    font-size: 7.5pt !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-top: 3pt !important;
    display: block !important;
  }

  .stat-sub {
    font-size: 8pt !important;
    color: #9ca3af !important;
    margin-top: 2pt !important;
  }

  /* =============================================
     STRENGTH & WEAKNESS CARDS
     ============================================= */

  .strength-card {
    background: #059669 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 12pt 14pt !important;
    margin-bottom: 8pt !important;
    break-inside: avoid;
  }

  .strength-card * {
    color: #ffffff !important;
  }

  .weakness-card {
    background: #92400e !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 12pt 14pt !important;
    margin-bottom: 8pt !important;
    break-inside: avoid;
  }

  .weakness-card * {
    color: #ffffff !important;
  }

  /* =============================================
     PRO TIP BOX
     ============================================= */

  .pro-tip-box {
    background: #0f2338 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 12pt 16pt !important;
    margin-top: 10pt !important;
    margin-bottom: 10pt !important;
    break-before: avoid;
    page-break-before: avoid;
    break-inside: avoid;
  }

  .pro-tip-box * {
    color: #e2e8f0 !important;
  }

  .pro-tip-box strong,
  .pro-tip-box .pro-tip-label {
    color: #7fb3d9 !important;
    font-weight: 700 !important;
  }

  /* =============================================
     COMPARISON BARS
     ============================================= */

  .comparison-bars {
    margin-bottom: 12pt !important;
  }

  .comp-bar-row {
    display: flex !important;
    align-items: center !important;
    gap: 8pt !important;
    margin-bottom: 7pt !important;
    break-inside: avoid;
  }

  .comp-bar-label {
    font-size: 8.5pt !important;
    color: #374151 !important;
    min-width: 100pt !important;
    font-weight: 500;
  }

  .comp-bar-track {
    flex: 1 !important;
    background: #e2e8f0 !important;
    height: 10pt !important;
    border-radius: 0 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    overflow: hidden;
  }

  .comp-bar {
    height: 100% !important;
    background: #1a6fb4 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    border-radius: 0 !important;
  }

  .comp-bar.bar-you {
    background: #0f2338 !important;
  }

  .comp-bar.bar-peer {
    background: #1a6fb4 !important;
  }

  .comp-bar.bar-top {
    background: #059669 !important;
  }

  .comp-bar-val {
    font-size: 8.5pt !important;
    font-weight: 700 !important;
    color: #0f2338 !important;
    min-width: 36pt !important;
    text-align: right;
  }

  /* =============================================
     TABLES
     ============================================= */

  .data-table,
  .bench-kpi-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 8.5pt !important;
    margin-bottom: 12pt !important;
  }

  .data-table thead tr,
  .bench-kpi-table thead tr {
    background: #0f2338 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  .data-table thead th,
  .bench-kpi-table thead th {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 8pt !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 7pt 9pt !important;
    text-align: left !important;
    border: none !important;
  }

  .data-table tbody tr:nth-child(even),
  .bench-kpi-table tbody tr:nth-child(even) {
    background: #f8fafc !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  .data-table tbody tr:nth-child(odd),
  .bench-kpi-table tbody tr:nth-child(odd) {
    background: #ffffff !important;
  }

  .data-table tbody tr,
  .bench-kpi-table tbody tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .data-table tbody td,
  .bench-kpi-table tbody td {
    padding: 6pt 9pt !important;
    color: #0f2338 !important;
    font-size: 8.5pt !important;
    border-bottom: 1px solid #e2e8f0 !important;
    vertical-align: middle !important;
  }

  .data-table tfoot td {
    font-weight: 700 !important;
    color: #0f2338 !important;
    border-top: 2px solid #0f2338 !important;
    padding: 7pt 9pt !important;
    font-size: 9pt !important;
  }

  /* KPI table: hide input controls, show label + range only */
  .bench-kpi-table .kpi-input-wrap,
  .bench-kpi-table .kpi-sfx,
  .bench-kpi-table .kpi-pfx,
  .bench-kpi-table .kpi-sub {
    display: none !important;
  }

  /* =============================================
     OPPORTUNITY CARDS
     ============================================= */

  .opp-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10pt !important;
    margin-bottom: 14pt !important;
  }

  .opp-card {
    border: 1px solid #e2e8f0 !important;
    border-left: 4px solid #0f2338 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    padding: 10pt 12pt !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .opp-card-title {
    font-size: 9.5pt !important;
    font-weight: 700 !important;
    color: #0f2338 !important;
    margin-bottom: 3pt !important;
  }

  .opp-card-val {
    font-size: 15pt !important;
    font-weight: 800 !important;
    color: #059669 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    margin-bottom: 3pt !important;
  }

  .opp-card-desc {
    font-size: 8pt !important;
    color: #6b7280 !important;
    line-height: 1.4 !important;
  }

  /* =============================================
     SCORE / HEALTH SCORE SECTION
     ============================================= */

  .score-layout {
    display: flex !important;
    gap: 16pt !important;
    align-items: flex-start !important;
    break-inside: avoid;
  }

  .score-gauge-wrap {
    flex: 0 0 auto !important;
    text-align: center !important;
  }

  .score-breakdown {
    flex: 1 !important;
  }

  .score-row {
    display: flex !important;
    align-items: center !important;
    gap: 8pt !important;
    margin-bottom: 6pt !important;
    break-inside: avoid;
  }

  .score-row-label {
    font-size: 8.5pt !important;
    color: #374151 !important;
    min-width: 100pt !important;
  }

  .score-bar-track {
    flex: 1 !important;
    height: 9pt !important;
    background: #e2e8f0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  .score-bar-fill {
    height: 100% !important;
    border-radius: 0 !important;
    background: #1a6fb4 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  .score-bar-fill.fill-green {
    background: #059669 !important;
  }

  .score-bar-fill.fill-amber {
    background: #d97706 !important;
  }

  .score-bar-fill.fill-red {
    background: #dc2626 !important;
  }

  .score-row-val {
    font-size: 8.5pt !important;
    font-weight: 700 !important;
    color: #0f2338 !important;
    min-width: 24pt !important;
    text-align: right;
  }

  /* Large score number */
  .score-big {
    font-size: 36pt !important;
    font-weight: 900 !important;
    color: #0f2338 !important;
    line-height: 1 !important;
  }

  .score-grade {
    font-size: 11pt !important;
    font-weight: 700 !important;
    color: #1a6fb4 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  /* =============================================
     ACTION PLAN
     ============================================= */

  #action-plan {
    break-before: auto;
  }

  .action-item {
    display: flex !important;
    gap: 10pt !important;
    margin-bottom: 10pt !important;
    border: 1px solid #e2e8f0 !important;
    border-left: 4px solid #1a6fb4 !important;
    padding: 9pt 11pt !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .action-priority {
    flex: 0 0 auto !important;
    width: 20pt !important;
    height: 20pt !important;
    background: #0f2338 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 8pt !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  .action-content {
    flex: 1 !important;
  }

  .action-title {
    font-size: 9.5pt !important;
    font-weight: 700 !important;
    color: #0f2338 !important;
    margin-bottom: 2pt !important;
  }

  .action-desc {
    font-size: 8.5pt !important;
    color: #4b5563 !important;
    line-height: 1.45 !important;
  }

  .action-impact {
    font-size: 8pt !important;
    font-weight: 600 !important;
    color: #059669 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    margin-top: 3pt !important;
  }

  /* =============================================
     PRACTICE VALUE / LTV CALCULATOR RESULTS
     ============================================= */

  .pvc-results-grid,
  #ltv-results,
  #assoc-results,
  #recall-results,
  #equip-results {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 9pt !important;
    margin-top: 12pt !important;
    margin-bottom: 12pt !important;
  }

  .pvc-result-box,
  .ltv-result-box {
    border: 1px solid #e2e8f0 !important;
    border-top: 3px solid #0f2338 !important;
    border-radius: 0 !important;
    background: #f8fafc !important;
    padding: 9pt 11pt !important;
    text-align: center !important;
    break-inside: avoid;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  .pvc-primary,
  .ltv-primary {
    font-size: 18pt !important;
    font-weight: 800 !important;
    color: #0f2338 !important;
    line-height: 1.1 !important;
  }

  .pvc-label,
  .ltv-label {
    font-size: 7.5pt !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-top: 3pt !important;
  }

  .ltv-grid {
    break-inside: avoid;
  }

  /* =============================================
     PRODUCT RECOMMENDATION CARDS
     ============================================= */

  .prod-recs-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 9pt !important;
    margin-bottom: 12pt !important;
  }

  .prod-card {
    border: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    padding: 10pt 11pt !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .prod-card-title {
    font-size: 9pt !important;
    font-weight: 700 !important;
    color: #0f2338 !important;
    margin-bottom: 4pt !important;
  }

  .prod-card-desc {
    font-size: 8pt !important;
    color: #4b5563 !important;
    line-height: 1.45 !important;
  }

  /* Hide "Learn More" links/buttons in product cards */
  .prod-card a.btn,
  .prod-card .btn,
  .prod-card a[href],
  .prod-card-link {
    display: none !important;
  }

  /* =============================================
     PAGE BREAK PLACEMENT
     ============================================= */

  /* Full-report section starts on a new page */
  #full-report,
  .section-full-report {
    break-before: page !important;
    page-break-before: always !important;
  }

  /* Keep these together — never split across pages */
  .card.card-section {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .pro-tip-box {
    break-before: avoid;
    page-break-before: avoid;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .subsection-title {
    break-before: avoid;
    page-break-before: avoid;
  }

  .stat-row {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .comparison-bars {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* =============================================
     TYPOGRAPHY REFINEMENTS FOR PRINT
     ============================================= */

  h1 { font-size: 18pt !important; font-weight: 800 !important; color: #0f2338 !important; }
  h2 { font-size: 14pt !important; font-weight: 700 !important; color: #0f2338 !important; }
  h3 { font-size: 11pt !important; font-weight: 700 !important; color: #0f2338 !important; }
  h4 { font-size: 10pt !important; font-weight: 600 !important; color: #0f2338 !important; }

  p {
    font-size: 9.5pt !important;
    color: #374151 !important;
    line-height: 1.6 !important;
    margin-bottom: 7pt !important;
    orphans: 3;
    widows: 3;
  }

  ul, ol {
    font-size: 9.5pt !important;
    color: #374151 !important;
    padding-left: 14pt !important;
    margin-bottom: 7pt !important;
  }

  li {
    margin-bottom: 3pt !important;
    line-height: 1.5 !important;
  }

  /* Restore list styles for print */
  ul { list-style: disc !important; }
  ol { list-style: decimal !important; }

  strong, b {
    font-weight: 700 !important;
    color: #0f2338 !important;
  }

  /* =============================================
     BADGE / TAG ELEMENTS
     ============================================= */

  .badge,
  .tag,
  .pill {
    border-radius: 0 !important;
    font-size: 7pt !important;
    padding: 2pt 5pt !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
  }

  /* =============================================
     MISC UTILITY OVERRIDES
     ============================================= */

  /* Remove max-width constraints for print layout */
  .container,
  .inner,
  .content-wrap {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Ensure flex/grid layouts render correctly */
  .flex-row {
    display: flex !important;
    flex-direction: row !important;
  }

  .grid-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10pt !important;
  }

  /* Number callouts */
  .callout-num {
    font-size: 22pt !important;
    font-weight: 900 !important;
    color: #0f2338 !important;
  }

  /* Green/amber/red value highlights */
  .val-green  { color: #059669 !important; -webkit-print-color-adjust: exact; color-adjust: exact; print-color-adjust: exact; }
  .val-amber  { color: #d97706 !important; -webkit-print-color-adjust: exact; color-adjust: exact; print-color-adjust: exact; }
  .val-red    { color: #dc2626 !important; -webkit-print-color-adjust: exact; color-adjust: exact; print-color-adjust: exact; }
  .val-blue   { color: #1a6fb4 !important; -webkit-print-color-adjust: exact; color-adjust: exact; print-color-adjust: exact; }
  .val-navy   { color: #0f2338 !important; }

  /* =============================================
     PRINT WATERMARK / DISCLAIMER FOOTER
     (injected as .print-only element in HTML)
     ============================================= */

  .print-disclaimer {
    border-top: 1px solid #e2e8f0;
    margin-top: 20pt;
    padding-top: 10pt;
    font-size: 7pt;
    color: #9ca3af !important;
    line-height: 1.5;
    text-align: center;
  }

} /* end @media print */
