body.school-hub-open{overflow:hidden}
dialog.school-hub{position:fixed;inset:0;margin:auto;width:min(1400px,88vw);max-width:none;height:80dvh;max-height:none;padding:0;border:1px solid #8d7961;border-radius:12px;background:#101112;color:#f4f4f1;box-shadow:0 24px 100px #0009;overflow:hidden}
.school-hub[open]{display:flex;flex-direction:column}
.school-hub::backdrop{background:#080b0f55;backdrop-filter:blur(1px)}
.school-hub-header{flex:none;display:flex;align-items:center;gap:24px;padding:15px 22px;border-bottom:1px solid #45413a;background:linear-gradient(110deg,#22221f,#161819)}
.school-hub-heading>span{font:600 9px Arial,sans-serif;letter-spacing:1.5px;color:#c7bb9c}
.school-hub-heading h2{font:500 27px/1.15 'Oswald','Arial Narrow',sans-serif;margin:4px 0 0}
.school-hub-tabs{display:flex;gap:5px;margin:auto}
.school-hub-tabs button,.school-hub-close,.school-hub-retry{min-height:42px;padding:10px 15px;border:1px solid #505254;border-radius:5px;background:transparent;color:#f4f4f1;font:600 12px Arial,sans-serif;white-space:nowrap}
.school-hub-tabs button{border-color:transparent;color:#b8bcbd}
.school-hub-tabs button[aria-current]{color:#fff;background:#ffffff0c;border-color:#776e5b}
.school-hub button:hover{background:#ffffff14}
.school-hub button:focus-visible,.school-hub a:focus-visible{outline:2px solid #ead6a9;outline-offset:3px}
.school-hub-actions{display:flex;align-items:center;gap:18px}
.school-hub-website{font:500 11px Arial,sans-serif;color:#cccfcf;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.school-hub-body{position:relative;flex:1;min-height:0}
.school-hub-frame,.school-hub iframe{width:100%;height:100%}
.school-hub iframe{display:block;border:0;background:#101112}
.school-hub-status{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:28px;text-align:center;background:#101112;color:#d4d7d7}
.school-hub-status p{max-width:380px;line-height:1.7;margin:0}
.school-hub-spinner{width:26px;height:26px;border:2px solid #ffffff24;border-top-color:#d8c8a5;border-radius:50%;animation:school-hub-loading .8s linear infinite}
.school-hub-status.has-error .school-hub-spinner{display:none}
@keyframes school-hub-loading{to{transform:rotate(360deg)}}
@media(max-width:1000px){.school-hub-header{gap:12px;padding:12px 16px}.school-hub-actions{gap:10px}.school-hub-tabs button{padding:10px}.school-hub-heading h2{font-size:23px}}
@media(max-width:700px){dialog.school-hub{width:96vw;height:94dvh;border-radius:9px}.school-hub-header{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px}.school-hub-heading>span{font-size:8px}.school-hub-tabs{grid-row:2;grid-column:1;margin:0;justify-self:start}.school-hub-actions{display:contents}.school-hub-close{grid-column:2;grid-row:1;padding:10px}.school-hub-website{grid-column:2;grid-row:2;justify-self:end}.school-hub-tabs button{min-height:38px;padding:8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.school-hub-spinner{animation:none}}

/* The shared header and member bottom bar remain interactive above the panel. */
.school-hub-dismiss{position:fixed;inset:0;z-index:34;background:transparent}
dialog.school-hub{z-index:35;inset:100px 0 24px;margin:0 auto;height:auto;width:min(1400px,92vw);border-color:#454749;box-shadow:0 20px 80px #0009}
.school-hub-header{padding:12px 20px;background:#191a1c;gap:16px}
.school-hub-heading h2{font-size:24px;margin:0}
.school-hub-actions{margin-left:auto}
.school-hub-close{font-size:22px;padding:4px 12px;min-width:42px}
@media(max-width:1000px){dialog.school-hub{inset:84px 12px calc(76px + env(safe-area-inset-bottom));width:auto}.school-hub-header{display:flex;padding:10px 14px}.school-hub-actions{display:flex;margin-left:auto}.school-hub-heading h2{font-size:21px}}
@media(max-width:560px){dialog.school-hub{inset:80px 6px calc(72px + env(safe-area-inset-bottom))}.school-hub-header{gap:10px;padding:8px 10px}.school-hub-actions{gap:10px}.school-hub-website{font-size:10px}}
