:root{--primary:#1677ff;--primary-bg:#e6f0ff;--orange:#fa8c16;--orange-bg:#fff7e6;--green:#52c41a;--green-bg:#f6ffed;--danger:#f5222d;--text-main:#333;--text-sub:#666;--text-tip:#999;--line:#e8e8e8;--white:#fff}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{color:var(--text-main);background:var(--white);font-family:PingFang SC,Microsoft YaHei,sans-serif}button,input{font-family:inherit}.icon{flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.icon svg{width:14px;height:14px;display:block}.app-layout,.layout.admin-layout,.layout.teacher-layout{grid-template-rows:64px minmax(0,1fr);grid-template-columns:200px minmax(0,1fr);min-height:100vh;display:grid}.topbar{background:var(--white);grid-column:1/-1;justify-content:space-between;align-items:center;height:64px;padding:0 20px;display:flex}.brand-wrap{align-items:center;gap:16px;display:flex}.brand-main{color:var(--primary);font-size:34px;font-weight:700;line-height:1}.brand-sub{color:var(--text-main);font-size:30px;font-weight:600;line-height:1}.user-wrap{color:var(--text-main);align-items:center;gap:8px;font-size:20px;font-weight:600;display:flex}.user-avatar{background:var(--primary-bg);width:34px;height:34px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.user-avatar-trigger{cursor:pointer;border:none;padding:0}.avatar-upload-control{position:relative}.avatar-file-input{z-index:2;opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-action-control{position:relative;overflow:hidden}.file-action-input{z-index:2;opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.user-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.user-avatar .icon,.user-avatar svg{width:18px;height:18px}.user-down{color:var(--text-tip)}.account-select{border:1px solid var(--line);color:#111;cursor:pointer;background:#fff;border-radius:4px;outline:none;min-width:210px;height:34px;padding:0 28px 0 10px;font-size:16px;font-weight:700}.account-select:focus{border-color:var(--primary)}.sidebar{border-right:1px solid var(--line);background:var(--white);flex-direction:column;justify-content:space-between;padding:18px 12px 14px;display:flex;position:relative}.sidebar-menu,.side-menu{flex-direction:column;gap:10px;display:flex}.menu-item{height:40px;color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:0 12px;font-size:14px;display:flex}.menu-item:hover{background:#f8faff}.menu-item.active{background:var(--primary-bg);color:var(--primary);font-weight:600}.menu-item.active .icon{color:var(--primary)}.collapse-btn{border:1px solid var(--line);background:var(--white);color:#bfbfbf;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.sidebar-logout-btn{color:#9aa3af;background:#fff;border-color:#d0d5dc;width:30px;height:30px;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 1px 2px #0f172a14}.sidebar-logout-btn .icon,.sidebar-logout-btn svg{width:14px;height:14px}.sidebar-logout-btn:hover{color:#5b7fb0;background:#f7faff;border-color:#9fb8df}.main-area,.main{background:#f5f5f5;padding:14px}.page-section,.page-card{background:var(--white);border:1px solid var(--line);border-radius:4px;min-height:calc(100vh - 94px);padding:20px}.page-title{color:var(--text-main);margin:0;font-size:18px;font-weight:700}.section-subtitle{color:var(--text-main);margin:10px 0 0;font-size:18px;font-weight:700}.points-main-title,.teacher-main-title{font-size:22px}.toolbar-row{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.toolbar-left{align-items:center;gap:12px;display:flex}.btn{cursor:pointer;border:1px solid var(--line);background:var(--white);height:34px;color:var(--text-main);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:0 14px;font-size:14px;display:inline-flex;position:relative}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--white)}.btn-default:hover{background:#fafafa;border-color:#d9d9d9}.search-box{border:1px solid var(--line);width:318px;height:34px;color:var(--text-tip);border-radius:4px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-box input{width:100%;color:var(--text-sub);border:none;outline:none;font-size:14px}.search-box input::placeholder{color:var(--text-tip)}.table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:18px}.table thead{display:table-header-group!important}.table tbody{display:table-row-group!important}.table tr{list-style:none!important;display:table-row!important}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;height:52px;color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;padding:0 10px;font-size:14px;overflow:hidden;list-style:none!important;display:table-cell!important}.table thead th{background:var(--white);color:var(--text-main);font-weight:600}.check-col{text-align:center;width:42px;list-style:none;padding-left:0!important;padding-right:0!important;font-size:0!important;line-height:0!important}.check-col input{width:16px;height:16px;margin:0 auto;display:block}.teacher-table{min-width:1260px}.teacher-table .name-col{width:6%}.teacher-table .teacher-no-col{width:8.5%}.teacher-table .college-col,.teacher-table .course-col{width:16%}.teacher-table .lesson-hours-col,.teacher-table .student-count-col{text-align:center;width:7.5%}.teacher-table .current-points-col{text-align:center;width:12%}.teacher-table .teacher-action-col{width:24%}.teacher-action-cell{overflow:visible!important}.table th::marker{content:""}.table td::marker{content:""}.table th:before,.table th:after,.table td:before,.table td:after,.check-col:before,.check-col:after,.name-col:before,.name-col:after,.name-text:before,.name-text:after,.teacher-row:before,.teacher-row:after,.teacher-head-row:before,.teacher-head-row:after{content:none!important}.check-col::marker{content:""}.name-col::marker{content:""}.action-row{flex-wrap:nowrap;align-items:center;gap:10px;display:flex}.action-link{cursor:pointer;background:0 0;border:none;flex:none;align-items:center;gap:4px;padding:0;font-size:13px;display:inline-flex}.action-link .icon,.action-link .icon svg{color:inherit}.action-link.blue{color:var(--primary)}.action-link.teal{color:#13a8a8}.action-link.orange{color:var(--orange)}.action-link.red{color:var(--danger)}.allocate-suggestion{gap:12px;margin-top:6px;display:grid}.allocate-pool-error{color:var(--danger);margin:2px 0 0;font-size:13px;line-height:18px}.allocate-input-invalid{border-color:var(--danger)!important}#allocate-confirm-btn:disabled{color:var(--white)!important;cursor:not-allowed!important;background:#d9d9d9!important;border-color:#d9d9d9!important}.allocate-suggestion-title{color:var(--text-main);align-items:center;gap:6px;font-size:14px;font-weight:600;line-height:20px;display:flex}.allocate-suggestion-bulb{width:16px;height:16px;color:var(--primary);flex:0 0 16px;justify-content:center;align-items:center;display:inline-flex}.allocate-suggestion-bulb svg,.allocate-suggestion-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.allocate-suggestion-card{border:none;border-radius:8px;align-items:center;gap:12px;width:100%;min-width:0;min-height:72px;padding:12px;transition:background-color .2s;display:flex}.allocate-suggestion-card-image{background:#eef6ff}.allocate-suggestion-card-image:hover{background:#e5f1ff}.allocate-suggestion-card-video{background:#effaf5}.allocate-suggestion-card-video:hover{background:#e5f7ef}.allocate-suggestion-icon{width:40px;height:40px;color:var(--white);border-radius:20px;flex:0 0 40px;justify-content:center;align-items:center;display:inline-flex}.allocate-suggestion-icon svg{width:22px;height:22px}.allocate-suggestion-icon-image{background:#72a9ff}.allocate-suggestion-icon-video{background:#36c98a}.allocate-suggestion-copy{gap:4px;min-width:0;display:grid}.allocate-suggestion-card-title,.allocate-suggestion-desc{margin:0;line-height:18px}.allocate-suggestion-card-title{color:var(--text-main);font-size:14px;font-weight:500}.allocate-suggestion-desc{color:var(--text-sub);font-size:12px}.allocate-suggestion-blue,.allocate-suggestion-green{font-size:18px;font-weight:700}.allocate-suggestion-blue{color:var(--primary)}.allocate-suggestion-green{color:#18a85f}.table-footer{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.total-count{color:var(--text-sub);font-size:14px}.pager{align-items:center;gap:8px;display:flex}.page-btn{border:1px solid var(--line);background:var(--white);min-width:32px;height:32px;color:var(--text-sub);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.page-btn:disabled{cursor:not-allowed;color:#bfbfbf;background:#fafafa}.page-next .icon{transform:rotate(180deg)}.page-active{border-color:var(--primary);background:var(--primary);color:var(--white)}.page-size{border:1px solid var(--line);background:var(--white);height:32px;color:var(--text-sub);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-size:14px;display:inline-flex}.page-size-select{border:1px solid var(--line);background:var(--white);height:32px;color:var(--text-sub);cursor:pointer;border-radius:4px;outline:none;min-width:108px;padding:0 28px 0 10px;font-size:14px}.page-size-select:focus{border-color:var(--primary)}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px;display:grid}.stat-card{border:1px solid var(--line);border-radius:4px;align-items:center;gap:14px;height:104px;padding:18px;display:flex}.stat-blue{background:var(--primary-bg)}.stat-orange{background:var(--orange-bg)}.stat-green{background:var(--green-bg)}.stat-icon{width:40px;height:40px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.stat-icon .icon,.stat-icon svg{width:20px;height:20px}.stat-icon.blue{background:var(--primary)}.stat-icon.orange{background:var(--orange)}.stat-icon.green{background:var(--green)}.stat-value{color:var(--text-main);margin:0;font-size:36px;font-weight:700;line-height:1}.stat-value span{font-size:16px;font-weight:500}.stat-sub{color:var(--text-sub);margin:0;font-size:14px}.stat-tip{color:var(--text-tip);margin:6px 0 0;font-size:12px}.detail-card{border:1px solid var(--line);border-radius:4px;margin-top:14px;padding:16px}.detail-head{justify-content:space-between;align-items:center;display:flex}.detail-head h2{color:var(--text-main);margin:0;font-size:18px;font-weight:700}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.filter-label{color:var(--text-sub);font-size:14px}.filter-field,.filter-input{border:1px solid var(--line);background:var(--white);height:32px;color:var(--text-sub);border-radius:4px;font-size:14px}.input-field{padding:0 8px}.input-field input,.input-field select{color:var(--text-sub);background:0 0;border:none;outline:none;width:100%;font-size:14px}.input-field select{appearance:none}.filter-field{align-items:center;gap:8px;padding:0 10px;display:inline-flex}.filter-field.select{justify-content:space-between;min-width:118px}.filter-select{border:1px solid var(--line);background:var(--white);min-width:140px;height:32px;color:var(--text-sub);cursor:pointer;border-radius:4px;outline:none;padding:0 28px 0 10px;font-size:14px}.filter-select:focus{border-color:var(--primary)}.filter-input{outline:none;width:168px;padding:0 10px}.filter-input::placeholder{color:var(--text-tip)}.asset-page-card{padding:24px}.asset-block-title{color:var(--text-main);margin:0;font-size:18px;font-weight:700}.asset-course-block{margin-bottom:22px}.asset-course-selects{align-items:center;gap:20px;margin-top:14px;display:flex}.asset-course-select{width:210px;height:34px}.asset-stat-block{margin-bottom:18px}.asset-stat-card{border:1px solid var(--line);background:var(--white);border-radius:4px;grid-template-columns:1.05fr repeat(5,1fr);align-items:center;height:110px;margin-top:14px;display:grid}.asset-stat-total,.asset-stat-item{align-items:center;min-width:0;height:56px;display:flex}.asset-stat-total{border-right:1px solid #f0f0f0;gap:6px;padding-left:20px;display:grid}.asset-stat-total p,.asset-stat-copy p{color:var(--text-sub);margin:0;font-size:14px;line-height:18px}.asset-stat-total strong{color:var(--primary);font-size:26px;line-height:1}.asset-stat-total span,.asset-stat-copy span{font-size:14px;font-weight:500}.asset-stat-item{border-right:1px solid #f0f0f0;justify-content:center;gap:12px}.asset-stat-item:last-child{border-right:none}.asset-stat-icon{border-radius:4px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.asset-stat-icon .icon,.asset-stat-icon svg,.asset-type-cell .icon,.asset-type-cell svg{color:inherit}.asset-stat-copy{gap:6px;display:grid}.asset-stat-copy strong{color:var(--text-main);font-size:22px;line-height:1}.asset-stat-image .asset-stat-icon,.asset-type-image .icon{color:#13c2a3;background:#13c2a31f}.asset-stat-video .asset-stat-icon,.asset-type-video .icon{color:#9254de;background:#9254de1f}.asset-stat-text .asset-stat-icon,.asset-type-text .icon{color:#fa8c16;background:#fa8c161f}.asset-stat-audio .asset-stat-icon,.asset-type-audio .icon{color:#4096ff;background:#4096ff1f}.asset-stat-workflow .asset-stat-icon,.asset-type-workflow .icon{color:#eb2f96;background:#eb2f961f}.asset-filter-row{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.asset-filter-left,.asset-filter-group,.asset-date-group{align-items:center;gap:10px;display:flex}.asset-filter-group .filter-select{min-width:170px}.asset-date-group .filter-field{width:126px}.asset-date-field{cursor:pointer;position:relative}.asset-date-field .icon{color:var(--text-tip);pointer-events:none}.asset-date-display{cursor:pointer}.asset-date-display::placeholder{color:var(--text-tip)}.asset-native-date{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.asset-search-box{flex:0 0 250px;width:250px}.asset-table{margin-top:14px}.asset-table thead th{background:#fafafa}.asset-table th:first-child,.asset-table td:first-child{width:14%}.asset-table th:nth-child(3),.asset-table td:nth-child(3){width:16%}.asset-table th:nth-child(4),.asset-table td:nth-child(4){width:22%}.asset-table th:nth-child(5),.asset-table td:nth-child(5){width:18%}.asset-type-cell{color:var(--text-sub);align-items:center;gap:8px;display:inline-flex}.asset-type-cell .icon{border-radius:3px;width:18px;height:18px;padding:2px}.asset-action-row{gap:18px}.asset-table-footer{margin-top:22px}.dash{color:var(--text-tip)}.score-red{font-weight:600;color:var(--danger)!important}.empty-row{text-align:center;color:var(--text-tip)}.login-wrap{background:#f5f5f5;place-items:center;min-height:100vh;display:grid}.login-card{border:1px solid var(--line);background:var(--white);border-radius:4px;gap:12px;width:360px;padding:24px;display:grid}.login-card h1{color:var(--text-main);margin:0;font-size:20px}.login-card p{color:var(--text-sub);margin:0;font-size:14px}.login-card label{gap:6px;display:grid}.login-card label span{color:var(--text-sub);font-size:14px}.login-card label input{border:1px solid var(--line);border-radius:4px;width:100%;height:36px;padding:0 10px}.login-btn{justify-content:center}.login-error{min-height:20px;color:var(--danger);font-size:12px}.ellipsis{color:var(--text-tip);font-size:14px}.modal-mask{z-index:2000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:#fff;border-radius:6px;flex-direction:column;width:560px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);display:flex;box-shadow:0 10px 30px #0003}.import-modal{width:760px}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:54px;padding:0 16px;display:flex}.modal-header h3{color:var(--text-main);margin:0;font-size:18px}.modal-close{color:#777;cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1}.modal-body{gap:12px;padding:16px;display:grid;overflow:auto}.modal-field{gap:6px;display:grid}.modal-field span{color:var(--text-sub);font-size:14px}.modal-field input{border:1px solid var(--line);border-radius:4px;height:36px;padding:0 10px;font-size:14px}.field-required{color:#f5222d;margin-right:2px}.modal-tip{color:var(--text-sub);margin:0;font-size:13px}.modal-textarea{border:1px solid var(--line);resize:vertical;border-radius:4px;width:100%;min-height:300px;padding:10px;font-size:13px;line-height:1.5}.modal-error{color:var(--danger);margin:0;font-size:13px}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;height:56px;padding:0 16px;display:flex}.reset-modal-mask{background:#0006;animation:.25s reset-mask-fade-in}.reset-password-modal,.reset-password-success-modal{border:none;border-radius:16px;width:440px;max-width:calc(100vw - 32px);box-shadow:0 20px 35px -12px #00000026}.delete-teacher-modal{border:none;border-radius:16px;width:440px;max-width:calc(100vw - 32px);animation:.25s reset-dialog-drop-in;box-shadow:0 20px 35px -12px #00000026}.reset-password-modal{animation:.25s reset-dialog-drop-in}.reset-password-success-modal{align-items:center;padding:32px 24px;animation:.24s reset-success-pop-in;position:relative}.reset-password-header{justify-content:space-between;align-items:center;padding:24px 24px 8px;display:flex}.reset-password-header h3{color:#1f2a3e;margin:0;font-size:20px;font-weight:600}.reset-password-close{color:#9aa6bb;border-radius:50%;width:30px;height:30px;transition:color .2s,background .2s}.reset-password-close:hover{color:#42506a;background:#f3f6fb}.reset-password-body{gap:14px;padding:0 24px 16px;display:grid}.reset-password-teacher{color:#5a687c;margin:0;font-size:14px}.delete-teacher-warning{color:#b54708;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.reset-password-field{gap:6px;display:grid}.reset-password-field>span{color:#4a5a72;font-size:13px;font-weight:500}.reset-password-input-wrap{position:relative}.reset-password-input{color:#1f2a3e;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;height:40px;padding:0 64px 0 12px;font-size:14px;transition:border-color .18s,box-shadow .18s}.reset-password-input:focus{border-color:#2d5cff;box-shadow:0 0 0 3px #2d5cff1a}.reset-password-input.is-invalid{border-color:#e5484d;box-shadow:0 0 0 2px #e5484d1f}.reset-password-eye{color:#8a99b0;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:600;transition:color .2s,background .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.reset-password-eye:hover{color:#2d5cff;background:#eef3ff}.reset-password-error{color:#e5484d;margin:0;font-size:12px}.reset-password-footer{justify-content:flex-end;gap:12px;margin:16px 24px 24px;display:flex}.reset-password-footer .btn{border-radius:32px;justify-content:center;min-width:116px;height:38px;font-weight:600}.reset-password-cancel{color:#4a5a72;background:0 0;border:1px solid #cbd5e1}.reset-password-cancel:hover{background:#f8fafc;border-color:#94a3b8}.reset-password-confirm{color:#fff;background:linear-gradient(135deg,#2d5cff 0%,#1a4fcc 100%);border:none;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 8px 20px #2d5cff38}.reset-password-confirm:hover{background:linear-gradient(135deg,#2352f0 0%,#1547c3 100%);transform:translateY(-1px);box-shadow:0 10px 22px #2352f040}.reset-password-confirm:active{transform:scale(.98)}.reset-password-confirm:disabled{opacity:.75;cursor:not-allowed;transform:none}.delete-teacher-confirm{color:#fff;background:linear-gradient(135deg,#f04b4f 0%,#d9363e 100%);border:none;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 8px 20px #d9363e3d}.delete-teacher-confirm:hover{background:linear-gradient(135deg,#e23f43 0%,#c92f36 100%);transform:translateY(-1px);box-shadow:0 10px 22px #c92f3642}.delete-teacher-confirm:active{transform:scale(.98)}.delete-teacher-confirm:disabled{opacity:.75;cursor:not-allowed;transform:none}.reset-success-icon{background:#e8f5e9;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:14px;display:inline-flex}.reset-success-icon span{color:#10b981;font-size:30px;font-weight:700;animation:.35s reset-check-pop}.delete-success-icon{background:#fef2f2}.delete-success-icon span{color:#ef4444}.reset-success-title{color:#1f2a3e;text-align:center;margin:0;font-size:20px;font-weight:600}.reset-success-teacher{color:#5a687c;text-align:center;margin:10px 0 0;font-size:14px}.reset-success-tip{color:#7886a0;text-align:center;margin:8px 0 22px;font-size:13px}.reset-success-confirm{min-width:120px}.shake{animation:.2s reset-input-shake}@keyframes reset-mask-fade-in{0%{opacity:0}to{opacity:1}}@keyframes reset-dialog-drop-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes reset-success-pop-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes reset-input-shake{0%{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes reset-check-pop{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}.export-log-modal{width:1120px}.export-log-filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.export-log-table{min-width:980px;margin-top:8px}.log-summary{white-space:normal;word-break:break-word;max-width:360px;line-height:1.6;overflow:visible}.app-layout{grid-template-rows:66px minmax(0,1fr);grid-template-columns:180px minmax(0,1fr);height:100vh;max-height:100vh;position:fixed;inset:0;overflow:hidden}.app-layout .topbar{border-bottom:1px solid #eceff3;height:66px;padding:0 18px}.app-layout .brand-wrap{gap:14px}.app-layout .brand-main{font-size:30px;font-weight:700}.app-layout .brand-sub{font-size:26px;font-weight:600}.app-layout .user-wrap{gap:10px}.app-layout .account-select{border-radius:6px;min-width:236px;height:36px;font-size:15px;font-weight:600}.app-layout .sidebar{height:calc(100vh - 66px);padding:14px 12px 12px;overflow:hidden}.app-layout .sidebar-menu{flex:1;min-height:0;overflow-y:auto}.app-layout .menu-item{border-radius:8px;gap:9px;height:38px;padding:0 12px;font-size:16px}.app-layout .main-area{background:#f6f7f9;height:calc(100vh - 66px);padding:12px;overflow:hidden auto}.app-layout .page-card{border:1px solid #ebeef2;border-radius:8px;padding:18px;box-shadow:0 1px 3px #0f172a0a}.app-layout .page-title{font-size:24px;font-weight:700}.app-layout .section-subtitle{margin-top:10px;font-size:20px}.app-layout .detail-head h2,.app-layout .asset-block-title{font-size:20px}.app-layout .toolbar-row{margin-top:16px}.app-layout .btn{border-radius:6px;height:36px;padding:0 14px;font-size:14px}.app-layout .btn-primary{background:#2f80ff;border-color:#2f80ff}.app-layout .btn-primary:hover{background:#5a9dff;border-color:#5a9dff}.app-layout .search-box{border-radius:6px;height:36px}.app-layout .table{margin-top:14px}.app-layout .table th,.app-layout .table td{height:52px;padding:0 12px;font-size:14px}.app-layout .table thead th{background:#fafbfd}.app-layout .table-footer{margin-top:14px}.app-layout .detail-card{border:1px solid #ebeef2;border-radius:8px;margin-top:12px;padding:14px;box-shadow:0 1px 3px #0f172a08}.app-layout .stat-grid{gap:14px}.app-layout .stat-card{border:1px solid #ebeef2;border-radius:8px;height:110px;box-shadow:0 1px 2px #0f172a05}.app-layout .stat-value{font-size:42px}@media (width<=1200px){.brand-main{font-size:28px}.brand-sub{font-size:24px}.user-wrap{font-size:20px}.action-row{gap:10px}}@media (width<=960px){.app-layout{grid-template-rows:auto auto 1fr;grid-template-columns:1fr;height:auto;max-height:none;position:static;inset:auto;overflow:visible}.topbar{flex-wrap:wrap;gap:10px;height:auto;padding:14px}.brand-main{font-size:24px}.brand-sub{font-size:20px}.user-wrap{font-size:16px}.sidebar{border-right:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:auto;padding:10px 12px;overflow:visible}.sidebar-menu{flex-direction:row}.collapse-btn{display:none}.page-card{min-height:auto}.toolbar-row{flex-direction:column;align-items:flex-start}.search-box{width:100%}.stat-grid{grid-template-columns:1fr}.table-footer{flex-direction:column;align-items:flex-start;gap:10px}.main-area{height:auto;overflow:auto}.table{min-width:980px}.export-log-modal{width:calc(100vw - 20px)}}.teacher-layout{grid-template-rows:64px minmax(0,1fr);grid-template-columns:200px minmax(0,1fr);min-width:1200px;height:100vh;max-height:100vh;position:fixed;inset:0;overflow:hidden}.teacher-layout .topbar{z-index:40;border-bottom:1px solid #e5e6eb;height:64px;padding:0 24px;position:sticky;top:0}.teacher-layout .brand-wrap{gap:14px}.teacher-layout .brand-main{color:#165dff;font-size:34px;font-weight:700}.teacher-layout .brand-sub{color:#1d2129;font-size:30px;font-weight:600}.teacher-layout .top-user{color:#1d2129;align-items:center;gap:12px;font-size:14px;font-weight:600;display:inline-flex}.teacher-layout .teacher-user-menu{align-items:center;display:inline-flex;position:relative}.teacher-layout .teacher-user-menu-trigger{color:#1d2129;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;display:inline-flex}.teacher-layout .teacher-user-menu-trigger:hover .teacher-user-name,.teacher-layout .teacher-user-menu-trigger:focus-visible .teacher-user-name{color:#111}.teacher-layout .teacher-user-menu-trigger:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #b9d1ff}.teacher-layout .teacher-user-arrow{width:6px;height:6px;transition:transform .25s;display:inline-block;position:relative}.teacher-layout .teacher-user-arrow:before{content:"";background:#5f6b7f;width:2px;height:2px;position:absolute;top:0;left:0;box-shadow:2px 0 #5f6b7f,4px 0 #5f6b7f,1px 2px #5f6b7f,3px 2px #5f6b7f,2px 4px #5f6b7f}.teacher-layout .teacher-user-dropdown{opacity:0;pointer-events:none;z-index:20;background:#fff;border:1px solid #e3e7ee;border-radius:8px;width:max-content;min-width:100%;padding:6px;transition:opacity .25s,transform .25s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-8px);box-shadow:0 8px 18px #141a231a}.teacher-layout .teacher-user-dropdown.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.teacher-layout .teacher-user-menu-trigger.is-open .teacher-user-arrow{transform:rotate(180deg)}.teacher-layout .teacher-user-dropdown-item{color:#1d2129;text-align:left;cursor:pointer;background:#fff;border:none;border-radius:6px;width:100%;padding:8px 12px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;transition:background-color .18s,color .18s,transform 80ms}.teacher-layout .teacher-user-dropdown-item:hover{color:#101418;background:#f3f5f8}.teacher-layout .teacher-user-dropdown-item:active{transform:scale(.98)}.teacher-layout .top-user .avatar{color:#165dff;background:#e8f3ff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.teacher-layout .top-user .teacher-avatar-trigger{cursor:pointer;border:none;padding:0}.teacher-layout .top-user .teacher-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.teacher-layout .top-user .avatar .icon,.teacher-layout .top-user .avatar .icon svg{width:18px;height:18px}.teacher-layout .sidebar{background:#fff;border-right:1px solid #e5e6eb;grid-area:2/1;height:calc(100vh - 64px);padding:12px 12px 52px;overflow:hidden}.teacher-layout .side-menu{flex:1;gap:10px;min-height:0;overflow-y:auto}.teacher-layout .menu-item{border-radius:6px;gap:8px;height:48px;padding:0 16px;font-size:14px}.teacher-layout .menu-item.active{color:#165dff;background:#e8f3ff}.teacher-layout .menu-item .icon,.teacher-layout .menu-item .icon svg{width:16px;height:16px}.teacher-layout .collapse-btn{margin-left:4px}.teacher-layout .sidebar-logout-btn{margin-left:0}.teacher-layout .main{background:#f2f3f5;grid-area:2/2;height:calc(100vh - 64px);padding:24px;overflow:hidden auto}.teacher-layout .page-section{min-height:auto;padding:24px}.teacher-layout .teacher-course-box{background:#eef4ff;border:1px solid #d7e2f8;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:18px 22px;display:flex;box-shadow:0 4px 14px #12264a0a}.teacher-layout .teacher-course-main{flex:520px;min-width:0}.teacher-layout .teacher-course-header{justify-content:flex-start;align-items:flex-start;gap:12px;display:flex}.teacher-layout .teacher-course-copy{flex:1;min-width:0}.teacher-layout .teacher-course-title{color:#1f2937;align-items:center;gap:3px;margin:0;font-size:18px;font-weight:800;line-height:1.15;display:flex}.teacher-layout .teacher-course-title-row{align-items:center;gap:8px;display:flex}.teacher-layout .teacher-course-title-row .teacher-course-title{flex:1;min-width:0}.teacher-layout .teacher-course-name{white-space:nowrap;text-overflow:ellipsis;font-size:18px;line-height:1.15;overflow:hidden}.teacher-layout .teacher-course-label{white-space:nowrap;flex:none}.teacher-layout .teacher-course-toggle{color:#3b6fd8;cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-left:2px;display:inline-flex}.teacher-layout .teacher-course-toggle:hover{background:#3b6fd814;transform:translateY(-1px)}.teacher-layout .teacher-course-toggle .icon,.teacher-layout .teacher-course-toggle .icon svg{width:14px;height:14px}.teacher-layout .teacher-course-picker{background:linear-gradient(#ffffffe0,#f8fbffc2);border:1px solid #6f93d638;border-radius:14px;flex-direction:column;flex:0 0 100%;gap:12px;width:100%;margin-top:12px;padding:16px;display:flex;box-shadow:0 12px 28px #18407c14}.teacher-layout .teacher-course-picker-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-layout .teacher-course-picker-title{color:#20314f;margin:0;font-size:15px;font-weight:700}.teacher-layout .teacher-course-picker-subtitle{color:#6c7c98;margin:4px 0 0;font-size:12px;line-height:1.5}.teacher-layout .teacher-course-picker-row{flex:auto;align-items:center;min-width:0;display:flex}.teacher-layout .teacher-course-select-wrap{flex:1;min-width:0;max-width:460px;position:relative}.teacher-layout .teacher-course-select{color:#1f2937;appearance:none;cursor:pointer;background:#fff;border:1px solid #bfd0ef;border-radius:14px;outline:none;width:100%;height:46px;padding:0 46px 0 16px;font-size:15px;font-weight:700;transition:border-color .18s,box-shadow .18s,transform .18s}.teacher-layout .teacher-course-select:focus{border-color:#1677ff;box-shadow:0 0 0 4px #1677ff1f}.teacher-layout .teacher-course-select:hover{border-color:#8fb1ec;box-shadow:0 8px 18px #4070c41a}.teacher-layout .teacher-course-down{color:#3b6fd8;pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.teacher-layout .teacher-course-down .icon,.teacher-layout .teacher-course-down .icon svg{width:14px;height:14px}.teacher-layout .teacher-course-meta{color:#334155;flex-wrap:wrap;align-items:center;gap:18px 30px;margin:12px 0 0;font-size:14px;display:flex}.teacher-layout .teacher-course-meta span{align-items:center;gap:8px;display:inline-flex}.teacher-layout .teacher-course-meta .icon,.teacher-layout .teacher-course-meta .icon svg{width:15px;height:15px}.teacher-layout .teacher-course-error{color:#cf1322;margin:8px 0 0;font-size:12px}.teacher-layout .teacher-btn-ghost{color:#4d73c8;height:34px;box-shadow:none;white-space:nowrap;background:#fafbfd;border:1px solid #cfd8e7}.teacher-layout .teacher-course-switch{color:#4f79cc;min-width:108px;height:32px;box-shadow:none;text-align:center;box-sizing:border-box;background:#f8fafc;border-color:#d3dbee;border-radius:6px;flex:none;justify-content:center;align-self:center;align-items:center;margin-left:auto;padding:0 14px;font-size:14px;font-weight:500;line-height:1;display:inline-flex}.teacher-layout .teacher-course-switch:hover{background:#f3f7fd;border-color:#bfd0ef}.teacher-layout .teacher-course-switch:disabled{color:#b0bdd1;background:#fafbfd;border-color:#d9e0ec}.teacher-layout .teacher-course-picker-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.teacher-layout .teacher-course-picker-actions .btn{height:36px}.teacher-layout .teacher-panel{background:#fff;border:none;border-radius:8px;padding:24px}.teacher-layout .teacher-points-shell{background:0 0;border:none;padding:0}.teacher-layout .teacher-points-card{background:#fff;border:1px solid #e5e6eb;border-radius:8px;padding:20px}.teacher-layout .teacher-points-card+.teacher-points-card{margin-top:24px}.teacher-layout .teacher-points-block-title{color:var(--text-main);margin:0 0 16px;font-size:18px;font-weight:700}.teacher-layout .teacher-toolbar,.teacher-layout .teacher-tabs-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-layout .teacher-toolbar-left,.teacher-layout .teacher-toolbar-right{align-items:center;gap:8px;display:flex}.teacher-layout .btn{border-radius:4px;height:32px;padding:0 10px}.teacher-layout .teacher-btn-primary{color:#fff;background:#165dff;border-color:#165dff}.teacher-layout .teacher-btn-primary:hover{background:#4096ff;border-color:#4096ff}.teacher-layout .teacher-search{border-radius:4px;width:200px;height:32px}.teacher-layout .teacher-search-slim{width:200px}.teacher-layout .teacher-table-wrap{border:1px solid #e5e6eb;border-radius:4px;margin-top:16px;overflow:hidden}.teacher-layout .table{margin-top:0}.teacher-layout .table th,.teacher-layout .table td{border-bottom:1px solid #f2f3f5;height:48px;padding:0 10px}.teacher-layout .table th{color:#1d2129;background:#f7f8fa;font-weight:600}.teacher-layout .resource-table .resource-sort-head{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.teacher-layout .resource-table .resource-sort-icons{flex-direction:column;align-items:center;gap:2px;width:10px;display:inline-flex}.teacher-layout .resource-table .resource-sort-triangle{border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0}.teacher-layout .resource-table .resource-sort-up{border-bottom:8px solid #999}.teacher-layout .resource-table .resource-sort-down{border-top:8px solid #999}.teacher-layout .resource-table .resource-sort-up.active{border-bottom-color:#4e5969}.teacher-layout .resource-table .resource-sort-down.active{border-top-color:#4e5969}.teacher-layout .table td{color:#4e5969}.teacher-layout .table tbody tr:hover{background:#f2f3f5}.teacher-layout .teacher-row-actions{align-items:center;gap:8px;display:inline-flex}.teacher-layout .link-action{cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:14px;display:inline-flex}.teacher-layout .link-action.blue{color:#165dff}.teacher-layout .link-action.orange{color:#fa8c16}.teacher-layout .link-action.red{color:#f5222d}.teacher-layout .teacher-name-link{color:#333;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.teacher-layout .file-dot{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.teacher-layout .teacher-footer-right{justify-content:flex-end}.teacher-layout .teacher-panel-footer{margin-top:16px}.teacher-layout .teacher-section-title{color:#333;margin:14px 0 6px;font-size:18px;font-weight:700}.teacher-layout .teacher-homework-panel{padding-top:18px}.teacher-layout .teacher-homework-files-modal{width:min(980px,100vw - 48px);max-height:calc(100vh - 72px)}.teacher-layout .teacher-homework-files-sub{color:#86909c;margin:6px 0 0;font-size:13px}.teacher-layout .teacher-homework-files-body{max-height:calc(100vh - 220px);overflow:auto}.teacher-layout .teacher-homework-files-toolbar{color:#4e5969;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.teacher-layout .teacher-homework-files-table-wrap{max-height:520px;overflow:auto}.teacher-layout .teacher-homework-file-preview{color:#165dff;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;position:relative}.teacher-layout .teacher-homework-file-preview img{object-fit:cover;border:1px solid #e5e6eb;border-radius:8px;width:76px;height:48px}.teacher-layout .teacher-homework-file-preview.is-video{background:#f2f7ff;border-radius:999px;height:32px;padding:0 10px}.teacher-layout .teacher-homework-file-tip{color:#86909c;font-size:13px}.teacher-layout .teacher-homework-hover-preview{z-index:40;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border-radius:12px;width:280px;max-height:210px;padding:8px;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)scale(.96);box-shadow:0 16px 40px #0f172a3d}.teacher-layout .teacher-homework-hover-preview img,.teacher-layout .teacher-homework-hover-preview video{object-fit:contain;background:#000;border-radius:8px;width:100%;max-height:194px;display:block}.teacher-layout .teacher-homework-file-preview:hover .teacher-homework-hover-preview,.teacher-layout .teacher-homework-file-preview:focus-visible .teacher-homework-hover-preview{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}.teacher-layout .teacher-preview-mask{z-index:3000;background:#0f172aa8;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.teacher-layout .teacher-preview-modal{background:#fff;border-radius:18px;flex-direction:column;width:min(1120px,100vw - 64px);max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 24px 80px #00000052}.teacher-layout .teacher-preview-head{border-bottom:1px solid #e5e6eb;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:18px 24px;display:flex}.teacher-layout .teacher-preview-head h3{color:#1d2129;word-break:break-all;margin:0;font-size:20px}.teacher-layout .teacher-preview-head p{color:#86909c;margin:6px 0 0;font-size:13px}.teacher-layout .teacher-preview-close{color:#86909c;cursor:pointer;background:0 0;border:none;font-size:32px;line-height:1}.teacher-layout .teacher-preview-body{background:#0b1020;flex:1;justify-content:center;align-items:center;min-height:360px;max-height:calc(100vh - 220px);padding:20px;display:flex;overflow:auto}.teacher-layout .teacher-preview-image,.teacher-layout .teacher-preview-video{object-fit:contain;background:#000;border-radius:10px;max-width:100%;max-height:calc(100vh - 270px)}.teacher-layout .teacher-preview-foot{border-top:1px solid #e5e6eb;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.teacher-layout .teacher-homework-create-row{justify-content:flex-start;align-items:center;margin-bottom:18px;display:flex}.teacher-layout .teacher-homework-create-row .teacher-btn-primary{border-radius:6px;gap:6px;height:34px;padding:0 14px;font-size:14px}.teacher-layout .teacher-homework-list-title{color:#1d2129;margin:0 0 14px;font-size:18px;font-weight:600;line-height:1.4}.teacher-layout .teacher-homework-listbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.teacher-layout .teacher-homework-listbar-left{align-items:center;gap:14px;display:flex}.teacher-layout .teacher-homework-check-all{color:#4e5969;white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:inline-flex}.teacher-layout .teacher-homework-check-all input,.teacher-layout .teacher-homework-check-col input{accent-color:#165dff;cursor:pointer;width:15px;height:15px;margin:0}.teacher-layout .teacher-homework-export-wrap{position:relative}.teacher-layout .teacher-homework-export-btn{color:#344054;cursor:pointer;background:#fff;border:1px solid #d9dce3;border-radius:6px;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:14px;transition:border-color .18s,color .18s,background-color .18s;display:inline-flex}.teacher-layout .teacher-homework-export-btn:hover{color:#165dff;background:#f7fbff;border-color:#165dff}.teacher-layout .teacher-homework-export-menu{z-index:15;background:#fff;border:1px solid #e5e8ef;border-radius:8px;width:260px;max-height:260px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 12px 28px #0f172a24}.teacher-layout .teacher-homework-export-menu button{color:#344054;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;width:100%;padding:9px 10px;font-size:13px;overflow:hidden}.teacher-layout .teacher-homework-export-menu button:hover{color:#165dff;background:#f2f7ff}.teacher-layout .teacher-homework-export-empty{color:#8a96a8;padding:10px;font-size:13px;display:block}.teacher-layout .teacher-homework-listbar .teacher-search{border-color:#d9dce3;border-radius:17px;width:240px;height:34px}.teacher-layout .teacher-homework-listbar .teacher-search input::placeholder{color:#a8abb2}.teacher-layout .teacher-homework-panel .teacher-table-wrap{border-color:#e5e8ef;border-radius:6px;margin-top:14px}.teacher-layout .teacher-homework-table th{color:#4e5969;background:#f7f8fa;height:44px;font-size:14px;font-weight:600}.teacher-layout .teacher-homework-table th:first-child,.teacher-layout .teacher-homework-table td:first-child,.teacher-layout .teacher-homework-table th:not(:nth-child(2)),.teacher-layout .teacher-homework-table td:not(:nth-child(2)){text-align:center}.teacher-layout .teacher-homework-table th:nth-child(2),.teacher-layout .teacher-homework-table td:nth-child(2){text-align:left}.teacher-layout .teacher-homework-not-started{color:#8a96a8!important}.teacher-layout .teacher-homework-list-footer{color:#8a96a8;justify-content:space-between;font-size:14px}.teacher-layout .teacher-homework-list-footer .pager{margin-left:auto}.teacher-layout .teacher-homework-topbar{align-items:flex-end;padding-bottom:4px}.teacher-layout .teacher-homework-tools{gap:10px}.teacher-layout .teacher-homework-heading{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.teacher-layout .teacher-homework-title{margin:0;font-size:20px}.teacher-layout .teacher-homework-table th,.teacher-layout .teacher-homework-table td{height:54px}.teacher-layout .teacher-homework-table td{color:#344054}.teacher-layout .teacher-homework-name{color:#1d2129;font-weight:600}.teacher-layout .teacher-homework-score{color:#165dff;background:#edf4ff;border-radius:999px;justify-content:center;align-items:center;min-width:48px;height:30px;padding:0 12px;font-weight:700;display:inline-flex}.teacher-layout .teacher-homework-comment{color:#4e5969}.teacher-layout .teacher-homework-link{font-weight:600}.teacher-layout .teacher-homework-actions{white-space:nowrap;justify-content:center;align-items:center;gap:12px;display:flex}.teacher-layout .teacher-date-input{min-width:152px}.teacher-layout .tab-btn{color:#4e5969;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;height:32px;padding:0 4px;font-size:14px}.teacher-layout .tab-btn.active{color:#165dff;border-bottom-color:#165dff;font-weight:600}.teacher-layout .teacher-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.teacher-layout .teacher-stat-card{border:1px solid #e5e6eb;border-radius:8px;min-height:120px;padding:20px;position:relative;box-shadow:0 2px 8px #0000000f}.teacher-layout .teacher-stat-head{align-items:center;gap:10px;display:flex}.teacher-layout .teacher-stat-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.teacher-layout .teacher-stat-icon.blue{background:#165dff}.teacher-layout .teacher-stat-icon.green{background:#00b42a}.teacher-layout .teacher-stat-icon.orange{background:#ff7d00}.teacher-layout .teacher-stat-icon.purple{background:#722ed1}.teacher-layout .teacher-stat-icon.yellow{background:#faad14}.teacher-layout .teacher-stat-name{color:#1d2129;margin:0;font-size:14px}.teacher-layout .teacher-stat-value{margin:14px 0 0;font-size:24px;font-weight:700}.teacher-layout .teacher-stat-value.blue{color:#165dff}.teacher-layout .teacher-stat-value.green{color:#00b42a}.teacher-layout .teacher-stat-value.orange{color:#ff7d00}.teacher-layout .teacher-stat-value.purple{color:#722ed1}.teacher-layout .teacher-top-name{color:#1d2129;margin:14px 0 0;font-weight:600}.teacher-layout .teacher-top-points{color:#1d2129;margin:0;font-size:12px;position:absolute;bottom:20px;right:20px}.teacher-layout .teacher-quick-row{align-items:flex-start;gap:24px;display:flex}.teacher-layout .teacher-quick-col{min-width:220px}.teacher-layout .teacher-quick-col-grow{flex:1}.teacher-layout .teacher-quick-label{color:#4e5969;margin:0 0 12px;font-size:14px}.teacher-layout .teacher-inline-input,.teacher-layout .teacher-mini-input,.teacher-layout .teacher-date-input,.teacher-layout .teacher-line-input,.teacher-layout .teacher-line-textarea,.teacher-layout .teacher-modal-body select,.teacher-layout .teacher-modal-body input,.teacher-layout .teacher-modal-body textarea{color:#1d2129;border:1px solid #d0d5dc;border-radius:4px;font-family:inherit;font-size:14px}.teacher-layout .teacher-inline-input,.teacher-layout .teacher-mini-input,.teacher-layout .teacher-date-input,.teacher-layout .teacher-line-input,.teacher-layout .teacher-modal-body select,.teacher-layout .teacher-modal-body input{height:32px;padding:0 10px}.teacher-layout .teacher-inline-ops{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.teacher-layout .teacher-row-point-input{width:96px;min-width:96px}.teacher-layout .teacher-filter-line{color:#666;align-items:center;gap:10px;margin-top:10px;display:flex}.teacher-layout .teacher-negative{font-weight:600;color:#f53f3f!important}.teacher-layout .teacher-row-confirm{height:28px;padding:0 10px;font-size:12px}.teacher-layout .teacher-modal-mini{border-radius:8px;width:420px}.teacher-layout .teacher-homework-form-mask{background:#0f172a47}.teacher-layout .teacher-homework-form-modal{background:#fff;border:1px solid #edf0f5;border-radius:8px;width:468px;max-width:calc(100vw - 48px);min-height:min(640px,100vh - 40px);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;box-shadow:0 18px 48px #0f172a29,0 4px 14px #0f172a14}.teacher-layout .teacher-homework-form-modal.is-date-open{min-height:min(760px,100vh - 28px);max-height:calc(100vh - 28px)}.teacher-layout .teacher-homework-form-head{border-bottom:none;height:auto;min-height:58px;padding:22px 24px 10px}.teacher-layout .teacher-homework-form-head h3{color:#1f2329;font-size:20px;font-weight:600;line-height:1.35}.teacher-layout .teacher-homework-form-head .teacher-close-btn{color:#8a919f;border-radius:50%;width:30px;height:30px;font-size:22px;line-height:30px;transition:background-color .18s,color .18s}.teacher-layout .teacher-homework-form-head .teacher-close-btn:hover{color:#4e5969;background:#f2f3f5}.teacher-layout .teacher-homework-form-body{flex:auto;gap:18px;padding:12px 24px 8px;overflow:visible}.teacher-layout .teacher-homework-form-modal.is-date-open .teacher-homework-form-body{padding-bottom:232px;overflow:auto}.teacher-layout .teacher-homework-form-item{color:#2f3640;flex-direction:column;gap:8px;font-size:14px;font-weight:400;display:flex}.teacher-layout .teacher-homework-form-label{color:#2f3640;line-height:1.4}.teacher-layout .teacher-homework-form-label b{color:#f5222d;margin-right:4px;font-weight:500}.teacher-layout .teacher-homework-input-wrap{display:block;position:relative}.teacher-layout .teacher-homework-input-wrap small{color:#a8abb2;pointer-events:none;font-size:12px;line-height:1;position:absolute;bottom:8px;right:12px}.teacher-layout .teacher-homework-form-error{color:#f5222d;margin:-2px 0 0;font-size:12px;line-height:18px}.teacher-layout .teacher-homework-line-input,.teacher-layout .teacher-modal-body input.teacher-homework-line-input{color:#1f2329;background:#fff;border:1px solid #d9dce3;border-radius:5px;outline:none;width:100%;height:38px;padding:0 56px 0 12px;transition:border-color .18s,box-shadow .18s}.teacher-layout .teacher-homework-line-textarea,.teacher-layout .teacher-modal-body textarea.teacher-homework-line-textarea{color:#1f2329;resize:vertical;background:#fff;border:1px solid #d9dce3;border-radius:5px;outline:none;width:100%;min-height:124px;padding:10px 12px 28px;transition:border-color .18s,box-shadow .18s}.teacher-layout .teacher-homework-line-input::placeholder,.teacher-layout .teacher-homework-line-textarea::placeholder{color:#b7bbc4}.teacher-layout .teacher-homework-line-input:focus,.teacher-layout .teacher-homework-line-textarea:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.teacher-layout .teacher-homework-date-trigger{color:#1f2329;width:100%;height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d9dce3;border-radius:5px;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:14px;transition:border-color .18s,box-shadow .18s,background-color .18s;display:flex}.teacher-layout .teacher-homework-date-trigger.is-empty{color:#b7bbc4}.teacher-layout .teacher-homework-date-trigger:hover{background:#fbfcff;border-color:#b9c1ce}.teacher-layout .teacher-homework-date-trigger:focus,.teacher-layout .teacher-homework-date-trigger[aria-expanded=true]{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.teacher-layout .teacher-homework-calendar-icon{color:#8a919f;pointer-events:none;border:1.8px solid;border-radius:3px;flex:none;width:16px;height:16px;position:relative}.teacher-layout .teacher-homework-calendar-icon:before,.teacher-layout .teacher-homework-calendar-icon:after{content:"";background:currentColor;position:absolute}.teacher-layout .teacher-homework-calendar-icon:before{height:1.6px;top:4px;left:2px;right:2px}.teacher-layout .teacher-homework-calendar-icon:after{background:0 0;border-left:1.8px solid;border-right:1.8px solid;width:7px;height:4px;top:-3px;left:4px}.teacher-layout .teacher-homework-date-panel{z-index:20;background:#fff;border:1px solid #e5e8ef;border-radius:10px;width:100%;padding:12px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 14px 36px #0f172a24,0 4px 10px #0f172a14}.teacher-layout .teacher-homework-date-panel-head{grid-template-columns:30px 1fr 30px;align-items:center;gap:8px;margin-bottom:10px;display:grid}.teacher-layout .teacher-homework-date-panel-head strong{text-align:center;color:#1f2329;font-size:14px;font-weight:600}.teacher-layout .teacher-homework-date-panel-head button,.teacher-layout .teacher-homework-date-panel-foot button{color:#4e5969;cursor:pointer;background:#fff;border:1px solid #e5e8ef;border-radius:7px;transition:background-color .18s,border-color .18s,color .18s}.teacher-layout .teacher-homework-date-panel-head button{height:30px;font-size:20px;line-height:1}.teacher-layout .teacher-homework-date-panel-head button:hover,.teacher-layout .teacher-homework-date-panel-foot button:hover{color:#1677ff;background:#f2f7ff;border-color:#1677ff}.teacher-layout .teacher-homework-picker-date,.teacher-layout .teacher-modal-body input.teacher-homework-picker-date{color:#1f2329;border:1px solid #d9dce3;border-radius:7px;outline:none;width:100%;height:38px;margin-bottom:10px;padding:0 12px;font-size:14px;line-height:38px}.teacher-layout .teacher-homework-picker-date:focus,.teacher-layout .teacher-homework-time-row select:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.teacher-layout .teacher-homework-time-row{grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;display:grid}.teacher-layout .teacher-homework-time-row label{color:#6b7280;flex-direction:column;gap:6px;font-size:13px;display:flex}.teacher-layout .teacher-homework-time-row select{color:#1f2329;background:#fff;border:1px solid #d9dce3;border-radius:7px;outline:none;width:100%;height:38px;padding:0 10px;font-size:14px;line-height:38px}.teacher-layout .teacher-homework-time-sep{color:#1f2329;padding-bottom:10px;font-size:14px;line-height:1}.teacher-layout .teacher-homework-date-panel-foot{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.teacher-layout .teacher-homework-date-panel-foot button{height:30px;padding:0 12px;font-size:13px}.teacher-layout .teacher-homework-date-panel-foot button:last-child{color:#fff;background:#1677ff;border-color:#1677ff}.teacher-layout .teacher-homework-date-panel-foot button:last-child:hover{color:#fff;background:#0f66d8;border-color:#0f66d8}.teacher-layout .teacher-homework-form-foot{border-top:none;gap:10px;min-height:64px;padding:14px 24px 22px}.teacher-layout .teacher-homework-cancel-btn,.teacher-layout .teacher-homework-submit-btn{border-radius:5px;min-width:64px;height:34px;padding:0 18px;font-size:14px;font-weight:400}.teacher-layout .teacher-homework-submit-btn:disabled{cursor:not-allowed}.teacher-layout .teacher-homework-cancel-btn{color:#3f4752;background:#fff;border:1px solid #e5e6eb}.teacher-layout .teacher-homework-cancel-btn:hover{color:#1f2329;background:#f7f8fa}.teacher-layout .teacher-homework-submit-btn{color:#fff;background:#1677ff;border-color:#1677ff}.teacher-layout .teacher-homework-submit-btn:hover{background:#0f66d8;border-color:#0f66d8}.teacher-layout .teacher-modal-exam{border-radius:14px;width:920px;max-width:calc(100vw - 48px);min-height:500px;overflow:hidden}.teacher-layout .teacher-paper-modal{border-radius:14px;width:880px;max-width:calc(100vw - 48px);max-height:80vh;overflow:hidden}.teacher-layout .teacher-paper-header{border-bottom:1px solid #e8e8e8;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.teacher-layout .teacher-paper-header h3{color:#1d2129;margin:0;font-size:18px;font-weight:700}.teacher-layout .teacher-paper-body{flex-direction:column;gap:16px;padding:18px 20px 20px;display:flex;overflow:auto}.teacher-layout .teacher-paper-summary{background:#f8fbff;border:1px solid #e8eef7;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.teacher-layout .teacher-paper-summary-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.teacher-layout .teacher-paper-summary-item{flex-direction:column;gap:4px;min-width:0;display:flex}.teacher-layout .teacher-paper-summary-span-2{grid-column:span 2}.teacher-layout .teacher-paper-summary-label{color:#7a8699;font-size:12px}.teacher-layout .teacher-paper-summary-value{color:#1d2129;word-break:break-word;min-width:0;font-size:14px;font-weight:600}.teacher-layout .teacher-paper-summary-score{background:#fff;border:1px solid #dbe6ff;border-radius:10px;padding:12px 14px}.teacher-layout .teacher-paper-summary-score .teacher-paper-summary-label{color:#165dff;font-size:13px;font-weight:600}.teacher-layout .teacher-paper-summary-score-value{color:#165dff;font-size:22px;font-weight:700}.teacher-layout .teacher-paper-summary-meta{color:#6b7280;flex-wrap:wrap;align-items:center;gap:16px;font-size:13px;display:flex}.teacher-layout .teacher-paper-section-sep{background:#eef1f5;height:1px}.teacher-layout .teacher-paper-content{flex-direction:column;gap:18px;display:flex}.teacher-layout .teacher-paper-group{flex-direction:column;gap:12px;display:flex}.teacher-layout .teacher-paper-group-title{color:#1d2129;margin:0;font-size:16px;font-weight:700}.teacher-layout .teacher-paper-group-list{flex-direction:column;gap:12px;display:flex}.teacher-layout .teacher-paper-question{background:#fff;border:1px solid #edf0f5;border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px #0f172a0a}.teacher-layout .teacher-paper-question-head{grid-template-columns:28px minmax(0,1fr) auto;align-items:flex-start;gap:12px;display:grid}.teacher-layout .teacher-paper-question-index{color:#165dff;font-size:15px;font-weight:700;line-height:1.6}.teacher-layout .teacher-paper-question-main{min-width:0}.teacher-layout .teacher-paper-question-stem{color:#1d2129;white-space:pre-wrap;word-break:break-word;margin:0;font-size:15px;font-weight:600;line-height:1.6}.teacher-layout .teacher-paper-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin-top:10px;display:grid}.teacher-layout .teacher-paper-option-row{color:#4e5969;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:6px;font-size:14px;line-height:1.55;display:grid}.teacher-layout .teacher-paper-option-key{color:#1d2129;font-weight:700}.teacher-layout .teacher-paper-option-text{word-break:break-word;min-width:0}.teacher-layout .teacher-paper-result{white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.teacher-layout .teacher-paper-result.is-correct{color:#00b42a;background:#effaf2}.teacher-layout .teacher-paper-result.is-wrong{color:#f5222d;background:#fff1f0}.teacher-layout .teacher-paper-result-icon{color:#fff;background:currentColor;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.teacher-layout .teacher-paper-answer-group{gap:8px;margin-top:12px;display:grid}.teacher-layout .teacher-paper-answer-line{color:#4e5969;align-items:flex-start;gap:6px;font-size:14px;line-height:1.6;display:flex}.teacher-layout .teacher-paper-answer-line.is-correct .teacher-paper-answer-value{color:#00b42a;font-weight:600}.teacher-layout .teacher-paper-answer-line.is-wrong .teacher-paper-answer-value{color:#f5222d;font-weight:600}.teacher-layout .teacher-paper-answer-label{color:#1d2129;flex:none;font-weight:600}.teacher-layout .teacher-paper-answer-value{white-space:pre-wrap;word-break:break-word;min-width:0}.teacher-layout .teacher-paper-analysis{color:#6b7280;border-top:1px dashed #e8ebf0;gap:6px;margin-top:12px;padding-top:10px;font-size:13px;line-height:1.6;display:flex}.teacher-layout .teacher-paper-analysis-label{color:#165dff;flex:none;font-weight:700}.teacher-layout .teacher-paper-analysis-text{white-space:pre-wrap;word-break:break-word;min-width:0}.teacher-layout .teacher-paper-empty{color:#8a96a8;text-align:center;background:#fafcff;border:1px dashed #d9e2f2;border-radius:12px;padding:40px 16px;font-size:14px}.teacher-layout .teacher-paper-footer{border-top:1px solid #e8e8e8;justify-content:flex-end;align-items:center;gap:10px;min-height:56px;padding:14px 24px;display:flex}.teacher-layout .teacher-modal-bank{border-radius:8px;width:900px;height:600px}.teacher-layout .teacher-modal-upload{border-radius:8px;width:800px;height:550px}.teacher-layout .teacher-modal-head{border-bottom:1px solid #e8e8e8;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:flex}.teacher-layout .teacher-modal-head h3{color:#333;margin:0;font-size:18px;font-weight:700}.teacher-layout .teacher-close-btn{color:#999;cursor:pointer;background:0 0;border:none;width:32px;height:32px;font-size:22px;line-height:1}.teacher-layout .teacher-modal-body{flex-direction:column;gap:18px;padding:24px;display:flex;overflow:auto}.teacher-layout .teacher-modal-options{flex-direction:column;gap:0;display:flex}.teacher-layout .teacher-modal-foot{border-top:1px solid #e8e8e8;justify-content:flex-end;align-items:center;gap:10px;min-height:56px;padding:14px 24px;display:flex}.teacher-layout .teacher-modal-between{justify-content:space-between}.teacher-layout .teacher-radio-line{align-items:center;gap:14px;margin:8px 0 12px;display:flex}.teacher-layout .teacher-line-textarea{resize:vertical;width:100%;min-height:96px;padding:10px}.teacher-layout .teacher-form-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.teacher-layout .teacher-form-row .short{width:100px}.teacher-layout .teacher-compact-table th,.teacher-layout .teacher-compact-table td{height:42px}.teacher-layout .teacher-compact-table select,.teacher-layout .teacher-compact-table input{width:100%}.teacher-layout .exam-settings-score-row{align-items:center;gap:12px;margin-bottom:4px;display:flex}.teacher-layout .exam-settings-score-label{color:#333;font-size:18px;font-weight:600}.teacher-layout .exam-settings-total-input{text-align:center;border:2px solid #b7d4ff;border-radius:8px;height:40px;font-size:18px;font-weight:600;box-shadow:inset 0 0 0 1px #1677ff0a;width:108px!important}.teacher-layout .exam-settings-score-unit{color:#333;font-size:18px;font-weight:600}.teacher-layout .exam-settings-table-wrap{background:#fff;border:1px solid #edf0f5;border-radius:10px;overflow:hidden}.teacher-layout .exam-settings-table{table-layout:auto;margin-top:0}.teacher-layout .exam-settings-table thead th{color:#333;background:#f7f9fc;border-bottom:1px solid #edf0f5;height:46px;font-size:13px;font-weight:700}.teacher-layout .exam-settings-table tbody td{vertical-align:middle;background:#fff;border-bottom:1px solid #f0f2f5;height:50px}.teacher-layout .exam-settings-table tbody tr:last-child td{border-bottom:none}.teacher-layout .exam-settings-table select,.teacher-layout .exam-settings-table input{background:#fff;border:1px solid #d9dfe8;border-radius:8px;height:36px;padding:0 10px;font-size:14px}.teacher-layout .exam-settings-table select:focus,.teacher-layout .exam-settings-table input:focus{border-color:#1677ff;outline:none;box-shadow:0 0 0 3px #1677ff1f}.teacher-layout .exam-settings-col-type{width:124px}.teacher-layout .exam-settings-col-score{width:96px}.teacher-layout .exam-settings-col-count{width:118px}.teacher-layout .exam-settings-col-source{width:200px;min-width:200px}.teacher-layout .exam-settings-table td.exam-settings-col-source{overflow:visible}.teacher-layout .exam-settings-col-source select{white-space:nowrap;text-overflow:ellipsis;width:100%;min-width:200px;max-width:none;padding-right:34px;font-size:14px;display:block}.teacher-layout .exam-settings-col-delete{text-align:right;width:88px;padding-right:18px!important}.teacher-layout .exam-settings-add-btn{align-self:flex-start;margin-top:-2px;font-size:16px}.teacher-layout .teacher-question-list{margin-top:10px;display:grid}.teacher-layout .teacher-question-list .teacher-layout .teacher-asset-page{padding:24px}.teacher-layout .teacher-question-list .teacher-layout .teacher-asset-filter-row{margin-top:18px}.teacher-layout .teacher-question-list .teacher-layout .teacher-asset-page .asset-stat-card{margin-top:14px}.teacher-layout .teacher-question-list .teacher-layout .teacher-asset-page .asset-table{min-width:860px}.teacher-layout .teacher-question-list .teacher-layout .teacher-asset-page .asset-date-field{border:1px solid var(--line);background:#fff;border-radius:4px;height:34px;padding:0 10px}.teacher-layout .teacher-question-list .teacher-layout .teacher-asset-page .asset-date-display{width:92px;color:var(--text-main);border:none;outline:none;font-size:14px}.teacher-layout .teacher-question-list .teacher-layout .teacher-asset-page .asset-action-row{justify-content:center}.teacher-layout .teacher-question-list{gap:10px}.teacher-layout .teacher-question-item{border:1px solid #e8e8e8;border-radius:4px;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.teacher-layout .teacher-question-item p{color:#333;margin:0}.teacher-layout .teacher-option-text{font-size:12px;color:#666!important;margin-top:6px!important}.teacher-layout .teacher-option-item{color:#666;grid-template-columns:24px minmax(0,1fr);align-items:start;column-gap:6px;font-size:12px;display:grid}.teacher-layout .teacher-option-key{color:#333;font-weight:600}.teacher-layout .teacher-option-value{word-break:break-word;min-width:0}.teacher-layout .teacher-answer-text{color:#52c41a;white-space:nowrap;font-size:14px}.teacher-layout .teacher-upload-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.teacher-layout .teacher-upload-pane{border:1px solid #e8e8e8;border-radius:4px;padding:12px}.teacher-layout .teacher-upload-pane h4{color:#1677ff;margin:0;font-size:16px}.teacher-layout .teacher-upload-pane p{color:#666;margin:8px 0;font-size:12px}.teacher-layout .teacher-template-row{align-items:center;gap:8px;display:flex}.teacher-layout .teacher-excel-tag{color:#52c41a;font-weight:600}.teacher-layout .teacher-upload-drop{color:#666;text-align:center;cursor:pointer;border:1px dashed #d9d9d9;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;margin-top:10px;display:flex}.teacher-layout .teacher-upload-drop small{color:#999;font-size:12px}.teacher-layout .teacher-option-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.teacher-layout .teacher-option-grid label{color:#666;align-items:center;gap:6px;display:flex}.teacher-layout .teacher-option-grid input{flex:1}.teacher-layout .teacher-answer-group{color:#666;align-items:center;gap:10px;margin-top:8px;display:flex}.teacher-layout .teacher-upload-inline-btns{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.teacher-layout .teacher-recorded-box{border:1px solid #e8e8e8;border-radius:4px;margin-top:12px;padding:10px}.teacher-layout .teacher-recorded-box h4{color:#333;margin:0 0 10px;font-size:14px}.teacher-layout .teacher-drag-over{outline-offset:-4px;outline:2px dashed #1677ff}.teacher-layout .empty-cell{text-align:center;color:#999}@media (width<=1280px){.teacher-layout .teacher-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-layout .teacher-upload-grid{grid-template-columns:1fr}}@media (width<=768px){.teacher-layout{grid-template-rows:auto auto 1fr;grid-template-columns:1fr;height:auto;min-height:100vh;max-height:none;position:static;inset:auto;overflow:visible}.teacher-layout .topbar{flex-wrap:wrap;height:auto;padding:12px}.teacher-layout .brand-main{font-size:22px}.teacher-layout .brand-sub{font-size:20px}.teacher-layout .top-user{justify-content:flex-end;width:100%;font-size:16px}.teacher-layout .teacher-user-menu-trigger,.teacher-layout .teacher-user-dropdown-item{font-size:16px}.teacher-layout .sidebar{border-top:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8;border-right:none;height:auto;padding:8px;overflow:visible}.teacher-layout .side-menu{flex-direction:row;gap:8px;overflow:auto}.teacher-layout .collapse-btn{display:none}.teacher-layout .sidebar-logout-btn{display:inline-flex}.teacher-layout .main{height:auto;padding:10px;overflow:visible}.teacher-layout .teacher-panel,.teacher-layout .teacher-points-card{padding:12px}.teacher-layout .teacher-course-box,.teacher-layout .teacher-toolbar,.teacher-layout .teacher-tabs-row,.teacher-layout .teacher-toolbar-left,.teacher-layout .teacher-toolbar-right,.teacher-layout .teacher-quick-row,.teacher-layout .teacher-filter-line{flex-direction:column;align-items:stretch}.teacher-layout .teacher-course-switch{margin-left:0}.teacher-layout .teacher-search,.teacher-layout .teacher-search-slim{width:100%}.teacher-layout .table-wrap{overflow-x:auto}.teacher-layout .table{min-width:960px}.teacher-layout .teacher-modal-exam,.teacher-layout .teacher-modal-bank,.teacher-layout .teacher-modal-upload{width:calc(100vw - 24px);height:auto;max-height:calc(100vh - 24px)}.teacher-layout .teacher-paper-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.teacher-layout .teacher-paper-summary-top,.teacher-layout .teacher-paper-options{grid-template-columns:1fr}.teacher-layout .teacher-paper-question-head{grid-template-columns:24px minmax(0,1fr)}.teacher-layout .teacher-paper-result{grid-column:1/-1;margin-top:4px}.teacher-layout .teacher-paper-summary-span-2{grid-column:auto}.teacher-layout .exam-settings-score-row{flex-wrap:wrap}}.tq-modal-mask{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tq-modal-card{background:#fff;border-radius:8px;flex-direction:column;width:960px;height:800px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000001f}.tq-modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;width:24px;height:24px;font-size:24px;position:absolute;top:16px;right:16px}.tq-modal-close:before{content:"×";color:inherit;text-align:center;font-size:24px;line-height:24px;transition:color .2s;display:block}.tq-modal-close:hover:before{color:#1f2329}.tq-modal-content{box-sizing:border-box;flex-direction:column;height:100%;padding:24px;display:flex}.tq-modal-top{gap:24px;margin-bottom:24px;display:flex}.tq-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;flex:1;padding:20px;display:flex}.tq-card-left{flex:1}.tq-card-right{flex:1.2}.tq-card-title{margin-bottom:16px;font-size:16px;font-weight:600}.tq-card-title-left{color:#1677ff;border-left:3px solid #1677ff;padding-left:8px}.tq-card-title-right{color:#fff;background:#1677ff;border-radius:4px;padding:4px 12px;display:inline-block}.tq-card-tip{color:#6b7280;margin-bottom:16px;font-size:14px}.tq-template-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.tq-excel-icon{background:#2ecc71;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:relative}.tq-excel-icon:before{content:"";background:url("data:image/svg+xml;utf8,<svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><rect width=\"16\" height=\"16\" rx=\"3\" fill=\"%232ecc71\"/><path d=\"M4.5 4.5h7v7h-7v-7zm1.5 1.5v4h4v-4h-4z\" fill=\"%23fff\"/></svg>") 50%/contain no-repeat;width:16px;height:16px;display:block}.tq-template-name{color:#1f2329;font-size:14px}.tq-link{color:#1677ff;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;align-items:center;gap:4px;padding:0;font-size:14px;text-decoration:none;transition:border-color .2s;display:flex}.tq-link:hover{border-bottom:1px solid #1677ff}.tq-link-danger{color:#f5222d}.tq-template-download .tq-link-icon:before{content:"";vertical-align:middle;background:url("data:image/svg+xml;utf8,<svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M8 2v8m0 0l-3-3m3 3l3-3\" stroke=\"%231677ff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><rect x=\"3\" y=\"12\" width=\"10\" height=\"2\" rx=\"1\" fill=\"%231677ff\"/></svg>") 50%/contain no-repeat;width:16px;height:16px;display:inline-block}.tq-upload-zone{text-align:center;cursor:pointer;border:2px dashed #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;padding:40px 20px;transition:border-color .2s;display:flex}.tq-upload-zone:hover,.tq-upload-zone.tq-upload-hover{border-color:#1677ff}.tq-upload-cloud{background:url("data:image/svg+xml;utf8,<svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path d=\"M16 22V14m0 8l-4-4m4 4l4-4\" stroke=\"%231677ff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M24 24a6 6 0 00-6-6h-1a7 7 0 10-7 7h14z\" stroke=\"%231677ff\" stroke-width=\"2\"/></svg>") 50%/contain no-repeat;width:32px;height:32px;margin-bottom:12px}.tq-upload-text{margin-bottom:8px;font-size:14px}.tq-upload-tip{color:#6b7280;font-size:12px}.tq-form-row{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.tq-form-label{color:#1f2329;font-size:14px;font-weight:500}.tq-form-select,.tq-form-textarea{color:#1f2329;background:#fff;border:1px solid #e5e7eb;border-radius:4px;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.tq-form-select:focus,.tq-form-textarea:focus,.tq-option-input:focus{border-color:#1677ff}.tq-form-textarea{resize:vertical;height:80px}.tq-option-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tq-option-item{align-items:center;gap:8px;display:flex}.tq-option-label{width:20px;font-weight:600}.tq-option-input{color:#1f2329;background:#fff;border:1px solid #e5e7eb;border-radius:4px;outline:none;flex:1;padding:8px 12px;font-size:14px;transition:border-color .2s}.tq-answer-group{align-items:center;gap:24px;display:flex}.tq-radio-item{align-items:center;gap:8px;display:flex}.tq-radio{appearance:none;cursor:pointer;border:1px solid #e5e7eb;border-radius:50%;outline:none;width:16px;height:16px;transition:border-color .2s;position:relative}.tq-radio:checked{background:#1677ff;border-color:#1677ff}.tq-radio:checked:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;display:block;position:absolute;top:4px;left:4px}.tq-radio-label{color:#1f2329;font-size:14px}.tq-form-btns{align-self:flex-end;gap:12px;display:flex}.tq-btn{cursor:pointer;border:none;border-radius:4px;outline:none;padding:8px 16px;font-family:inherit;font-size:14px;transition:background .2s,color .2s}.tq-btn-primary{color:#fff;background:#1677ff;border:none}.tq-btn-primary:hover{background:#1565d8}.tq-btn-secondary{color:#6b7280;background:#fff;border:1px solid #e5e7eb}.tq-btn-secondary:hover{background:#f3f4f6}.tq-btn-border{color:#1677ff;background:#fff;border:1px solid #1677ff}.tq-btn-border:hover{background:#e6f0ff}.tq-list-section{margin-top:12px}.tq-list-title{margin-bottom:16px;font-size:16px;font-weight:600}.tq-list-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.tq-table{border-collapse:collapse;width:100%;font-size:14px}.tq-table th{color:#1f2329;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-weight:500}.tq-table td{color:#1f2329;border-bottom:1px solid #e5e7eb;padding:12px 16px}.tq-list-content{white-space:pre-wrap;word-break:break-all}.tq-list-empty{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:40px 0;display:flex}.tq-empty-icon{background:url("data:image/svg+xml;utf8,<svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\"><rect x=\"8\" y=\"12\" width=\"32\" height=\"24\" rx=\"4\" fill=\"%23f3f4f6\" stroke=\"%23d1d5db\" stroke-width=\"2\"/><rect x=\"16\" y=\"20\" width=\"16\" height=\"8\" rx=\"2\" fill=\"%23d1d5db\"/><path d=\"M24 28v-4\" stroke=\"%23fff\" stroke-width=\"2\" stroke-linecap=\"round\"/></svg>") 50%/contain no-repeat;width:48px;height:48px;margin-bottom:12px}.tq-empty-text{color:#6b7280;font-size:14px}.tq-modal-footer{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}@media (width<=1280px){.tq-modal-card{width:98vw;height:98vh}.tq-modal-content{padding:12px}.tq-modal-top{flex-direction:column;gap:12px}}.upload-modal-mask{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.upload-modal{background:#fff;border-radius:8px;flex-direction:column;width:900px;max-width:98vw;height:min(940px,94vh);max-height:94vh;display:flex;overflow:hidden;box-shadow:0 4px 12px #00000026}.upload-modal-header{justify-content:space-between;align-items:center;padding:24px 24px 0;display:flex}.upload-modal-title{color:#262626;font-size:16px;font-weight:700}.upload-modal-close{color:#bfbfbf;cursor:pointer;background:0 0;border:none;border-radius:50%;width:32px;height:32px;font-size:24px;transition:color .2s}.upload-modal-close:hover{color:#262626}.upload-modal-body{flex-direction:column;flex:auto;gap:24px;min-height:0;padding:0 24px 24px;display:flex;overflow:hidden auto}.upload-modal-main{flex:none;align-items:stretch;gap:24px;min-height:0;margin-top:24px;margin-bottom:0;display:flex}.upload-modal-col{flex-direction:column;align-self:stretch;min-width:0;display:flex}.upload-modal-col-left{flex:0 0 40%;max-width:340px}.upload-modal-col-right{flex:1 1 0;min-width:0}.upload-panel-card{box-sizing:border-box;background:#f3faff;border:1px solid #e3f0ff;border-radius:12px;height:100%;min-height:430px;padding:14px 14px 16px}.upload-panel-card-left,.upload-panel-card-right{flex-direction:column;flex:auto;display:flex}.method-tag{color:#1890ff;background:#e6f7ff;border-radius:6px;justify-content:center;align-items:center;width:fit-content;min-width:168px;max-width:220px;margin-bottom:12px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1px #1890ff0f}.method-desc{color:#595959;margin-bottom:16px;font-size:13px}.template-row{align-items:center;gap:12px;margin-bottom:20px;display:flex}.excel-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.template-name{color:#262626;font-size:14px}.template-download{color:#1890ff;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:14px;text-decoration:underline;transition:color .2s;display:flex}.template-download:hover{color:#1565d8}.upload-area{cursor:pointer;background:#fff;border:1px dashed #d9d9d9;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:200px;margin-top:0;margin-bottom:0;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.upload-area:hover,.upload-area.upload-hover{border-color:#1890ff}.upload-cloud{justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 8px;display:flex}.upload-area-text{color:#595959;font-size:14px}.upload-area-tip{color:#8c8c8c;font-size:12px}.question-form{flex-direction:column;flex:auto;gap:0;margin-top:0;display:flex}.question-form-fields{background:#fff;border:1px solid #e8f1ff;border-radius:12px;flex-direction:column;padding:16px;display:flex;box-shadow:0 8px 20px #1890ff0d}.question-form-row{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.question-form-row-bar{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:16px}.question-list-title{color:#262626;font-size:14px;font-weight:600}.question-form-bar-btns{gap:8px;display:flex}.btn{cursor:pointer;color:#595959;background:#fff;border:1px solid #d9d9d9;border-radius:4px;outline:none;justify-content:center;align-items:center;height:32px;padding:0 16px;font-family:inherit;font-size:14px;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn-small{height:28px;padding:0 12px;font-size:13px}.btn-primary{color:#fff;background:#1890ff;border:none}.btn-primary:hover{background:#1565d8}.btn-secondary{color:#595959;background:#fff;border:1px solid #d9d9d9}.btn-secondary:hover{background:#f3f4f6}.btn-border{color:#1890ff;background:#fff;border:1px solid #1890ff}.btn-border:hover{background:#e6f7ff}.form-label{color:#262626;font-size:14px;font-weight:500}.form-label-row{align-items:baseline;gap:8px;display:flex}.form-label-tip{color:#8c8c8c;font-size:12px;font-weight:400}.form-select{color:#262626;appearance:none;background:#fff;border:1px solid #d9d9d9;border-radius:4px;outline:none;width:100%;height:32px;padding:0 12px;font-size:14px;transition:border-color .2s}.form-select:focus{border-color:#1890ff}.form-textarea{color:#262626;resize:vertical;border:1px solid #d9d9d9;border-radius:4px;outline:none;width:100%;height:80px;padding:8px 12px;font-size:14px;transition:border-color .2s}.form-textarea:focus{border-color:#1890ff}.options-grid{grid-template-columns:1fr 1fr;gap:12px;max-width:580px;display:grid}.option-item{align-items:center;gap:8px;max-width:160px;display:flex}.option-label{color:#262626;background:#f5f5f5;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:14px;font-weight:600;display:flex}.option-input{color:#262626;background:#fff;border:1px solid #d9d9d9;border-radius:4px;outline:none;flex:0 0 160px;width:160px;max-width:160px;height:32px;padding:0 10px;font-size:14px;transition:border-color .2s}.option-input:focus{border-color:#1890ff}.answer-group{align-items:center;gap:24px;display:flex}.radio-item{align-items:center;gap:8px;display:flex}.radio{appearance:none;cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:50%;outline:none;width:16px;height:16px;transition:border-color .2s;position:relative}.radio:checked{background:#1890ff;border-color:#1890ff}.radio:checked:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;display:block;position:absolute;top:4px;left:4px}.radio-label{color:#262626;font-size:14px}.question-form-row-btns{border-top:1px solid #f5f7fb;flex-direction:row;justify-content:flex-end;gap:8px;margin-top:12px;margin-bottom:0;padding-top:4px}.question-table-section{background:#fff;border:1px solid #edf1f6;border-radius:14px;flex:none;margin-top:0;padding:18px 18px 14px}.question-table-title{color:#262626;margin:0 0 16px;font-size:14px;font-weight:600}.question-table-wrap{background:#fff;border:1px solid #f0f0f0;border-radius:8px;flex-direction:column;min-height:120px;max-height:420px;display:flex;overflow:auto}.question-table{border-collapse:collapse;width:100%;min-width:860px;font-size:14px}.question-table thead th{color:#595959;text-align:left;white-space:nowrap;background:#fafafa;border-bottom:1px solid #f0f0f0;height:48px;padding:0 16px;font-size:12px;font-weight:600}.question-table tbody td{color:#262626;vertical-align:middle;text-align:left;white-space:nowrap;border-bottom:1px solid #f0f0f0;height:48px;padding:0 16px;font-size:14px}.question-table th:first-child,.question-table td:first-child{width:88px}.question-table th:nth-child(2),.question-table td:nth-child(2){width:120px}.question-table th:nth-child(3),.question-table td:nth-child(3){text-overflow:ellipsis;max-width:460px;overflow:hidden}.question-table th:nth-child(5),.question-table td:nth-child(5){width:110px}.question-table td .btn.btn-danger.btn-small{white-space:nowrap;min-width:64px;height:32px;padding:0 14px;font-size:14px;line-height:1}.table-content{white-space:pre-wrap;word-break:break-all}.table-link-danger{color:#f5222d;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.question-table-empty{color:#bfbfbf;background:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:120px;display:flex}.upload-modal-footer{background:#fff;border-top:1px solid #f0f0f0;flex:none;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}@media (width<=1100px){.upload-modal{width:98vw}}@media (width<=900px){.upload-modal-main{flex-direction:column;gap:16px}.upload-modal-col-left{width:100%;max-width:none}.method-tag{min-width:0;max-width:none}.question-form-fields{padding:14px}}.uploaded-questions{background-color:var(--primary-bg);border-radius:8px;margin-top:16px;padding:16px}.questions-table{border-collapse:collapse;text-align:left;width:100%}.questions-table th,.questions-table td{border:1px solid var(--line);padding:8px}.questions-table th{background-color:var(--primary-bg);color:var(--text-main);font-weight:700}.questions-table td{color:var(--text-sub)}.delete-btn{background-color:var(--danger);color:var(--white);cursor:pointer;border:none;border-radius:4px;padding:4px 8px}.delete-btn:hover{background-color:#d11a2a}.card{background-color:var(--primary-bg);border-radius:8px;margin-bottom:16px;padding:16px;box-shadow:0 2px 4px #0000001a}.card.white{background-color:var(--white)}.card-title{color:var(--text-main);margin-bottom:8px;font-size:14px;font-weight:700}.card-content{color:var(--text-sub);font-size:12px}.upload-cloud{background-image:url(/path/to/new-icon.svg);background-repeat:no-repeat;background-size:contain;width:50px;height:50px;margin:0 auto}.card-blue{background-color:var(--primary-bg);border-radius:8px;margin-bottom:16px;padding:16px;box-shadow:0 2px 4px #0000001a}.card-blue.short{width:80%;margin:0 auto}.card-blue .card-title{color:var(--text-main);margin-bottom:8px;font-size:14px;font-weight:700}.card-blue .card-content{color:var(--text-sub);font-size:12px}.upload-modal-col-left .card-blue,.upload-modal-col-right .card-blue{width:90%;margin:0 auto}.empty-table{height:180px;min-height:120px;color:var(--text-tip);flex-direction:column;justify-content:center;align-items:center;font-size:18px;display:flex}.empty-icon{margin-bottom:8px}.empty-text{color:var(--text-tip);font-size:18px}.select-wrapper{align-items:center;display:flex;position:relative}.select-wrapper .form-select{width:100%;padding-right:32px}.select-arrow{pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.student-layout{color:#1d2129;background:#f2f3f5;grid-template-rows:64px minmax(0,1fr);grid-template-columns:200px minmax(0,1fr);min-width:1200px;height:100vh;max-height:100vh;font-family:PingFang SC,Microsoft YaHei,sans-serif;display:grid;position:fixed;inset:0;overflow:hidden}.student-layout .student-topbar{z-index:40;background:#fff;border-bottom:1px solid #e5e6eb;grid-column:1/-1;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.student-layout .student-brand{align-items:center;gap:14px;display:flex}.student-layout .student-brand-main{color:#165dff;font-size:34px;font-weight:700;line-height:1}.student-layout .student-brand-sub{color:#1d2129;font-size:30px;font-weight:600;line-height:1}.student-layout .student-top-user{color:#1d2129;align-items:center;gap:12px;font-size:14px;font-weight:600;display:inline-flex}.student-layout .student-avatar{color:#1677ff;background:#e6f4ff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;overflow:hidden}.student-layout .student-avatar-trigger{cursor:pointer;border:none;padding:0}.student-layout .student-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.student-layout .student-avatar .icon,.student-layout .student-avatar .icon svg{width:18px;height:18px}.student-layout .student-identity-badge{color:#1d2129;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.student-layout .student-points-label{color:#1d2129;white-space:nowrap;font-size:14px;font-weight:600}.student-layout .student-user-menu{align-items:center;display:inline-flex;position:relative}.student-layout .student-user-trigger{color:#1d2129;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:600;line-height:1.2;display:inline-flex}.student-layout .student-user-name{white-space:nowrap}.student-layout .student-user-trigger:hover .student-user-name,.student-layout .student-user-trigger:focus-visible .student-user-name{color:#111}.student-layout .student-user-trigger:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #b9d1ff}.student-layout .student-user-arrow{width:6px;height:6px;transition:transform .25s;display:inline-block;position:relative}.student-layout .student-user-arrow:before{content:"";background:#5f6b7f;width:2px;height:2px;position:absolute;top:0;left:0;box-shadow:2px 0 #5f6b7f,4px 0 #5f6b7f,1px 2px #5f6b7f,3px 2px #5f6b7f,2px 4px #5f6b7f}.student-layout .student-user-trigger.is-open .student-user-arrow{transform:rotate(180deg)}.student-layout .student-user-dropdown{opacity:0;pointer-events:none;z-index:20;background:#fff;border:1px solid #e3e7ee;border-radius:8px;width:max-content;min-width:100%;padding:6px;transition:opacity .25s,transform .25s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-8px);box-shadow:0 8px 18px #141a231a}.student-layout .student-user-dropdown.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.student-layout .student-user-dropdown-item{color:#1d2129;font:inherit;text-align:left;cursor:pointer;background:#fff;border:none;border-radius:6px;width:100%;padding:8px 12px;font-weight:600;transition:background-color .18s,color .18s}.student-layout .student-user-dropdown-item:hover{color:#101418;background:#f3f5f8}.student-layout .student-sidebar{background:#fff;border-right:1px solid #e5e6eb;flex-direction:column;grid-area:2/1;justify-content:space-between;height:calc(100vh - 64px);padding:12px 12px 52px;display:flex;position:relative;overflow:hidden}.student-layout .student-side-menu{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.student-layout .student-menu-item{color:#4e5969;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;height:48px;padding:0 16px;font-family:inherit;font-size:14px;display:flex}.student-layout .student-menu-item:hover{background:#f8faff}.student-layout .student-menu-item.is-active{color:#165dff;background:#e8f3ff;font-weight:600}.student-layout .student-menu-item .icon,.student-layout .student-menu-item .icon svg{width:16px;height:16px}.student-layout .student-sidebar-logout{color:#9aa3af;cursor:pointer;background:#fff;border:1px solid #d0d5dc;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 1px 2px #0f172a14}.student-layout .student-sidebar-logout:hover{color:#5b7fb0;background:#f7faff;border-color:#9fb8df}.student-layout .student-sidebar-logout .icon,.student-layout .student-sidebar-logout .icon svg{width:14px;height:14px}.student-layout .student-main{background:#f2f3f5;grid-area:2/2;height:calc(100vh - 64px);padding:24px;overflow:hidden auto}.student-layout .student-course-box{background:#eef4ff;border:1px solid #d7e2f8;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:18px 22px;display:flex;box-shadow:0 4px 14px #12264a0a}.student-layout .student-course-main{flex:520px;min-width:0}.student-layout .student-course-header{align-items:flex-start;gap:12px;display:flex}.student-layout .student-course-copy{flex:1;min-width:0}.student-layout .student-course-title{color:#1f2937;align-items:center;gap:3px;margin:0;font-size:18px;font-weight:800;line-height:1.15;display:flex}.student-layout .student-course-label{white-space:nowrap;flex:none}.student-layout .student-course-name{white-space:nowrap;text-overflow:ellipsis;font-size:18px;line-height:1.15;overflow:hidden}.student-layout .student-course-toggle{color:#3b6fd8;cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-left:2px;display:inline-flex}.student-layout .student-course-toggle:hover{background:#3b6fd814;transform:translateY(-1px)}.student-layout .student-course-toggle .icon,.student-layout .student-course-toggle .icon svg{width:14px;height:14px}.student-layout .student-course-meta{color:#334155;flex-wrap:wrap;align-items:center;gap:18px 30px;margin:12px 0 0;font-size:14px;display:flex}.student-layout .student-course-meta span{align-items:center;gap:8px;display:inline-flex}.student-layout .student-course-error{color:#cf1322;margin:8px 0 0;font-size:12px}.student-layout .student-course-switch{color:#4f79cc;cursor:pointer;background:#f8fafc;border:1px solid #d3dbee;border-radius:6px;flex:none;justify-content:center;align-self:center;align-items:center;min-width:108px;height:32px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex}.student-layout .student-course-switch:hover{background:#f3f7fd;border-color:#bfd0ef}.student-layout .student-course-switch:disabled{color:#b0bdd1;cursor:not-allowed;background:#fafbfd;border-color:#d9e0ec}.student-layout .student-course-picker{background:linear-gradient(#ffffffe0,#f8fbffc2);border:1px solid #6f93d638;border-radius:14px;flex-direction:column;flex:0 0 100%;gap:12px;width:100%;margin-top:12px;padding:16px;display:flex;box-shadow:0 12px 28px #18407c14}.student-layout .student-course-picker-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.student-layout .student-course-picker-title{color:#20314f;margin:0;font-size:15px;font-weight:700}.student-layout .student-course-picker-subtitle{color:#6c7c98;margin:4px 0 0;font-size:12px;line-height:1.5}.student-layout .student-course-picker-row{flex:auto;align-items:center;display:flex}.student-layout .student-course-select-wrap{flex:1;min-width:0;max-width:460px;position:relative}.student-layout .student-course-select{color:#1f2937;appearance:none;cursor:pointer;background:#fff;border:1px solid #bfd0ef;border-radius:14px;outline:none;width:100%;height:46px;padding:0 46px 0 16px;font-family:inherit;font-size:15px;font-weight:700;transition:border-color .18s,box-shadow .18s}.student-layout .student-course-select:hover{border-color:#8fb1ec;box-shadow:0 8px 18px #4070c41a}.student-layout .student-course-select:focus{border-color:#1677ff;box-shadow:0 0 0 4px #1677ff1f}.student-layout .student-course-down{color:#3b6fd8;pointer-events:none;align-items:center;display:inline-flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.student-layout .student-course-down .icon,.student-layout .student-course-down .icon svg{width:14px;height:14px}.student-layout .student-course-picker-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.student-layout .student-btn{color:#1d2129;cursor:pointer;background:#fff;border:1px solid #d0d5dc;border-radius:4px;align-items:center;gap:8px;height:32px;padding:0 14px;font-family:inherit;font-size:14px;display:inline-flex}.student-layout .student-btn:hover{background:#f7f8fa;border-color:#b9c4d4}.student-layout .student-btn:disabled{cursor:not-allowed;color:#b0bdd1;background:#f5f7fa;border-color:#e3e8ef}.student-layout .student-btn-primary{color:#fff;background:#165dff;border-color:#165dff}.student-layout .student-btn-primary:hover{background:#4096ff;border-color:#4096ff}.student-layout .student-btn-primary:disabled{color:#fff;background:#b6cffa;border-color:#b6cffa}.student-layout .student-btn.is-disabled,.student-layout .student-btn-primary.is-disabled{cursor:not-allowed;color:#fff;opacity:.72;background:#b6cffa;border-color:#b6cffa}.student-layout .student-panel{background:#fff;border-radius:8px;padding:24px}.student-layout .student-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-layout .student-toolbar-left{align-items:center;gap:8px;display:flex}.student-layout .student-search{color:#999;border:1px solid #d0d5dc;border-radius:4px;align-items:center;gap:8px;width:220px;height:32px;padding:0 10px;display:flex}.student-layout .student-search input{color:#1d2129;background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:14px}.student-layout .student-search input::placeholder{color:#b0b8c1}.student-layout .student-table-wrap{border:1px solid #e5e6eb;border-radius:4px;margin-top:16px;overflow:hidden}.student-layout .student-table{border-collapse:collapse;table-layout:fixed;width:100%}.student-layout .student-table th,.student-layout .student-table td{text-align:left;color:#4e5969;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #f2f3f5;height:48px;padding:0 10px;font-size:14px;overflow:hidden}.student-layout .student-table th{color:#1d2129;background:#f7f8fa;font-weight:600}.student-layout .student-table tbody tr:hover{background:#f2f3f5}.student-layout .student-table .student-empty-cell{text-align:center;color:#9ca3af;height:200px}.student-layout .student-sort-head{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.student-layout .student-sort-icons{flex-direction:column;align-items:center;gap:2px;width:10px;display:inline-flex}.student-layout .student-sort-triangle{border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0}.student-layout .student-sort-up{border-bottom:8px solid #c1c8d0}.student-layout .student-sort-down{border-top:8px solid #c1c8d0}.student-layout .student-sort-up.is-active{border-bottom-color:#4e5969}.student-layout .student-sort-down.is-active{border-top-color:#4e5969}.student-layout .student-name-link{color:#1d2129;cursor:default;font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.student-layout .student-name-link[data-action]{cursor:pointer}.student-layout .student-name-link[data-action]:hover{color:#165dff}.student-layout .student-file-dot{flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.student-layout .student-row-actions{align-items:center;gap:8px;display:inline-flex}.student-layout .student-homework-tabs{gap:14px}.student-layout .student-tab-btn{color:#4e5969;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;height:32px;padding:0 4px;font-family:inherit;font-size:14px}.student-layout .student-tab-btn.is-active{color:#165dff;border-bottom-color:#165dff;font-weight:600}.student-layout .student-homework-table th,.student-layout .student-homework-table td{height:54px}.student-layout .student-homework-card-list{flex-direction:column;gap:12px;margin-top:18px;display:flex}.student-layout .student-homework-card{background:#fff;border:1px solid #e5e6eb;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex;box-shadow:0 1px 2px #0f172a0a}.student-layout .student-homework-card-main{flex:1;min-width:0}.student-layout .student-homework-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-layout .student-homework-card-title{color:#1d2129;margin:0;font-size:16px;font-weight:700}.student-layout .student-homework-card-meta{color:#4e5969;flex-wrap:wrap;gap:12px 16px;margin-top:10px;font-size:13px;display:flex}.student-layout .student-homework-card-desc{color:#4e5969;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:10px 0 0;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.student-layout .student-homework-card-actions{white-space:nowrap;flex:none;align-items:center;gap:10px;display:flex}.student-layout .student-homework-feedback{color:#4e5969;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:13px;display:flex}.student-layout .student-homework-empty{text-align:center;color:#86909c;padding:40px 0}.student-layout .student-homework-status{border-radius:999px;align-items:center;height:26px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.student-layout .student-homework-status.is-pending{color:#fa8c16;background:#fff7e6}.student-layout .student-homework-status.is-unsubmitted{color:#4e5969;background:#f2f3f5}.student-layout .student-homework-status.is-reviewed{color:#00b42a;background:#effaf2}.student-layout .student-homework-upload-panel{flex-direction:column;gap:16px;display:flex}.student-layout .student-homework-upload-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.student-layout .student-homework-upload-head .student-page-title{margin:14px 0 6px}.student-layout .student-homework-upload-sub{color:#4e5969;margin:0;font-size:14px;line-height:1.6}.student-layout .student-homework-upload-drop{background:linear-gradient(135deg,#f7fbff 0%,#fff 100%);border:1px dashed #8fb8ff;border-radius:16px;align-items:center;gap:16px;min-height:124px;padding:20px;display:flex}.student-layout .student-homework-upload-icon{background:#e8f3ff;border-radius:16px;flex:none;justify-content:center;align-items:center;width:54px;height:54px;font-size:26px;display:inline-flex}.student-layout .student-homework-upload-drop strong{color:#1d2129;margin-bottom:6px;font-size:16px;display:block}.student-layout .student-homework-upload-drop p{color:#86909c;margin:0;font-size:13px}.student-layout .student-upload-file-btn{margin-left:auto;position:relative;overflow:hidden}.student-layout .student-upload-file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.student-layout .student-homework-file-toolbar{margin:0;padding:0}.student-layout .student-homework-path{color:#4e5969;font-size:13px}.student-layout .student-homework-preview{cursor:pointer;color:#165dff;background:0 0;border:none;padding:0;font-family:inherit;position:relative}.student-layout .student-homework-preview img{object-fit:cover;border:1px solid #e5e6eb;border-radius:8px;width:70px;height:46px}.student-layout .student-homework-preview.is-video{background:#f2f7ff;border-radius:999px;height:32px;padding:0 10px}.student-layout .student-homework-file-tip{color:#86909c;font-size:13px}.student-layout .student-homework-rename-wrap{align-items:center;gap:8px;min-width:0;display:flex}.student-layout .student-homework-rename-input{color:#1d2129;border:1px solid #8fb8ff;border-radius:8px;outline:none;width:min(460px,100%);height:32px;padding:0 10px;font-family:inherit;font-size:14px;box-shadow:0 0 0 3px #165dff1a}.student-layout .student-homework-rename-input:disabled{color:#86909c;background:#f7f8fa}.student-layout .student-hover-preview{z-index:30;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border-radius:12px;width:260px;max-height:190px;padding:8px;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)scale(.96);box-shadow:0 16px 40px #0f172a3d}.student-layout .student-hover-preview img,.student-layout .student-hover-preview video{object-fit:contain;background:#000;border-radius:8px;width:100%;max-height:174px;display:block}.student-layout .student-homework-preview:hover .student-hover-preview,.student-layout .student-homework-preview:focus-visible .student-hover-preview{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}.student-modal-mask{z-index:1000;background:#0000006b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.student-folder-modal{background:#fff;border-radius:14px;width:min(520px,100vw - 48px);overflow:hidden;box-shadow:0 20px 60px #0f172a38}.student-folder-modal-head{border-bottom:1px solid #e5e6eb;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.student-folder-modal-head h3{color:#1d2129;margin:0;font-size:20px}.student-folder-close{color:#86909c;cursor:pointer;background:0 0;border:none;font-size:30px;line-height:1}.student-folder-modal-body{padding:22px 24px}.student-folder-field{color:#1d2129;flex-direction:column;gap:8px;font-size:14px;display:flex}.student-folder-field input{border:1px solid #d9dee8;border-radius:8px;outline:none;height:42px;padding:0 12px;font-size:14px}.student-folder-field input:focus{border-color:#165dff;box-shadow:0 0 0 3px #165dff1f}.student-folder-modal-foot{justify-content:flex-end;gap:10px;padding:16px 24px 22px;display:flex}.student-preview-mask{z-index:1100;background:#0f172aa8;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.student-preview-modal{background:#fff;border-radius:18px;flex-direction:column;width:min(1120px,100vw - 64px);max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 24px 80px #00000052}.student-preview-head{border-bottom:1px solid #e5e6eb;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:18px 24px;display:flex}.student-preview-head h3{color:#1d2129;word-break:break-all;margin:0;font-size:20px}.student-preview-head p{color:#86909c;margin:6px 0 0;font-size:13px}.student-preview-close{color:#86909c;cursor:pointer;background:0 0;border:none;font-size:32px;line-height:1}.student-preview-body{background:#0b1020;flex:1;justify-content:center;align-items:center;min-height:360px;max-height:calc(100vh - 220px);padding:20px;display:flex;overflow:auto}.student-preview-image,.student-preview-video{object-fit:contain;background:#000;border-radius:10px;max-width:100%;max-height:calc(100vh - 270px)}.student-preview-foot{border-top:1px solid #e5e6eb;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.student-layout .student-homework-score{color:#165dff;background:#edf4ff;border-radius:999px;justify-content:center;align-items:center;min-width:44px;height:28px;padding:0 10px;font-weight:700;display:inline-flex}.student-layout .student-homework-actions{max-width:100%}.student-layout .student-homework-comment{text-overflow:ellipsis;white-space:nowrap;color:#4e5969;min-width:0;overflow:hidden}.student-layout .student-page-title{color:#1d2129;margin:0 0 16px;font-size:20px;font-weight:700}.student-layout .student-theory-tabs{margin-bottom:22px}.student-layout .student-theory-ready-card{background:#fff;border:1px solid #e5e8ef;border-radius:12px;grid-template-columns:1fr 1px 1.4fr;align-items:center;gap:28px;padding:32px 28px;display:grid}.student-layout .student-theory-time-box{text-align:center}.student-layout .student-theory-time-box p,.student-layout .student-theory-info-box p{color:#4e5969;margin:0 0 14px;font-size:15px}.student-layout .student-theory-time-box strong{color:#165dff;margin-bottom:12px;font-size:30px;font-weight:800;display:block}.student-layout .student-theory-time-box span{color:#4e5969;font-size:13px}.student-layout .student-theory-divider{background:#e5e8ef;width:1px;height:150px}.student-layout .student-theory-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.student-layout .student-theory-stats div{align-items:center;gap:10px;display:flex}.student-layout .student-theory-stats b{color:#165dff;background:#edf4ff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-style:normal;display:inline-flex}.student-layout .student-theory-stats span{color:#1d2129;flex-direction:column;gap:4px;font-weight:600;display:flex}.student-layout .student-theory-stats em{color:#6b7280;font-size:13px;font-style:normal;font-weight:400}.student-layout .student-theory-action-row{text-align:center;margin-top:24px}.student-layout .student-theory-score{color:#165dff;font-weight:700}.student-layout .student-theory-paper-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.student-layout .student-theory-paper-head h2{color:#1d2129;margin:0;font-size:20px}.student-layout .student-theory-paper-head strong{color:#165dff;font-size:22px}.student-layout .student-theory-paper-head strong.is-danger{color:#f5222d}.student-layout .student-theory-question-group{margin-top:18px}.student-layout .student-theory-question-group h3{color:#1d2129;margin:0 0 12px;font-size:16px}.student-layout .student-theory-question{background:#fff;border:1px solid #e5e8ef;border-radius:10px;margin-bottom:12px;padding:16px}.student-layout .student-theory-question.is-wrong{background:#fff7f6;border-color:#ffccc7}.student-layout .student-theory-question p{color:#1d2129;margin:0 0 10px;line-height:1.6}.student-layout .student-theory-options{gap:10px;display:grid}.student-layout .student-theory-options label{color:#4e5969;cursor:pointer}.student-layout .student-theory-paper-foot{justify-content:space-between;margin-top:24px;display:flex}.student-layout .student-theory-summary{color:#4e5969;background:#f7fbff;border-radius:10px;margin-bottom:18px;padding:14px 16px}.student-layout .student-theory-summary b{color:#165dff}.student-layout .student-link-action{cursor:pointer;color:#165dff;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:14px;display:inline-flex}.student-layout .student-link-action:hover{color:#4096ff}.student-layout .student-table-footer{color:#4e5969;justify-content:space-between;align-items:center;margin-top:16px;font-size:14px;display:flex}.student-layout .student-pager{align-items:center;gap:8px;display:flex}.student-layout .student-page-btn{color:#4e5969;cursor:pointer;background:#fff;border:1px solid #d0d5dc;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;font-family:inherit;display:inline-flex}.student-layout .student-page-btn:hover{border-color:#b9c4d4}.student-layout .student-page-btn:disabled{cursor:not-allowed;color:#bfbfbf;background:#fafafa}.student-layout .student-page-btn.is-active{color:#fff;background:#165dff;border-color:#165dff}.student-layout .student-page-next .icon{transform:rotate(180deg)}.student-layout .student-page-ellipsis{color:#9ca3af;justify-content:center;align-items:center;min-width:32px;display:inline-flex}.student-layout .student-page-size{color:#4e5969;cursor:pointer;background:#fff;border:1px solid #d0d5dc;border-radius:4px;outline:none;height:32px;padding:0 28px 0 10px;font-family:inherit;font-size:14px}.student-layout .student-page-size:focus{border-color:#1677ff}.student-layout .student-placeholder-panel{justify-content:center;align-items:center;min-height:480px;display:flex}.student-layout .student-placeholder{color:#4e5969;flex-direction:column;align-items:center;gap:12px;display:flex}.student-layout .student-placeholder-icon{color:#1677ff;background:#e6f4ff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.student-layout .student-placeholder-icon .icon,.student-layout .student-placeholder-icon .icon svg{width:28px;height:28px}.student-layout .student-placeholder-title{color:#1d2129;margin:0;font-size:16px;font-weight:600}.student-layout .student-placeholder-desc{color:#6b7280;margin:0;font-size:13px}
