/* Report styles - shared by the web result page and the PDF.
   Continues the Eluneri document style: white sheet, dark green headings, thin green rules,
   mint and beige information blocks, tidy tables. */
.report { --g9: #123E31; --g6: #1B8B63; --mint: #EAF5F0; --ink: #17221E; --mut: #56645D; --line: #D9E3DE; --beige: #F5F1E8; --sand: #E8DECD;
  background: #fff; color: var(--ink); font-family: "Inter", system-ui, sans-serif; font-size: 16px; line-height: 1.55; }
.report-web { border: 1px solid var(--line); border-radius: 2px; padding: clamp(20px, 4vw, 48px); }
.report h1, .report h2, .report h3, .report h4, .report h5, .report h6 { color: var(--g9); margin: 0; letter-spacing: -0.01em; line-height: 1.2; }
.report .r-head > :is(h1,h2,h3), .r-section > :is(h2,h3,h4), .r-opp header :is(h3,h4,h5) { font-family: "Source Serif 4", Georgia, serif; font-weight: 600; font-variation-settings: "opsz" 32; }
.report .r-head > :is(h1,h2,h3) { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.2rem); max-width: 22ch; line-height: 1.1; }
.r-section > :is(h2,h3,h4) { font-size: 1.375rem; padding-bottom: 8px; border-bottom: 1.5px solid var(--g6); margin-bottom: 14px; }
.r-opp header :is(h3,h4,h5) { font-size: 1.2rem; }
.r-based > :is(h4,h5,h6) { font-size: 0.9375rem; font-weight: 650; margin-bottom: 4px; font-family: "Inter", sans-serif; }
.report p { margin: 0 0 10px; }
.r-head { padding-bottom: 18px; border-bottom: 1.5px solid var(--g6); margin-bottom: 18px; }
.r-brand { font-family: "IBM Plex Mono", monospace; font-weight: 500; color: var(--g9); margin-bottom: 14px; font-size: 0.8125rem; }
.r-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 12px !important; color: var(--mut); font-size: 0.9375rem; align-items: center; }
.r-meta strong { color: var(--ink); }
.r-section { margin-top: 30px; }
.r-info { background: var(--mint); border-radius: 2px; padding: 12px 14px; font-size: 0.9375rem; margin-top: 12px; }
.r-info.r-sand { background: var(--beige); }
.r-small { font-size: 0.875rem; color: var(--mut); margin-top: 8px; }
.r-legend { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 16px; font-size: 0.875rem; color: var(--mut); }
.r-legend-title { margin-right: 4px; }
.kind { display: inline-block; font-size: 0.75rem; font-weight: 600; line-height: 1; padding: 5px 7px; border-radius: 4px; white-space: nowrap; }
.kind-fact { background: var(--mint); color: var(--g9); }
.kind-answer { background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1px #B9C8C0; }
.kind-computed { background: #fff; color: var(--g9); box-shadow: inset 0 0 0 1.5px var(--g6); }
.kind-assumption { background: var(--sand); color: var(--ink); }
.kind-demo { background: #FFF1CC; color: #6B4E0E; }
.r-table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.r-table th, .r-table td { text-align: left; vertical-align: top; padding: 9px 8px; border-bottom: 1px solid var(--line); }
.r-table thead th { font-size: 0.8125rem; color: var(--mut); font-weight: 600; border-bottom: 1px solid var(--g6); }
.r-table tbody th { font-weight: 550; color: var(--ink); width: 40%; }
.r-table .col-kind { width: 1%; white-space: nowrap; text-align: right; }
.r-table tr { break-inside: avoid; page-break-inside: avoid; }
.r-answers tbody th { width: 52%; font-weight: 500; color: var(--mut); }
.cell-note { display: block; font-size: 0.8125rem; color: var(--mut); margin-top: 2px; }
.unknown { color: var(--mut); font-style: italic; }
.r-opp { border: 1px solid var(--line); border-radius: 2px; padding: 18px 18px 6px; margin-top: 14px; break-inside: avoid; page-break-inside: avoid; }
.r-opp header { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: start; margin-bottom: 10px; }
.r-num { width: 30px; height: 30px; border-radius: 50%; background: var(--g9); color: #fff; display: grid; place-items: center; font-weight: 650; font-size: 0.9375rem; }
.r-service { font-size: 0.875rem; color: var(--mut); margin: 2px 0 0 !important; }
.r-based { background: var(--mint); border-radius: 2px; padding: 10px 14px; margin: 10px 0 12px; font-size: 0.9375rem; }
.r-based ul, .r-dl ul { margin: 0; padding-left: 1.1em; }
.r-based li, .r-dl li { margin: 2px 0; }
.r-dl { margin: 0; display: grid; gap: 0; }
.r-dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); font-size: 0.9375rem; }
.r-dl dt { font-weight: 600; color: var(--g9); }
.r-dl dd { margin: 0; }
.r-sources { margin: 0; padding-left: 1.1em; font-size: 0.875rem; color: var(--mut); }
@media (max-width: 640px) {
  .r-dl > div { grid-template-columns: 1fr; gap: 2px; }
  .r-table .col-kind { display: none; }
  .r-opp header { grid-template-columns: auto 1fr; }
  .r-opp header .kind { display: none; }
}

/* PDF variant */
.report-pdf { font-size: 10.5pt; padding: 0; }
.report-pdf .r-head > h1 { font-size: 22pt; max-width: none; }
.report-pdf .r-section > h2 { font-size: 14pt; }
.report-pdf .r-opp header h3 { font-size: 12pt; }
.report-pdf .r-table, .report-pdf .r-dl > div, .report-pdf .r-info, .report-pdf .r-based { font-size: 9.5pt; }
.report-pdf .r-dl > div { grid-template-columns: 34mm 1fr; }
.report-pdf .r-section { margin-top: 7mm; }
.report-pdf .r-break { break-before: page; page-break-before: always; margin-top: 0; }
.report-pdf .r-keep { break-inside: avoid; page-break-inside: avoid; }
.report-pdf .r-section > h2 { break-after: avoid; page-break-after: avoid; }
.report-pdf thead { display: table-header-group; }

@media print {
  .report-web { border: 0; padding: 0; }
  .r-opp, .r-table tr, .r-keep { break-inside: avoid; }
}

/* Financial condition: KPI tiles, charts (inline SVG), figures and ratio tables. */
.r-fin .fin-sub { color: var(--mut); font-size: 0.9375rem; margin-top: -4px; }
.report .r-fin .fin-h { font-family: "Inter", sans-serif; font-variation-settings: normal; font-size: 1.0625rem; font-weight: 650; color: var(--g9); margin: 28px 0 10px; padding: 0; border: 0; }
.fin-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1.5px solid var(--g9); border-bottom: 1px solid var(--line); margin: 16px 0 6px; }
.fin-kpi { padding: 14px 14px 12px; border-left: 1px solid var(--line); min-width: 0; }
.fin-kpi:first-child { border-left: 0; padding-left: 0; }
.fin-kpi-l { font-size: 0.8125rem; color: var(--mut); line-height: 1.3; min-height: 2.6em; }
.fin-kpi-v { font-family: "Source Serif 4", Georgia, serif; font-variation-settings: "opsz" 48; font-weight: 600; font-size: clamp(1.35rem, 1rem + 1vw, 1.75rem); color: var(--g9); line-height: 1.15; margin: 4px 0 4px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fin-kpi-v.is-neg { color: #9E3B2F; }
.fin-kpi-n { font-size: 0.8125rem; color: var(--mut); line-height: 1.35; }
.fin-obs { background: var(--mint); border-radius: 2px; padding: 14px 16px 10px; margin-top: 16px; }
.report .fin-obs .fin-h { font-size: 0.9375rem; margin: 0 0 6px; }
.fin-obs ul { margin: 0; padding-left: 1.1em; font-size: 0.9375rem; }
.fin-obs li { margin: 3px 0; }
.fin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; margin-top: 18px; }
.fin-chart { margin: 0; min-width: 0; break-inside: avoid; page-break-inside: avoid; }
.fin-chart figcaption { font-size: 0.875rem; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.fc-svg { display: block; width: 100%; height: auto; overflow: visible; }
.fc-svg text { font-family: "Inter", system-ui, sans-serif; }
.fc-tick { font-size: 11px; fill: #56645D; font-variant-numeric: tabular-nums; }
.fc-val { font-size: 11.5px; font-weight: 600; fill: #17221E; font-variant-numeric: tabular-nums; }
.fc-in { font-size: 11px; font-weight: 600; fill: #fff; }
.fc-svg path, .fc-svg rect, .fc-svg circle { transition: opacity .15s; }
.fc-svg :is(path, rect, circle):hover { opacity: .82; }
.fc-legend { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 8px 0 0; padding: 0; font-size: 0.8125rem; color: var(--mut); }
.fc-legend li { display: inline-flex; align-items: center; gap: 6px; }
.fc-legend i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
.fc-legend i.line { height: 2px; width: 14px; border-radius: 1px; }
.fc-sep { display: inline-block; width: 1px; height: 12px; background: var(--line); margin-left: 10px; }
.fin-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fin-table { font-variant-numeric: tabular-nums; }
.fin-table td.num, .fin-table th.num { text-align: right; white-space: nowrap; }
.fin-table tbody th { width: auto; min-width: 210px; }
.fin-table td.is-neg { color: #9E3B2F; }
.fin-def { display: block; font-size: 0.75rem; font-weight: 400; color: var(--mut); margin-top: 1px; }
.fin-warn { background: #FBEDE9; }
@media (max-width: 760px) {
  .fin-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fin-kpi:nth-child(3) { border-left: 0; padding-left: 0; }
  .fin-kpi:nth-child(n+3) { border-top: 1px solid var(--line); }
  .fin-grid { grid-template-columns: 1fr; }
  .fin-table tbody th { min-width: 160px; }
}
.report-pdf .fin-kpi-v { font-size: 17pt; }
.report-pdf .fin-grid { gap: 10px 22px; }
.report-pdf .fin-scroll { overflow: visible; }
.report-pdf .fin-table { font-size: 8.5pt; }
.report-pdf .fin-table th, .report-pdf .fin-table td { padding: 5px 5px; }
.report-pdf .fin-table tbody th { min-width: 0; }
.report-pdf .r-fin { break-before: page; page-break-before: always; }
@media print {
  .fin-scroll { overflow: visible; }
  .fin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fin-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.fc-bal + .fc-bal { margin-top: 14px; }
.fc-bal-name { font-size: 0.8125rem; color: var(--mut); margin-bottom: 4px; }
.fc-legend b { font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.fc-bal-bar { display: flex; gap: 2px; height: 26px; }
.fc-bal-bar span { min-width: 2px; color: #fff; font-size: 0.75rem; font-weight: 600; line-height: 26px; padding-left: 8px; overflow: hidden; white-space: nowrap; font-variant-numeric: tabular-nums; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.fc-bal-bar span:first-child { border-radius: 2px 0 0 2px; } .fc-bal-bar span:last-child { border-radius: 0 2px 2px 0; }
.r-fin, .r-fin * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
@media (max-width: 560px) {
  .fc-tick { font-size: 17px; }
  .fc-val { font-size: 18px; }
}
.report-pdf .fin-grid .fc-tick { font-size: 15px; }
.report-pdf .fin-grid .fc-val { font-size: 16px; }
.report-pdf .fc-legend { font-size: 8.5pt; }
.fin-grid > :only-child { grid-column: 1 / -1; max-width: 640px; }

/* Digital maturity and financial management */
.mt-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 14px; }
.mt-card { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 4px 28px; align-items: start; }
.mt-card > .mt-title, .mt-card > .mt-score, .mt-card > .mt-bar, .mt-card > .mt-text, .mt-card > .mt-none { grid-column: 1; }
.mt-card > .mt-table { grid-column: 2; grid-row: 1 / span 5; margin-top: 0; }
.mt-card > .r-small { grid-column: 2; }
.mt-card { border: 1px solid var(--line); border-top: 2px solid var(--g9); border-radius: 2px; padding: 16px 16px 10px; min-width: 0; break-inside: avoid; page-break-inside: avoid; }
.report .mt-title { font-family: "Inter", sans-serif; font-variation-settings: normal; font-size: 0.9375rem; font-weight: 650; color: var(--g9); margin: 0 0 8px; padding: 0; border: 0; }
.mt-score { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.mt-num { font-family: "Source Serif 4", Georgia, serif; font-variation-settings: "opsz" 60; font-weight: 600; font-size: 2.6rem; line-height: 1; color: var(--g9); font-variant-numeric: tabular-nums; }
.mt-of { color: var(--mut); font-size: 0.9375rem; }
.mt-band { margin-left: auto; font-size: 0.8125rem; font-weight: 650; padding: 4px 9px; border-radius: 999px; background: var(--mint); color: var(--g9); }
.mt-band.mt-basic { background: #F6E7D3; color: #6B4510; }
.mt-band.mt-developing { background: #F5F1E8; color: #4E4A3C; box-shadow: inset 0 0 0 1px #D9CFBC; }
.mt-bar { position: relative; height: 8px; border-radius: 4px; background: #E7ECE9; margin: 12px 0 10px; overflow: hidden; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.mt-bar span { position: absolute; inset: 0 auto 0 0; background: #0E7A55; border-radius: 4px; }
.mt-bar i { position: absolute; top: 0; bottom: 0; width: 2px; background: #fff; }
.mt-text { font-size: 0.9375rem; }
.mt-none { color: var(--mut); font-size: 0.9375rem; }
.mt-table { font-size: 0.875rem; margin-top: 6px; }
.mt-table tbody th { width: 30%; }
.mt-table td { color: var(--mut); }
.mt-lv { white-space: nowrap; width: 1%; }
.mt-lv-t { display: block; font-size: 0.75rem; color: var(--mut); margin-top: 3px; }
.mt-meter { display: inline-flex; gap: 3px; }
.mt-meter i { width: 18px; height: 8px; border-radius: 2px; background: #E1E7E3; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.mt-meter i.on { background: #0E7A55; }
.mt-growth { background: var(--mint); border-radius: 2px; padding: 14px 16px 8px; margin-top: 16px; }
.mt-growth ul { margin: 0; padding-left: 1.1em; font-size: 0.9375rem; }
.mt-growth li { margin: 4px 0; }
@media (max-width: 760px) { .mt-card { grid-template-columns: 1fr; } .mt-card > .mt-table, .mt-card > .r-small { grid-column: 1; grid-row: auto; margin-top: 8px; } }
.report-pdf .mt-num { font-size: 26pt; }
.report-pdf .mt-table, .report-pdf .mt-text, .report-pdf .mt-growth ul { font-size: 8.5pt; }
.report-pdf .mt-table th, .report-pdf .mt-table td { padding: 5px 4px; }


/* Summary */
.sm-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1.5px solid var(--g9); border-bottom: 1px solid var(--line); margin-top: 12px; }
.sm-tile { padding: 14px 14px 14px; border-left: 1px solid var(--line); min-width: 0; }
.sm-tile:first-child { border-left: 0; padding-left: 0; }
.sm-l { font-size: 0.8125rem; color: var(--mut); line-height: 1.3; min-height: 2.6em; }
.sm-n { display: flex; align-items: baseline; gap: 5px; margin-top: 4px; flex-wrap: wrap; }
.sm-v { font-family: "Source Serif 4", Georgia, serif; font-variation-settings: "opsz" 60; font-weight: 600; font-size: clamp(1.6rem, 1.1rem + 1.3vw, 2.2rem); line-height: 1.05; color: var(--g9); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sm-v.sm-na { color: var(--mut); }
.sm-u { font-size: 0.875rem; color: var(--mut); }
.sm-bar { height: 6px; background: #E7ECE9; border-radius: 3px; margin-top: 10px; overflow: hidden; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.sm-bar span { display: block; height: 100%; background: #0E7A55; border-radius: 3px; }
.sm-txt { font-family: "Source Serif 4", Georgia, serif; font-weight: 600; font-size: 1.125rem; line-height: 1.25; color: var(--g9); margin-top: 4px; }
.sm-find { margin-top: 16px; }
.report .sm-h { font-family: "Inter", sans-serif; font-variation-settings: normal; font-size: 0.9375rem; font-weight: 650; color: var(--g9); margin: 0 0 6px; padding: 0; border: 0; }
.sm-find ol { margin: 0; padding-left: 1.3em; font-size: 0.9375rem; }
.sm-find li { margin: 4px 0; padding-left: 2px; }
.sm-find li::marker { color: #0E7A55; font-weight: 700; }
@media (max-width: 760px) {
  .sm-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm-tile:nth-child(3) { border-left: 0; padding-left: 0; }
  .sm-tile:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media print { .sm-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Radar, time range, matrix */
.rd { margin-top: 18px; max-width: 640px; }
.rd-l { font-size: 12px; fill: #17221E; font-weight: 550; }
.rd-v { font-size: 11px; fill: #56645D; font-weight: 500; }
.tm-chart { margin: 8px 0 14px; max-width: 640px; }
.mx { margin: 6px 0 18px; max-width: 640px; }
.mx-start { font-size: 12px; font-weight: 650; fill: #123E31; }
.mx-ax { font-size: 12px; fill: #56645D; }
.mx-n { font-size: 13px; font-weight: 700; fill: #fff; }
.mx-list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 4px; font-size: 0.9375rem; }
.mx-list b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #0E7A55; color: #fff; font-size: 0.75rem; margin-right: 8px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
@media (max-width: 560px) { .rd-l { font-size: 18px; } .rd-v { font-size: 16px; } .mx-start, .mx-ax { font-size: 17px; } .mx-n { font-size: 16px; } }
.report-pdf .rd-l { font-size: 12px; }

/* Roadmap */
.rm { list-style: none; margin: 14px 0 6px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; position: relative; }
.rm-step { position: relative; padding: 0 16px 0 0; }
.rm-step::before { content: ""; position: absolute; left: 0; right: 0; top: 41px; height: 2px; background: #0E7A55; }
.rm-step:last-child::before { right: 50%; }
.rm-when { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; color: var(--mut); text-transform: uppercase; letter-spacing: .04em; height: 22px; }
.rm-dot { position: relative; width: 30px; height: 30px; border-radius: 50%; background: #0E7A55; color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 0.875rem; margin: 4px 0 12px; box-shadow: 0 0 0 4px #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rm-body strong { display: block; color: var(--g9); font-size: 0.9375rem; line-height: 1.3; margin-bottom: 4px; }
.rm-body p { font-size: 0.875rem; color: var(--mut); margin: 0; }
@media (max-width: 640px) {
  .rm { grid-template-columns: 1fr; gap: 14px; }
  .rm-step { padding: 0 0 0 44px; }
  .rm-step::before { left: 14px; right: auto; top: 0; bottom: -14px; width: 2px; height: auto; }
  .rm-step:last-child::before { bottom: 50%; }
  .rm-dot { position: absolute; left: 0; top: 0; margin: 0; }
  .rm-when { height: auto; margin-bottom: 2px; }
}

/* Invitation */
.r-cta { margin-top: 16px; background: #123E31; color: #fff; border-radius: 2px; padding: 20px 22px 16px; -webkit-print-color-adjust: exact; print-color-adjust: exact; break-inside: avoid; }
.report .r-cta .cta-h { font-family: "Source Serif 4", Georgia, serif; font-size: 1.35rem; font-weight: 600; color: #fff; margin: 0 0 8px; padding: 0; border: 0; }
.r-cta p { color: #E6F0EB; font-size: 0.9375rem; }
.r-cta ul { margin: 0 0 10px; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 0.9375rem; }
.r-cta li::before { content: "→ "; color: #52B98C; font-weight: 700; }
.r-cta .cta-contact { margin: 0; font-weight: 600; color: #fff; }
.report-pdf .sm-v { font-size: 20pt; }
.report-pdf .r-summary, .report-pdf .r-roadmap { break-inside: avoid; }

.report-pdf .fin-h, .report-pdf figcaption { break-after: avoid; page-break-after: avoid; }
.pe-chart { max-width: 680px; margin-top: 8px; }
.pe-l { font-size: 12px; fill: #17221E; font-weight: 550; }
@media (max-width: 560px) { .pe-l { font-size: 17px; } }
.cta-book { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin: 14px 0 12px !important; }
.cta-btn { display: inline-block; background: #fff; color: #123E31 !important; font-weight: 700; text-decoration: none; padding: 11px 18px; border-radius: 2px; }
.cta-btn:hover { background: #EAF5F0; }
.cta-book span { color: #CFE3D8; font-size: 0.875rem; }

/* PDF cover */
.r-cover { display: none; }
.report-pdf .r-cover { display: flex; flex-direction: column; justify-content: space-between; height: 236mm; overflow: hidden; break-after: page; page-break-after: always; border-top: 3px solid #123E31; padding-top: 10mm; }
.cv-top { display: flex; align-items: center; gap: 10px; }
.cv-mark { width: 16px; height: 16px; border: 1.5px solid #123E31; position: relative; }
.cv-mark::after { content: ""; position: absolute; right: 2px; bottom: 2px; width: 5px; height: 5px; border-radius: 50%; background: #1B8B63; }
.cv-brand { font-family: "IBM Plex Mono", monospace; font-size: 10pt; color: #123E31; }
.cv-kicker { font-family: "IBM Plex Mono", monospace; font-size: 9pt; text-transform: uppercase; letter-spacing: .08em; color: #1B8B63; margin: 0 0 6mm !important; }
.report .cv-name { font-family: "Source Serif 4", Georgia, serif; font-weight: 600; font-size: 34pt; line-height: 1.05; color: #123E31; margin: 0 0 4mm; max-width: none; }
.cv-sub { font-size: 13pt; color: #17221E; margin: 0 0 3mm !important; }
.cv-meta { font-size: 10pt; color: #56645D; }
.cv-tiles { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1.5px solid #123E31; border-bottom: 1px solid #D9E3DE; margin-top: 14mm; }
.cv-tile { padding: 5mm 5mm 5mm 0; }
.cv-tile + .cv-tile { border-left: 1px solid #D9E3DE; padding-left: 5mm; }
.cv-l { font-size: 9pt; color: #56645D; min-height: 2.4em; }
.cv-v { font-family: "Source Serif 4", Georgia, serif; font-weight: 600; font-size: 28pt; color: #123E31; line-height: 1.1; white-space: nowrap; }
.cv-v span { font-family: "Inter", sans-serif; font-size: 10pt; font-weight: 400; color: #56645D; margin-left: 4px; }
.cv-bar { height: 5px; background: #E7ECE9; border-radius: 3px; margin-top: 3mm; overflow: hidden; }
.cv-bar span { display: block; height: 100%; background: #0E7A55; }
.cv-foot { border-top: 1px solid #D9E3DE; padding-top: 5mm; font-size: 9.5pt; color: #17221E; }
.cv-foot a { color: #0E7A55; font-weight: 600; }
.cv-conf { color: #56645D; font-size: 8.5pt; margin-top: 3mm !important; }
.report-pdf .pe-block { break-inside: avoid; page-break-inside: avoid; }

/* Report tracks and cells must shrink inside a narrow worksheet. */
.report-web, .report-web * { box-sizing: border-box; }
.report-web { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.mt-card > * { min-width: 0; }
.tm-label { font-family: "Inter", system-ui, sans-serif; font-size: 13px; fill: #56645D; }
@media (max-width: 760px) {
  .mt-card { grid-template-columns: minmax(0, 1fr); }
  .report-web .r-table:not(.fin-table) { table-layout: fixed; }
  .mt-lv { white-space: normal; }
  .mt-meter { display: flex; max-width: 100%; }
  .mt-meter i { flex: 1 1 18px; min-width: 0; max-width: 18px; }
  .r-opp header { grid-template-columns: auto minmax(0, 1fr); }
  .r-opp header > div { min-width: 0; }
}
@media (max-width: 560px) {
  .report-web { padding: 16px; }
  .report-web .mt-card { padding: 12px 10px; }
  .report-web .r-table th, .report-web .r-table td { padding: 8px 4px; }
  .tm-label { font-size: 18px; }
}
/* Compact PDF pagination: retain logical chunks rather than whole opportunities. */
.report-pdf { font-size: 10pt; }
.report-pdf .r-head { padding-bottom: 4mm; margin-bottom: 4mm; }
.report-pdf .r-head > h1 { font-size: 20pt; }
.report-pdf .r-section { margin-top: 5mm; }
.report-pdf .r-section > h2 { font-size: 13pt; margin-bottom: 3mm; padding-bottom: 2mm; }
.report-pdf .r-opp { break-inside: auto; page-break-inside: auto; padding: 3mm 3.5mm 1mm; margin-top: 3mm; }
.report-pdf .r-opp header { break-inside: avoid; break-after: avoid; page-break-after: avoid; }
.report-pdf .r-opp header + p { break-before: avoid; page-break-before: avoid; }
.report-pdf .r-based, .report-pdf .r-dl > div { break-inside: avoid; page-break-inside: avoid; }
.report-pdf .r-based { padding: 2.5mm 3mm; margin: 2mm 0; }
.report-pdf .r-dl > div { padding: 2mm 0; }
.report-pdf .r-break { break-before: auto; page-break-before: auto; margin-top: 5mm; }
.report-pdf .rd { max-width: 480px; margin-top: 4mm; }
.report-pdf .mx { max-width: 460px; }
.report-pdf .mt-card { display: block; padding: 3mm; }
.report-pdf .mt-title { break-after: avoid; }
.report-pdf .mt-table { margin-top: 2mm; }
.report-pdf .sm-tile { padding-block: 3mm; }
.report-pdf .r-table th, .report-pdf .r-table td { padding-block: 2mm; }
.report-pdf .r-cta { padding: 4mm; }
.report-pdf .tm-label { font-size: 13px; }

.r-cta .cta-contact a { color: inherit; }

/* Block flow avoids Chromium retaining an entire grid of cards on the following page. */
.report-pdf .mt-grid, .report-pdf .r-dl { display: block; }
.report-pdf .mt-card + .mt-card { margin-top: 3mm; }
.report-pdf .r-opp header { display: flex; gap: 10px; }
.report-pdf .r-opp header > div { flex: 1; min-width: 0; }
.report-pdf .r-opp header .kind { display: none; }
.report-pdf .r-table:not(.mt-table):not(.fin-table), .report-pdf .r-dl > div, .report-pdf .sm-find ol, .report-pdf .mx-list { font-size: 9pt; line-height: 1.4; }
.report-pdf .r-table th, .report-pdf .r-table td { padding-block: 1.6mm; }
.report-pdf .r-small, .report-pdf .r-sources, .report-pdf .rm-body p { font-size: 8.5pt; line-height: 1.4; }
.report-pdf .rm-body strong { font-size: 9pt; }
.report-pdf .r-legend { font-size: 8pt; }
.report-pdf .kind { font-size: 7.5pt; padding: 3px 5px; }

.report-pdf .mt-lv { white-space: nowrap; }
.report-pdf .mt-growth { break-inside: avoid; page-break-inside: avoid; }
