.schools-network { padding-top: 16px; }
.sn-stats { display:flex; gap:16px; margin-bottom:12px; }
.sn-stat { border:2px solid #1b6f5e; padding:10px 14px; width:110px; text-align:center; }
.sn-num { font-size:32px; font-weight:700; line-height:1; }
.sn-label { font-size:12px; text-transform:uppercase; letter-spacing:.08em; }

.sn-map-wrap { border:4px solid #1b6f5e; padding:8px; margin-bottom:18px; }
.sn-map svg { width:100%; height:auto; display:block; }
.sn-map .has-schools { opacity:.95; }
.sn-map [id^="county-"] { transition: transform .15s ease, opacity .15s ease; }
.sn-map [id^="county-"]:hover { transform: scale(1.01); opacity:.9; }

.sn-accordion { display:block; }
.sn-item { border:2px solid #1b6f5e; margin-bottom:8px; }
.sn-head {
    width:100%; display:flex; align-items:center; justify-content:space-between;
    background:#d7f0ea; border:0; padding:10px 12px; font-weight:600; cursor:pointer;
}
.sn-title { flex:1; text-align:left; }
.sn-count { margin-right:12px; font-weight:700; }
.sn-icon { width:24px; height:24px; border:2px solid #1b6f5e; display:inline-flex; align-items:center; justify-content:center; }

.sn-panel { background:#eefaf7; padding:12px; }
.sn-school-list { list-style:none; padding:0; margin:0; }
.sn-school {  }
.sn-school:last-child { border-bottom:0; }
.sn-school-title { font-weight:700; margin-bottom:2px; }
.sn-empty { margin:0; }

/* Map colors */
.map-figure svg .forest { fill: #1b6f5e; }   /* forest green */
.map-figure svg .mint   { fill: #d7f0ea; }   /* mint green */
.map-figure svg [id^="county-"] { cursor:pointer; transition: opacity .15s ease; }
.map-figure svg [id^="county-"]:hover { opacity:.9; }

/* Optional count badge in accordion */
.counties-accordion .badge {
    display:inline-block; margin-left:.5rem; padding:0 .4rem; font-size:.8rem;
    background:#1b6f5e; color:#fff; border-radius:.35rem; line-height:1.4;
}
/* default county fill */
#counties path {fill: #dff2f1;transition: fill .2s ease;fill-opacity: 1;}

/* any county with participating schools */
#counties path.has-data { fill: #17875a; }

/* optional tiers by count */
#counties path.tier-2 { fill: #12704a; }
#counties path.tier-3 { fill: #0e5a3c; }

/* hover focus polish */
#counties path:hover,
#counties path:focus { outline: none; filter: brightness(0.95); }