.kenya-ui {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #16231e;
  background: #f1f5ee;
  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(1080px, calc(100% - 40px)); margin: auto; }
.kenya-ui .masthead { background: #fff; border-bottom: 1px solid var(--line); }
.kenya-ui .top { height: 65px; display: flex; justify-content: space-between; align-items: center; }
.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: 32px 0 20px; padding: clamp(22px, 4vw, 40px); background: linear-gradient(115deg,#10251c,#0c402e); color: #fff; border-radius: 22px; display: flex; align-items: end; justify-content: space-between; gap: 18px; border-bottom: 4px solid var(--red); }
.kenya-ui .hero h1 { margin: 6px 0 10px; letter-spacing: -.055em; font-size: clamp(34px, 5.8vw, 62px); line-height: 1; }
.kenya-ui .hero h1 span { color: #ee7475; }
.kenya-ui .hero p:not(.eyebrow) { margin: 0; max-width: 480px; color: #d2e6da; line-height: 1.5; }
.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: 16px; 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(16px, 3vw, 26px); border-radius: 15px; box-shadow: 0 8px 20px #122c1b0b; }
.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% - 24px, 540px); }
  .kenya-ui .hero { align-items: start; flex-direction: column; margin-top: 18px; border-radius: 14px; }
  .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; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 12px; }
.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; }
