.teacher-hub-page { background:#050505; min-height:100svh; }
.teacher-hub-page [hidden] { display:none !important; }
.teacher-hub-main { width:min(96rem,calc(100% - 2.5rem)); margin:0 auto; border:1px solid rgba(212,175,55,.4); display:grid; grid-template-columns:clamp(15rem,23vw,20rem) minmax(0,1fr); min-height:calc(100svh - 10rem); background:linear-gradient(125deg,rgba(212,175,55,.025),transparent 42%); }
.workspace-rail { min-width:0; padding:1.5rem 1.2rem; border-right:1px solid rgba(212,175,55,.4); display:flex; flex-direction:column; gap:1.4rem; }
.workspace-back { color:var(--gold-light); font-size:.75rem; text-decoration:none; }
.workspace-brand { border-bottom:1px solid rgba(212,175,55,.3); padding-bottom:1rem; }
.workspace-brand p,.workspace-heading p,.section-kicker { color:var(--gold-light); font-size:.66rem; letter-spacing:.12em; margin:0 0 .5rem; }
.workspace-brand h1 { margin:0; color:#e8e4db; font:600 clamp(1rem,1.5vw,1.5rem)/1.3 var(--serif); }
.workspace-navigation { display:grid; gap:.15rem; }
.mobile-section-selector { display:none !important; }
.teacher-hub-page button { font-family:var(--sans); cursor:pointer; }
.workspace-navigation button { display:flex; align-items:center; gap:.65rem; min-height:2.9rem; border:0; border-left:3px solid transparent; border-bottom:1px solid rgba(212,175,55,.18); padding:.7rem .55rem; background:transparent; color:#d1cdc4; text-align:left; font-size:.76rem; line-height:1.4; }
.workspace-navigation button[aria-selected="true"] { border-left-color:var(--gold-light); background:linear-gradient(90deg,rgba(212,175,55,.12),transparent); color:var(--gold-light); font-weight:600; }
.nav-number { color:#8b7943; font-size:.58rem; }
.tab-badge,.status-badge { display:inline-block; border:1px solid rgba(212,175,55,.35); padding:.17rem .35rem; color:#b9aa78; font:500 .55rem/1.3 var(--sans); letter-spacing:.025em; white-space:nowrap; }
.workspace-navigation .tab-badge { margin-left:auto; }
.teacher-identity { display:grid; gap:.5rem; margin-top:auto; padding-top:1rem; border-top:1px solid rgba(212,175,55,.3); }
.teacher-identity strong { color:#e2ded5; font-size:.8rem; line-height:1.5; }
.teacher-identity > span { color:#a7a298; font-size:.65rem; line-height:1.65; overflow-wrap:anywhere; }
.teacher-identity .identity-verification { color:#d5c37c; }
.teacher-hub-page button:not([role="tab"]):not(.nav-toggle):not([data-close-pupils]) { min-height:2.6rem; border:1px solid rgba(212,175,55,.5); background:transparent; padding:.6rem .85rem; color:var(--gold-light); font-size:.7rem; line-height:1.4; text-align:left; }
.teacher-hub-page button:hover { background-color:rgba(212,175,55,.07) !important; }
.teacher-hub-page button:disabled { opacity:.5; cursor:wait; }
.teacher-hub-page :is(button,a,input,textarea,select,[tabindex]):focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }
.workspace-content { min-width:0; padding:clamp(1rem,2.5vw,2rem); }
.workspace-heading { border-bottom:1px solid rgba(212,175,55,.3); padding-bottom:.9rem; margin-bottom:1rem; }
.workspace-heading h2 { margin:0; color:#ebe8e1; font:600 clamp(1.25rem,2vw,1.85rem)/1.3 var(--serif); letter-spacing:.02em; }
.workspace-tabs { display:flex; border-bottom:1px solid rgba(212,175,55,.4); margin-bottom:1rem; gap:0; flex-wrap:wrap; }
.workspace-tabs button,.teacher-hub-page .auth-tabs button { min-height:2.8rem; border:0; border-bottom:2px solid transparent; background:transparent; color:#b2ada3; padding:.65rem .8rem; font-size:.7rem; line-height:1.4; text-transform:none; letter-spacing:0; }
.workspace-tabs button[aria-selected="true"],.teacher-hub-page .auth-tabs button[aria-selected="true"] { border-bottom-color:var(--gold-light); color:var(--gold-light); background:rgba(212,175,55,.06); }
.workspace-section :is(h3,h4) { color:#e8e4db; font:600 1rem/1.4 var(--serif); margin:.8rem 0; }
.supporting-copy,.panel-toolbar p,.class-empty,.class-summary p,[data-teacher-verification],[data-access-intro] p { color:#b6b1a7; font-size:.76rem; line-height:1.65; }
[data-access-intro] h2 { font:600 1.25rem/1.4 var(--serif); }
.panel-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1rem 0; }
.panel-toolbar p { margin:0; }
.teacher-hub-page :is(input:not([type="checkbox"]),textarea,select) { width:100%; min-width:0; box-sizing:border-box; border:1px solid rgba(212,175,55,.4); background:#090908; color:#eeeae1; padding:.7rem .8rem; font:400 .78rem/1.5 var(--sans); border-radius:0; }
.teacher-hub-page select option { background:#111; color:#eeeae1; }
.teacher-hub-page input[readonly] { color:#aaa599; }
.teacher-hub-page label { display:grid; gap:.4rem; color:#c8c3b8; font-size:.7rem; line-height:1.5; }
.workspace-form,.access-workspace form,.teacher-hub-page .member-auth-card form { display:grid; gap:.9rem; max-width:43rem; }
.workspace-form > button { display:flex; justify-content:space-between; }
.workspace-form textarea { resize:vertical; min-height:9rem; }
.workspace-form h4 { margin:0; font:500 .9rem/1.4 var(--sans); }
.workspace-form small { color:#a49d90; font-size:.64rem; line-height:1.6; }
.class-field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.class-context { display:flex; align-items:center; gap:.7rem; margin:1rem 0; border-bottom:1px solid rgba(212,175,55,.2); padding-bottom:1rem; flex-wrap:wrap; }
.class-context select { max-width:22rem; }
.class-context > span { color:#b5aa8b; font-size:.68rem; }
[data-class-list] { display:grid; gap:.5rem; max-height:15rem; overflow-y:auto; padding:3px; }
.class-card { border-left:2px solid var(--gold-light); padding:1rem; background:rgba(212,175,55,.035); }
.class-card.is-selected { outline:1px solid rgba(212,175,55,.45); }
.class-card strong { display:block; font:600 1.05rem/1.4 var(--serif); color:#e7e2d7; }
.class-card span { display:block; margin:.35rem 0 .8rem; color:#b3ad9f; font-size:.75rem; line-height:1.5; }
.class-card button { width:100%; }
.class-summary { border-top:1px solid rgba(212,175,55,.25); margin-top:1.4rem; padding-top:.4rem; }
.class-facts { display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; color:#bbb4a4; font-size:.75rem; margin:1rem 0; }
.class-facts strong { color:var(--gold-light); }
.overview-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin:1rem 0; }
.overview-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:1.5rem 0; border-block:1px solid rgba(212,175,55,.3); }
.overview-stats > div { display:grid; gap:.5rem; padding:1.3rem .7rem; }
.overview-stats strong { font:600 1.25rem/1.4 var(--serif); color:var(--gold-light); }
.overview-stats span { color:#aca598; font-size:.7rem; }
.roster-list { max-height:clamp(16rem,49svh,34rem); overflow-y:auto; overscroll-behavior:contain; display:grid; gap:.45rem; padding:.3rem .4rem .4rem .15rem; scrollbar-color:#74602a #12110d; }
.roster-row { display:grid; grid-template-columns:1.6rem minmax(0,1fr) auto auto; gap:.5rem; align-items:center; }
.roster-number { color:#a18d52; font-size:.65rem; }
.teacher-hub-page .roster-row button { padding:.6rem .7rem; font-size:.64rem; }
.teacher-hub-page .roster-row .is-danger { color:#e7b4a8; border-color:#6d4a40; }
.class-empty { border-left:2px solid #7f682f; padding:1rem; }
.planned-message { max-width:40rem; padding:2rem 0; }
.planned-message p { color:#b2ac9f; font-size:.8rem; line-height:1.7; }
.subject-offering { padding:1rem 0; }
.caps-phase-grid { max-height:50svh; overflow-y:auto; padding-right:.6rem; }
.caps-phase { border-bottom:1px solid rgba(212,175,55,.25); padding:1rem 0; }
.caps-phase h3 { margin:0 0 .3rem; }
.caps-phase > span { color:#b3a264; font-size:.65rem; }
.caps-subjects { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem; }
.caps-subject { border:1px solid #48412e; padding:.45rem .55rem; color:#b6b0a1; font-size:.68rem; line-height:1.5; }
.caps-subject::after { content:' · Planned'; color:#968c75; }
.caps-subject.is-initial { color:var(--gold-light); border-color:#ad8e37; }
.caps-subject.is-initial::after { content:' · Grade 7 active'; color:var(--gold-light); }
.account-details { display:grid; grid-template-columns:12rem minmax(0,1fr); margin:1.5rem 0; }
.account-details dt,.account-details dd { border-bottom:1px solid #393222; padding:.85rem .4rem; margin:0; color:#bdb5a6; font-size:.8rem; overflow-wrap:anywhere; }
.account-details dd { color:#e1dcd1; }
.access-workspace { max-width:46rem; margin:1rem auto; }
.teacher-hub-page .member-auth-card { border:0; padding:0; box-shadow:none; background:transparent; }
.teacher-hub-page .auth-tabs { margin:0 0 1.5rem; }
.teacher-hub-page .member-auth-card h2,.access-workspace > h2 { font:600 1.6rem/1.3 var(--serif); }
.teacher-hub-page .auth-consent { letter-spacing:0; font-size:.66rem; }
.teacher-hub-page .auth-text-action { display:inline-block; margin-top:1rem; border:0 !important; padding:.3rem 0 !important; text-decoration:underline; text-underline-offset:.25rem; }
[data-password-reset] { display:grid; gap:1rem; }
.auth-status { font-size:.73rem; line-height:1.6; margin:1rem 0; min-height:0; color:var(--gold-light); }
.auth-status:empty { display:none; }
.auth-status.is-error { color:#efb0a4; }
.pupil-dialog { width:min(38rem,calc(100% - 2rem)); max-height:85svh; overflow-y:auto; padding:1.5rem; background:#090908; color:#ede7d9; border:1px solid var(--gold-light); }
.pupil-dialog::backdrop { background:rgba(0,0,0,.82); }
.pupil-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.pupil-dialog h2 { margin:0; font:600 1.3rem/1.3 var(--serif); }
.pupil-dialog [data-close-pupils] { border:1px solid #80682b; background:none; color:var(--gold-light); font-size:1.3rem; min-width:2.75rem; min-height:2.75rem; }
@media(min-width:701px) {
  .teacher-hub-main { height:calc(100svh - 10rem); min-height:0; }
  .workspace-content { overflow-y:auto; scrollbar-color:#74602a #12110d; }
  .workspace-rail { position:sticky; top:0; min-height:0; overflow:hidden; gap:.85rem; }
  .workspace-rail > :not(.workspace-navigation) { flex-shrink:0; }
  .workspace-navigation { min-height:0; overflow-y:auto; flex:1 1 auto; align-content:start; padding:.2rem; scrollbar-color:#74602a #12110d; }
  .workspace-navigation button { min-height:2.6rem; padding:.6rem .55rem; }
  .teacher-identity { margin-top:0; }
}
@media(max-width:999px) { .teacher-hub-main { grid-template-columns:14rem minmax(0,1fr); }.workspace-rail { padding:1rem .8rem; }.workspace-content { padding:1.2rem; }.workspace-navigation button { font-size:.7rem; }.nav-number { display:none; }.workspace-navigation .tab-badge { display:none; }.workspace-tabs button { padding:.7rem; } }
@media(max-width:700px) { .teacher-hub-main { width:calc(100% - 1.2rem); grid-template-columns:1fr; }.workspace-rail { border-right:0; border-bottom:1px solid rgba(212,175,55,.4); gap:.8rem; padding:1rem; }.workspace-brand { padding-bottom:.6rem; }.workspace-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); }.workspace-navigation button { min-height:2.75rem; font-size:.73rem; }.teacher-identity { padding-top:.7rem; margin-top:0; grid-template-columns:1fr auto; }.teacher-identity > span { grid-column:1; }.teacher-identity button { grid-column:2; grid-row:1/4; align-self:center; }.workspace-content { padding:1rem; }.workspace-tabs { flex-wrap:nowrap; overflow-x:auto; }.workspace-tabs button { flex:0 0 auto; }.class-field-row { grid-template-columns:1fr; gap:.8rem; }.panel-toolbar { flex-wrap:wrap; }.panel-toolbar label { flex:1 1 12rem; }.roster-row { grid-template-columns:1.25rem minmax(0,1fr) auto auto; gap:.3rem; }.teacher-hub-page .roster-row button { padding:.65rem .4rem; min-height:2.75rem; }.roster-row input { padding:.65rem .5rem; font-size:.72rem; }.overview-stats { grid-template-columns:1fr; }.overview-stats > div { padding:1rem .5rem; }.account-details { grid-template-columns:1fr; }.account-details dt { padding-bottom:.25rem; border-bottom:0; }.account-details dd { padding-top:.25rem; }.class-context select { max-width:100%; }.pupil-dialog { padding:1rem; } }
@media(prefers-reduced-motion:reduce) { .teacher-hub-page * { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
@media(max-width:700px) {
  .teacher-hub-page .workspace-navigation { display:none; }
  .teacher-hub-page .mobile-section-selector:not([hidden]) { display:grid !important; }
  .workspace-rail { gap:.65rem; }
  .teacher-identity > span:not(.identity-verification) { display:none; }
  .teacher-identity { grid-template-columns:1fr auto; }
  .class-context { margin:.6rem 0; padding-bottom:.7rem; }
}
