# Kenya County and Sub-County Dropdown Update

## Changes

- Replaced the free-text County field on the student admission form with a dropdown containing all 47 Kenyan counties.
- Replaced the free-text Sub-County field with a dependent dropdown.
- Selecting a county immediately loads only the sub-counties mapped to that county.
- Existing student records retain their saved county or sub-county even when an older label is not present in the current lookup list.
- New and edited Kenyan records are validated on the server to prevent a sub-county from being saved under the wrong county.
- Bulk student imports now normalize county and sub-county capitalization and reject invalid county/sub-county combinations.
- The lookup is stored locally in `includes/kenya_locations.php`; no internet connection or external API is required during registration.

## Data structure

- 47 counties
- 303 linked sub-county options
- Centralized lookup and normalization functions for reuse in other forms

## Database

No database migration is required. Existing `county` and `sub_county` columns are retained.

## Validation

- Kenya location lookup count and relationship tests passed.
- Valid case-insensitive values normalize correctly, for example `nandi` and `emgwen` become `Nandi` and `Emgwen`.
- Invalid cross-county combinations are rejected.
- All 166 PHP files passed syntax validation.
