.electoral-explorer{min-width:0;--ee-line:#d4e2e9;--ee-muted:#617b8d}.ee-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--ee-line);background:#fff;border-radius:5px}.ee-breadcrumbs button{border:0;background:none;color:#126b7b;padding:6px;font:inherit;font-size:13px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.ee-breadcrumbs button[aria-current]{font-weight:700;color:#193f50}.ee-breadcrumbs span{color:#91a3ad}.ee-status{font-size:12px;color:var(--ee-muted);margin:0 0 12px}.ee-map-stage{position:relative;height:470px;min-width:0;overflow:hidden;border:1px solid var(--ee-line);border-radius:5px}.ee-map-stage>[data-ee-map]{height:100%;width:100%}.ee-map-card,.ee-results{min-width:0}.ee-map-card .cp-section-head{min-height:100px}.ee-results .cp-section-head{display:block}.ee-results .cp-badge{display:inline-block;margin-top:8px}.ee-results>.cp-button{margin:15px 0}.ee-candidates article{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--ee-line);min-width:0}.ee-candidates article>div{flex:1;min-width:0}.ee-candidate-line{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:14px}.ee-candidate-line strong{overflow-wrap:anywhere}.ee-candidate-line b{white-space:nowrap}.ee-candidates small{color:var(--ee-muted);font-size:11px}.ee-vote-track{height:7px;background:#edf3f5;border-radius:2px;margin:8px 0 5px;overflow:hidden}.ee-vote-track i{height:100%;display:block;background:var(--ee-candidate)}.ee-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.ee-facts dt{font-size:12px;color:var(--ee-muted)}.ee-facts dd{margin:6px 0 0;font-size:21px;font-weight:700;overflow-wrap:anywhere}.ee-coverage{padding:12px;background:#f0f7f6;font-size:12px;color:#315963}.ee-reference{font-size:12px;border-top:1px solid var(--ee-line);padding-top:14px;margin-top:16px;color:var(--ee-muted)}.ee-reference summary{cursor:pointer;color:#245367;font-weight:600}.ee-reference p{font-size:12px;line-height:1.65}.ee-roster{margin-top:20px}.ee-roster>header,.ee-form>header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:15px}.ee-roster>header>div{flex:1}.ee-roster label{font-size:12px;color:var(--ee-muted);min-width:220px}.ee-roster input{display:block;width:100%;margin-top:6px;box-sizing:border-box;border:1px solid var(--ee-line);padding:10px;border-radius:4px;font:inherit;font-size:14px}.ee-roster-list{max-height:520px;overflow:auto;overscroll-behavior:contain}.ee-roster-list button{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.4fr) 16px;gap:18px;align-items:center;width:100%;padding:16px 10px;border:0;border-top:1px solid var(--ee-line);background:#fff;text-align:left;color:#193f50;cursor:pointer}.ee-roster-list button:hover,.ee-roster-list button[aria-current]{background:#edf7f5}.ee-roster-list strong,.ee-roster-list b{display:block;font-size:13px;overflow-wrap:anywhere}.ee-roster-list small{display:block;color:var(--ee-muted);font-size:11px;margin-top:5px}.ee-roster-list b{font-weight:600;color:#157e75}.ee-roster>[data-ee-count]{display:block;color:var(--ee-muted);font-size:12px;margin-top:12px}.ee-empty{padding:18px 0;color:var(--ee-muted);font-size:13px}.ee-preview{position:absolute;z-index:4;width:300px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);overflow:auto;box-sizing:border-box;border:1px solid #bbd5df;border-top:3px solid #147e86;background:#fff;box-shadow:0 10px 30px #173b4b30;border-radius:5px;padding:14px;pointer-events:none}.ee-preview[hidden]{display:none}.ee-preview h4{font-size:15px!important;margin:8px 0}.ee-preview>small{font-size:11px;color:var(--ee-muted)}.ee-preview .candidate-portrait{width:28px;height:36px;flex-basis:28px}.ee-preview .ee-candidates article{padding:7px 0;gap:8px}.ee-preview .ee-candidate-line{font-size:11px}.ee-preview .ee-vote-track{margin:4px 0;height:4px}.ee-preview .ee-candidates small{font-size:10px}.ee-form{margin-top:20px;scroll-margin-top:calc(var(--reader-sticky-height,0px) + 12px)}.ee-form .ee-candidates{max-width:720px}.electoral-explorer button:focus-visible{outline:3px solid #22a799;outline-offset:2px}.electoral-explorer button:disabled{opacity:.5;cursor:default}
.kenya-county-profile .electoral-explorer .cp-button.cp-primary{background:#176e67!important;color:#fff!important;border-color:#176e67!important}.electoral-explorer,.ee-form{scroll-margin-top:12px}
.ee-facts dt,.ee-awaiting{display:flex;align-items:center;gap:7px}.ee-facts .map-result-icon,.ee-awaiting .map-result-icon{flex:none;width:15px;height:15px}.ee-awaiting{font-size:12px;color:#647e8b;margin:12px 0}.ee-candidate-line b{font-size:16px}.ee-candidate-line b span{font-size:10px;color:var(--ee-muted);font-weight:500}.ee-candidates article{padding:10px 0}.ee-candidates>.candidate-portrait{flex:none}.ee-facts{gap:14px;margin:18px 0}.ee-facts dd{font-size:19px}.ee-vote-track{height:4px;margin:6px 0 4px}.ee-roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;max-height:330px}.ee-roster-list button{padding:12px 4px;grid-template-columns:minmax(0,1fr) minmax(100px,.45fr) 14px;gap:10px}.ee-roster>header{margin-bottom:10px}.ee-roster>header p{font-size:12px;margin-bottom:0}@media(max-width:1000px){.ee-roster-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.electoral-explorer .cp-overview-grid{grid-template-columns:minmax(0,1fr)}.ee-map-stage{height:420px}.ee-roster>header,.ee-form>header{display:block}.ee-roster label{display:block;min-width:0;margin-top:15px}.ee-roster-list button{grid-template-columns:minmax(0,1fr) 100px 12px;gap:9px;padding:14px 4px}.ee-roster-list strong,.ee-roster-list b{font-size:12px}.ee-breadcrumbs{gap:2px;padding:7px}.ee-breadcrumbs button{font-size:11px}.ee-candidate-line{font-size:13px}.ee-results .cp-section-head h3{font-size:20px!important}.ee-map-card .cp-section-head{min-height:0}.ee-facts dd{font-size:19px}.ee-form .cp-button{margin-top:10px}}
.ee-bubble-legend{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:12px 14px;border:1px solid #dce6eb;border-radius:5px;background:#f8fbfc}.ee-bubble-colors{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px;max-width:70%}.ee-bubble-colors>strong{flex-basis:100%;font-size:11px!important;color:#647e8b}.ee-bubble-colors>span{display:inline-flex;align-items:center;gap:6px;font-size:11px!important;color:#365b6d}.ee-bubble-colors i{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}.ee-bubble-colors i.is-hollow{background:transparent;border:1.5px solid #8391a0}.ee-bubble-sizes{flex:none;text-align:center;color:#647e8b}.ee-bubble-sizes>span{display:block;font-size:10px!important}.ee-bubble-sizes svg{display:block;margin:auto;overflow:visible}.ee-bubble-sizes circle{fill:#6c8c9b;fill-opacity:.22;stroke:#6c8c9b;stroke-width:1}.ee-bubble-sizes text{font:10px system-ui;fill:#365b6d}@media(max-width:700px){.ee-bubble-legend{align-items:flex-start;flex-wrap:wrap}.ee-bubble-colors{max-width:100%}.ee-bubble-sizes{display:flex;align-items:center;flex-wrap:wrap;min-width:0;max-width:100%;gap:12px;text-align:left}.ee-bubble-sizes svg{max-width:100%;flex-shrink:0}}
.ee-location-review{margin:10px 0 0;padding:9px 12px;background:#fff6e9;border:1px solid #eeddbd;border-radius:4px;color:#805f32;font-size:11px!important;line-height:1.6}
.ee-location-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.ee-location-toolbar .ee-breadcrumbs{margin:0;flex:1;min-width:0}.ee-subcounty-filter{display:flex;align-items:center;gap:10px;flex:none;font-size:12px;color:#365b6d}.ee-subcounty-filter select{width:260px;max-width:100%;box-sizing:border-box;border:1px solid #cbdde6;background:#fff;color:#193f50;padding:10px 32px 10px 12px;font:inherit;font-size:13px;border-radius:4px}.ee-subcounty-filter select:focus-visible{outline:3px solid #22a799;outline-offset:2px}@media(max-width:700px){.ee-location-toolbar{align-items:stretch;flex-direction:column;gap:10px}.ee-subcounty-filter{justify-content:space-between}.ee-subcounty-filter select{width:calc(100% - 85px)}}
.kenya-county-profile .ee-subcounty-filter,.kenya-county-profile .ee-subcounty-filter select{font-family:var(--desk-font,"Manrope",sans-serif)!important;font-size:12px!important;font-weight:400}

.ee-ward-legend .ee-bubble-colors{max-width:100%}.ee-ward-hint{font-size:11px!important;color:#527789;white-space:nowrap}@media(max-width:700px){.ee-ward-hint{white-space:normal}}

.ee-station-filter select{width:340px}@media(max-width:700px){.ee-station-filter select{width:calc(100% - 95px)}}

/* Ward comparisons keep the same candidate columns across searching and sorting. */
.ee-table-scroll{max-width:100%;overflow-x:auto}
.ee-ward-table{width:100%;min-width:1120px;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}
.ee-ward-table :is(th,td){padding:14px 16px;vertical-align:middle;border-bottom:1px solid var(--cp-line,#d4e2e9)}
.ee-ward-table thead th{font-weight:650;line-height:1.4}
.ee-ward-table thead th:first-child{min-width:155px}
.ee-ward-table .ee-ward-candidate-heading{min-width:155px;max-width:200px}
.ee-ward-candidate-heading>i{display:inline-block;width:9px;height:9px;margin-right:7px}
.ee-ward-table tbody tr{cursor:pointer}
.ee-ward-table tbody tr:is(:hover,:focus-visible){background:#e8f3f7;outline:2px solid #157c85;outline-offset:-2px}
body[data-atlas-theme=broadcast] .ee-ward-table tbody tr:is(:hover,:focus-visible){background:#244b5f;outline-color:#70e3c7}
.ee-ward-table tbody th>button{padding:0;border:0;background:transparent;text-align:left;font-weight:650}
.ee-ward-table tbody :is(th,td)>small{display:block;margin-top:5px;font-size:11px!important;font-weight:400;line-height:1.4}
.ee-ward-table .ee-ward-candidate>strong,.ee-ward-table .ee-ward-total>strong{font-size:16px!important}
.ee-ward-candidate,.ee-ward-coverage{min-width:120px}
.ee-ward-total{min-width:155px}
.ee-ward-margin{min-width:115px}
.ee-ward-coverage progress{display:block;width:112px;height:6px;margin-top:8px;border:0;border-radius:0;appearance:none;background:#d8e5eb;accent-color:#128b78}
.ee-ward-coverage progress::-webkit-progress-bar{background:#d8e5eb}
.ee-ward-coverage progress::-webkit-progress-value{background:#128b78}
.ee-ward-coverage progress::-moz-progress-bar{background:#128b78}
body[data-atlas-theme=broadcast] .ee-ward-coverage progress{background:#456b80;accent-color:#70e3c7}
body[data-atlas-theme=broadcast] .ee-ward-coverage progress::-webkit-progress-bar{background:#456b80}
body[data-atlas-theme=broadcast] .ee-ward-coverage progress::-webkit-progress-value{background:#70e3c7}
body[data-atlas-theme=broadcast] .ee-ward-coverage progress::-moz-progress-bar{background:#70e3c7}
.ee-ward-vote-track,.ee-ward-vote-stack{display:block;height:5px;margin-top:8px;background:#d8e5eb;overflow:hidden}
.ee-ward-vote-track>i{display:block;height:100%;background:var(--ee-ward-tone)}
.ee-ward-vote-stack{display:flex;height:8px}
.ee-ward-vote-stack>i{display:block;height:100%;flex-shrink:0}
body[data-atlas-theme=broadcast] :is(.ee-ward-vote-track,.ee-ward-vote-stack){background:#456b80}
