:root{--fg:#1d1d1f;--bg:#fff;--muted:#5a5a63;--accent:#0b5cad;--line:#d6d6dc;--grey:#9a9aa3}
*{box-sizing:border-box}html,body{margin:0;height:100%;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}
a{color:var(--accent)}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:9999;background:#fff;padding:6px}
header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;padding:.5rem 1rem;border-bottom:1px solid var(--line)}
header h1{font-size:1.15rem;margin:0}header nav a{margin-right:.9rem}
.banner{background:#fff6d6;border-bottom:1px solid #eedc8f;padding:.35rem 1rem;font-size:.85rem}
.app{display:flex;height:calc(100% - 92px)}#map{flex:1;min-height:300px}
aside{width:340px;overflow:auto;padding:.8rem 1rem;border-right:1px solid var(--line)}
fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 .8rem;padding:.5rem .7rem}legend{font-weight:600;padding:0 .3rem}
label{display:block;margin:.2rem 0}select{width:100%;padding:.35rem;font:inherit}
.layer-inc legend{color:#b3261e}.layer-base legend{color:var(--accent)}
.legend-row{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.sw{width:16px;height:16px;border-radius:50%;border:1px solid #0003;flex:none}
.note{font-size:.8rem;color:var(--muted)}.state{font-size:.85rem;padding:.4rem .5rem;background:#f3f3f6;border-radius:6px}
.badge{display:inline-block;font-size:.72rem;padding:.05rem .4rem;border-radius:9px;background:#eee;border:1px solid #ccc}
.badge.alleged{background:#fff1d6}.badge.investigating{background:#e3ecff}.badge.official_confirmed,.badge.ruling{background:#e0f3e3}.badge.charged,.badge.lawsuit{background:#f4e1f7}
.blip{width:18px;height:18px;background:#b3261e;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 1px #b3261e}
.leaflet-popup-content{font-size:.9rem}.page{max-width:760px;margin:0 auto;padding:1rem}
footer{font-size:.8rem;color:var(--muted);padding:.6rem 1rem;border-top:1px solid var(--line)}
@media (max-width:760px){.app{flex-direction:column-reverse;height:auto}#map{height:62vh;flex:none}aside{width:100%;border-right:0}}

.preview-banner{background:#b3261e;color:#fff;font-weight:700;text-align:center;padding:.45rem 1rem;letter-spacing:.02em}
.pin{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#fff;font:700 13px/1 system-ui,sans-serif;border:2px solid #fff;box-shadow:0 0 0 1.5px #0008,0 1px 4px #0006}
.pin>span{display:block}
.pin-school{background:#b3261e;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.pin-school>span{transform:rotate(45deg)}
.pin-finding{background:#0b4fa0;border-radius:3px}
.pin-district{background:#1f6b45;transform:rotate(45deg);width:20px;height:20px}.pin-district>span{transform:rotate(-45deg)}
.pin.mini{width:16px;height:16px;font-size:10px;flex:none;display:inline-flex;vertical-align:middle}.pin-district.mini{width:13px;height:13px}
.badge.official_finding{background:#e0f3e3}.badge.lawsuit,.badge.charged{background:#f4e1f7}
.crisis{background:#eef6ff;border:1px solid #9cc3ef;border-radius:6px;padding:.4rem .5rem;margin:.4rem 0}
.pop-kind{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#444}.srcs ul{margin:.2rem 0;padding-left:1.1rem}
.inc-list{list-style:none;padding:0;margin:.5rem 0}.inc-list button{all:unset;cursor:pointer;display:block;padding:.3rem .2rem;font-size:.85rem;border-bottom:1px solid #eee;width:100%}
.inc-list button:focus-visible{outline:2px solid var(--accent)}
.leaflet-popup{opacity:1!important;transition:none!important}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.datefilter{margin:.5rem 0}.df-title{font-weight:600;font-size:.9rem}.df-row{display:flex;gap:.4rem;align-items:end;flex-wrap:wrap;margin:.25rem 0}
.df-row select{flex:1;width:auto;min-height:36px}.df-row button{min-height:36px;padding:0 .7rem;font:inherit}
.df-row label{flex:1;min-width:130px;font-size:.85rem;margin:0}.df-row input[type=date]{width:100%;min-height:36px;font:inherit}
.df-error{color:#b3261e;font-weight:600;font-size:.85rem;margin:.2rem 0}
[hidden]{display:none!important}
.layer-dist legend{color:#1b6e5a}.dist-tip{font-size:.8rem}
.page.wide{max-width:1100px}.caveat{background:#fff6d6;border:2px solid #e0b400;border-radius:8px;padding:.7rem .9rem;margin:.5rem 0 1rem;font-size:1rem}
.rk-controls{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:end;margin-bottom:.6rem}.rk-controls>label{flex:1 1 200px;font-size:.9rem}
.rk-controls select{min-height:38px}.rk-mode{flex:1 1 200px;margin:0}.rk-controls button{min-height:38px;padding:0 .8rem;font:inherit}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:6px}
table.rk{border-collapse:collapse;width:100%;font-size:.9rem}table.rk th,table.rk td{padding:.35rem .5rem;border-bottom:1px solid #eee;text-align:left;vertical-align:top}
table.rk thead th{background:#f5f5f8;position:sticky;top:0;white-space:nowrap}table.rk th button{all:unset;cursor:pointer;font-weight:600}
table.rk th button:focus-visible{outline:2px solid var(--accent)}table.rk td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.rk tbody th{font-weight:400}.inc-col{background:#f3f0fb}.flag{display:inline-block;font-size:.7rem;padding:0 .3rem;border-radius:6px;background:#ffe2c6;border:1px solid #e0a060}
.rk-sec{margin:1rem 0}
@media (max-width:760px){table.rk{font-size:.82rem}table.rk th,table.rk td{padding:.3rem}}
.pin-staff{background:#6a3d9a;border:0;box-shadow:none;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);width:26px;height:24px;filter:drop-shadow(0 0 1px #000)}
.pin-staff.mini{width:18px;height:16px}.catfilter{margin:.4rem 0;padding:.3rem .6rem}.catfilter legend{font-size:.85rem;color:var(--fg)}
table.rk tbody th{min-width:11rem}

.pin-sa{background:#00767c;border:0;box-shadow:none;clip-path:polygon(50% 0,100% 100%,0 100%);width:28px;height:25px;padding-top:7px;filter:drop-shadow(0 0 1px #000)}
.pin-sa.mini{width:18px;height:16px;padding-top:4px}
.pin-wrap{position:relative;width:26px;height:26px}.pin-badge{position:absolute;right:-7px;top:-7px;width:15px;height:15px;border-radius:50%;border:2px solid #fff;color:#fff;font:700 9px/11px system-ui;text-align:center;box-shadow:0 0 0 1px #0007}
.b-sa{background:#00767c}.b-staff{background:#6a3d9a}.b-finding{background:#0b4fa0}
.cw-btn{display:block;width:100%;text-align:left;margin:.4rem 0;padding:.45rem .55rem;border:1px solid #b08900;background:#fff6d6;border-radius:6px;font:600 .85rem/1.3 system-ui;cursor:pointer}
.cw-btn:focus-visible{outline:2px solid var(--accent)}.cw-chip{display:inline-block;font-size:.7rem;background:#fff6d6;border:1px solid #d8b400;border-radius:6px;padding:0 .3rem;margin-left:.2rem}
.layer-states legend{color:#08519c}.sw.sq{border-radius:3px}.st-wrap{max-height:340px;overflow:auto;margin:.4rem 0}
#stDrawer summary{cursor:pointer;font-weight:600;padding:.3rem 0}.linkish{all:unset;cursor:pointer;color:var(--accent);text-decoration:underline}.linkish:focus-visible{outline:2px solid var(--accent)}
tr.nodata td,tr.nodata th{color:#777}tr.nodata-h th{background:#f0f0f3;font-size:.8rem;text-align:left}
.mc-demo{display:inline-flex;width:20px;height:20px;border-radius:50%;background:rgba(110,204,57,.8);font:700 10px system-ui;align-items:center;justify-content:center}
@media (max-width:760px){.st-wrap{max-height:50vh}}
