
.rpt h2 { font-size: 1.9em; margin: 0 0 .5em; }
.rpt h3 { font-size: 1.25em; margin: 1em 0 .4em; color: #182753; }
.rpt h4 { font-family: "Barlow", Arial, sans-serif; font-weight: 600; font-size: 1.05em; color: #182753; margin: 0 0 .3em; }
.rpt .lede { font-size: 1.18em; font-weight: 600; color: #2E302F; }
.rpt .strong { font-weight: 600; color: #182753; }
.rpt .sub { color: #6F8E3A; font-weight: 600; margin: 0 0 .4em; }
.rpt .kicker { color: #6F8E3A; font-weight: 600; margin: 0 0 .3em; }
.rpt .tag { display: inline-block; font-size: .8em; font-weight: 600; padding: .25em .7em; margin: 0 0 .6em; border-radius: 2px; }
.rpt .tag.view { background: #182753; color: #fff; }
.rpt .tag.obs { background: #E9EEF8; color: #182753; }
.rpt .tag.illus { background: #F1F4EA; color: #4E6A22; }
.rpt .rl { list-style: none; padding: 0; margin: 0 0 .9em; display: grid; gap: .3em 1.4em; }
.rpt .rl li { position: relative; padding-left: 1.3em; }
.rpt .rl li::before { content: ""; position: absolute; left: 0; top: .5em; width: .55em; height: .55em; border-radius: 50%; background: #6F8E3A; }
.rpt .rl.cols2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpt .rl.cols3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rpt .rl.cols4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rpt .rl.cols5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rpt .rl.light li { color: #fff; }
.rpt .rl.light li::before { background: #A9C46B; }
.rpt .two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6em; align-items: start; }
.rpt .grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1em 1.6em; }
.rpt .grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1em; margin-top: 1em; }
.rpt .grid3 > div, .rpt .grid2.cards > div { background: #FAF8F3; border-top: 3px solid #6F8E3A; padding: .9em 1em .4em; }
.rpt .themes { display: grid; gap: .8em; }
.rpt .themes > div { position: relative; background: #FAF8F3; padding: .9em 1em .5em 3.4em; }
.rpt .themes .n { position: absolute; left: 1em; top: .8em; width: 1.6em; height: 1.6em; border-radius: 50%; background: #182753; color: #fff; display: grid; place-items: center; font-weight: 600; }
.rpt .themes h3 { margin-top: 0; font-size: 1.1em; }
.rpt .themes p { margin-bottom: .45em; }
.rpt .callout, .rpt .spec { background: #182753; color: #DDE2EE; padding: 1.2em 1.4em .5em; }
.rpt .callout .rl li { color: #fff; }
.rpt .callout .rl li::before { background: #A9C46B; }
.rpt .callout .strong, .rpt .spec .strong { color: #fff; }
.rpt .class-box { padding: 1em 1.1em .4em; }
.rpt .class-box.obs { background: #E9EEF8; }
.rpt .class-box.view { background: #182753; color: #DDE2EE; }
.rpt .class-box.view h4 { color: #fff; }
.rpt .viewbox { border-left: 4px solid #182753; background: #F4F6FB; padding: .9em 1.1em .3em; margin-top: 1em; }
.rpt .origin { font-size: 1.5em; margin-top: .2em; }
.rpt .chart { border: 1px solid #DEDAD1; padding: 1em 1.2em; margin-top: 1em; background: #fff; }
.rpt .chart-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .3em 1em; margin-bottom: .7em; }
.rpt .chart-head h4 { margin: 0; font-size: 1.15em; }
.rpt .chart-head .tag { margin: 0; }
.rpt .bars { display: grid; gap: .55em; }
.rpt .bar-row, .rpt .wf-row { display: grid; grid-template-columns: 12em minmax(0, 1fr) 3.6em; align-items: center; gap: .8em; }
.rpt .bar-label { font-size: .95em; color: #2E302F; }
.rpt .bar-track { position: relative; height: 1.15em; background: #EEF0F4; }
.rpt .bar-fill { position: absolute; left: 0; top: 0; bottom: 0; background: #182753; }
.rpt .bars.kenya .bar-fill { background: #6F8E3A; }
.rpt .bar-val { font-weight: 600; color: #182753; text-align: right; font-variant-numeric: tabular-nums; }
.rpt .overall { display: flex; justify-content: space-between; align-items: center; margin-top: .9em; background: #182753; color: #fff; padding: .6em .9em; }
.rpt .overall b { font-size: 1.3em; color: #A9C46B; }
.rpt .wf-seg { position: absolute; top: 0; bottom: 0; background: #6F8E3A; }
.rpt .wf-row.total .wf-seg { background: #182753; }
.rpt .wf-row.total .bar-label, .rpt .wf-row.total .bar-val { font-weight: 700; }
.rpt .wf-row { margin-bottom: .45em; }
.rpt .matrix .m-legend { display: flex; gap: 1.4em; margin-bottom: .7em; font-size: .9em; }
.rpt .matrix .m-legend span::before { content: ""; display: inline-block; width: .9em; height: .9em; margin-right: .4em; vertical-align: -.1em; }
.rpt .k1::before, .rpt .mb.k1 { background: #182753; }
.rpt .k2::before, .rpt .mb.k2 { background: #6F8E3A; }
.rpt .m-row { display: grid; grid-template-columns: 12em minmax(0, 1fr); gap: .8em; align-items: center; margin-bottom: .6em; }
.rpt .m-bars { display: grid; gap: .2em; }
.rpt .mb { display: block; height: 1em; position: relative; }
.rpt .mb em { position: absolute; right: .35em; top: 50%; transform: translateY(-50%); color: #fff; font-style: normal; font-size: .75em; font-weight: 700; }
.rpt .flow { display: flex; align-items: stretch; gap: .6em; margin: .4em 0 .2em; }
.rpt .flow div, .rpt .tiles3 div { flex: 1; background: #182753; color: #fff; padding: .8em 1em; display: flex; flex-direction: column; }
.rpt .flow b, .rpt .tiles3 b { font-family: "Barlow", Arial, sans-serif; font-size: 1.1em; }
.rpt .flow span, .rpt .tiles3 span { color: #A9C46B; font-weight: 600; }
.rpt .flow i { align-self: center; font-style: normal; font-size: 1.6em; color: #6F8E3A; }
.rpt .tiles3 { display: flex; gap: .6em; margin-bottom: 1em; }
.rpt .tiles3 div:nth-child(2) { background: #6F8E3A; }
.rpt .tiles3 div:nth-child(2) span { color: #fff; }
.rpt .spec { padding-top: 1em; }
.rpt .spec-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6em; margin: .4em 0 1em; }
.rpt .spec-grid div { background: rgba(255,255,255,.08); padding: .6em .7em; }
.rpt .spec-grid span { display: block; font-size: .8em; color: #A9C46B; }
.rpt .spec-grid b { color: #fff; }
.rpt .cal-track { position: relative; height: 2.2em; background: #EEF0F4; }
.rpt .cal-track span { position: absolute; top: 0; bottom: 0; }
.rpt .cal-build { background: #C9D7AD; }
.rpt .cal-ram { background: #182753; }
.rpt .cal-eid { width: 4px; margin-left: -2px; background: #6F8E3A; box-shadow: 0 0 0 3px rgba(111,142,58,.35); }
.rpt .cal-months { display: grid; grid-template-columns: repeat(12, 1fr); font-size: .82em; color: #6B6E6A; margin-top: .3em; }
.rpt .cal-key { display: flex; flex-wrap: wrap; gap: .4em 1.4em; margin-top: .8em; font-size: .9em; }
.rpt .sw { display: inline-block; width: .9em; height: .9em; margin-right: .4em; vertical-align: -.1em; }
.rpt .sw.build { background: #C9D7AD; } .rpt .sw.ram { background: #182753; } .rpt .sw.eid { background: #6F8E3A; }
.rpt .vflow { display: flex; flex-direction: column; align-items: stretch; gap: .2em; }
.rpt .vflow span { background: #182753; color: #fff; text-align: center; padding: .55em; font-weight: 600; font-family: "Barlow", Arial, sans-serif; }
.rpt .vflow span:last-child { background: #6F8E3A; }
.rpt .vflow i { text-align: center; font-style: normal; color: #6F8E3A; font-size: 1.2em; line-height: 1; }
.rpt .refs .rl { font-size: .95em; }
.rpt .rl.notes { font-size: .92em; color: #4B4E4A; }
.rpt .sign { margin-top: 1.4em; border-top: 3px solid #182753; padding-top: .8em; display: grid; gap: .1em; color: #4B4E4A; }
.rpt .sign b { color: #182753; font-size: 1.15em; }
.rpt .r-title { font-size: 2.6em; margin: 0; }
.rpt .r-q { font-family: "Barlow", Arial, sans-serif; font-size: 1.6em; color: #6F8E3A; font-weight: 600; margin: .1em 0 .2em; }
.rpt .r-sub { font-size: 1.2em; color: #2E302F; }
[dir="rtl"] .rpt .rl li { padding-left: 0; padding-right: 1.3em; }
[dir="rtl"] .rpt .rl li::before { left: auto; right: 0; }
[dir="rtl"] .rpt .themes > div { padding: .9em 3.4em .5em 1em; }
[dir="rtl"] .rpt .themes .n { left: auto; right: 1em; }
[dir="rtl"] .rpt .viewbox { border-left: 0; border-right: 4px solid #182753; }
[dir="rtl"] .rpt .bar-track, [dir="rtl"] .rpt .cal-track, [dir="rtl"] .rpt .cal-months, [dir="rtl"] .rpt .m-bars { direction: ltr; }
[dir="rtl"] .rpt .mb em { right: auto; left: .35em; }
[dir="rtl"] .rpt .bar-val { text-align: left; }
[dir="rtl"] .rpt .flow i { transform: scaleX(-1); }
[dir="rtl"] .rpt .matrix .m-legend span::before { margin-right: 0; margin-left: .4em; }
[dir="rtl"] .rpt .sw { margin-right: 0; margin-left: .4em; }
@media screen and (max-width: 760px) {
  .rpt .two, .rpt .grid2, .rpt .grid3, .rpt .spec-grid { grid-template-columns: minmax(0, 1fr); }
  .rpt .rl.cols3, .rpt .rl.cols4, .rpt .rl.cols5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rpt .bar-row, .rpt .wf-row, .rpt .m-row { grid-template-columns: minmax(0, 1fr) 3.4em; }
  .rpt .bar-row .bar-label, .rpt .wf-row .bar-label, .rpt .m-row .m-label { grid-column: 1 / -1; }
  .rpt .m-row { grid-template-columns: minmax(0, 1fr); }
  .rpt .flow, .rpt .tiles3 { flex-direction: column; }
  .rpt .flow i { transform: rotate(90deg); }
  .rpt .cal-months { font-size: .7em; }
}

.rpt .flows2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4em; }
.rpt .flows2 h5 { font: 600 1em/1.2 "Barlow", Arial, sans-serif; color: #6B6E6A; margin: 0 0 .5em; }
.rpt .vflow.grey span { background: #8A8F9C; }
.rpt .vflow.grey span:last-child { background: #6B6E6A; }
.rpt .risk { width: 100%; border-collapse: collapse; }
.rpt .risk th, .rpt .risk td { padding: .45em .6em; text-align: left; border-bottom: 1px solid #E4E1D9; }
.rpt .risk th { font: 600 .95em "Barlow", Arial, sans-serif; color: #182753; }
.rpt .risk td.lv { width: 22%; }
.rpt .pill { display: inline-block; min-width: 5.6em; text-align: center; padding: .2em .6em; font-weight: 700; font-size: .82em; border-radius: 2px; }
.rpt .pill.high { background: #182753; color: #fff; }
.rpt .pill.med { background: #C9D7AD; color: #2E3A16; }
.rpt .pill.low { background: #EEF0F4; color: #4B4E4A; }
.rpt .rel .bar-val { display: none; }
.rpt .rel .bar-row { grid-template-columns: 12em minmax(0, 1fr); }
.rpt .group-label { font: 600 .9em "Barlow", Arial, sans-serif; color: #6F8E3A; margin: .6em 0 .2em; }
.rpt .src { font-size: .82em; color: #6B6E6A; }
.rpt .src a { color: #182753; }
.rpt .scen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8em; }
.rpt .scen > div { background: #FAF8F3; border-top: 3px solid #182753; padding: .9em 1em .4em; }
.rpt .scen > div.growth { border-top-color: #6F8E3A; }
.rpt .scen > div.risk-case { border-top-color: #8A6A47; }
.rpt .four { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5em; margin: .6em 0 1em; }
.rpt .four span { background: #182753; color: #fff; text-align: center; padding: .6em; font: 600 1.05em "Barlow", Arial, sans-serif; }
.rpt .four span:nth-child(even) { background: #6F8E3A; }
.rpt .refs a { color: #182753; word-break: break-all; }
[dir="rtl"] .rpt .risk th, [dir="rtl"] .rpt .risk td { text-align: right; }
@media screen and (max-width: 760px) {
  .rpt .flows2, .rpt .scen, .rpt .four { grid-template-columns: minmax(0, 1fr); }
  .rpt .rel .bar-row { grid-template-columns: minmax(0, 1fr); }
}

.rpt .pill.medlow { background: #E3E8D6; color: #2E3A16; }
.rpt .contents, .rpt .keep { break-inside: avoid; }
.rpt .contents { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35em 2em; counter-reset: c; }
.rpt .contents li { counter-increment: c; padding: .35em 0; border-bottom: 1px solid #E4E1D9; }
.rpt .contents li::before { content: counter(c, decimal-leading-zero); font-weight: 700; color: #6F8E3A; margin-inline-end: .8em; font-variant-numeric: tabular-nums; }
.rpt .costs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4em; }
.rpt .costs h5 { font: 600 1.05em "Barlow", Arial, sans-serif; color: #182753; margin: 0 0 .5em; }
.rpt .cost-row { display: grid; grid-template-columns: 9em auto; align-items: center; gap: .6em; margin-bottom: .45em; }
.rpt .dots { display: inline-flex; gap: .3em; direction: ltr; }
.rpt .dots i { width: .9em; height: .9em; border-radius: 50%; background: #E4E7EE; display: inline-block; }
.rpt .dots i.on { background: #182753; }
.rpt .costs > div:last-child .dots i.on { background: #6F8E3A; }
.rpt .kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6em; }
.rpt .kpis div { background: #182753; color: #DDE2EE; padding: .8em .9em; }
.rpt .kpis b { display: block; font: 700 1.7em/1.1 "Barlow", Arial, sans-serif; color: #A9C46B; direction: ltr; text-align: start; }
.rpt .data-table { width: 100%; border-collapse: collapse; }
.rpt .data-table td, .rpt .data-table th { padding: .45em .6em; border-bottom: 1px solid #E4E1D9; text-align: left; }
.rpt .data-table td.num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; color: #182753; direction: ltr; }
[dir="rtl"] .rpt .data-table td, [dir="rtl"] .rpt .data-table th { text-align: right; }
[dir="rtl"] .rpt .data-table td.num { text-align: left; }
@media screen and (max-width: 760px) {
  .rpt .contents, .rpt .costs { grid-template-columns: minmax(0, 1fr); }
  .rpt .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
