header{display:flex;align-items:center;gap:20px;flex-wrap:wrap}header .brand{white-space:nowrap;text-decoration:none}header .globalnav{display:flex;gap:18px;align-items:center;flex:1;flex-wrap:wrap}.site-account{margin-left:auto;display:flex;gap:10px;align-items:center;font-size:14px}.login-card{max-width:420px;margin:50px auto;padding:24px;border:1px solid #dbe3ef;border-radius:14px;background:white}.login-card label{display:block;margin:15px 0}.login-card input{display:block;width:100%;box-sizing:border-box;margin-top:6px}.login-card button{margin-top:12px}#loginError{color:#a9381d}@media(max-width:640px){header{gap:10px}.site-account{font-size:12px}header .globalnav{gap:12px}}
/* Shared navigation owns all typography; page body styles cannot alter it. */
header.site-header{font:400 16px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#18334e;box-sizing:border-box;background:#fff;border-bottom:1px solid #dce5ee;padding:18px max(4vw,20px);margin:0;display:flex;align-items:center;justify-content:flex-start;gap:24px;flex-wrap:wrap}
header.site-header .brand{font:750 24px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#165fd0;text-decoration:none;white-space:nowrap;margin:0;padding:0;border:0}
header.site-header .globalnav{font:400 16px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif;display:flex;align-items:center;gap:24px;margin:0;padding:0;flex:1;flex-wrap:wrap}
header.site-header .globalnav a{font:400 16px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#18334e;text-decoration:none;padding:8px 0;margin:0;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent}
header.site-header .globalnav a.active,header.site-header .globalnav a[aria-current="page"]{color:#1767df;border-bottom-color:#1767df}
header.site-header .globalnav a:hover{color:#1767df;background:transparent}
header.site-header a:focus-visible,header.site-header button:focus-visible{outline:3px solid #89bafa;outline-offset:3px}
header.site-header .site-account{font:400 14px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#18334e;gap:10px;margin-left:auto}
header.site-header .site-account a{color:#1767df;text-decoration:none;font:inherit}
header.site-header .site-account button{font:400 14px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif;background:white;color:#193858;padding:8px 12px;margin:0;border:1px solid #c8d7e6;border-radius:8px;cursor:pointer}
.manager-home{max-width:1440px}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.management-grid>section{padding:24px;margin:0;background:#fff;border:1px solid #dce5ef;border-radius:12px;min-width:0}.management-grid>section>h2{font-size:20px;line-height:1.5;margin:0 0 10px;color:#18324d}.management-grid>section>p{font-size:14px;line-height:1.6;color:#687c91}.management-grid button{font-size:14px}.management-grid .inline{flex-wrap:wrap;gap:10px}.management-grid .inline label{min-width:120px}.management-grid .notice-editor{min-width:0}.management-grid textarea{max-width:100%;box-sizing:border-box}
@media(max-width:1000px){.management-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){header.site-header{padding:12px 16px;gap:12px}header.site-header .brand{font-size:22px}header.site-header .globalnav{gap:16px}header.site-header .globalnav a{font-size:14px}header.site-header .site-account{font-size:12px}}
header.site-header{height:auto;min-height:0}header.site-header .globalnav{width:auto;justify-content:flex-start;height:auto}
.management-grid #noticeManager{padding:24px;margin:0;border:1px solid #dce5ef;border-radius:12px}.management-grid .notice-editor{flex-wrap:wrap}.management-grid .notice-editor textarea{flex:1 1 100%;width:100%}

/* Frequent account tasks first; notices span the lower row. */
.manager-home .management-grid>#noticeManager{grid-column:auto}
.manager-home .management-grid>.teacher-accounts{margin:0}
.manager-home .account-roster{max-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.manager-home .account-roster.is-expanded{max-height:560px}
.manager-home .account-roster table{margin-top:0}
.manager-home .account-roster thead th{position:sticky;top:0;z-index:1;background:#fff}
.manager-home .account-roster:focus-visible{outline:2px solid #819dbf;outline-offset:2px}
.manager-home .roster-toggle{margin-top:12px;background:white;color:#395c83;padding:6px 12px;border:1px solid #bdcbde;border-radius:6px}
.manager-home .roster-toggle:hover{background:#edf4fc}
.manager-home .roster-toggle:active{background:#dce9f8}

/* Equal management modules; long rosters and notices stay inside their card. */
.manager-home .management-grid{align-items:stretch;grid-auto-rows:minmax(580px,auto)}
.manager-home .management-grid>section{min-height:580px;overflow:hidden}
.manager-home #noticeEditors{max-height:460px;overflow:auto}
.manager-home #campusAdminCredentials{white-space:pre-wrap;overflow-wrap:anywhere}
.manager-home #campusPersonOptions button{display:block;margin:6px 0;max-width:100%;text-align:left}
.manager-home .campus-manager-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1200px){.manager-home .campus-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-home .campus-manager-grid>#noticeManager{grid-column:1/-1}}
@media(max-width:1000px){.manager-home .management-grid,.manager-home .campus-manager-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.manager-home .management-grid>section{min-height:440px}}

/* Presentation-only: the teacher and tutor cards share one compact account layout. */
.manager-home .person-account-card .account-hint{font-size:12px;line-height:1.5;color:#7b8998;margin:0 0 14px}
.manager-home .person-account-card>h2{margin:0 0 14px}
.manager-home .person-account-card label{font-size:14px;min-width:0}
.manager-home .person-account-card input,.manager-home .person-account-card select{height:38px;width:100%;min-width:0;padding:7px 10px;font-size:14px}
.manager-home .person-account-card .account-create{display:grid;grid-template-columns:minmax(0,1fr) 8rem max-content;align-items:end;gap:8px;margin:0 0 16px}
.manager-home .person-account-card .account-create input,.manager-home .person-account-card .account-create select{margin:4px 0 0}
.manager-home .person-account-card .account-create>button{height:38px;margin:0;padding:7px 12px;white-space:nowrap}
.manager-home .person-account-card [role="status"]:empty{display:none}
.manager-home .person-account-table{table-layout:fixed;min-width:460px;width:100%;font-size:14px}
.manager-home .person-account-table .person-column{width:25%}
.manager-home .person-account-table .campus-column{width:20%}
.manager-home .person-account-table .actions-column{width:55%}
.manager-home .person-account-table th,.manager-home .person-account-table td{padding:12px 8px;vertical-align:middle;line-height:1.5}
.manager-home .person-account-table th{font-weight:600;color:#526780}
.manager-home .person-account-table .account{margin-top:2px;font-size:12px;line-height:1.5;white-space:nowrap;word-break:normal;overflow-wrap:normal;overflow:hidden;text-overflow:ellipsis}
.manager-home .person-account-table .account-campus{white-space:nowrap;word-break:normal;overflow:hidden;text-overflow:ellipsis}
.manager-home .person-account-table .account-actions{justify-content:flex-start;gap:6px}
.manager-home .person-account-table .account-action{min-height:32px;padding:5px 8px;font-size:13px;line-height:20px;border-radius:6px}
.manager-home .person-account-table .account-action-danger{color:#a74640;border-color:#dfb9b5;background:#fff}
.manager-home .person-account-table .account-action-danger:hover{color:#fff;border-color:#ad413b;background:#ad413b}
.manager-home .person-account-table .account-action-danger:active{color:#fff;border-color:#91332e;background:#91332e}
@media(max-width:600px){
 .manager-home .person-account-card .account-create{grid-template-columns:minmax(0,1fr) max-content}
 .manager-home .person-account-card .account-create>label:first-child{grid-column:1/-1}
 .manager-home .person-account-card{padding:16px}
}
