.kenya-ui {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #16231e;
  background: #f6f7f1;
  font-synthesis: none;
  min-height: 100vh;
  margin: 0;
  --green: #0a593e;
  --dark: #10231c;
  --muted: #50635a;
  --line: #dce6de;
  --red: #c23e43;
}
.kenya-ui * { box-sizing: border-box; }
.kenya-ui a { color: var(--green); text-underline-offset: .2em; }
.kenya-ui .flag-bar { height: 5px; background: linear-gradient(90deg, #141b18 0 31%, #fff 31% 32%, #c23e43 32% 62%, #fff 62% 63%, #0a593e 63%); }
.kenya-ui .shell { width: min(1200px, calc(100% - 48px)); margin: auto; }
.kenya-ui .masthead { background: #fff; border-bottom: 1px solid var(--line); }
.kenya-ui .top { min-height: 66px; display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; }
.kenya-ui .kenya-brand { display: flex; align-items: center; gap: 12px; }
.kenya-ui .kenya-brand .brand-lockup { width: 116px; height: auto; display: block; }
.kenya-ui .kenya-brand > span { padding-left: 12px; border-left: 1px solid var(--line); color: #426051; font-size: 13px; font-weight: 750; }
.kenya-ui .brand { text-decoration: none; font-size: 22px; font-weight: 800; color: var(--dark); display: flex; align-items: center; gap: 9px; }
.kenya-ui .brand-mark { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: var(--green); color: #fff; font-size: 20px; }
.kenya-ui .brand > span:last-child { margin-left: 4px; padding: 3px 7px; color: #285843; font-size: 10px; letter-spacing: .12em; border: 1px solid var(--line); border-radius: 4px; }
.kenya-ui .environment { color: #43594e; font-size: 13px; display: flex; gap: 7px; align-items: center; }
.kenya-ui .environment i, .kenya-ui .role span { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #418465; }
.kenya-ui .hero { margin: 24px 0 16px; padding: clamp(24px, 4.4vw, 52px); background: linear-gradient(92deg, #0e211a 6%, #10261de8 45%, #10261d4d), url('./images/kenya-matchday.webp') right 27% / cover #112c24; color: #fff; border-radius: 18px; display: flex; align-items: end; justify-content: space-between; gap: 18px; border-bottom: 3px solid var(--red); }
.kenya-ui .hero h1 { max-width: 750px; margin: 0 0 12px; letter-spacing: -.055em; font-size: clamp(34px, 5.5vw, 64px); line-height: 1.02; text-wrap: balance; }
.kenya-ui .hero h1 span { color: #ee7475; }
.kenya-ui .hero p:not(.eyebrow) { margin: 0; max-width: 480px; color: #e4f0e7; line-height: 1.55; }
.kenya-ui .eyebrow { font-size: 11px; letter-spacing: .14em; font-weight: 800; color: var(--green); margin: 0 0 8px; }
.kenya-ui .hero .eyebrow { color: #b2e2c4; }
.kenya-ui .cohort { min-width: 185px; background: #ffffff12; padding: 15px; border: 1px solid #ffffff32; border-radius: 12px; }
.kenya-ui .cohort > * { display: block; }
.kenya-ui .cohort span, .kenya-ui .cohort small { font-size: 10px; color: #cbe6d5; }
.kenya-ui .cohort span { letter-spacing: .09em; }
.kenya-ui .cohort strong { font-size: 23px; margin: 5px 0; }
.kenya-ui .progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 0 0 18px; list-style: none; }
.kenya-ui .progress li { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafcf8; font-size: 13px; font-weight: 700; color: #475d50; }
.kenya-ui .progress li span { min-width: 23px; height: 23px; display: grid; place-items: center; border-radius: 7px; background: #e7efe9; color: #1a4d39; font-size: 10px; }
.kenya-ui .progress li[data-state=active] { border-color: #4e8469; color: #163b2d; background: #e0f0e6; }
.kenya-ui .progress li[data-state=active] span { background: var(--green); color: white; }
.kenya-ui .grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.kenya-ui .summary { display: grid; gap: 14px; }
.kenya-ui .panel { min-width: 0; background: white; border: 1px solid var(--line); padding: clamp(19px, 3vw, 30px); border-radius: 18px; box-shadow: 0 8px 24px #122c1b0b; }
.kenya-ui .join-panel .pilot-evidence { align-items: center; gap: 12px 16px; }
.kenya-ui .join-panel .field-note { margin-top: 20px; }
.kenya-ui h2 { margin: 0; line-height: 1.12; letter-spacing: -.035em; font-size: 25px; overflow-wrap: anywhere; }
.kenya-ui .summary h2 { font-size: 20px; }
.kenya-ui .role { display: inline-flex; align-items: center; gap: 7px; background: #eaf3ec; color: #234f3a; border-radius: 20px; padding: 6px 10px; font-size: 11px; font-weight: 750; margin: 0 0 12px; }
.kenya-ui .description { margin: 9px 0 19px; line-height: 1.5; color: var(--muted); }
.kenya-ui .fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 0 0 12px; }
.kenya-ui .full { grid-column: 1 / -1; }
.kenya-ui label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.kenya-ui input, .kenya-ui select { width: 100%; min-width: 0; min-height: 42px; background: #fbfcfa; border: 1px solid #bdcec2; border-radius: 8px; padding: 8px 10px; font: inherit; color: var(--dark); }
.kenya-ui input[type=file] { min-height: 45px; padding: 7px; }
.kenya-ui input::file-selector-button { margin-right: 8px; background: #e8f2e9; color: var(--green); border: 0; border-radius: 5px; padding: 6px 8px; }
.kenya-ui .money-field { position: relative; }
.kenya-ui .money-field span { position: absolute; left: 10px; top: 14px; color: #5b6e64; font-size: 10px; }
.kenya-ui .money-field input { padding-left: 41px; }
.kenya-ui button { display: inline-flex; gap: 15px; justify-content: space-between; align-items: center; min-height: 44px; border-radius: 8px; background: var(--green); border: 1px solid var(--green); color: white; font: inherit; font-size: 14px; font-weight: 750; padding: 9px 14px; cursor: pointer; }
.kenya-ui button:hover { background: #06422e; }
.kenya-ui button:focus-visible, .kenya-ui input:focus-visible, .kenya-ui select:focus-visible, .kenya-ui a:focus-visible { outline: 2px solid #af3238; outline-offset: 3px; }
.kenya-ui .field-note { margin: 10px 0; font-size: 12px; line-height: 1.5; color: var(--muted); }
.kenya-ui .error { padding: 10px; background: #fff0ee; color: #85262b; border: 1px solid #efc5c2; border-radius: 8px; }
.kenya-ui .reward { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 13px 0 10px; color: #255943; border-bottom: 1px solid var(--line); }
.kenya-ui .reward span { font-size: 12px; }
.kenya-ui .reward strong { font-size: 22px; white-space: nowrap; letter-spacing: -.04em; }
.kenya-ui dl { margin: 8px 0 0; }
.kenya-ui dl div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; font-size: 13px; }
.kenya-ui dt { color: #51645a; }
.kenya-ui dd { margin: 0; font-weight: 700; text-align: right; }
.kenya-ui .status { color: var(--green); text-transform: capitalize; }
.kenya-ui .screenshot { display: block; margin-top: 10px; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); }
.kenya-ui .screenshot img { display: block; width: 100%; max-height: 220px; object-fit: contain; background: #f2f7f3; }
.kenya-ui footer { padding: 22px 0 26px; display: flex; justify-content: space-between; gap: 12px; color: #51645a; font-size: 12px; }
.kenya-ui footer span:first-child { font-weight: 800; letter-spacing: .11em; }
@media (max-width: 700px) {
  .kenya-ui .shell { width: min(100% - 28px, 540px); }
  .kenya-ui .top { flex-wrap: wrap; padding-block: 10px; min-height: 54px; }
  .kenya-ui .hero { align-items: start; flex-direction: column; margin-top: 14px; border-radius: 14px; background-position: right center; }
  .kenya-ui .cohort { min-width: 0; padding: 8px 12px; }
  .kenya-ui .cohort strong { font-size: 17px; }
  .kenya-ui .progress { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kenya-ui .grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 380px) { .kenya-ui .fields { grid-template-columns: minmax(0,1fr); } }
.kenya-ui .settlement-preview { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 12px; border: 1px solid #c2dfcc; border-radius: 8px; background: #ebf6ee; color: #174f37; font-size: 13px; }
.kenya-ui .settlement-preview output { font-size: 20px; font-weight: 800; white-space: nowrap; }

.kenya-ui .pilot-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 10px; }
.kenya-ui .pilot-nav > a { text-decoration: none; padding: 7px 9px; border-radius: 8px; font-size: 13px; font-weight: 700; }
.kenya-ui .pilot-nav > a:hover { background: #eaf2e8; }
.kenya-ui .pilot-nav button { min-height: 36px; }
.kenya-ui .pilot-stack { display: grid; gap: 16px; }
.kenya-ui .pilot-stack form + form, .kenya-ui .pilot-stack article + article { border-top: 1px solid var(--line); padding-top: 16px; }
.kenya-ui fieldset { min-width: 0; border: 1px solid var(--line); border-radius: 8px; margin: 0 0 14px; padding: 12px; }
.kenya-ui legend, .kenya-ui summary { font-size: 13px; font-weight: 750; }
.kenya-ui summary { cursor: pointer; margin-bottom: 10px; color: var(--green); }
.kenya-ui .pilot-stack h3 { margin: 12px 0 6px; font-size: 17px; overflow-wrap: anywhere; }
.kenya-ui .pilot-doc { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.6; }
.kenya-ui .pilot-cta { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; background: var(--green); color: white; border-radius: 8px; font-weight: 750; }
.kenya-ui .pilot-message { color: var(--green); font-weight: 650; }
.kenya-ui .pilot-evidence { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0; }
.kenya-ui .kenya-consent { display: flex; align-items: flex-start; gap: 8px; }
.kenya-ui .kenya-consent input { flex: none; width: 18px; min-height: 18px; margin-top: 2px; }
.kenya-ui .owner-setup-card { margin: 24px auto; }
.kenya-ui .drop-preview { padding: 14px; background: #f6f8f4; }
.kenya-ui .drop-preview input:disabled, .kenya-ui .drop-preview select:disabled { opacity: 1; color: #43594e; }
.kenya-ui button:disabled { cursor: not-allowed; background: #e4ebe4; border-color: #cad7cb; color: #43594e; }
.kenya-ui .drop-guide { margin: 15px 0; padding-left: 20px; }
.kenya-ui .drop-guide li + li { margin-top: 14px; }
.kenya-ui .drop-guide p { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted); }

.kenya-workspace { --green: #0a593e; --ink: #12251d; --border: #dbe5dc; background: #f3f6f1; }
.kenya-workspace .sidebar { background: linear-gradient(155deg, #f9fcf7, #ebf2e8) !important; border-right-color: #dce6dc; }
.kenya-workspace .sidebar a[aria-current=page] { background: #e0efe5; color: #064d34; box-shadow: inset 3px 0 #0a593e; }
.kenya-workspace .topbar { background: #fcfdf9; border-bottom: 2px solid #a22d33; }
.kenya-workspace .top-actions { gap: 8px; }
.kenya-workspace .kenya-workspace-content { min-height: 0; background: transparent; font-family: inherit; }
.kenya-workspace .kenya-page-heading { margin: 24px 0 18px; }
.kenya-workspace .kenya-page-heading:not(.kenya-matchday) h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.08; letter-spacing: -.055em; }
.kenya-workspace .kenya-matchday {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  justify-items: start;
  align-items: end;
  min-height: 215px;
  padding: clamp(22px, 4vw, 42px);
  border-radius: 16px 16px 12px 12px;
  border-bottom: 3px solid #ae363d;
  background: linear-gradient(90deg, #0d2119 6%, #0d2119ed 39%, #0d21194d 100%), url('./images/kenya-matchday.webp') right 27% / cover #102b21;
  color: #fff;
}
.kenya-workspace .kenya-matchday h1 { max-width: 18ch; overflow-wrap: anywhere; margin: 0; font-size: clamp(34px, 5.6vw, 68px); line-height: .98; letter-spacing: -.065em; }
.kenya-workspace .kenya-matchday p { max-width: 46ch; margin: 13px 0 0; color: #dceee2; font-size: 14px; line-height: 1.55; }
.kenya-workspace .kenya-matchday > .button { align-self: end; background: #eff7e8; color: #0b3a26; border-color: #eff7e8; min-height: 44px; white-space: nowrap; }
.kenya-workspace .kenya-matchday > .button:hover { background: #d5ebd6; }
.kenya-workspace .kenya-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.kenya-workspace .kenya-scorecard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: start;
  align-items: start;
  gap: 7px;
  min-width: 0;
  padding: clamp(14px, 2vw, 23px);
  border: 1px solid #dbe5dc;
  border-top: 3px solid #226a47;
  border-radius: 11px;
  background: #fff;
}
.kenya-workspace .kenya-scorecard:nth-child(2) { border-top-color: #a22d33; }
.kenya-workspace .kenya-scorecard:nth-child(3) { border-top-color: #152b22; }
.kenya-workspace .kenya-scorecard h2 { margin: 4px 0; color: #3c5749; font-size: 12px; font-weight: 750; line-height: 1.3; letter-spacing: 0; }
.kenya-workspace .kenya-scorecard > strong { grid-column: 1 / -1; font-size: clamp(24px, 3vw, 38px); letter-spacing: -.055em; line-height: 1; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.kenya-workspace .kenya-scorecard-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: #ecf5ed; color: #226a47; }
.kenya-workspace .kenya-scorecard:nth-child(2) .kenya-scorecard-icon { background: #f9ecec; color: #a22d33; }
.kenya-workspace .kenya-workspace-content .panel { border-radius: 13px; box-shadow: 0 5px 18px #122c1b08; }
.kenya-workspace .standing-note { border-left: 4px solid #ae363d; background: #fff9f8; }
.kenya-workspace .standing-note > p { margin-bottom: 0; }
.kenya-workspace .standing-note details { margin-top: 12px; }
.kenya-workspace #submit-drop { scroll-margin-top: 20px; }
.kenya-workspace #drop-reviews > form { align-items: end; }
.kenya-workspace #drop-reviews > form > label { flex: 1 0 min(100%, 280px); max-width: 420px; }
@media (max-width: 1000px) {
  .kenya-workspace.analyst-shell .workspace-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
}
@media (max-width: 500px) {
  .kenya-workspace .breadcrumb > span, .kenya-workspace .breadcrumb > svg { display: none; }
  .kenya-workspace .top-actions .mode-pill { display: inline-flex; white-space: nowrap; }
  .kenya-workspace .kenya-matchday { grid-template-columns: minmax(0, 1fr); min-height: 194px; gap: 16px; margin-top: 14px; background-position: right center; }
  .kenya-workspace .kenya-matchday h1 { max-width: 14ch; }
  .kenya-workspace .kenya-matchday p { max-width: 32ch; font-size: 12px; }
  .kenya-workspace .kenya-stat-grid { gap: 7px; }
  .kenya-workspace .kenya-scorecard { grid-template-columns: minmax(0, 1fr); gap: 5px; padding: 10px; }
  .kenya-workspace .kenya-scorecard-icon { grid-row: 1; width: 26px; height: 26px; }
  .kenya-workspace .kenya-scorecard-icon svg { width: 15px; height: 15px; }
  .kenya-workspace .kenya-scorecard h2 { min-height: 2.6em; font-size: 11px; }
  .kenya-workspace .kenya-scorecard > strong { font-size: clamp(16px, 4.7vw, 24px); }
}

.kenya-ui .kenya-launch-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin: 16px 0;
  padding: clamp(16px, 3vw, 26px);
  border: 1px solid #c7dccb;
  border-left: 4px solid #0a593e;
  border-radius: 13px;
  background: #edf6ec;
}
.kenya-ui .kenya-launch-message {
  display: flex;
  align-items: start;
  gap: 11px;
  flex: 1 1 320px;
  min-width: 0;
}
.kenya-ui .kenya-launch-message > svg { flex: none; color: #0a593e; }
.kenya-ui .kenya-launch-message h2 { font-size: clamp(17px, 2.4vw, 23px); line-height: 1.2; }
.kenya-ui .kenya-launch-message p { margin: 5px 0 0; color: #385447; font-size: 13px; }
.kenya-ui .kenya-launch-links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.kenya-ui .kenya-launch-links .pilot-cta { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.kenya-ui .kenya-secondary-link { display: inline-flex; align-items: center; min-height: 44px; color: #0a5037; font-weight: 700; }
.kenya-ui .kenya-public-note a, .kenya-ui .kenya-secondary-link:hover { text-decoration: underline; }
.kenya-ui .kenya-workspace-news h2 { display: flex; align-items: center; gap: 9px; }
.kenya-ui .kenya-workspace-news h2 svg { flex: none; }
.kenya-ui .kenya-workspace-news ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
}
.kenya-ui .kenya-workspace-news li {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #dbe5dc;
  border-radius: 9px;
  background: #f6f9f4;
}
.kenya-ui .kenya-workspace-news p { margin: 0; font-size: 13px; line-height: 1.5; }
.kenya-ui .kenya-workspace-news a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  margin-top: auto;
  color: #0a5037;
  font-size: 13px;
  font-weight: 750;
  text-underline-offset: 3px;
}
.kenya-ui .kenya-workspace-news a:hover { text-decoration: underline; }
@media (max-width: 760px) {
  .kenya-ui .kenya-workspace-news ul { grid-template-columns: minmax(0, 1fr); }
  .kenya-ui .kenya-workspace-news li { padding-bottom: 4px; }
}
