*{box-sizing:border-box}:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#1f2a37;background:#f3f6fa}body{margin:0;background:#f3f6fa}.app-shell{min-height:100vh}.app-header{position:sticky;inset-block-start:0;z-index:20;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:28px;height:64px;padding:0 24px;background:#096dd9;box-shadow:0 2px 8px #1f2a371f}.app-header h2{color:#fff;margin:0;font-size:20px;white-space:nowrap}.main-navigation{min-width:0;background:transparent}.main-navigation.ant-menu-horizontal{line-height:62px;border-bottom:0}.admin-badge{color:#e6f4ff;font-size:13px;white-space:nowrap}.workspace-context{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 24px;background:#fff;border-bottom:1px solid #d9e2ec}.workspace-context .ant-select{width:240px}.context-label{color:#52606d;font-size:13px}.main-content{padding:20px 24px 40px}.main-content .ant-table-wrapper{margin-block-start:0}.page-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.page-heading h1{margin:0 0 4px;font-size:26px}.directory-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.directory-panel,.directory-workspace{background:#fff;border:1px solid #d9e2ec;border-radius:4px}.directory-panel{padding:12px 0}.directory-title{padding:4px 16px 12px;color:#52606d;font-weight:600;border-bottom:1px solid #e8eef3}.directory-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:7px 16px;border:0;border-radius:0;background:transparent;color:#1f2a37;text-align:left;cursor:pointer}.directory-item:hover{background:#f0f7ff}.directory-item.active{background:#e6f4ff;color:#096dd9;font-weight:600}.directory-item span,.grade-group h2 span,.heading-count{color:#096dd9;font-size:12px;font-weight:400}.grade-group h2{display:flex;justify-content:space-between;margin:12px 0 2px;padding:4px 16px;font-size:14px}.grade-group ul,.job-list{margin:0;padding:0;list-style:none}.empty-hint,.directory-note{padding:8px 16px;color:#7b8794;font-size:12px}.directory-workspace{min-width:0;padding:16px}.class-summary{margin-bottom:16px;background:#f8fbff}.class-summary .ant-card-body{display:flex;justify-content:space-between;align-items:center;gap:16px}.class-summary h2{margin:4px 0 0;font-size:20px}.summary-number{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.summary-number strong{color:#096dd9;font-size:28px}.summary-number span{color:#52606d}.table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.table-toolbar h2{margin:0;font-size:18px}.batch-grade-row{display:grid;grid-template-columns:1.2fr .7fr 1.2fr 1.2fr auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px dashed #d9d9d9}.batch-grade-row .batch-preview{grid-column:1 / -2}.batch-grade-row .ant-form-item{margin-bottom:0}.overview-placeholder{max-width:1000px}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 16px;background:#fff;color:#096dd9}.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden}:focus-visible{outline:3px solid #faad14;outline-offset:3px}.auth-shell{display:grid;place-items:center;padding:24px}.auth-content{width:min(100%,520px);text-align:center}@media(max-width:1100px){.app-header{grid-template-columns:max-content minmax(0,1fr);gap:16px}.admin-badge{display:none}.app-header h2{font-size:17px}}@media(max-width:800px){.app-header{grid-template-columns:1fr;height:auto;padding-block:10px;gap:4px}.main-navigation.ant-menu-horizontal{line-height:42px}.workspace-context{padding-inline:16px}.workspace-context .ant-select{width:min(100%,260px)}.main-content{padding:16px}.directory-layout{grid-template-columns:minmax(0,1fr)}.directory-panel{max-height:260px;overflow:auto;scrollbar-gutter:stable}}@media(pointer:coarse){.directory-item{min-height:44px}}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.metric-card{border-top:3px solid #096dd9}.metric-card .ant-card-body{display:grid;gap:6px}.metric-card strong{font-size:32px;line-height:1.2}.metric-card span{color:#7b8794;font-size:12px}.overview-distribution{padding:20px;background:#fff;border:1px solid #d9e2ec}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin:0;font-size:18px}.section-heading span{color:#7b8794}.grade-bars{display:grid;gap:14px;margin-bottom:24px}.grade-bar-row{display:grid;grid-template-columns:100px minmax(120px,1fr) 80px 80px;align-items:center;gap:16px}.grade-name{font-weight:600}.grade-bar-track{block-size:10px;background:#e6eef5}.grade-bar-value{block-size:100%;background:#096dd9}.grade-bar-row strong,.grade-bar-row>span:last-child{text-align:right}@media(max-width:800px){.metric-grid{grid-template-columns:minmax(0,1fr)}.grade-bar-row{grid-template-columns:70px minmax(80px,1fr) 60px;gap:8px}.grade-bar-row>span:last-child{display:none}}.sync-result,.organization-management .organization-hierarchy-note{margin-bottom:16px}.organization-tree-panel{min-height:360px;padding:16px;background:#fff;border:1px solid #d9e2ec}.organization-node{display:flex;align-items:center;gap:8px;min-height:28px}.organization-node-name{font-weight:600}.organization-node-code{color:#7b8794;font-size:12px}.organization-node-actions{display:inline-flex;margin-inline-start:12px}@media(max-width:800px){.organization-node{flex-wrap:wrap}.organization-node-actions{margin-inline-start:0;width:100%}}.field-help{color:#7b8794;font-size:12px;line-height:1.6}.import-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 8px}.ant-alert,.assignment-matrix .section-heading{margin-bottom:16px}.assignment-matrix .section-heading h2{margin:0 0 4px;font-size:18px}.matrix-scroll{overflow:auto;max-height:70vh;background:#fff;border:1px solid #d9e2ec;scrollbar-gutter:stable}.assignment-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0}.assignment-table th,.assignment-table td{padding:10px 12px;border-bottom:1px solid #e8eef3;border-inline-end:1px solid #e8eef3;text-align:left;vertical-align:middle;white-space:nowrap}.assignment-table thead th{position:sticky;inset-block-start:0;z-index:2;background:#f8fbff;font-weight:600}.assignment-table tbody th{position:sticky;inset-inline-start:0;z-index:1;background:#fff;min-width:160px}.assignment-table th span{display:block;margin-top:2px;color:#7b8794;font-size:11px;font-weight:400}.matrix-empty{color:#98a2b3;font-size:12px;margin-inline-end:4px}.batch-scroll{max-height:50vh;margin-bottom:16px}.editable-matrix .ant-select{min-width:170px}.batch-form{margin:12px 0 16px;gap:16px}.batch-teacher-reference{max-width:420px}.visually-hidden{position:absolute;clip-path:inset(50%);overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap}
