:root{color:#19352f;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f6f2;font-family:Microsoft YaHei UI,PingFang SC,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}body{overflow-x:auto}.fatal-error{text-align:center;color:#19352f;background:#f3f6f2;place-content:center;min-height:100vh;padding:32px;display:grid}.fatal-error h1{margin:0 0 10px}.fatal-error p{color:#6c7e78}.fatal-error button{color:#fff;cursor:pointer;background:#28685d;border:0;border-radius:12px;justify-self:center;padding:11px 24px;font-weight:700}::selection{color:#fff;background:#28685d}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b8c9c2;border-radius:20px}::-webkit-scrollbar-track{background:0 0}.school-emblem{object-fit:contain;background:#fff;border-radius:50%;flex-shrink:0;width:44px;height:44px;display:block}.screen-brand .school-emblem{width:52px;height:52px}.native-select{color:#193d32;cursor:pointer;background-color:#fff;border:1px solid #cddbd3;border-radius:10px;width:100%;min-width:0;min-height:44px;padding:8px 34px 8px 12px;font-size:15px;line-height:1.5;display:block}.native-select:hover{border-color:#649b86}.native-select:focus-visible{outline-offset:1px;border-color:#28685d;outline:3px solid #28685d33}.native-select:disabled{color:#82918b;cursor:not-allowed;background-color:#f3f6f3}.native-select:has(option:checked[value=""]){color:#82918b}.schedule-center-stack{flex-direction:column;gap:18px;display:flex}.schedule-surface{background:#fff;border:1px solid #dce5df;border-radius:18px;box-shadow:0 10px 30px #20483e0e}.schedule-heading{align-items:center;gap:16px;padding:8px 2px 2px;display:flex}.schedule-heading>span{color:#fff;background:linear-gradient(145deg,#28685d,#3f8172);border-radius:16px;place-items:center;width:50px;height:50px;font-size:22px;display:grid;box-shadow:0 9px 22px #28685d3d}.schedule-heading small{color:#d97b35;letter-spacing:.16em;font-size:11px;font-weight:800}.schedule-heading h1{color:#173b33;margin:2px 0 3px;font-size:26px;line-height:1.25}.schedule-heading p{color:#73837e;margin:0}.schedule-toolbar{grid-template-columns:minmax(250px,1.15fr) auto minmax(240px,.8fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.active-schedule-title{background:linear-gradient(120deg,#f1f8f4,#fff9f3);border:1px solid #dce7e1;border-radius:13px;flex-direction:column;justify-content:center;min-height:48px;padding:7px 15px;display:flex}.active-schedule-title span{color:#81918b;font-size:10px}.active-schedule-title b{color:#1f584b;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:16px;overflow:hidden}.week-stepper{background:#f8faf8;border:1px solid #e3ebe6;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:6px;display:grid}.week-stepper>div{text-align:center}.week-stepper b,.week-stepper span{display:block}.week-stepper b{color:#1c5147;font-size:17px}.week-stepper span{color:#87948f;margin-top:2px;font-size:11px}.dimension-switch{background:#edf3ef;border-radius:12px;gap:4px;padding:4px;display:flex}.dimension-switch button{color:#6c7f78;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:9px 12px}.dimension-switch button.active{color:#fff;background:#28685d;box-shadow:0 5px 12px #28685d33}.target-select{width:100%}.teacher-name-input{min-height:44px}.teacher-name-input.ant-input-affix-wrapper>input.ant-input{font-size:16px}.current-schedule-toolbar>.ant-btn,.patrol-toolbar>.ant-btn{min-height:44px}.schedule-toolbar>*,.patrol-toolbar>*,.patrol-field{min-width:0}.request-search{align-items:center;gap:12px;padding:18px;display:flex}.request-search>label{white-space:nowrap}.request-search .teacher-name-input{max-width:320px}.request-search>.ant-btn{min-height:44px}.maintenance-actions .native-select{width:220px}.schedule-legend{color:#687a74;flex-wrap:wrap;align-items:center;gap:18px;padding:2px 4px;font-size:12px;display:flex}.schedule-legend span{align-items:center;gap:7px;display:flex}.schedule-legend i{border:1px solid #dce6df;border-radius:5px;width:16px;height:16px}.legend-normal{background:#fff}.legend-changed{background:#fff3e8;border-color:#ec9b57!important}.legend-selected{background:#e7f0ff;border-color:#5b8def!important}.legend-available{background:#e8f8ef;border-color:#51af77!important}.legend-conflict{background:#fff0f0;border-color:#e99090!important}.timetable-wrap{border-color:#d5e1da;border-radius:22px;overflow:hidden;box-shadow:0 18px 45px #1c493d17}.timetable-title{background:linear-gradient(120deg,#f5faf7,#fffaf4);border-bottom:1px solid #e3eae6;justify-content:space-between;align-items:flex-end;gap:20px;padding:18px 22px;display:flex}.timetable-title>div:last-child{text-align:right}.timetable-title span,.timetable-title b{display:block}.timetable-title span{color:#87958f;font-size:12px}.timetable-title h3{color:#173d34;margin:3px 0 0;font-size:22px}.timetable-title b{color:#cf7130}.timetable-grid{background:#f5f8f6;grid-template-columns:106px repeat(5,minmax(135px,1fr));gap:8px;padding:12px;display:grid;overflow-x:auto}.grid-head{color:#2b4e45;background:#edf4f0;border:1px solid #dde7e1;border-radius:11px;place-items:center;min-height:46px;font-weight:800;display:grid}.grid-head.corner{color:#788781}.period-cell{text-align:center;background:#fbfcfb;border:1px solid #e0e8e3;border-radius:12px;place-content:center;gap:5px;min-height:92px;padding:10px 6px;display:grid;box-shadow:0 4px 12px #20483e09}.period-cell b{color:#26483f}.period-cell span{color:#8a9692;font-size:10px}.lesson-cell{color:#233f38;cursor:pointer;border:1px solid #dbe8e0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:96px;padding:9px;font-family:inherit;transition:all .16s;display:flex;position:relative;box-shadow:0 5px 14px #1e4a3d11}.lesson-cell.occupied{background:linear-gradient(150deg,#dcefe4,#edf7f1);border-color:#c5ddd1}.lesson-cell.empty{color:#abb6b1;background:#fff;border-color:#e4e9e6;box-shadow:0 3px 10px #1e4a3d09}.lesson-cell:disabled{opacity:1;cursor:default}.lesson-cell:not(:disabled):hover{z-index:1;background:#e8f6ee;transform:translateY(-1px);box-shadow:0 8px 18px #26685221,inset 0 0 0 2px #84b9a0}.lesson-cell b{font-size:15px}.lesson-cell span{color:#71817b;font-size:12px}.lesson-cell small{color:#b35b21;background:#ffe0c7;border-radius:12px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:6px;right:7px}.lesson-cell.changed{background:#fff4ea;border-color:#edbc91;box-shadow:0 6px 16px #c1682617,inset 3px 0 #e79648}.lesson-cell.changed b{color:#a7521a}.lesson-cell.cancelled{opacity:.72;background:repeating-linear-gradient(-45deg,#fff5ed,#fff5ed 7px,#fbe8d9 7px 14px)}.lesson-cell.selected{z-index:2;background:#eaf2ff;border-color:#5789e6;box-shadow:0 7px 18px #4673c124,inset 0 0 0 2px #5789e6}.lesson-cell.available{z-index:1;background:#eaf8ef;border-color:#55ba7b;box-shadow:0 7px 18px #2c894f1c,inset 0 0 0 2px #55ba7b}.lesson-cell.available:after{content:"✓ 可调";color:#21834a;font-size:9px;font-weight:800;position:absolute;bottom:6px;left:7px}.lesson-cell.conflict{background:#fff2f2;box-shadow:inset 0 0 0 1px #f0b2b2}.lesson-cell.conflict:after{content:"× 冲突";color:#c65151;font-size:9px;font-weight:800;position:absolute;bottom:6px;left:7px}.lesson-cell.drop-ready{color:#237a55;background:repeating-linear-gradient(-45deg,#eefaf3,#eefaf3 8px,#e2f5e9 8px 16px);box-shadow:inset 0 0 0 2px #55b77a}.lesson-cell.drop-ready .empty-lesson{font-weight:800;color:#25814f!important}.empty-lesson{color:#b2bdb8!important}.schedule-loading{place-items:center;min-height:280px;display:grid}.schedule-empty{color:#8b9893;place-items:center;min-height:150px;display:grid}.schedule-empty.compact{min-height:70px}.swap-dialog{flex-direction:column;gap:18px;display:flex}.swap-route{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.swap-route>.anticon{color:#e79648;font-size:21px}.course-summary{background:#f8faf8;border:1px solid #dce6e0;border-radius:14px;min-width:0;padding:15px}.course-summary span,.course-summary b,.course-summary small{display:block}.course-summary span{color:#809089;font-size:11px}.course-summary b{color:#1d4c42;margin:4px 0;font-size:17px}.course-summary small{color:#73827d}.conflict-ok{color:#267649;background:#eef9f2;border:1px solid #bfe5cc;border-radius:11px;padding:11px 13px}.conflict-ok .anticon{margin-right:7px}.swap-dialog label>span,.admin-adjustment label>span{color:#51645e;margin-bottom:7px;font-weight:700;display:block}.week-publish{grid-template-columns:minmax(260px,1.2fr) 170px minmax(300px,1.2fr) 150px;align-items:end;gap:14px;padding:16px 18px;display:grid}.publish-field{min-width:0;display:block}.publish-field>span{color:#60736c;height:18px;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.publish-field>.ant-input,.week-number-control,.temporary-file,.publish-action .ant-btn{height:44px}.week-number-control{grid-template-columns:auto 1fr auto;align-items:stretch;display:grid}.week-number-control i{color:#63766f;background:#fafafa;border:1px solid #d9d9d9;place-items:center;padding:0 10px;font-style:normal;display:grid}.week-number-control i:first-child{border-right:0;border-radius:8px 0 0 8px}.week-number-control i:last-child{border-left:0;border-radius:0 8px 8px 0}.week-number-control .ant-input-number{border-radius:0;width:100%}.temporary-file{cursor:pointer;background:#f5faf7;border:1px dashed #9ebbac;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:6px 12px;display:flex}.temporary-file>.anticon{color:#39806d;font-size:25px}.temporary-file b,.temporary-file small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.temporary-file b{color:#285c50;font-size:12px}.temporary-file small{color:#83928c;margin-top:1px;font-size:9px}.temporary-file input{display:none}.publish-action .ant-btn{width:100%}.academic-stats{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.academic-metric{background:#fff;border:1px solid #dce6e0;border-radius:16px;align-items:center;gap:14px;padding:18px;display:flex;box-shadow:0 8px 24px #20483e0b}.academic-metric>span{border-radius:13px;place-items:center;width:44px;height:44px;font-size:19px;display:grid}.academic-metric b,.academic-metric small{display:block}.academic-metric b{color:#1b4037;font-size:25px}.academic-metric small{color:#7d8d87}.academic-metric.green>span{color:#2d7b5b;background:#e8f6ed}.academic-metric.orange>span{color:#ba6729;background:#fff0e2}.academic-metric.deep>span{color:#285e54;background:#e5f0ed}.academic-metric.mint>span{color:#4e8574;background:#edf7f3}.pending-section{padding:18px}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading>div{align-items:center;gap:12px;display:flex}.section-heading h3,.section-heading p{margin:0}.section-heading h3{color:#224b41}.section-heading p{color:#83908c;margin-top:3px;font-size:12px}.section-icon{border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.section-icon.orange{color:#c06a2b;background:#fff0e2}.section-icon.green{color:#28715a;background:#e9f6ee}.request-cards,.request-list{gap:12px;display:grid}.request-cards{grid-template-columns:repeat(2,1fr);margin-top:16px}.request-list{padding:18px}.request-card{background:#fbfcfb;border:1px solid #dfe7e2;border-radius:14px;padding:15px}.request-top,.request-card footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.request-top>div{align-items:center;gap:8px;display:flex}.request-top time{color:#99a39f;font-size:10px}.request-route{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:13px 0;display:grid}.request-route>.anticon{color:#dd8040}.request-route>span{background:#f1f6f3;border-radius:10px;padding:10px}.request-route small,.request-route b,.request-route em{display:block}.request-route small{color:#81918b}.request-route b{color:#244b41;margin:3px 0}.request-route em{color:#63756f;font-size:11px;font-style:normal}.request-card>p{color:#677973;margin:9px 0}.request-card footer{border-top:1px solid #e4eae7;padding-top:10px}.request-card footer>span{color:#47665e;font-weight:700}.request-card footer>div{gap:8px;display:flex}.maintenance-header{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.maintenance-header h3,.maintenance-header p{margin:0}.maintenance-header p{color:#7f8e89;margin-top:4px;font-size:12px}.maintenance-header .ant-select{min-width:220px}.maintenance-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.teacher-schedule-tip{color:#2f705c;background:#f0f9f4;border:1px solid #c9e4d6;border-radius:12px;padding:11px 15px;box-shadow:0 7px 18px #2969520a}.teacher-schedule-tip .anticon{margin-right:8px}.admin-dispatch-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;display:grid}.admin-dispatch-main{flex-direction:column;gap:12px;min-width:0;display:flex}.dispatch-inspector{flex-direction:column;gap:15px;min-height:560px;padding:18px;display:flex;position:sticky;top:16px}.inspector-empty{text-align:center;color:#7b8d86;place-content:center;justify-items:center;min-height:500px;padding:30px;display:grid}.inspector-empty>.anticon{color:#4d8977;background:#eaf5ef;border-radius:22px;place-items:center;width:66px;height:66px;font-size:26px;display:grid}.inspector-empty h3{color:#2a5147;margin:18px 0 7px}.inspector-empty p{max-width:240px;margin:0;line-height:1.75}.inspector-title{color:#fff;background:linear-gradient(135deg,#245e52,#337c6b);border-radius:18px 18px 0 0;margin:-18px -18px 0;padding:18px}.inspector-title span,.inspector-title b{display:block}.inspector-title span{color:#c9e0d8;font-size:12px}.inspector-title b{margin-top:4px;font-size:17px}.move-to-tray{color:#b46228;background:#fff5e9;border-color:#efb37f;height:42px}.inspector-primary-actions{gap:8px;display:grid}.inspector-primary-actions>.ant-btn:first-child{color:#28685d;background:#eff8f3;border-color:#9fc9ba;height:42px}.direct-swap-guide{color:#285e53;background:linear-gradient(100deg,#edf9f2,#f7fbf9);border:1px solid #aad2bf;border-radius:13px;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 7px 18px #28685d0f}.direct-swap-guide>.anticon{font-size:20px}.direct-swap-guide>div{flex:1;min-width:0}.direct-swap-guide b,.direct-swap-guide span{display:block}.direct-swap-guide span{color:#71837c;margin-top:2px;font-size:11px}.inspector-section{gap:12px;padding-top:4px;display:grid}.inspector-section h4{color:#284e44;margin:0}.inspector-section label>span{color:#667871;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.inspector-section .ant-select{width:100%}.teacher-recommendation{border:1px solid;border-radius:13px;padding:12px}.teacher-recommendation>b,.teacher-recommendation>span{display:block}.teacher-recommendation>b{margin-bottom:9px;font-size:12px}.teacher-recommendation>span{color:#899690;font-size:11px}.teacher-recommendation>div{flex-wrap:wrap;gap:6px;display:flex}.teacher-recommendation button{font:inherit;cursor:pointer;background:#fff;border:1px solid;border-radius:7px;padding:4px 9px;font-size:11px}.teacher-recommendation.green{color:#2a7753;background:#f0faf4;border-color:#bfe2cd}.teacher-recommendation.green button{color:#26754f;border-color:#8fd1aa}.teacher-recommendation.blue{color:#356fa1;background:#f1f7fc;border-color:#c6dced}.teacher-recommendation.blue button{color:#326e9e;border-color:#a9cce6}.teacher-recommendation button.active{color:#fff;background:#d77e3b;border-color:#d77e3b;box-shadow:0 4px 10px #d77e3b33}.staging-tray{background:linear-gradient(#fffaf5,#fff);border-color:#efd1b5;overflow:hidden}.staging-tray.placing{box-shadow:0 0 0 3px #e0894426,0 14px 36px #533e2a14}.staging-tray.accepting{cursor:pointer;border-color:#e79648;box-shadow:0 0 0 3px #e7964824,0 14px 36px #533e2a14}.staging-tray.accepting .tray-empty{color:#a65520;background:#fff6eb;font-weight:700}.staging-heading{border-bottom:1px solid #f0dfcf;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.staging-heading>div{align-items:center;gap:12px;display:flex}.staging-heading>div:first-child>span{color:#b6652c;background:#fff0e1;border-radius:13px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.staging-heading{flex-wrap:wrap}.staging-heading>div:last-child{flex-shrink:0}.staging-heading h3,.staging-heading p{margin:0}.staging-heading h3{color:#6b3c20}.staging-heading p{color:#9a7458;margin-top:3px;font-size:11px}.tray-empty{color:#a48065;text-align:center;padding:25px 18px}.tray-courses{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:10px 14px;display:grid}.tray-course{text-align:center;min-width:0}.tray-course .lesson-cell{width:100%;min-height:110px;padding-top:24px}.tray-course>p{color:#71817b;margin:8px 0 2px;font-size:11px}.swap-dialog label .ant-select{width:100%}.tray-footer{border-top:1px solid #f0dfcf;grid-template-columns:1fr auto;gap:12px;padding:14px 18px 18px;display:grid}.admin-adjustment{flex-direction:column;gap:18px;display:flex}.admin-adjustment label .ant-select{width:100%}.ranking-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.ranking{padding:18px}.ranking h3{color:#254d43;margin:0 0 14px}.ranking-row{grid-template-columns:24px minmax(80px,120px) 1fr 40px;align-items:center;gap:9px;margin:10px 0;display:grid}.ranking-row em{color:#b86a32;background:#fff0e4;border-radius:7px;place-items:center;width:21px;height:21px;font-size:10px;font-style:normal;display:grid}.ranking-row span{color:#526861;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranking-row i{background:#edf2ef;border-radius:8px;height:7px;overflow:hidden}.ranking-row i b{border-radius:inherit;background:linear-gradient(90deg,#4d9179,#e59a58);height:100%;display:block}.ranking-row strong{color:#71817b;font-size:11px}.patrol-page-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.patrol-page-heading>div{text-align:right;background:#fff;border:1px solid #dbe5df;border-radius:12px;padding:12px 16px;box-shadow:0 7px 18px #2749400d}.patrol-page-heading>div span,.patrol-page-heading>div b{display:block}.patrol-page-heading>div span{color:#81908b;font-size:10px}.patrol-page-heading>div b{color:#28564b;margin-top:3px}.patrol-toolbar{grid-template-columns:repeat(5,minmax(125px,1fr)) auto;align-items:end;gap:12px;padding:18px;display:grid}.patrol-field>span:first-child{color:#64766f;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.patrol-field .ant-select,.patrol-field .ant-input-number{width:100%}.patrol-results{padding:20px}.patrol-cards{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;display:grid}.patrol-card{background:#fff;border:1px solid #dce5e0;border-radius:15px;min-height:165px;padding:16px;position:relative;overflow:hidden}.patrol-card:before{content:"";background:#387d6a;width:4px;position:absolute;top:0;bottom:0;left:0}.patrol-card.changed{background:#fff8f1;border-color:#efc299}.patrol-card.changed:before{background:#e58c44}.patrol-card>div{justify-content:space-between;align-items:center;display:flex}.patrol-card h3{color:#1d5145;margin:22px 0 15px;font-size:20px}.patrol-card p{color:#687b74;margin:7px 0}.patrol-card p .anticon{color:#4a8172;width:20px}@media (width<=1200px){.schedule-toolbar,.week-publish{grid-template-columns:1fr 1fr}.academic-stats,.patrol-toolbar{grid-template-columns:repeat(2,1fr)}.patrol-cards{grid-template-columns:repeat(3,1fr)}.admin-dispatch-layout{grid-template-columns:1fr}.dispatch-inspector{min-height:auto;position:static}.inspector-empty{min-height:220px}.tray-courses{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.schedule-toolbar,.week-publish,.academic-stats,.request-cards,.ranking-grid,.patrol-toolbar{grid-template-columns:1fr}.schedule-heading{align-items:flex-start}.schedule-heading h1{font-size:22px}.timetable-grid{grid-template-columns:78px repeat(5,128px)}.patrol-cards{grid-template-columns:1fr}.maintenance-header,.maintenance-actions,.patrol-page-heading{flex-direction:column;align-items:stretch}.maintenance-actions .ant-select{width:100%}.tray-courses,.tray-footer{grid-template-columns:1fr}.native-select{min-height:46px;font-size:16px}.schedule-center-stack{gap:14px}.schedule-heading{gap:12px}.schedule-heading>span{border-radius:13px;flex-shrink:0;width:42px;height:42px;font-size:20px}.schedule-heading>div{min-width:0}.schedule-heading small{font-size:9px}.schedule-heading p{font-size:13px;line-height:1.7}.current-schedule-toolbar{gap:12px;padding:14px}.current-schedule-toolbar .active-schedule-title b{white-space:normal;overflow-wrap:anywhere}.dimension-switch button{flex:1;min-height:42px}.current-schedule-toolbar>.ant-btn,.patrol-toolbar>.ant-btn{min-height:46px}.request-search{flex-wrap:wrap;padding:16px}.request-search>label{width:100%}.request-search .teacher-name-input{flex:180px;max-width:none}.maintenance-actions .native-select{width:100%}.patrol-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.patrol-toolbar>:nth-child(3),.patrol-toolbar>.ant-btn{grid-column:1/-1}.patrol-page-heading>div{text-align:left;padding:10px 14px}.patrol-results{padding:16px}.timetable-title{flex-wrap:wrap;gap:8px;padding:14px}.timetable-title>div:last-child{text-align:left}.timetable-title h3{font-size:20px}.timetable-grid{overscroll-behavior-x:auto;-webkit-overflow-scrolling:touch}.query-welcome{min-height:300px}.query-welcome-icon{margin-bottom:18px;padding:16px;font-size:28px}}.title-save-control{gap:6px;min-height:44px;display:flex}.title-save-control .ant-btn{height:44px}.publish-week b,.publish-week small{line-height:1.7;display:block}.publish-week b{white-space:nowrap;font-size:11px}.publish-week small{font-size:11px}@media (width<=1420px){.admin-dispatch-layout{grid-template-columns:1fr}.dispatch-inspector{min-height:auto;position:static}.inspector-empty{padding:25px}}.admin-dispatch-layout.no-selection{grid-template-columns:1fr}.admin-dispatch-layout.no-selection .dispatch-inspector{display:none}.teacher-search-matches{padding:22px}.teacher-search-matches h3{margin:0 0 8px}.teacher-search-matches p{color:#718078;margin:0 0 16px}.teacher-search-matches>div{flex-wrap:wrap;gap:12px;display:flex}.teacher-search-matches button{white-space:normal;max-width:100%;min-height:44px}.timetable-wrap{overflow:clip}.timetable-grid{overscroll-behavior:auto;isolation:isolate;touch-action:pinch-zoom;scrollbar-width:thin;max-height:min(68dvh,680px);padding:8px;scroll-padding:54px 0 0 94px;display:block;overflow:auto}.timetable-grid[data-dragging]{-webkit-user-select:none;user-select:none}.timetable-grid[data-dragging] .lesson-cell{cursor:grabbing}.timetable-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:666px;min-width:100%}.timetable-table .period-width{width:86px}.timetable-table th,.timetable-table td{vertical-align:middle;padding:4px}.timetable-table .grid-head{z-index:5;background:#f5f8f6;border:0;border-radius:0;height:46px;min-height:0;font-size:16px;display:table-cell;position:sticky;top:0;box-shadow:0 -8px #f5f8f6}.timetable-table .grid-head>div{background:#edf4f0;border:1px solid #dde7e1;border-radius:11px;place-items:center;width:100%;min-height:38px;display:grid}.timetable-table .grid-head.corner{z-index:6;left:0;box-shadow:-8px -8px #f5f8f6}.timetable-table .period-cell{z-index:4;background:#f5f8f6;border:0;border-radius:0;height:85px;min-height:0;display:table-cell;position:sticky;left:0;box-shadow:-8px 0 #f5f8f6}.timetable-table .period-cell>div{background:#fbfcfb;border:1px solid #e0e8e3;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%;min-height:77px;display:flex;box-shadow:0 4px 12px #20483e09}.timetable-table .period-cell b{white-space:nowrap;font-size:16px;line-height:22px}.timetable-table .period-cell span{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;font-weight:400;line-height:14px}:is(.timetable-table,.tray-course) .lesson-cell{border-radius:13px;gap:5px;width:100%;min-height:77px;padding:9px 7px}:is(.timetable-table,.tray-course) .lesson-cell b{overflow-wrap:anywhere;font-size:15px;line-height:21px}:is(.timetable-table,.tray-course) .lesson-cell span{overflow-wrap:anywhere;font-size:12px;line-height:17px}:is(.timetable-table,.tray-course) .lesson-cell small{overflow-wrap:anywhere;border-radius:12px;max-width:100%;padding:0 6px;font-size:9px;line-height:13px;position:static}:is(.timetable-table,.tray-course) .lesson-cell.changed{background:linear-gradient(150deg,#fff0de,#fff6eb);gap:2px}:is(.timetable-table,.tray-course) .lesson-cell.changed:before{content:"";border-top:8px solid #cf8948;border-left:8px solid #0000;border-radius:0 10px 0 0;position:absolute;top:0;right:0}:is(.timetable-table,.tray-course) .lesson-cell.selected{background:#eaf2ff}:is(.timetable-table,.tray-course) .lesson-cell.available{background:#eaf8ef;gap:2px}:is(.timetable-table,.tray-course) .lesson-cell.conflict{background:#fff2f2;gap:2px}:is(.timetable-table,.tray-course) .lesson-cell.available:after,:is(.timetable-table,.tray-course) .lesson-cell.conflict:after{font-size:9px;line-height:13px;position:static}:is(.timetable-table,.tray-course) .lesson-cell.drop-ready{background:repeating-linear-gradient(-45deg,#eefaf3,#eefaf3 8px,#e2f5e9 8px 16px)}:is(.timetable-table,.tray-course) .lesson-cell:not(:disabled):hover{transform:none}.timetable-scroll-hint{color:#86968e;border-top:1px solid #e3eae6;padding:10px 16px;font-size:11px}@media (width<=760px){.timetable-table{width:636px}}.class-matrix-page{flex-direction:column;gap:18px;display:flex}.class-matrix-heading{align-items:center;gap:16px;padding:8px 2px 2px;display:flex}.class-matrix-icon{color:#fff;background:linear-gradient(145deg,#28685d,#438574);border-radius:17px;flex:none;place-items:center;width:52px;height:52px;font-size:22px;display:grid;box-shadow:0 10px 24px #28685d38}.class-matrix-heading small{color:#d97b35;letter-spacing:.14em;font-size:11px;font-weight:800}.class-matrix-heading h1{color:#173b33;margin:2px 0 3px;font-size:26px}.class-matrix-heading p{color:#73837e;margin:0}.class-matrix-toolbar{background:#fff;border:1px solid #dbe5df;border-radius:17px;grid-template-columns:minmax(230px,1fr) minmax(220px,320px) auto;align-items:end;gap:16px;padding:16px 18px;display:grid;box-shadow:0 10px 28px #20483e0e}.class-matrix-toolbar>div span,.class-matrix-toolbar>div b,.class-matrix-toolbar label>span{display:block}.class-matrix-toolbar>div span,.class-matrix-toolbar label>span{color:#73847d;margin-bottom:6px;font-size:11px;font-weight:700}.class-matrix-toolbar>div b{color:#27554a;font-size:16px}.class-matrix-toolbar .ant-select{width:100%}.class-matrix-panel{background:#fff;border:1px solid #d7e2dc;border-radius:22px;padding:18px;overflow:hidden;box-shadow:0 18px 42px #1c493d16}.class-matrix-summary{background:linear-gradient(105deg,#eef7f2,#fff8ef);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:13px 15px;display:flex}.class-matrix-summary>div{align-items:baseline;gap:7px;display:flex}.class-matrix-summary b{color:#28685d;font-size:24px}.class-matrix-summary span,.class-matrix-summary p{color:#72837c}.class-matrix-summary p{margin:0;font-size:12px}.class-matrix-panel .ant-table{border-radius:15px}.class-matrix-panel .ant-table-container{border:1px solid #dce5e0;border-radius:15px;overflow:hidden}.class-matrix-panel .ant-table-thead>tr>th{color:#2d5148;background:#f0f6f2;border-bottom-color:#d8e3dd;font-weight:800}.class-matrix-panel .ant-table-tbody>tr>td{background:#fff;border-bottom-color:#e7ece9;height:70px}.class-matrix-panel .ant-table-tbody>tr:hover>td{background:#f8fbf9!important}.class-matrix-panel .ant-table-cell-fix-left{background:#fbfdfc!important}.class-matrix-panel .ant-select{width:100%}.matrix-column-title{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.matrix-column-title .anticon{color:#4c8a77}.matrix-class-name b,.matrix-class-name span{display:block}.matrix-class-name b{color:#244b42;font-size:14px}.matrix-class-name span{color:#97a29e;margin-top:3px;font-size:10px}.matrix-teacher-cell{flex-wrap:wrap;gap:5px;display:flex}.matrix-teacher-cell .ant-btn{height:auto;padding:0}.matrix-teacher-cell .ant-tag{color:#2b6e58;cursor:pointer;background:#eef8f2;border-color:#bcdccb;border-radius:8px;margin:0}.matrix-empty{color:#b4beb9;text-align:center;display:block}.matrix-editor-help{color:#60766e;margin-top:0;line-height:1.7}.class-matrix-loading{place-items:center;min-height:320px;display:grid}@media (width<=800px){.class-matrix-toolbar{grid-template-columns:1fr}.class-matrix-summary{flex-direction:column;align-items:flex-start}}.query-screen{color:#d9eaf2;background:radial-gradient(at 48% 0,#133d49 0%,#0a202c 38%,#071620 82%);min-height:100vh;padding:26px 34px 18px;font-family:Microsoft YaHei UI,sans-serif}.screen-header{border-bottom:1px solid #285060;justify-content:space-between;align-items:center;gap:24px;padding-bottom:20px;display:flex}.screen-brand{align-items:center;gap:15px;display:flex}.screen-brand>span{color:#a5f7e4;background:#194b51;border:1px solid #57cdb6;border-radius:14px;place-items:center;width:48px;height:48px;font-size:25px;display:grid}.screen-brand small{letter-spacing:3px;color:#6bbebf;font-size:10px}.screen-brand h1{letter-spacing:3px;margin:5px 0 0;font-size:25px;font-weight:600}.screen-clock{text-align:right;flex-direction:column;gap:4px;margin-left:auto;display:flex}.screen-clock b{letter-spacing:3px;font-family:Consolas,monospace;font-size:26px;font-weight:400}.screen-clock span{color:#86a5b6;font-size:11px}.screen-actions{gap:8px;display:flex}.screen-actions button,.screen-actions a{color:#a5c9d5;cursor:pointer;background:#102e3c;border:1px solid #305361;border-radius:8px;place-items:center;width:35px;height:35px;display:grid}.screen-actions button:hover,.screen-actions a:hover{color:#fff;border-color:#66dfc5}.screen-status{color:#739baa;justify-content:space-between;padding:16px 0;font-size:11px;display:flex}.screen-status i{background:#7fddbd;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block;box-shadow:0 0 9px #7fddbd}.screen-metrics{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.screen-metrics article{background:linear-gradient(110deg,#113341a8,#11273388);border:1px solid #28505e;border-radius:12px;padding:18px 22px 20px;position:relative;overflow:hidden}.screen-metrics article:after{content:"";border:1px solid #30616b55;border-radius:50%;width:110px;height:110px;position:absolute;bottom:-36px;right:-32px}.screen-metrics small{color:#609bad;letter-spacing:2px;font-size:9px}.screen-metrics h2{color:#a5c4d2;margin:7px 0 9px;font-size:13px;font-weight:400}.screen-metrics b{color:#e5fff8;letter-spacing:1px;font-family:Consolas,monospace;font-size:37px;font-weight:600}.screen-metrics article:first-child b{color:#77e7d3}.screen-metrics article>span{color:#7095a6;margin-left:10px;font-size:11px}.screen-grid{grid-template-columns:1fr 1.35fr 1fr;gap:18px;display:grid}.screen-panel{background:#10293680;border:1px solid #254754;border-radius:12px;padding:18px 21px}.screen-panel-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.screen-panel-title h2{letter-spacing:1px;margin:0;font-size:14px;font-weight:500}.screen-panel-title h2:before{content:"";background:#65d6c5;border-radius:2px;width:3px;height:12px;margin-right:9px;display:inline-block}.screen-panel-title>span{letter-spacing:1px;color:#65909f;font-size:9px}.screen-ranking{min-height:366px}.screen-rank-row{align-items:center;gap:12px;margin-top:19px;display:flex}.screen-rank-row em{color:#638b9d;font:14px Consolas,monospace}.screen-rank-row:nth-child(-n+4) em{color:#82dece}.screen-rank-row>div{flex:1;min-width:0}.screen-rank-row>div>span{white-space:nowrap;text-overflow:ellipsis;margin-bottom:7px;font-size:11px;display:block;overflow:hidden}.screen-rank-row i{background:#183846;border-radius:2px;height:4px;display:block}.screen-rank-row i b{background:linear-gradient(90deg,#247999,#77deea);border-radius:2px;min-width:2px;height:100%;display:block}.screen-ranking.mint i b{background:linear-gradient(90deg,#247d76,#80e1b7)}.screen-rank-row strong{color:#b4e8ec;font:16px Consolas,monospace}.screen-rank-row small{color:#5c8b9b;margin-left:4px;font:9px sans-serif}.screen-center{grid-template-rows:1.7fr 1fr;gap:18px;display:grid}.screen-trend{gap:14px;height:170px;padding:20px 3px 0;display:flex}.screen-trend>div{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.screen-trend strong{color:#a2ced8;font:11px Consolas}.screen-trend i{border-bottom:1px solid #416370;align-items:flex-end;width:60%;height:100%;display:flex}.screen-trend i b{background:linear-gradient(#73decc,#216172);border-radius:4px 4px 0 0;width:100%;min-height:2px}.screen-trend span{color:#7399a7;font:10px Consolas}.screen-share{justify-content:space-between;margin-top:20px;display:flex}.screen-share>div{align-items:center;gap:18px;display:flex}.screen-share span{color:#8db7c2;font-size:11px}.screen-share b{color:#bcf0e7;font:22px Consolas}.screen-share small{color:#769daa;margin-left:5px;font:10px sans-serif}.screen-share-bar{background:#39838f;border-radius:5px;height:6px;margin-top:15px;overflow:hidden}.screen-share-bar i{background:#8bdcc2;height:100%;display:block}.screen-hourly{margin-top:18px}.screen-hours{align-items:flex-end;gap:9px;height:60px;margin:15px 0 17px;display:flex}.screen-hours>div{flex:1;align-items:flex-end;height:100%;display:flex;position:relative}.screen-hours b{background:#3c8a99;border-radius:3px 3px 0 0;width:100%}.screen-hours>div:hover b{background:#7bdbc9}.screen-hours span{color:#648c9e;font:9px Consolas;position:absolute;bottom:-17px;left:50%;transform:translate(-50%)}.screen-footer{color:#5a8395;justify-content:space-between;gap:20px;margin-top:14px;font-size:10px;line-height:1.7;display:flex}.screen-empty{color:#5b8495;place-items:center;min-height:270px;font-size:12px;display:grid}.screen-error{background:#71462880;border:1px solid #b18554;border-radius:8px;margin-top:12px;padding:10px}.query-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex;background:radial-gradient(at top,#ecf5f0,#fff 65%)!important}.query-welcome-icon{color:#28685d;background:#e1eee7;border:1px solid #cee1d5;border-radius:23px;margin-bottom:23px;padding:20px;font-size:35px;transform:rotate(-5deg)}.query-welcome small{color:#8a9f96;letter-spacing:3px;font-size:10px}.query-welcome h2{color:#264b41;margin:15px 0 5px;font-size:24px}.query-welcome p{color:#7c8984}.query-welcome>div:last-child{color:#5d7b6c;gap:25px;margin-top:15px;font-size:12px;display:flex}.publish-week b{font-size:12px}.publish-week small{color:#82908a}@media (width>=1700px){.query-screen{padding:32px 60px}.screen-ranking{min-height:450px}.screen-trend{height:230px}.screen-rank-row{margin-top:27px}.screen-hours{height:90px}.screen-metrics b{font-size:48px}.screen-metrics article{padding:25px 30px}}@media (width<=1000px){.query-screen{padding:20px}.screen-grid{grid-template-columns:1fr 1fr}.screen-center{grid-area:1/1/auto/-1;grid-template-rows:auto;grid-template-columns:1.5fr 1fr}.screen-metrics b{font-size:28px}.screen-header{flex-wrap:wrap}.screen-brand h1{font-size:20px}.screen-ranking{min-height:280px}}@media (width<=640px){.screen-metrics{grid-template-columns:1fr 1fr;gap:10px}.screen-center,.screen-grid{flex-direction:column;display:flex}.screen-clock{text-align:left;margin-left:0}.screen-brand{width:100%}.screen-actions{margin-left:auto}.screen-status{gap:15px;line-height:1.5}.screen-hours{gap:4px}.screen-hours span{font-size:8px}.screen-footer{flex-direction:column;gap:4px}.query-welcome h2{font-size:19px}.query-welcome{padding:20px}}.feature-page{max-width:1480px;margin:0 auto}.feature-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin:16px 0 24px;display:flex}.feature-heading small{color:#d98232;letter-spacing:.15em;font-weight:800}.feature-heading h1{color:#143f37;margin:5px 0;font-size:30px}.feature-heading p{color:#71817c;margin:0}.feature-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-card,.data-card,.calendar-import{background:#fff;border:1px solid #dbe4df;border-radius:18px;box-shadow:0 12px 32px #1d483e12}.filter-card{grid-template-columns:minmax(240px,1fr) 240px;gap:12px;margin-bottom:16px;padding:16px;display:grid}.student-filters{grid-template-columns:180px 180px 140px 1fr}.data-card{padding:16px}.two-cols{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.permission-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid!important}.role-profile-section{background:#fff;border:1px solid #dbe4df;border-radius:18px;margin-bottom:18px;padding:18px;box-shadow:0 12px 32px #1d483e12}.role-profile-section>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.role-profile-section h2{color:#173f37;margin:0}.role-profile-section header p{color:#71817c;margin:5px 0 0}.role-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.role-profile-grid article{background:linear-gradient(145deg,#f5faf7,#fffaf4);border:1px solid #dce7e1;border-radius:14px;flex-direction:column;gap:12px;min-height:168px;padding:15px;display:flex}.role-profile-grid article>div:first-child{gap:5px;display:grid}.role-profile-grid article b{color:#24584d;font-size:16px}.role-profile-grid article small{color:#74857f;line-height:1.55}.role-permission-tags{flex-wrap:wrap;flex:1;align-content:flex-start;gap:4px;display:flex}.role-permission-tags .ant-tag{margin:0}.role-profile-grid article>.ant-btn{align-self:flex-start}.inherited-permissions{background:#f2f8f5;border:1px solid #cfe2d9;border-radius:13px;margin-bottom:18px;padding:13px 15px}.inherited-permissions>b{color:#285e52;margin-bottom:9px;display:block}.inherited-permissions>div{color:#7a8984;flex-wrap:wrap;gap:5px;display:flex}.inherited-permissions .ant-tag{margin:0}.role-editor-permissions{margin-top:18px}.student-detail{grid-template-columns:repeat(3,1fr);gap:10px;max-height:580px;display:grid;overflow:auto}.info-cell{background:#f5f8f6;border-radius:12px;flex-direction:column;padding:12px;display:flex}.info-cell span{color:#7b8984;font-size:12px}.info-cell b{word-break:break-all;margin-top:5px}.student-editor{padding-top:4px}.student-profile-banner{background:linear-gradient(135deg,#edf7f2,#fffaf4);border:1px solid #d9e7e1;border-radius:15px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:16px 18px;display:flex}.student-profile-banner div{flex-direction:column;gap:4px;display:flex}.student-profile-banner small{color:#6e817a}.student-profile-banner b{color:#1b4c42;font-size:20px}.student-form-grid{grid-template-columns:repeat(3,1fr);gap:0 16px;padding:8px 2px;display:grid}.student-form-grid .ant-form-item{margin-bottom:16px}.sensitive-grid{max-height:500px;padding-right:8px;overflow:auto}.calendar-import{grid-template-columns:1.2fr 1fr 1.5fr 1.5fr auto;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.calendar-import .ant-form-item{margin:0}.calendar-file-field{flex-direction:column;gap:8px;min-width:0;display:flex}.calendar-file-field>span{color:#415d56;font-size:12px}.calendar-file-field .ant-btn{text-overflow:ellipsis;overflow:hidden}.calendar-loading{place-items:center;min-height:260px;display:grid}.calendar-months{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.calendar-month{background:#fff;border:1px solid #dbe4df;border-radius:18px;padding:18px;box-shadow:0 12px 28px #1d483e0f}.calendar-month h3{margin:0 0 12px}.week-head,.day-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.week-head span{text-align:center;color:#71817c;font-size:12px}.day-grid i{min-height:52px}.day-grid button{cursor:pointer;border:0;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:52px;display:flex}.day-grid button:disabled{cursor:default}.day-grid .school-day{color:#246759;background:#e8f5ee}.day-grid .holiday{color:#a45047;background:#fceceb}.day-grid span{font-size:10px}.mentor-filters{background:#fff;border:1px solid #dbe4df;border-radius:16px;grid-template-columns:1.2fr 1fr .8fr .8fr 1fr;gap:10px;margin-bottom:14px;padding:14px;display:grid;box-shadow:0 10px 26px #1d483e0f}.mentor-progress-table{margin-top:14px}.mentor-name-list{align-items:flex-start;gap:8px;line-height:1.8;display:flex}.mentor-name-list .ant-tag{flex:none;margin-top:2px}.mentor-detail-page>.ant-btn{margin-top:16px}.mentor-detail-page .feature-heading{margin-top:18px}.mentor-student-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.mentor-student-grid article{border:1px solid;border-radius:18px;padding:18px;box-shadow:0 12px 28px #1d483e12}.mentor-student-grid article.completed{background:#edf8f1;border-color:#c8e6d3}.mentor-student-grid article.incomplete{background:#fff1ef;border-color:#efd0cb}.mentor-student-grid header{justify-content:space-between;align-items:center;gap:12px;display:flex}.mentor-student-grid header b{color:#173f37;font-size:20px}.mentor-student-grid dl{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0;display:grid}.mentor-student-grid dl div{background:#ffffffad;border-radius:11px;padding:10px}.mentor-student-grid dt{color:#71817c;font-size:11px}.mentor-student-grid dd{color:#294a43;margin:4px 0 0;font-weight:700}.designer-meta{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.form-studio{grid-template-columns:220px 1fr 280px;gap:14px;min-height:600px;display:grid}.form-studio>aside,.form-studio>main{background:#fff;border:1px solid #dbe4df;border-radius:18px;padding:16px;box-shadow:0 12px 28px #1d483e0f}.form-studio aside h3{margin:8px 0 12px}.form-studio aside>button{text-align:left;cursor:pointer;background:#f7faf8;border:1px solid #dbe4df;border-radius:10px;width:100%;margin-bottom:7px;padding:9px}.form-studio aside button small{float:right}.form-studio main>button{text-align:left;background:#fff;border:1px solid #dbe4df;border-radius:13px;width:100%;margin:10px 0;padding:16px;display:block}.form-studio main>button.selected{border-color:#e49446;box-shadow:0 0 0 3px #fbe8d6}.form-studio main>button .ant-input{margin-top:9px}.designer-empty{color:#8a9893;border:2px dashed #dbe4df;border-radius:14px;place-items:center;min-height:420px;display:grid}.call-layout{grid-template-columns:480px 1fr;gap:18px;display:grid}.call-compose{flex-direction:column;gap:14px;display:flex}.capability{background:#f4f8f5;border-radius:12px;grid-template-columns:auto 1fr;gap:3px 8px;padding:12px;display:grid}.capability i{background:#aab5b1;border-radius:50%;width:10px;height:10px;margin-top:5px}.capability i.online{background:#3da56f;box-shadow:0 0 0 4px #dff4e8}.capability span{color:#71817c;grid-column:2}.muted-tip{color:#9a6c41;margin:0}.capture-view{background:#122f2a;border-radius:20px;place-items:center;min-height:510px;display:grid;overflow:hidden;box-shadow:0 18px 42px #133a3233}.capture-view img{object-fit:contain;width:100%;height:100%}.capture-view div{color:#dfece8;text-align:center;flex-direction:column;gap:8px;display:flex}.capture-view span{color:#8eb0a7}.bound-classroom{background:linear-gradient(135deg,#e8f5ef,#f8fcfa);border:1px solid #bdd7cc;border-radius:13px;gap:4px;padding:15px 17px;display:grid}.bound-classroom span,.bound-classroom small{color:#71857e}.bound-classroom b{color:#1f5c50;font-size:18px}.classroom-volume{background:#f8fbf9;border:1px solid #d7e6df;border-radius:13px;grid-template-columns:1fr auto;align-items:center;gap:0 14px;padding:13px 15px;display:grid}.classroom-volume b{color:#245e52;grid-column:1/-1}.classroom-volume .ant-slider{margin:12px 0 8px}.classroom-volume .ant-slider-track{background:#2f8b70}.classroom-volume .ant-slider-handle:after{box-shadow:0 0 0 2px #2f8b70}.call-recipient-panel{background:linear-gradient(135deg,#edf7f2,#fbfdfc);border:1px solid #c7ddd3;border-radius:14px;gap:10px;padding:14px 15px;display:grid}.call-recipient-panel>b{color:#245e52}.call-history{margin-top:18px}.call-history>header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.call-history h2{color:#173f37;margin:0;font-size:21px}.call-history p{color:#71817c;margin:5px 0 0}.call-history>header .ant-select{width:260px}@media (width<=1100px){.mentor-filters,.calendar-import{grid-template-columns:1fr 1fr}.calendar-months,.call-layout{grid-template-columns:1fr}.student-filters{grid-template-columns:1fr 1fr}.form-studio{grid-template-columns:1fr}.permission-grid,.student-detail,.student-form-grid,.role-profile-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.role-profile-grid{grid-template-columns:1fr}}.priority-filters{grid-template-columns:minmax(220px,.8fr) minmax(220px,.8fr) minmax(360px,1.4fr);align-items:center;gap:14px;display:grid}.priority-summary{color:#62756e;justify-content:flex-end;align-items:center;gap:10px;min-height:44px;display:flex}.priority-summary b{color:#276d60;font-size:24px}@media (width<=1000px){.priority-filters{grid-template-columns:1fr}.priority-summary{flex-wrap:wrap;justify-content:flex-start}}.app-shell{min-height:100vh}.topbar{z-index:20;background:#fff;border-bottom:1px solid #dfe8e2;align-items:center;gap:40px;height:84px;padding:0 32px;display:flex;position:sticky;top:0}.brand{color:#1d4339;white-space:nowrap;align-items:center;gap:12px;text-decoration:none;display:flex}.brand>span{color:#fff;background:#28685d;border-radius:13px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:700;display:grid}.brand b{letter-spacing:1px;font-size:21px}.brand em{color:#748b82;border:1px solid #dce5df;border-radius:5px;padding:3px 6px;font-size:11px;font-style:normal}.topbar nav{flex:1;align-self:stretch;gap:26px;display:flex}.topbar nav a{color:#77877f;border-bottom:3px solid #0000;align-items:center;gap:8px;font-size:15px;text-decoration:none;display:flex}.topbar nav a.active{color:#28685d;border-color:#28685d;font-weight:700}.user-actions{align-items:center;gap:12px;font-size:13px;display:flex}.workspace{grid-template-columns:204px minmax(0,1fr);min-height:calc(100vh - 84px);display:grid}.workspace aside{background:#fafcf9;border-right:1px solid #e1e8e3;flex-direction:column;gap:7px;padding:32px 18px;display:flex}.workspace aside>small{color:#899991;letter-spacing:2px;padding:0 14px 18px;font-size:11px}.workspace aside>a{color:#536d62;border-radius:9px;padding:13px 16px;font-size:14px;text-decoration:none}.workspace aside>a.active{color:#246149;background:#e3efe7;font-weight:700}.side-note{color:#8c9a92;border-top:1px solid #e2e8e1;margin-top:auto;padding:22px 14px 8px;font-size:12px;line-height:1.9}.page-body{width:100%;min-width:0;max-width:1800px;padding:30px 34px}.page-title h1{margin:0 0 9px;font-size:27px}.page-title p{color:#7c8c82;margin:0 0 24px;font-size:14px}.plain-card{background:#fff;border:1px solid #e0e7df;border-radius:16px;margin-bottom:20px;padding:24px}.plain-card h3{margin-top:0}.settings-row{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.period-row{grid-template-columns:70px 160px 150px 24px 150px 80px;align-items:center;gap:14px;margin:12px 0;display:grid}.setup-empty{text-align:center;background:#fff;border:1px solid #e0e7df;border-radius:18px;padding:85px 24px}.setup-empty>span{color:#28685d;font-size:40px}.setup-empty p{color:#7a8a81}.import-section-navigation a{color:#647b6e;background:#fff;border-radius:8px;margin-right:12px;padding:12px 20px;text-decoration:none;display:inline-block}.import-section-navigation a.active{color:#28685d;background:#e2eee6}.login-page{background:radial-gradient(at 8% 20%,#e1eee1 0%,#0000 58%),#f5f7f2;grid-template-columns:minmax(400px,1fr) 450px;align-items:center;gap:9vw;min-height:100vh;padding:90px 10vw;display:grid;position:relative}.login-intro .brand{margin-bottom:70px}.login-intro>small{letter-spacing:4px;color:#6b947d;font-size:11px}.login-intro h1{letter-spacing:3px;margin:20px 0;font-size:52px;font-weight:600;line-height:1.45}.login-intro p{color:#6e8576;font-size:15px;line-height:2.1}.login-points{color:#547c65;gap:22px;margin-top:36px;font-size:12px;display:flex}.login-points span:before{content:"●";color:#7caa8c;margin-right:8px;font-size:8px}.login-card{background:#fff;border:1px solid #e2e9dd;border-radius:22px;padding:40px;box-shadow:0 20px 70px #1d44220b}.login-card h2{margin:0 0 10px;font-size:26px}.login-card>p{color:#8b978c;font-size:13px}.login-card>small{color:#99a49a;margin-top:24px;font-size:12px;line-height:1.8;display:block}.login-card .ant-alert{margin-bottom:16px}.entry-tabs{background:#f5f7f2;border-radius:9px;justify-content:space-between;margin:27px 0;padding:5px;display:flex}.entry-tabs a{color:#7a8c7c;border-radius:6px;gap:6px;padding:10px;font-size:13px;text-decoration:none;display:flex}.entry-tabs a.active{color:#28685d;background:#fff;box-shadow:0 2px 7px #1231}.login-page footer{color:#91a08f;font-size:12px;position:absolute;bottom:30px;left:10vw}.login-card .ant-form-item{margin-bottom:22px}.login-card .ant-btn{height:46px;margin-top:6px}@media (width<=1000px){.topbar{gap:18px;padding:0 16px}.brand em{display:none}.workspace{grid-template-columns:165px minmax(0,1fr)}.page-body{padding:24px 20px}.login-page{grid-template-columns:1fr 400px;gap:5vw;padding:50px 5vw}.login-intro h1{font-size:40px}}@media (width<=700px){.topbar{flex-wrap:wrap;gap:15px;height:auto;padding:16px}.topbar nav{order:3;flex:unset;justify-content:space-around;width:100%;height:40px}.user-actions{gap:2px;margin-left:auto}.user-actions>span{display:none}.workspace{display:block}.workspace aside{flex-direction:row;padding:12px;overflow:auto}.workspace aside>small,.side-note{display:none}.workspace aside>a{white-space:nowrap}.page-body{padding:20px 12px}.login-page{padding:35px 20px 75px;display:block}.login-intro .brand{margin-bottom:25px}.login-intro h1{margin:12px 0;font-size:32px}.login-intro p,.login-points,.login-intro>small{display:none}.login-card{margin-top:26px;padding:28px}.login-page footer{left:20px}.period-row{grid-template-columns:40px 1fr 110px;gap:8px}.plain-card{padding:16px;overflow:auto}}.access-links{max-width:1000px;padding:28px}.access-links>p{color:#71817b}.access-links article{border-top:1px solid #e2eae6;justify-content:space-between;align-items:center;gap:20px;padding:18px 0 6px;display:flex}.access-links article h3{margin:0}.access-links article p{color:#71817b;margin:6px 0}.access-links article a{white-space:nowrap;color:#28685d}.topbar nav{align-items:center}.access-links>label{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.access-links>label .ant-select{min-width:320px}@media (width<=700px){.topbar{gap:8px 12px;min-height:66px;padding:12px 16px}.topbar nav{display:none}.topbar .brand{gap:10px}.topbar .brand b{letter-spacing:0;font-size:19px}.topbar .school-emblem{width:38px;height:38px}.topbar .public-user{display:none}.topbar .user-actions{flex-wrap:wrap;gap:4px}.workspace aside{overscroll-behavior-x:contain;gap:6px;padding:8px 12px}.workspace aside>a{min-height:42px;padding:11px 13px}.page-body{padding:16px 12px}.access-links{padding:18px}.access-links>label .ant-select{width:100%;min-width:0}.access-links article{align-items:flex-start;gap:12px}.access-links article>div{overflow-wrap:anywhere;min-width:0}.login-card{padding:24px 20px}}
/*$vite$:1*/