:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#20324a;background:#f4f7fb;line-height:1.65;font-size:14px;--blue:#1859a8;--muted:#5c6c80;--border:#dce4ee}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button{border:1px solid #cbd7e5;background:white;color:#304660;border-radius:7px;padding:8px 13px;cursor:pointer;min-height:40px;white-space:nowrap}button:hover{border-color:var(--blue);background:#f0f6fe}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover{background:#104a91}input,select{width:100%;min-width:0;border:1px solid #cbd7e5;border-radius:7px;background:white;color:#20324a;padding:9px 10px;min-height:41px}input::placeholder{color:#607188}input[type=checkbox]{width:16px;min-height:16px;margin:0;accent-color:var(--blue)}label{display:block;font-size:13px;font-weight:600;color:#40536b;margin:13px 0 5px}h1,h2,h3,p{margin:0}h1{font-size:clamp(26px,3vw,40px);font-weight:650;line-height:1.4;letter-spacing:-.8px;margin:10px 0 14px;color:#173653}h2{font-size:20px;font-weight:650;line-height:1.45}h3{font-size:16px;margin:22px 0 12px}p{color:var(--muted)}:focus-visible{outline:3px solid #efb347;outline-offset:3px}.wrap{width:min(1400px,calc(100% - 64px));margin:auto}.topbar{background:#fff;border-bottom:1px solid var(--border)}.topinner{display:flex;justify-content:space-between;align-items:center;min-height:70px;gap:16px}.brand{font-size:16px;font-weight:650;color:#203f60}.brand span{font-weight:400;color:#607188}.toplinks{display:flex;gap:20px;align-items:center;font-size:13px}.toplinks button{min-height:32px;padding:4px 10px}.hero{padding:38px 0 28px}.eyebrow{font-size:12px;letter-spacing:1.4px;color:#446b97;font-weight:650}.hero>p{font-size:15px}.herofoot{display:flex;align-items:center;gap:8px;margin-top:19px;font-size:12px;color:#607188}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#358477}.sep{margin:0 6px;color:#607188}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 3px 14px #163d6504}.login{padding:32px;max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin:16px 0 90px}.login h2{margin:12px 0 8px}.tag{display:inline-block;font-size:12px;background:#eaf2fc;color:#205a9e;padding:3px 9px;border-radius:5px}.inline{display:flex;gap:10px;align-items:center}.login form{max-width:470px}.error{color:#aa2830;margin:8px 0;font-size:13px;min-height:1px}.error:empty{display:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 24px}.stat{background:white;border:1px solid var(--border);padding:17px 22px;border-radius:10px}.stat .value{font-size:30px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums;color:#1c466e}.stat .label{font-size:12px;color:#62758b;margin-top:6px}.stat .sub{font-size:11px;color:#607188;margin-top:4px}.viewnav{display:flex;gap:26px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow:auto}.viewnav button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 2px;font-size:15px;color:#66778e}.viewnav button[aria-pressed=true]{border-bottom-color:var(--blue);color:var(--blue);font-weight:650}.students-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.filters{padding:20px;position:sticky;top:16px}.filters>details>summary{font-size:16px;font-weight:650;cursor:pointer}.filters>details>summary>span{display:block;font-size:11px;color:#607188;font-weight:400;margin-top:4px}.filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-actions{display:flex;gap:8px;margin-top:20px}.filter-actions>*{flex:1}.advanced{margin-top:16px;border-top:1px solid var(--border);padding-top:13px}.advanced>summary{font-size:13px;font-weight:600;cursor:pointer;color:#3a5677}.check{display:flex;align-items:center;gap:7px;font-weight:400;margin-top:16px}.help{font-size:11px;margin-top:10px;color:#607188}.sectionhead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 16px}.sectionhead p{font-size:12px;margin-top:4px}.result-actions{display:flex;align-items:center;gap:8px}.result-actions select{font-size:12px;width:140px;min-height:38px;padding:7px}.result-actions button{font-size:12px;min-height:38px}.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 24px 8px}.chips:empty{padding:0}.chip{font-size:11px;background:#eaf2fd;color:#26598e;border-radius:5px;padding:3px 8px}.table-scroll{overflow:auto;width:100%;max-width:100%}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{background:#f8fafd;color:#52657d;font-weight:600;padding:11px 16px;border-top:1px solid #e9eef4;border-bottom:1px solid #e5ebf2;white-space:nowrap}td{padding:13px 16px;border-bottom:1px solid #edf1f6;vertical-align:top;overflow-wrap:anywhere}.student-table td{padding-top:15px;padding-bottom:15px}.student-table td:first-child{padding-left:24px;min-width:130px}.student-table th:first-child{padding-left:24px}.personname{font-size:15px;font-weight:600;color:#204466;display:block}.studentid{font-size:11px;font-variant-numeric:tabular-nums;color:#607188;display:block;margin-top:3px}.student-table td:nth-child(2){min-width:125px}.student-table td:nth-child(3){min-width:160px}.student-table td:nth-child(4){max-width:160px;min-width:100px;color:#5a6d84}.counttag{font-size:11px;display:inline-block;padding:2px 6px;border-radius:4px;background:#eff4f9;color:#4a6682;margin:0 4px 4px 0}.counttag.award{background:#fbf2df;color:#8b651a}.counttag.warning{background:#fff0ea;color:#9e512c}.linkbutton{border:0;background:transparent;padding:0 2px;color:var(--blue);min-height:32px;text-align:left;white-space:normal}.linkbutton:hover{background:#edf4fd}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;padding:22px}.pagination span{font-size:12px;color:#607188}.pagination button{font-size:12px;min-height:34px;padding:5px 12px}.footnote{font-size:11px;color:#607188;padding:0 24px 20px}.empty{text-align:center;padding:40px 20px;color:#607188}.small-only{display:none}#overviewView{padding-bottom:24px}#overviewView h3{padding-left:24px}#overviewView td{max-width:450px}#resourceView{padding-bottom:10px}#resourceStatus{padding:0 24px 12px;font-size:12px}#methodology{padding:0 24px 18px;font-size:13px}#methodology ol{padding-left:22px;color:#52657b}#methodology li{margin:7px 0}.resource-card{padding:16px 24px;border-top:1px solid #e8eef5}.resource-card h3{font-size:14px;margin:0 0 6px}.resource-card p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.resource-card summary{color:var(--blue);font-size:12px;cursor:pointer;margin-top:8px}.rawgrid{display:grid;grid-template-columns:minmax(110px,170px) 1fr;gap:0;font-size:12px;line-height:1.7;border:1px solid #e3eaf2;border-radius:7px;overflow:hidden;margin-top:10px}.rawgrid dt,.rawgrid dd{padding:8px 12px;margin:0;border-bottom:1px solid #edf1f6;overflow-wrap:anywhere;white-space:pre-wrap}.rawgrid dt{background:#f7f9fc;color:#63748c}.rawgrid dd{color:#263f5b}.path{display:block;background:#f5f8fc;border:1px solid #e1e9f2;padding:10px 12px;border-radius:6px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;color:#3c5673;margin:9px 0}.copy{font-size:12px;padding:4px 10px;min-height:32px}footer{display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:11px;color:#607188;margin:36px 0 24px;padding-top:20px;border-top:1px solid var(--border)}dialog{border:1px solid #cbd7e5;border-radius:14px;padding:0;width:min(1140px,calc(100vw - 48px));max-height:92dvh;color:#20324a;background:white;box-shadow:0 24px 100px #112d4e35}dialog::backdrop{background:#10294180;backdrop-filter:blur(2px)}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 28px 20px;background:#f8fafd;border-bottom:1px solid var(--border)}.dialog-top h2{font-size:27px}.dialog-top p:not(.eyebrow){font-size:12px;margin-top:5px}.dialog-top .eyebrow{margin-bottom:6px}.dialog-top>button{min-height:34px;padding:5px 10px;font-size:12px}.profile-notice{background:#fffbf0;color:#79652e;font-size:12px;padding:11px 28px;border-bottom:1px solid #eee5c9}.profile-nav{display:flex;gap:19px;overflow:auto;padding:10px 28px 0;border-bottom:1px solid var(--border)}.profile-nav button{padding:8px 1px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;font-size:13px}.profile-nav button[aria-pressed=true]{color:var(--blue);border-color:var(--blue);font-weight:600}#profileContent{padding:22px 28px;min-height:180px}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field{border:1px solid #e1e8f1;border-radius:8px;padding:13px 15px;min-width:0}.field .label{font-size:11px;color:#607188;margin-bottom:6px}.field .fieldvalue{font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}.field .variant+.variant{margin-top:10px;padding-top:9px;border-top:1px dashed #d7e1ed}.field .linkbutton{font-size:11px;margin-top:2px}.field.conflict{border-color:#dcae76;background:#fffdf9}.profile-bottom{padding:16px 28px;border-top:1px solid var(--border);display:flex;align-items:center;gap:15px}.profile-bottom span{font-size:11px;color:#607188}.profile-bottom button{font-size:12px;min-height:34px}.sourcebox{margin:0 28px 22px;border:1px solid #bed1e7;border-radius:8px;padding:16px;background:#f7faff}.sourcebox h3{margin:0 0 8px;font-size:14px}.sourcebox p{font-size:12px}#sourceDialog{width:min(800px,calc(100vw - 40px))}#sourceDialog .dialog-top h2{font-size:20px}#sourceContent{padding:22px 26px}#profileLoading{padding:20px 28px}#profileLoading:empty{display:none}.profiletools{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:15px}.profiletools label{margin-top:0}.profiletools>div{max-width:320px;flex:1;min-width:150px}.profiletools .count{font-size:12px;color:#65788f}.record{border:1px solid var(--border);border-radius:8px;padding:12px 15px;margin-bottom:12px}.record>summary{cursor:pointer;font-size:13px;color:#355b82}.record>p{font-size:11px;margin-top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-50px;left:20px;z-index:20;background:#fff;padding:10px 18px}.skip:focus{top:10px}[hidden]{display:none!important}
@media(min-width:1500px){.wrap{width:1400px}.hero{padding-top:44px}}
@media(max-width:1100px){.wrap{width:calc(100% - 36px)}.students-layout{grid-template-columns:235px minmax(0,1fr);gap:14px}.filters{padding:17px}.sectionhead{padding:20px;flex-direction:column;gap:12px}.result-actions{width:100%;justify-content:space-between}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.viewnav{gap:22px}.student-table td:nth-child(4){min-width:100px}}
@media(max-width:760px){.wrap{width:calc(100% - 28px)}.topinner{min-height:60px}.brand{font-size:14px}.brand span{display:none}.toplinks{gap:10px;font-size:11px}.toplinks button{font-size:11px}.hero{padding:26px 0 23px}.hero>p{font-size:13px}.herofoot{flex-wrap:wrap;font-size:10px}.stats{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:17px}.stat{padding:14px 16px}.stat .value{font-size:26px}.viewnav{gap:20px;margin-bottom:16px}.viewnav button{font-size:13px;padding-top:9px}.students-layout{display:block}.filters{position:static;margin-bottom:14px;padding:16px}#filters{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}#filters>label{grid-column:1/-1}#filters>input,#filters>select{grid-column:1/-1}.filter-pair,.advanced,.filter-actions{grid-column:1/-1}.advanced>input,.advanced>select{display:block}.filters>details>summary>span{display:inline;margin-left:10px}.sectionhead{padding:18px 16px}.sectionhead h2{font-size:18px}.table-scroll{border-radius:0}.student-table td:first-child,.student-table th:first-child{padding-left:16px}.student-table td{padding:12px}.student-table td:nth-child(2){min-width:120px}.student-table td:nth-child(3){min-width:160px}.chips{padding-left:16px;padding-right:16px}.footnote{padding:0 16px 16px}.login{grid-template-columns:1fr;gap:20px;padding:24px;margin-bottom:40px}.login h2{font-size:19px}.login .inline{align-items:stretch}.login button{font-size:13px}.login label{margin-top:0}footer{flex-wrap:wrap;justify-content:flex-start;gap:7px 20px;margin-top:26px}.small-only{display:block}dialog{width:calc(100vw - 20px);max-height:95dvh;border-radius:10px}.dialog-top{padding:19px 17px;gap:10px}.dialog-top h2{font-size:23px}.profile-notice{padding:10px 17px;font-size:11px}.profile-nav{padding:8px 17px 0;gap:19px}.profile-nav button{font-size:12px}#profileContent{padding:17px}.field-grid{grid-template-columns:1fr 1fr;gap:9px}.field{padding:11px}.field .fieldvalue{font-size:13px}.profile-bottom{padding:14px 17px;gap:10px;align-items:flex-start}.profile-bottom span{font-size:10px}.sourcebox{margin:0 17px 16px;padding:13px}.rawgrid{grid-template-columns:110px 1fr}.resource-card{padding:15px 17px}#resourceSearch{width:100%}#resourceStatus,#methodology{padding-left:17px;padding-right:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.merge-note{margin:0 0 18px;font-size:12px;color:#42617f;background:#f1f6fc;border:1px solid #dae6f4;border-radius:7px;padding:10px 13px}.version-status{font-size:11px;color:#765223;margin:0 0 8px}.version-date{display:block;font-size:11px;color:#607188;margin:4px 0;white-space:normal}.version-details,.history-versions,.history-records,.all-originals{font-size:12px;margin-top:10px}.version-details>summary,.history-versions>summary,.history-records>summary,.all-originals>summary{cursor:pointer;color:#1859a8;line-height:1.7;padding:3px 0}.history-versions[open]>.variant:first-of-type{margin-top:10px}.reference-list>div+div,.grade-version+.grade-version{border-top:1px dashed #d7e1ed;padding-top:9px;margin-top:9px}.reference-list .linkbutton{text-align:left;overflow-wrap:anywhere}.grade-versions{min-width:135px;max-width:360px}.grade-version{padding-top:10px}.history-records[open]>.record:first-of-type,.all-originals[open]>.record:first-of-type{margin-top:12px}.category-group>h3{margin-top:16px}.all-originals{border-top:1px solid #d7e1ed;padding-top:15px;margin-top:22px}.field .variant+.variant{margin-top:10px;padding-top:9px;border-top:1px dashed #d7e1ed}
#profileContent [aria-label="全部课程成绩"] table{min-width:820px}#profileContent [aria-label="归并后的教师关系"] table{min-width:730px}

.edit-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.edit-toolbar .merge-note{margin:0;flex:1}.edit-toolbar>button{flex-shrink:0}.field-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-label .label{margin-bottom:0}.field-label{margin-bottom:7px}.field-label .linkbutton{margin:0;min-height:28px}.save-status{color:#24674f;font-size:13px;margin:0 0 16px}.save-status:empty{display:none}.edit-heading h3{margin:0 0 5px}.edit-heading p{font-size:12px;margin-bottom:18px}.edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.edit-grid label{margin-top:0}.edit-grid input,.edit-grid textarea,.edit-metadata input,.edit-metadata textarea{width:100%;min-width:0}.edit-grid textarea,.edit-metadata textarea{resize:vertical;border:1px solid #cbd7e5;border-radius:6px;padding:10px;font:inherit;color:inherit;background:#fff}.edit-wide{grid-column:1/-1}.edit-field .restore-check{font-size:11px;margin-top:8px;align-items:flex-start}.restore-check input{width:16px;min-height:16px;height:16px;flex:none;margin-top:2px}.edit-grid input:disabled,.edit-grid textarea:disabled{background:#f2f5f8;color:#63748c}.edit-metadata{display:grid;grid-template-columns:1fr 2fr;gap:16px;border-top:1px solid #e1e8f1;margin-top:20px;padding-top:6px}.edit-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #e1e8f1}.edit-actions span{font-size:12px;color:#52657d}.edit-history{margin-top:24px;font-size:12px;border-top:1px solid #e1e8f1;padding-top:16px}.edit-history>summary{cursor:pointer;color:#1859a8;margin-bottom:12px}.edit-history h3{margin:0 0 5px;font-size:13px}#studentEditError{margin-top:14px}#studentEditError:focus{outline-offset:4px}
@media(max-width:760px){.edit-toolbar{flex-direction:column;gap:10px}.edit-grid{grid-template-columns:1fr 1fr;gap:12px}.edit-metadata{grid-template-columns:1fr;gap:0}.edit-grid input,.edit-grid textarea,.edit-metadata input,.edit-metadata textarea{font-size:16px}.edit-actions{align-items:stretch}.edit-actions button{font-size:12px}.edit-field .restore-check{font-size:11px}}
@media(max-width:400px){.edit-grid{grid-template-columns:1fr}.edit-wide{grid-column:auto}}

.new-class-panel{background:#f5f8fc;border:1px solid #d9e4f1;border-radius:7px;padding:12px;margin-top:8px}.new-class-actions{display:flex;flex-wrap:wrap;gap:8px}.new-class-actions button{font-size:12px;min-height:34px}.edit-grid select{width:100%;min-width:0}@media(max-width:760px){.edit-grid select{font-size:16px}}

#studentClassSelect{margin-top:6px;padding:5px;min-height:74px}#studentClassSelect option{padding:6px 8px}#studentClassSelectLabel{margin-top:10px;font-size:11px;color:#607188}#classNameHint:empty{display:none}
.login-modes{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.login-modes [aria-pressed=true]{color:#fff;background:#1859a8;border-color:#1859a8}#studentLoginForm>button{margin-top:12px}#studentChoices{min-width:0;border:1px solid #dce4ee;border-radius:8px;padding:12px;margin:16px 0}#studentChoices legend{font-size:13px;font-weight:600}.student-choice{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #dce4ee;border-radius:7px;font-size:13px;cursor:pointer}.student-choice input{width:18px;min-height:18px;flex:none;margin:4px 0}.student-choice:has(:checked){background:#edf5ff;border-color:#1859a8}.student-choice span{overflow-wrap:anywhere}.student-password{padding:28px;max-width:680px;margin:0 auto 30px}.student-password>p{margin-top:8px;color:#52657d}.student-password form{max-width:460px}.student-area{margin-bottom:30px;overflow:hidden}.student-scope{padding:0 24px 16px;color:#52657d;font-size:13px}#studentOwnContent{padding:24px}#studentOwnStatus{padding:0 24px;color:#24674f}#studentOwnStatus:empty{display:none}.student-area .viewnav{margin:0;border-top:1px solid #dce4ee;border-bottom:1px solid #dce4ee;padding:12px 24px}#studentOwnContent .label{font-size:13px;font-weight:600}#studentOwnContent table{min-width:660px}#studentOwnContent .fieldvalue{overflow-wrap:anywhere}#studentPasswordTitle:focus,#studentOwnTitle:focus{outline-offset:5px}
@media(max-width:760px){.student-password{padding:20px}.student-area .viewnav{padding:12px 17px}.student-scope,#studentOwnStatus{padding-left:17px;padding-right:17px}#studentOwnContent{padding:17px}.student-password input,#studentLoginForm input{font-size:16px}}

/* School identity and role-aware entry. Official artwork remains unmodified. */
:root{--school-red:#b72232;--navy:#173653;--paper:#f3f6f9}
.school-brand{display:flex;align-items:center;gap:17px;color:var(--navy)}.school-brand:hover{text-decoration:none}.school-emblem{width:64px;height:64px;object-fit:contain;flex:none}.school-wordmark{display:flex;flex-direction:column;gap:7px}.school-wordmark>img{width:300px;height:auto}.school-wordmark>span{font-size:13px;letter-spacing:1.2px;color:#42556c}.brand-divider{color:#9cabb9;margin:0 7px}.topinner{min-height:106px}.toplinks{gap:22px}.toplinks>a{color:#52657d}.logged-out{background:var(--paper)}.logged-out .hero{display:none}.logged-out main{max-width:1280px}.login{display:grid;grid-template-columns:1.05fr 1fr;padding:0;gap:0;border-radius:18px;overflow:hidden;align-items:stretch;margin:48px 0 36px;box-shadow:0 16px 48px #1736530d;border:1px solid #dce4ec}.login-story{background:#173653;color:white;padding:58px 52px 42px;display:flex;flex-direction:column;position:relative;min-height:570px}.login-story:before{content:"";position:absolute;top:0;left:52px;width:52px;height:5px;background:#d84a56}.story-kicker{font-size:13px;letter-spacing:1.5px;color:#cfdae6}.login-story h2{color:white;font-family:"Songti SC","STSong","SimSun",serif;font-size:clamp(29px,3.1vw,42px);font-weight:600;letter-spacing:1px;line-height:1.65;margin:26px 0 22px}.login-story>p{font-size:14px;line-height:1.9;color:#d2dce7}.archive-topics{display:flex;flex-wrap:wrap;gap:11px 20px;margin:36px 0 44px;font-size:12px;color:#d2dce7;max-width:340px}.archive-topics span{padding-left:14px;position:relative}.archive-topics span:before{content:"";position:absolute;left:0;top:7px;width:4px;height:4px;background:#d38f91}.story-bottom{margin-top:auto;font-size:12px;color:#b9cadb;display:flex;align-items:center;gap:12px}.story-rule{width:26px;height:1px;background:#b9cadb}.login-entry{padding:44px 48px 35px;min-width:0;display:flex;flex-direction:column}.login-heading h2{font-size:26px;letter-spacing:.5px;margin:0 0 5px}.login-heading p{font-size:13px;line-height:1.8}.login-modes{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:4px;padding:4px;background:#f0f3f7;border-radius:8px;margin:24px 0 18px}.login-modes button{background:none;border:0;color:#52657d;font-size:13px;padding:8px 5px;min-height:40px}.login-modes [aria-pressed=true]{color:var(--navy);background:#fff;box-shadow:0 1px 5px #17365314}.login form{max-width:none}.login-entry label{font-size:13px;margin:12px 0 7px}.login-entry input{min-height:46px;padding:11px 13px;background:#fff}.login-entry .help{font-size:12px;line-height:1.8;margin-top:13px}.login-entry form>.primary{width:100%;min-height:46px;margin:20px 0 0;font-size:14px;background:var(--navy);border-color:var(--navy)}.login-entry form>.primary:hover{background:#234d73}.password-field{display:flex;align-items:center;border:1px solid #cbd7e5;border-radius:7px;background:#fff}.password-field:focus-within{outline:3px solid #efb347;outline-offset:3px}.password-field input{border:0;background:transparent}.password-field input:focus-visible{outline:0}.password-field button{border:0;background:transparent;color:#52657d;padding:4px 12px;min-height:40px;font-size:12px;flex:none}.login-privacy{font-size:11px;color:#62748a;padding-top:24px;margin-top:auto;line-height:1.8}.login-entry [aria-invalid=true]{border-color:#aa2830}.staff-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 18px}.staff-toolbar>div{display:flex;gap:8px}.staff-toolbar p{font-size:13px;color:var(--navy)}#staffAccountsDialog{width:min(900px,calc(100vw - 28px))}.staff-dialog-body{padding:24px}.staff-dialog-body h3{margin:0 0 16px}.staff-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.staff-form-grid label{margin-top:0}#staffCreateSubmit{margin-top:16px}#staffAccountsStatus{font-size:12px;margin:18px 0}#staffResetForm{margin-top:24px;padding:20px;border:1px solid var(--border);border-radius:8px;background:#f7f9fc}#staffResetForm>input{max-width:400px}#staffAccountRows td button{font-size:12px;min-height:34px;padding:5px 9px}.logged-out footer{font-size:11px;margin-top:0}.logged-out .login-entry .error{margin-top:12px}
@media(min-width:1500px){.logged-out .wrap{width:1280px}}
@media(max-width:1000px){.school-wordmark>img{width:260px}.login-story{padding:44px 34px 36px}.login-story:before{left:34px}.login-entry{padding:36px 32px}.login-story h2{font-size:32px}.toplinks{gap:14px;font-size:12px}}
@media(max-width:760px){.topinner{min-height:96px;align-items:center;gap:12px}.school-brand{gap:10px}.school-emblem{width:48px;height:48px}.school-wordmark>img{width:225px;max-width:100%;height:auto}.school-wordmark>span{font-size:11px;letter-spacing:.3px}.school-wordmark{gap:5px}.brand-divider{margin:0 3px}.toplinks{flex-wrap:wrap;gap:6px 12px;justify-content:flex-end}.logged-out .toplinks{display:none}.login{grid-template-columns:1fr;margin:20px 0 24px;border-radius:12px}.login-story{min-height:0;padding:27px 25px 28px}.login-story:before{left:25px;width:36px;height:4px}.story-kicker{font-size:11px}.login-story h2{font-size:28px;line-height:1.5;margin:15px 0 13px}.login-story>p{font-size:12px;line-height:1.8}.archive-topics{margin:20px 0 0;font-size:11px;gap:7px 16px;max-width:none}.story-bottom{display:none}.login-entry{padding:26px 25px 28px}.login-heading h2{font-size:23px}.login-entry input{font-size:16px}.login-entry label{margin-top:12px}.login-modes{margin-top:20px}.login-privacy{padding-top:22px}.staff-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.staff-form-grid{grid-template-columns:1fr;gap:13px}.staff-dialog-body{padding:18px}#staffAccountRows{white-space:nowrap}#staffAccountsDialog input{font-size:16px}.logged-out footer{line-height:1.9;display:block}.logged-out footer>span{display:block}}
@media(max-width:360px){.school-wordmark>img{width:200px}.school-emblem{width:42px;height:42px}.login-entry{padding:25px 20px}}

@media(max-width:760px){.topinner{flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.toplinks{width:100%;justify-content:flex-start;padding-left:58px}}

#studentAccountNotice:empty{display:none}#retryStudentProfile{margin:12px 24px 24px}@media(max-width:760px){#retryStudentProfile{margin-left:17px;margin-right:17px}}


/* School, college and archive identity share a single page header. */
.topinner{display:grid;grid-template-columns:max-content max-content minmax(0,1fr) auto;justify-content:initial;column-gap:24px;min-height:114px}
.school-brand{gap:14px}.school-emblem{width:60px;height:60px}.school-wordmark>img{width:280px}
.college-brand{display:flex;align-items:center;gap:12px;padding-left:24px;border-left:1px solid var(--border);color:var(--navy);white-space:nowrap}
.college-emblem{width:60px;height:60px;object-fit:contain;flex:none}.college-brand>span{font-size:18px;font-weight:600}
.site-heading{min-width:0;padding-left:24px;border-left:1px solid var(--border)}
.site-heading h1{margin:0;font-size:24px;line-height:1.4;text-wrap:balance}
.topbar+main{padding-top:28px}.logged-out .topbar+main{padding-top:0}
@media(max-width:1200px){.topinner{column-gap:18px}.school-emblem{width:56px;height:56px}.school-wordmark>img{width:230px}.college-brand{gap:10px;padding-left:18px}.college-emblem{width:52px;height:52px}.college-brand>span{font-size:16px}.site-heading{padding-left:18px}.site-heading h1{font-size:21px}}
@media(max-width:1000px){.topinner{grid-template-columns:max-content minmax(0,1fr) auto;gap:16px 20px;padding-top:18px;padding-bottom:18px}.school-brand{grid-column:1;grid-row:1}.college-brand{grid-column:2/-1;grid-row:1}.site-heading{grid-column:1/3;grid-row:2;border:0;padding:0}.toplinks{grid-column:3;grid-row:2;width:auto;padding:0;justify-content:flex-end}}
@media(max-width:760px){.topinner{grid-template-columns:minmax(0,1fr) auto;gap:16px 12px}.school-brand{grid-column:1/-1;grid-row:1;gap:10px}.school-emblem{width:48px;height:48px}.school-wordmark>img{width:225px;max-width:100%}.college-brand{grid-column:1/-1;grid-row:2;border:0;padding:0;gap:10px}.college-emblem{width:42px;height:42px}.college-brand>span{font-size:16px}.site-heading{grid-column:1;grid-row:3}.site-heading h1{font-size:18px}.toplinks{grid-column:2;grid-row:3}.topbar+main{padding-top:20px}}
@media(max-width:360px){.school-emblem{width:42px;height:42px}.school-wordmark>img{width:200px}}

/* Administrator batch maintenance. */
.bulk-dialog{width:min(1120px,calc(100vw - 32px));max-height:92dvh}.bulk-dialog .dialog-top{align-items:flex-start}.bulk-dialog .dialog-top h2{font-size:24px;text-wrap:balance}.bulk-dialog .dialog-top p{max-width:730px;font-size:13px}.bulk-body{padding:24px}.bulk-tabs,.bulk-page,.bulk-selection,.bulk-scope{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bulk-tabs{border-bottom:1px solid var(--border);padding-bottom:16px}.bulk-tabs [aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.bulk-scope{padding:16px;background:#f5f8fc;border:1px solid var(--border);border-radius:8px;margin:16px 0}.bulk-scope p{flex:1 1 100%;margin:0;overflow-wrap:anywhere}.bulk-dialog details{margin:16px 0}.bulk-search{margin:14px 0}.bulk-search>div{display:flex;gap:10px}.bulk-search input{flex:1;min-width:0}.bulk-source{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding:16px 0}.bulk-source>div{min-width:0}.bulk-source .path{font-size:12px;margin:6px 0}.bulk-page{justify-content:flex-end;padding:12px 0;font-size:12px}.bulk-page button{font-size:12px;min-height:36px}.bulk-selected-source{margin:16px 0;padding:14px 16px;border-left:3px solid var(--navy);background:#f5f8fc}.bulk-selected-source p{overflow-wrap:anywhere}.bulk-selected-source select{max-width:480px}.bulk-selection{justify-content:space-between;margin:18px 0 12px}.bulk-selection input,.bulk-field input[type=checkbox],.bulk-student-scroll input[type=checkbox]{width:18px;height:18px;min-height:0;flex:none}.bulk-student-scroll{max-height:360px}.bulk-dialog th{position:sticky;top:0;background:#f3f6f9}.bulk-dialog td{vertical-align:top}.bulk-dialog td:last-child{max-width:300px;overflow-wrap:anywhere}.bulk-dialog #bulkEditForm{padding-top:12px;border-top:1px solid var(--border)}.bulk-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:18px 0 24px}.bulk-field{min-width:0}.bulk-field select,.bulk-field input:not([type=checkbox]){width:100%;margin-top:7px}.bulk-field .check{margin:0}.bulk-dialog textarea{width:100%;font:inherit;border:1px solid #cbd7e5;border-radius:7px;padding:10px 12px}.bulk-notice{background:#f5f8fc;padding:14px 16px;border-left:3px solid var(--navy);line-height:1.8}.bulk-preview-scroll{max-height:330px}.bulk-history-item{padding:16px 0;border-bottom:1px solid var(--border)}.bulk-history-item h3{font-size:16px;margin:0 0 8px}.bulk-history-item p{margin:5px 0;overflow-wrap:anywhere}.bulk-dialog .error{white-space:pre-wrap}.bulk-dialog #bulkConfirmCount{max-width:240px}.staff-toolbar>div{flex-wrap:wrap}.bulk-dialog [hidden]{display:none!important}
@media(max-width:760px){.bulk-dialog{width:calc(100vw - 20px);max-height:95dvh}.bulk-body{padding:17px}.bulk-dialog .dialog-top{padding:18px 17px}.bulk-dialog .dialog-top h2{font-size:20px}.bulk-dialog .dialog-top p{font-size:12px}.bulk-fields{grid-template-columns:1fr}.bulk-search>div,.bulk-source{flex-direction:column;align-items:stretch}.bulk-dialog input,.bulk-dialog textarea,.bulk-dialog select{font-size:16px}.bulk-dialog td,.bulk-dialog th{font-size:12px;padding:10px}.bulk-tabs{gap:8px}.bulk-tabs button{font-size:12px;padding:8px 10px}.bulk-dialog .edit-actions{align-items:stretch}.bulk-dialog .edit-actions>span{flex-basis:100%}.bulk-scope{padding:12px}.bulk-preview-scroll{max-height:280px}}

.bulk-student-scroll table{min-width:700px}.bulk-preview-scroll table{min-width:650px}.bulk-field{align-self:start}.bulk-field>.check{min-height:32px}.bulk-dialog #bulkConfirmFields{overflow-wrap:anywhere}

/* Filter summary and one-class-per-page navigation. */
.results .sectionhead>div:first-child{min-width:0;flex:1}.results .sectionhead h2{overflow-wrap:anywhere;text-wrap:balance}.results .result-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.class-pagination{flex-wrap:wrap;gap:10px}.class-pagination label{margin:0;font-size:12px}.class-pagination select{width:auto;max-width:320px;min-height:36px}.class-pagination span{font-variant-numeric:tabular-nums}.class-pagination[hidden]{display:none!important}
@media(max-width:760px){.results .sectionhead{align-items:flex-start;flex-wrap:wrap;gap:12px}.results .result-actions{justify-content:flex-start}.class-pagination{padding:14px 16px;justify-content:flex-start}.class-pagination select{max-width:calc(100% - 70px);font-size:16px}.class-pagination label{min-width:50px}.class-pagination span{font-size:11px}.class-pagination button{font-size:12px;padding:7px 10px}}

@media(max-width:760px){.results .result-actions{display:grid;grid-template-columns:max-content max-content;justify-content:start;width:100%}.results .result-actions>select{grid-column:1/-1;width:100%}.class-pagination{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.class-pagination label{grid-column:1}.class-pagination select{grid-column:2/-1;max-width:100%;width:100%;min-width:0}.class-pagination #prev{grid-column:1}.class-pagination #pages{grid-column:2;text-align:center}.class-pagination #next{grid-column:3}}
