:root{color:#283447;background:#f5f7fa;font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.app{min-height:100vh;display:flex}.sidebar{background:#f0f3f7;border-right:1px solid #e5e9ef;flex-direction:column;flex:none;width:240px;display:flex}.brand{text-align:center;border-bottom:1px solid #e0e5eb;height:140px;padding:21px}.brand img{object-fit:contain;width:122px;height:44px;margin:auto;display:block}.brand b{margin-top:7px;font-size:14px;display:block}.brand small{color:#a2acbb;margin-top:12px;font-size:10px;display:block}.sidebar nav p{color:#929eaf;margin:27px 25px 11px;font-size:11px}.sidebar nav button{color:#69778b;cursor:pointer;background:0 0;border:0;border-radius:0 9px 9px 0;align-items:center;gap:14px;width:calc(100% - 24px);height:43px;padding-left:28px;font-size:13px;display:flex}.sidebar nav button svg{width:17px}.sidebar nav button.active{color:#5788dd;background:#fff;border-left:3px solid #6592e0;font-weight:600}.account{border-top:1px solid #dfe4eb;align-items:center;gap:10px;margin-top:auto;padding:18px 14px;display:flex}.account-logo{color:#6793df;border:2px solid #6b96e1;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.account-logo svg{width:20px}.account b,.account small{display:block}.account b{font-size:12px}.account small{color:#9ba6b5;margin-top:4px;font-size:10px}.account>svg{color:#b6bdc7;width:18px;margin-left:auto}main{flex:1;min-width:0}.crumb{color:#9aa5b4;background:#fff;border-bottom:1px solid #e3e7ed;align-items:center;gap:12px;height:61px;padding:0 28px;font-size:12px;display:flex}.crumb i{font-style:normal}.crumb b{color:#293548}.app main>section{padding:24px 28px}.title{justify-content:space-between;align-items:flex-start;height:49px;display:flex}.title h1{margin:1px 0 0;font-size:20px}.primary{color:#fff!important;background:#668dd5!important;border-color:#668dd5!important}.title button{border:0;border-radius:4px;align-items:center;gap:6px;height:32px;padding:0 15px;font-size:12px;display:flex}.title svg,.filter-actions svg{width:14px}.filters{background:#fff;border:1px solid #e1e5eb;border-radius:11px;gap:11px 26px;padding:17px 24px;display:grid;box-shadow:0 1px 2px #1e32460a}.filters.student{grid-template-columns:repeat(5,minmax(165px,1fr))}.filters.class{grid-template-columns:repeat(5,minmax(160px,1fr))}.field{align-items:center;gap:10px;min-width:0;display:flex}.field>span{color:#657286;white-space:nowrap;text-align:right;min-width:58px;font-size:12px}.control{color:#b2bbc7;border:1px solid #d7dde7;border-radius:7px;flex:1;align-items:center;gap:5px;min-width:0;height:30px;padding:0 9px;display:flex}.control input{color:#48566a;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:12px}.control input::placeholder{color:#b2bbc7}.filter-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.filter-actions button,.modal footer button{color:#596578;cursor:pointer;background:#fff;border:1px solid #d8dee7;border-radius:6px;align-items:center;gap:5px;height:32px;padding:0 16px;font-size:12px;display:flex}.table-card{background:#fff;border:1px solid #e0e5eb;border-radius:11px;margin-top:14px;overflow:hidden}.table-scroll{max-height:493px;overflow:auto}.table-card table{border-collapse:collapse;table-layout:auto;width:100%;min-width:1900px}.table-card th,.table-card td{text-align:left;white-space:nowrap;color:#455269;border-bottom:1px solid #e7ebf0;border-right:1px solid #e7ebf0;height:62px;padding:0 24px;font-size:12px}.table-card th{color:#657286;background:#f8fafc;height:42px;font-weight:600}.table-card th:first-child,.table-card td:first-child{text-align:center;width:58px;padding:0}.table-card th:last-child{width:360px}.row-actions{z-index:1;background:#fff;position:sticky;right:0;box-shadow:-8px 0 12px #1e283c0d}.row-actions button{color:#5989da;cursor:pointer;background:0 0;border:0;margin-right:11px;padding:0;font-size:12px}.row-actions button.danger{color:#f15d5d}.status{align-items:center;gap:6px;display:flex}.status i{background:#6690dd;border-radius:9px;width:24px;height:13px;position:relative}.status i:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px;position:absolute;top:2px;right:2px}.table-card>footer{color:#9aa5b5;justify-content:space-between;align-items:center;height:65px;padding:0 24px;font-size:12px;display:flex}.pager{gap:8px;display:flex}.pager button{color:#586577;cursor:pointer;background:#fff;border:1px solid #dce2e9;border-radius:7px;place-items:center;min-width:30px;height:30px;font-size:12px;display:grid}.pager svg{width:14px}.pager button.current{color:#fff;background:#628bd4;border-color:#628bd4}.pager button:disabled{color:#ccd2da}.mask{z-index:10;background:#232b3885;position:fixed;inset:0}.drawer{z-index:11;background:#fff;width:526px;height:100vh;position:fixed;top:0;right:0;box-shadow:-4px 0 15px #0000001a}.drawer header,.modal header{border-bottom:1px solid #e5e8ed;justify-content:space-between;align-items:center;height:66px;padding:0 20px;font-size:14px;display:flex}.drawer header button,.modal header button{color:#5a6573;cursor:pointer;background:0 0;border:0}.drawer header svg,.modal header svg{width:19px}.drawer dl{border:1px solid #e1e5eb;border-bottom:0;grid-template-columns:186px 1fr;margin:20px;display:grid}.drawer dt,.drawer dd{border-bottom:1px solid #e1e5eb;min-height:40px;margin:0;padding:10px 12px;font-size:12px}.drawer dt{background:#f6f8fb;border-right:1px solid #e1e5eb}.modal{z-index:11;background:#fff;border-radius:10px;width:640px;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.modal-form{gap:13px;padding:26px 80px 18px;display:grid}.modal .field>span{width:78px}.modal footer{border-top:1px solid #e6e9ee;justify-content:flex-end;align-items:center;gap:12px;height:72px;padding:0 24px;display:flex}.toast{z-index:30;color:#68a44b;background:#eef7e8;border:1px solid #d5ebc9;border-radius:5px;padding:10px 18px;font-size:12px;position:fixed;top:72px;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #00000014}@media (width<=850px){.sidebar{width:68px}.brand{height:62px;padding:9px}.brand img{width:47px;height:40px}.brand b,.brand small,.sidebar nav p,.sidebar nav button{font-size:0}.sidebar nav p{margin:18px 0 5px}.sidebar nav button{justify-content:center;width:100%;padding:0}.account{padding:12px}.account>div:nth-child(2),.account>svg{display:none}.app main>section{padding:16px}.crumb{padding:0 16px}.filters.student,.filters.class{grid-template-columns:1fr}.drawer{width:min(100%,526px)}.modal{width:calc(100% - 24px)}.modal-form{padding:20px}.title h1{font-size:20px}}.table-card thead th:last-child{z-index:4;background:#f8fafc;width:360px;min-width:360px;position:sticky;right:0;box-shadow:-7px 0 12px #28384e14}.table-card tbody td:last-child{width:360px;min-width:360px}.row-actions{z-index:3;border-left:1px solid #e3e8ef;padding-left:28px!important;padding-right:18px!important}.row-actions button{margin:0 14px 0 0;line-height:32px}.row-actions button:last-child{margin-right:0}.row-actions button:hover{color:#3f74cf;text-decoration:underline}.student-table{min-width:2200px!important}.class-table thead th:last-child,.class-table tbody td:last-child{width:270px;min-width:270px}.class-table .row-actions{padding-left:22px!important;padding-right:12px!important}.class-table .row-actions button{margin-right:12px}.modal-form .field{position:relative}.modal-form .field>span i{color:#ef5b5b;font-style:normal}.modal-form .control{cursor:pointer;position:relative}.modal-form .control.focused{border-color:#6691df;box-shadow:0 0 0 1px #6691df14}.modal-form .control>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal-form .placeholder{color:#b2bbc7}.modal-form .selected{color:#455269}.select-control>svg{width:14px;margin-left:auto;transition:transform .18s}.select-control>svg.rotated{transform:rotate(180deg)}.interactive.disabled .control{color:#c8cdd5;cursor:not-allowed;background:#f3f5f7}.interactive.disabled .placeholder{color:#c1c7d0}.select-menu{z-index:20;background:#fff;border:1px solid #e1e5eb;border-radius:4px;max-height:275px;padding:5px 0;position:absolute;top:35px;left:-1px;right:-1px;overflow-y:auto;box-shadow:0 5px 14px #23324629}.select-menu button{color:#4c586a;text-align:left;cursor:pointer;background:#fff;border:0;width:100%;height:34px;padding:0 14px;font-size:12px}.select-menu button:hover,.select-menu button.chosen{color:#5687d8;background:#f2f6fd}.date-control>svg{flex:none;width:14px}.calendar{z-index:21;background:#fff;border:1px solid #e1e5eb;border-radius:4px;width:322px;padding:12px;position:absolute;top:36px;left:0;box-shadow:0 5px 14px #2332462e}.calendar-head{grid-template-columns:26px 26px 1fr 26px 26px;align-items:center;margin-bottom:10px;display:grid}.calendar-head button,.days button{color:#677487;cursor:pointer;background:0 0;border:0}.calendar-head b{text-align:center;color:#4f5b6b;font-size:14px}.week,.days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.week span{color:#7e8998;height:28px;line-height:28px}.days button{border-radius:4px;height:31px;font-size:12px}.days button:hover:not(:disabled){color:#5484d5;background:#edf3fd}.days button.other{color:#c7ccd4}.days button.today{color:#5d8bd9;font-weight:600}.days button.picked{color:#fff!important;background:#668ed8!important}.days button:disabled{color:#e0e3e8;cursor:not-allowed}.modal-form .field:nth-child(4) .calendar{left:auto;right:0}.modal-form .select-control>span,.modal-form .date-control>span{font-size:12px}.multi-menu button{align-items:center;gap:8px;display:flex}.check-box{color:#fff;border:1px solid #cbd3df;border-radius:3px;place-items:center;width:14px;height:14px;font-size:11px;font-style:normal;display:inline-grid}.multi-menu button.chosen .check-box{background:#668ed8;border-color:#668ed8}.class-detail-drawer{flex-direction:column;width:512px;display:flex}.class-detail-drawer dl{margin:20px 20px 0;overflow:auto}.class-detail-drawer dt{grid-column:1;width:auto}.class-detail-drawer dd{word-break:break-all}.drawer-footer{border-top:1px solid #e6e9ee;justify-content:flex-end;align-items:center;height:64px;margin-top:auto;padding:0 20px;display:flex}.drawer-footer button{color:#596578;cursor:pointer;background:#fff;border:1px solid #d7dde6;border-radius:5px;min-width:62px;height:32px}.manage-drawer{flex-direction:column;width:min(768px,100vw - 80px);display:flex}.manage-body{min-height:0;padding:20px;overflow:auto}.class-summary{border:1px solid #e1e5eb!important;border-bottom:0!important;grid-template-columns:90px 1fr 90px 2fr!important;margin:0!important;display:grid!important}.class-summary dt,.class-summary dd{border-bottom:1px solid #e1e5eb!important;min-height:40px!important;padding:10px 11px!important;font-size:12px!important}.class-summary dt{background:#f6f8fb;border-right:1px solid #e1e5eb}.class-summary dd{text-overflow:ellipsis;white-space:nowrap;border-right:1px solid #e1e5eb;overflow:hidden}.class-summary dt:last-of-type{grid-column:1}.class-summary dd:last-child{grid-column:2/5}.manage-tabs{border-bottom:1px solid #e1e5eb;align-items:flex-end;gap:36px;height:62px;display:flex}.manage-tabs button{color:#303a49;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;height:42px;padding:0;font-size:13px;font-weight:600}.manage-tabs button.active{color:#5a86d1;border-bottom-color:#5f88d1}.tab-pane{padding-top:14px}.pane-action{cursor:pointer;border:0;border-radius:4px;height:32px;padding:0 16px;font-size:12px}.manage-table-scroll{max-height:280px;margin-top:14px;overflow:auto}.manage-table{border-collapse:collapse;table-layout:auto;width:100%;margin-top:14px}.manage-table-scroll .manage-table{min-width:1250px;margin-top:0}.manage-table th,.manage-table td{text-align:left;white-space:nowrap;color:#4a5668;border:1px solid #e5e9ee;height:42px;padding:0 13px;font-size:12px}.manage-table th{color:#657184;background:#f7f9fb;font-weight:600}.manage-table th:first-child,.manage-table td:first-child{text-align:center;width:62px}.manage-actions button{color:#5684d2;cursor:pointer;background:0 0;border:0;margin-right:12px;padding:0;font-size:12px}.manage-actions button.danger{color:#ef6666}.empty{color:#a6afbc;border:1px solid #e5e9ee;border-top:0;place-items:center;height:140px;font-size:12px;display:grid}.manage-pager{color:#9aa5b5;justify-content:space-between;align-items:center;height:57px;padding:0 2px;font-size:12px;display:flex}.manage-pager>div{gap:7px;display:flex}.manage-pager button{color:#c2c9d2;background:#fff;border:1px solid #dce2e9;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.manage-pager svg{width:13px}.manage-pager button.current{color:#fff;background:#628bd4}.course-choice{flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 11px;font-size:12px;display:flex}.course-chip{color:#fff;cursor:pointer;background:#668ed8;border:1px solid #668ed8;border-radius:4px;height:29px;padding:0 12px}.current-course{color:#697587;margin-bottom:12px;font-size:12px}.live-table{min-width:1230px}.live-table input{color:#4a5668;border:1px solid #d7dde6;border-radius:4px;width:130px;height:27px;padding:0 8px;font-size:12px}.live-table input.time-input{width:245px}.live-table select{color:#4a5668;background:#fff;border:1px solid #d7dde6;border-radius:4px;outline:none;width:138px;height:27px;padding:0 25px 0 8px;font-size:12px}.live-table input:focus,.live-table select:focus{border-color:#6691df;box-shadow:0 0 0 1px #6691df14}.live-pane{overflow:auto}.schedule-actions{align-items:center;gap:10px;display:flex}.schedule-select{align-items:center;margin-left:auto;display:flex}.schedule-select select{color:#7f8997;cursor:pointer;background:#fafbfc;border:1px solid #e4e8ee;border-radius:4px;outline:none;width:122px;height:30px;padding:0 25px 0 9px;font-size:12px}.schedule-select select:focus{border-color:#c4cfdd}.schedule-actions .offline{color:#5684d2;cursor:pointer;background:#fff;border:1px solid #668ed8;border-radius:4px;height:32px;padding:0 16px;font-size:12px}.disabled-action{display:inline-flex;position:relative}.disabled-action button{color:#aeb6c2;cursor:not-allowed;background:#f3f5f7;border:1px solid #d9dee7;border-radius:4px;height:32px;padding:0 16px;font-size:12px}.disabled-action:after{content:attr(data-tooltip);z-index:10;color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;background:#303846;border-radius:4px;padding:6px 9px;font-size:12px;line-height:1;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(3px)}.disabled-action:before{content:"";z-index:10;opacity:0;visibility:hidden;border:5px solid #0000;border-top-color:#303846;transition:opacity .15s;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.disabled-action:hover:after,.disabled-action:hover:before{opacity:1;visibility:visible}.disabled-action:hover:after{transform:translate(-50%)translateY(0)}.teaching-mode{white-space:nowrap;border-radius:3px;align-items:center;height:24px;padding:0 8px;font-size:12px;display:inline-flex}.teaching-mode.online{color:#4f7fce;background:#edf4ff;border:1px solid #d8e7ff}.teaching-mode.offline{color:#41866b;background:#edf8f3;border:1px solid #d5eee3}.live-empty{border-top:1px solid #e5e9ee;margin-top:8px}.nested-modal-wrap{z-index:20;background:#232b383d;place-items:center;display:grid;position:fixed;inset:0}.picker-modal{background:#fff;border-radius:8px;flex-direction:column;width:min(870px,100vw - 40px);max-height:82vh;display:flex;overflow:hidden;box-shadow:0 12px 38px #141e322e}.picker-modal header{flex:none;height:58px!important}.picker-modal header svg{width:18px}.picker-filters{background:#fbfcfd;border-bottom:1px solid #edf0f3;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex}.picker-filters label{align-items:center;gap:8px;display:flex}.picker-filters label span{color:#657286;font-size:12px}.picker-filters input{color:#465368;border:1px solid #d7dde7;border-radius:5px;width:148px;height:30px;padding:0 9px;font-size:12px}.picker-filters input:disabled{color:#8f99a8;background:#f1f3f6}.picker-filters button{color:#596578;cursor:pointer;background:#fff;border:1px solid #d8dee7;border-radius:5px;align-items:center;gap:5px;height:30px;padding:0 13px;font-size:12px;display:flex}.picker-filters svg{width:13px}.picker-table-wrap{min-height:200px;padding:0 20px;overflow:auto}.picker-table{min-width:650px;margin-top:16px}.picker-table tbody tr{cursor:pointer}.picker-table tbody tr:hover{background:#f7faff}.picker-table input{accent-color:#668ed8}.picker-modal footer{color:#8e99a8;border-top:1px solid #e5e9ee;justify-content:flex-end;align-items:center;gap:10px;height:62px;padding:0 20px;font-size:12px;display:flex}.picker-modal footer span{margin-right:auto}.picker-modal footer button{color:#596578;cursor:pointer;background:#fff;border:1px solid #d8dee7;border-radius:5px;height:32px;padding:0 16px;font-size:12px}@media (width<=850px){.class-detail-drawer{width:100vw}.class-detail-drawer dl{grid-template-columns:118px 1fr;margin:14px}.manage-drawer{width:100vw}.class-summary{grid-template-columns:78px 1fr!important}.class-summary dt,.class-summary dd,.class-summary dt:last-of-type,.class-summary dd:last-child{grid-column:auto}.manage-body{padding:14px}.manage-tabs{gap:24px}.nested-modal-wrap{left:0}.picker-filters{align-items:flex-start}.picker-modal{width:calc(100vw - 92px)}}
