.school-selector { position: relative; display: grid; gap: .4rem; }
.school-listbox { position: absolute; z-index: 30; top: calc(100% - .1rem); left: 0; right: 0; max-height: min(18rem, 48vh); overflow-y: auto; padding: .35rem; border: 1px solid rgba(182, 204, 232, .3); border-radius: .85rem; background: #081326; box-shadow: 0 18px 40px rgba(0, 0, 0, .38); }
.school-listbox[hidden] { display: none; }
.school-option { width: 100%; min-height: 3rem; display: grid; gap: .12rem; justify-items: start; padding: .55rem .7rem; border: 0; border-radius: .65rem; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.school-option strong { font-size: .95rem; }
.school-option span { color: rgba(237, 244, 255, .7); font-size: .78rem; }
.school-option:hover, .school-option.is-active, .school-option:focus-visible { background: rgba(121, 184, 255, .16); outline: 2px solid rgba(121, 184, 255, .72); outline-offset: -2px; }
.school-empty { padding: .75rem; color: rgba(237, 244, 255, .72); }
.school-search-status { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
