/* Shared print definition for participant print and server-rendered PDF. */
.print-only-block { display: none; }
.report-cover { break-after: page; page-break-after: always; }
.report-introduction { break-after: page; page-break-after: always; }

@media print {
  @page { size: A4; margin: 14mm 12mm; }
  html, body { background: #ffffff !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .skip-link, .no-print, .screen-only { display: none !important; }
  .print-only { display: flex !important; }
  .print-only-block { display: block !important; }
  .print-light { background: #ffffff !important; color: #0A1733 !important; border-color: #D8E0EC !important; }
  a[href]:after { content: ""; }
  .print-page { break-before: page; page-break-before: always; }
  .print-section { break-inside: auto; }
  .print-section h2, .print-section h3 { break-after: avoid; }
  .section-heading { break-inside: avoid; break-after: avoid; }
  .keep-with-previous { break-before: avoid; }
  .print-block { break-inside: avoid-page; page-break-inside: avoid; }
  .report-body details { break-inside: auto; break-before: auto; }
  .report-body details summary { break-after: avoid; }
  .report-body details > div > div { break-inside: avoid; }
  p, li { orphans: 3; widows: 3; }
  .report-hero, .report-hero *, .report-next, .report-next * { color: #0A1733 !important; }
  .report-hero, .report-next { background: #ffffff !important; }
  .report-next { border: 1px solid #D8E0EC !important; break-inside: avoid; }
  .report-hero .material-symbols-outlined, .report-next .material-symbols-outlined { color: #0F2A6B !important; }
  .report-hero .bg-navy-card { background: #ffffff !important; border-color: #D8E0EC !important; }
  .report-hero { padding-top: 6px !important; padding-bottom: 12px !important; }
  .report-hero h1 { font-size: 30px !important; line-height: 1.08 !important; }
  .report-hero h2 { font-size: 30px !important; line-height: 1.08 !important; overflow-wrap: normal !important; word-break: normal !important; }
  .report-hero .text-lead { font-size: 13px !important; line-height: 1.4 !important; }
  .report-hero .grid { gap: 14px !important; }
  .report-introduction-inner { min-height: 230mm; padding: 10mm 5mm 0; }
  .report-introduction h1 { font-size: 30px !important; line-height: 1.12 !important; }
  .report-introduction .text-lead { font-size: 16px !important; line-height: 1.5 !important; }
  .report-guide { padding: 18px !important; break-inside: avoid-page; page-break-inside: avoid; }
  .report-guide-intro { margin-bottom: 14px !important; }
  .report-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .report-guide-item { padding: 12px !important; }
  .report-guide-item .text-body { font-size: 11.5px !important; line-height: 1.25 !important; }
  .report-guide-item .text-label-sm { font-size: 9px !important; line-height: 1.3 !important; }
  .report-key-terms { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; }
  .report-key-terms > * { padding: 12px !important; }
  .report-key-terms .text-body { font-size: 11px !important; line-height: 1.25 !important; }
  .report-key-terms .text-label-sm { font-size: 8.5px !important; line-height: 1.3 !important; }
  .report-body { width: calc(100% - 1px); border-radius: 0 !important; padding-top: 20px !important; padding-bottom: 20px !important; }
  .report-body h2 { font-size: 26px !important; line-height: 1.15 !important; margin-bottom: 16px !important; }
  .report-body span.rounded-full { padding-left: 8px !important; padding-right: 8px !important; }
  .print-tight > * + * { margin-top: 24px !important; }
  .maturity-layout { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important; gap: 16px !important; align-items: start !important; break-inside: avoid; }
  .maturity-chart { padding: 14px !important; }
  .maturity-chart svg { max-width: 310px !important; }
  .maturity-domain-key { display: none !important; }
  .maturity-rows > * + * { margin-top: 10px !important; }
  .maturity-rows .mt-6 { margin-top: 14px !important; }
  .maturity-rows .grid { grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; }
  .capability-count-grid { width: calc(100% - 1px); grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 8px !important; }
  .capability-domain-grid { width: calc(100% - 1px); grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; }
  .capability-count-grid > *, .capability-domain-grid > * { min-width: 0 !important; overflow-wrap: normal; word-break: normal; }
  .capability-level-card { padding: 10px !important; }
  .capability-level-card .text-card-h3 { font-size: 17px !important; }
  .capability-level-card .text-label-sm { font-size: 8px !important; line-height: 1.2 !important; }
  .capability-domain-card { padding: 12px !important; min-height: 74px; }
  .capability-domain-card .text-body { font-size: 11px !important; line-height: 1.25 !important; }
  .capability-domain-card .text-label-sm { font-size: 8px !important; line-height: 1.2 !important; }
  .capability-overall { padding: 13px !important; }
  .capability-overall .text-card-h3 { font-size: 18px !important; }
  .trait-profile-card { padding: 14px !important; }
  .trait-profile-card .text-card-h3 { font-size: 16px !important; }
  .trait-profile-card .text-body { font-size: 11.5px !important; line-height: 1.35 !important; }
  .trait-profile-card .text-label-sm { font-size: 8.5px !important; line-height: 1.25 !important; }
  .trait-profile-card .mt-4 { margin-top: 9px !important; }
  .trait-profile-card .p-4 { padding: 10px !important; }
  .trait-profile-summary { padding: 14px !important; margin-top: 10px !important; }
  .trait-profile-summary .text-body { font-size: 11.5px !important; line-height: 1.35 !important; }
  .trait-profile-summary .text-label-sm { font-size: 8.5px !important; line-height: 1.25 !important; }
  .trait-profile-bridge { padding: 14px !important; margin-top: 10px !important; }
  .trait-profile-bridge .text-card-h3 { font-size: 16px !important; }
  .trait-profile-bridge .text-body { font-size: 11px !important; line-height: 1.3 !important; }
  .trait-profile-bridge .text-label-sm { font-size: 8.5px !important; line-height: 1.25 !important; }
  [data-trait-profile] .section-heading h2 { margin-bottom: 14px !important; }
  [data-trait-profile] .text-lead { font-size: 13px !important; line-height: 1.4 !important; }
  .trait-profile-overview > .mb-5 { margin-bottom: 10px !important; }
  .trait-scale-list > * + * { margin-top: 6px !important; }
  .trait-scale-row { padding: 8px 10px !important; }
  .trait-scale-row .mb-2 { margin-bottom: 4px !important; }
  .trait-scale-row .my-2 { margin-top: 5px !important; margin-bottom: 5px !important; }
  .trait-scale-row .text-body { font-size: 10.5px !important; line-height: 1.25 !important; }
  .trait-scale-row .text-label-sm { font-size: 8px !important; line-height: 1.2 !important; }
  .trait-scale-track { height: 5px !important; }
  .trait-scale-marker { width: 12px !important; height: 12px !important; }
  .trait-profile-practice > .mb-6, .trait-profile-application > .mb-6 { margin-bottom: 12px !important; }
  .trait-practice-columns { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .trait-practice-columns > div { padding: 13px !important; }
  .trait-practice-columns .mb-4 { margin-bottom: 8px !important; }
  .trait-practice-columns .space-y-3 > * + * { margin-top: 7px !important; }
  .trait-practice-item { padding-bottom: 7px !important; }
  .trait-practice-item .text-body { font-size: 10.5px !important; line-height: 1.28 !important; }
  .trait-practice-item .text-label-sm { font-size: 8px !important; line-height: 1.2 !important; }
  .trait-profile-practice > .mt-4 { margin-top: 8px !important; }
  .trait-action-wrap { padding: 9px !important; }
  .trait-action-wrap .mb-3 { margin-bottom: 6px !important; }
  .trait-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  .trait-action-card { padding: 8px !important; }
  .trait-action-card .text-body { font-size: 9.5px !important; line-height: 1.25 !important; }
  .trait-action-card .text-label-sm { font-size: 8px !important; line-height: 1.2 !important; }
  .trait-profile-practice .trait-profile-bridge { padding: 9px !important; }
  .trait-profile-practice .trait-profile-bridge .text-card-h3 { font-size: 14px !important; }
  .trait-profile-practice .trait-profile-bridge .text-body { font-size: 9.5px !important; line-height: 1.25 !important; }
  .trait-profile-practice .trait-profile-bridge ul { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1px 20px !important; }
  .trait-profile-practice .trait-profile-bridge li { font-size: 9px !important; line-height: 1.2 !important; }
  .trait-profile-application > .mt-5 { margin-top: 9px !important; }
  .trait-profile-application .trait-profile-summary,
  .trait-profile-application .trait-profile-bridge { padding: 10px !important; }
  .trait-profile-application .trait-profile-summary .text-card-h3,
  .trait-profile-application .trait-profile-bridge .text-card-h3 { font-size: 14px !important; }
  .trait-profile-application .trait-profile-summary .text-body,
  .trait-profile-application .trait-profile-bridge .text-body { font-size: 10px !important; line-height: 1.28 !important; }
  .trait-profile-application .trait-profile-bridge ul { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1px 20px !important; }
  .trait-profile-application .trait-profile-bridge li { font-size: 9.5px !important; line-height: 1.25 !important; }
  [data-personalised-analysis] .text-lead { font-size: 14px !important; line-height: 1.4 !important; }
  [data-personalised-analysis] > .mb-5 { margin-bottom: 10px !important; }
  [data-personalised-analysis] .p-5, [data-personalised-analysis] .p-6 { padding: 12px !important; }
  [data-personalised-analysis] .text-body { font-size: 11px !important; line-height: 1.35 !important; }
  [data-personalised-analysis] .text-label-sm { font-size: 8.5px !important; line-height: 1.25 !important; }
  .role-summary-grid, .role-emphasis-key, .role-domain-grid { gap: 8px !important; }
  .role-domain-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .role-summary-grid > *, .role-emphasis-key > *, .role-domain-grid > * { min-width: 0 !important; }
  [data-role-context] .text-lead { font-size: 13px !important; line-height: 1.35 !important; }
  [data-role-context] .text-card-h3 { font-size: 16px !important; }
  [data-role-context] .text-body { font-size: 11px !important; line-height: 1.35 !important; }
  [data-role-context] .text-label-sm { font-size: 8px !important; line-height: 1.25 !important; }
  .role-summary-grid > div { padding: 10px !important; }
  .role-emphasis-key > div { padding: 8px !important; }
  .role-domain-card { padding: 9px !important; min-height: 68px; }
  [data-role-context] .mb-5 { margin-bottom: 10px !important; }
  [data-role-context] .mb-4 { margin-bottom: 8px !important; }
  [data-role-context] .mt-3 { margin-top: 6px !important; }
  [data-capability-profile] .whitespace-nowrap { white-space: normal !important; }
  [data-capability-profile] [class*="px-2.5"] { padding-left: 4px !important; padding-right: 4px !important; }
  .maturity-rows .print-block { padding: 10px !important; }
  .competency-detail > * + * { margin-top: 6px !important; }
  .competency-summary { padding: 8px 12px !important; }
  .competency-summary .text-card-h3 { font-size: 13px !important; line-height: 1.2 !important; }
  .competency-summary .text-label-sm { font-size: 8px !important; }
  .competency-summary .material-symbols-outlined { display: none !important; }
  .competency-row { padding: 6px 12px !important; gap: 2px !important; }
  .competency-row .shrink-0 { min-width: 0 !important; flex-shrink: 1 !important; }
  .competency-row .whitespace-nowrap { white-space: normal !important; }
  .competency-row .text-body { font-size: 10.5px !important; line-height: 1.25 !important; }
  .competency-row .text-label-sm { font-size: 8px !important; line-height: 1.15 !important; }
  .competency-row [class*="px-2.5"] { padding-left: 6px !important; padding-right: 6px !important; }
  .competency-domain { break-inside: auto; }
  .competency-domain summary { break-after: avoid; }
  .competency-domain[data-domain-id="4"] { break-before: page; page-break-before: always; }
  .annual-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .development-map-table { width: 100% !important; table-layout: fixed; }
  .development-map-table th, .development-map-table td { padding-left: 2px !important; padding-right: 2px !important; overflow-wrap: anywhere; white-space: normal !important; }
  .annual-plan-card { padding: 14px !important; }
  .annual-plan-card .text-card-h3 { font-size: 15px !important; }
  .annual-plan-card .text-body { font-size: 10.5px !important; line-height: 1.3 !important; }
  .annual-plan-card .text-label-sm { font-size: 8px !important; line-height: 1.2 !important; }
  .annual-plan-card .mt-3 { margin-top: 7px !important; }
  .annual-plan-card .pt-3 { padding-top: 7px !important; }
  .deep-dive-print-detail { padding-top: 4mm; }
  .deep-dive-print-detail .deep-dive-detail > [data-dd-full-words] > [data-dd-branch] > div,
  .deep-dive-print-detail [data-dd-bridge-id] { break-inside: avoid; }
  .deep-dive-print-detail .deep-dive-detail > [data-dd-full-words] > [data-dd-branch] > div,
  .deep-dive-print-detail [data-dd-bridge-id],
  .annual-plan-card,
  .role-domain-card,
  .capability-domain-card { page-break-inside: avoid; }
  .deep-dive-print-detail .rounded-input { border-color: #D8E0EC !important; }
  /* Keep every governed narrative block, advice box and development list
     whole across page breaks: each is short enough to fit a page, and a
     heading or a stray bullet orphaned onto the next page reads as a
     layout fault (owner review 2026-08-18). */
  .deep-dive-print-detail .rounded-input,
  .deep-dive-print-detail section { break-inside: avoid-page; page-break-inside: avoid; }
  .deep-dive-print-detail h4 { break-after: avoid; page-break-after: avoid; }
  .deep-dive-print-detail .course-card { padding: 10px !important; break-inside: avoid-page; page-break-inside: avoid; }
  .deep-dive-print-detail .course-card .text-body { font-size: 10.5px !important; line-height: 1.28 !important; }
  .deep-dive-print-detail .course-card .text-label-sm { font-size: 8px !important; line-height: 1.2 !important; }
  .deep-dive-print-detail .course-card .mt-2 { margin-top: 5px !important; }
  .deep-dive-print-detail .course-card [class*="py-0.5"] { padding-top: 1px !important; padding-bottom: 1px !important; }
  .deep-dive-print-detail .course-card [class*="py-1"] { padding-top: 2px !important; padding-bottom: 2px !important; }
}
