/* Ward intelligence directory. Light theme, same tokens as style.css. */
.wi-shell{display:grid;gap:22px}
.wi-head{display:flex;justify-content:space-between;align-items:flex-end;gap:26px;flex-wrap:wrap}
.wi-head h1{font:800 27px Manrope;margin:0 0 7px;letter-spacing:-.8px}
.wi-head h1 em{color:#1685c9;font-style:normal}
.wi-head p{margin:0;color:var(--muted);max-width:60ch;line-height:1.55}
.wi-coverage{display:grid;grid-template-columns:repeat(6,minmax(78px,1fr));gap:9px}
.wi-coverage div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 12px;text-align:center}
.wi-coverage b{display:block;font:800 20px Manrope;color:#173451}
.wi-coverage span{display:block;font-size:9px;letter-spacing:.6px;color:#8295a3;font-weight:700;text-transform:uppercase;margin-top:4px}

.wi-city,.wi-help,.wi-main{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px 22px}
.wi-city h2,.wi-help h2{font:700 15px Manrope;margin:0 0 14px}
.wi-officials{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.wi-official{border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:#fbfcfd}
.wi-official.is-elected{background:#f6fbff;border-color:#d5e9f6}
.wi-official-role{font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#8295a3}
.wi-official-name{font:700 14px Manrope;margin:6px 0 4px;color:#173451}
.wi-official-juris{font-size:11px;color:#64727c;line-height:1.45}
.wi-official-ward{font-size:10px;color:#176fba;margin-top:6px;font-weight:700}
.wi-tag{display:inline-block;background:#eaf4fb;color:#176fba;border-radius:20px;padding:3px 8px;font-size:9px;font-weight:800;margin-bottom:5px}
.wi-contact{display:grid;gap:3px;margin-top:8px;font-size:11px;color:#3f5260}
.wi-prov{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:9px;color:#9aa5ac;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.wi-prov a{color:#8295a3}
.wi-conf{border-radius:20px;padding:2px 7px;font-weight:800;letter-spacing:.4px;background:#eef2f5;color:#657681;text-transform:uppercase}
.wi-conf-reported{background:#fff3dc;color:#98691d}
.wi-conf-unverifiedofficecontact{background:#fde9e7;color:#b74742}
.wi-conf-osmlocation{background:#e8f3fc;color:#286eaa}
.wi-note{font-size:11px;color:#7c8894;line-height:1.55;margin:14px 0 0;padding-top:13px;border-top:1px solid var(--line)}

.wi-help-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px}
.wi-help-item{border:1px solid var(--line);border-radius:9px;padding:10px 12px}
.wi-help-item.is-verified{border-color:#cfe8dc;background:#f6fcf9}
.wi-help-item b{font:800 16px Manrope;color:#173451}
.wi-help-item span{display:block;font-size:11px;color:#52616c;margin-top:2px}
.wi-help-item small{display:block;font-size:9px;color:#9aa5ac;margin-top:6px}
.wi-help-item a{color:#9aa5ac}

.wi-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.wi-controls input[type=search],.wi-controls select{border:1px solid #dfe7eb;border-radius:7px;padding:9px 11px;font:12px 'DM Sans';color:#34434d;background:#fff}
.wi-controls input[type=search]{flex:1;min-width:210px}
.wi-check{font-size:11px;color:#64727c;display:flex;gap:6px;align-items:center}
.wi-split{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:16px;align-items:start}
.wi-tree{display:grid;gap:7px;max-height:1180px;overflow:auto;padding-right:4px}

.wi-ward{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.wi-ward[open]{border-color:#bcd9ef;box-shadow:0 3px 14px #142b3c0d}
.wi-ward.is-hidden{display:none}
.wi-ward>summary{display:flex;align-items:center;gap:12px;padding:11px 13px;cursor:pointer;list-style:none}
.wi-ward>summary::-webkit-details-marker{display:none}
.wi-ward>summary:hover{background:#f8fbfd}
.wi-wardno{width:33px;height:33px;flex:0 0 33px;border-radius:9px;background:#18384e;color:#fff;display:grid;place-items:center;font:800 13px Manrope}
.wi-ward[open] .wi-wardno{background:#1685c9}
.wi-wardmain{flex:1;min-width:0}
.wi-wardmain b{display:block;font:700 13px Manrope;color:#1d2d42}
.wi-wardmain small{display:block;color:#7c8894;font-size:10px;margin-top:3px}
.wi-counts{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;color:#687984;font-style:normal}
.wi-counts i{font-style:normal;white-space:nowrap}

.wi-ward-body{padding:4px 14px 16px;border-top:1px solid var(--line)}
.wi-loading,.wi-fail{font-size:11px;color:#8b989f;padding:12px 0}
.wi-fail{color:#b74742}
.wi-block{margin-top:15px}
.wi-block>h4{font:800 9px 'DM Sans';letter-spacing:1.2px;text-transform:uppercase;color:#8295a3;margin:0 0 9px}
.wi-chipline{display:flex;gap:7px;flex-wrap:wrap}
.wi-chip{background:#f3f7fa;border:1px solid var(--line);border-radius:20px;padding:5px 10px;font-size:10px;color:#52616c}
.wi-chip b{color:#1d2d42}

.wi-grouprow{border:1px solid var(--line);border-radius:9px;margin-bottom:7px;overflow:hidden}
.wi-grouprow>summary{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;cursor:pointer;font-size:12px;list-style:none;background:#fbfcfd}
.wi-grouprow>summary::-webkit-details-marker{display:none}
.wi-grouprow>summary:hover{background:#f3f8fc}
.wi-grouprow>summary b{font-weight:700;color:#1d2d42}
.wi-grouprow>summary span{color:#8b989f;font-size:10px}
.wi-classlist{padding:4px 12px 11px}
.wi-class{margin-top:9px}
.wi-class>b{display:block;font-size:11px;color:#3f5260;margin-bottom:5px}
.wi-items{display:grid;gap:4px}
.wi-item{display:flex;gap:8px;align-items:baseline;font-size:11px;color:#52616c;padding:4px 7px;border-radius:6px;cursor:pointer}
.wi-item:hover{background:#eaf4fb}
.wi-item em{font-style:normal;color:#9aa5ac;font-size:10px}
.wi-own{border-radius:20px;padding:1px 6px;font-size:8px;font-weight:800;letter-spacing:.3px;text-transform:uppercase}
.wi-own-Public{background:#e5f5ed;color:#217d5e}
.wi-own-Private{background:#fff3dc;color:#98691d}
.wi-own-Unknown{background:#eef2f5;color:#808f99}

.wi-loc{border:1px solid var(--line);border-radius:9px;margin-bottom:6px;overflow:hidden}
.wi-loc>summary{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;list-style:none;font-size:12px}
.wi-loc>summary::-webkit-details-marker{display:none}
.wi-loc>summary:hover{background:#f8fbfd}
.wi-loc>summary b{font-weight:700;color:#1d2d42;flex:1;min-width:0}
.wi-locmeta{font-size:10px;color:#8b989f;white-space:nowrap}
.wi-locbody{padding:2px 13px 13px;border-top:1px solid #edf1f3;display:grid;gap:13px}
.wi-safety{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:8px}
.wi-safecard{border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fbfcfd}
.wi-safecard span{display:block;font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#8295a3}
.wi-safecard b{display:block;font-size:11px;color:#1d2d42;margin:4px 0 2px;line-height:1.35}
.wi-safecard small{font-size:10px;color:#7c8894}
.wi-rwa{border:1px solid #d5e9f6;background:#f6fbff;border-radius:8px;padding:11px 12px}
.wi-rwa b{font:700 12px Manrope;color:#173451;display:block}
.wi-rwa dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:8px 0 0;font-size:10px}
.wi-rwa dt{color:#8295a3;font-weight:700}
.wi-rwa dd{margin:0;color:#52616c}
.wi-empty{font-size:10px;color:#9aa5ac;font-style:italic}

.wi-mapside{position:sticky;top:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}
#wi-map{height:560px;max-height:calc(100vh - 150px);border-radius:9px;z-index:1}
.wi-map-legend{display:flex;flex-wrap:wrap;gap:6px;padding:11px 3px 4px}
.wi-legchip{display:flex;gap:5px;align-items:center;font-size:10px;color:#64727c;background:#f7f9fb;border:1px solid var(--line);border-radius:20px;padding:3px 8px;cursor:pointer;user-select:none}
.wi-legchip.is-off{opacity:.4}
.wi-legchip i{width:8px;height:8px;border-radius:50%;display:inline-block}
.wi-attrib{font-size:9px;color:#9aa5ac;line-height:1.5;margin:6px 3px 2px}
.wi-pop b{display:block;font:700 12px Manrope;color:#173451;margin-bottom:4px}
.wi-pop span{display:block;font-size:10px;color:#64727c;margin-top:2px}

@media(max-width:1180px){.wi-split{grid-template-columns:1fr}.wi-mapside{position:static}.wi-coverage{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.wi-coverage{grid-template-columns:repeat(2,1fr)}.wi-counts{display:none}.wi-city,.wi-help,.wi-main{padding:15px}}
/* The map was a fixed 560px tall, which on a phone is most of the screen before
   the legend and the ward list below it are reachable. */
@media(max-width:860px){#wi-map{height:58vh;min-height:300px}}
@media(max-width:560px){#wi-map{height:52vh;min-height:260px}
  .wi-map-legend{padding:9px 2px 4px}}
