.hw-table{background:var(--bg-card);border-radius:var(--radius-lg);overflow:visible}.hw-table .table td{cursor:pointer}.hw-table .table .actions{display:flex;flex-wrap:wrap;gap:8px}.hw-table .table .actions .btn{padding:4px 10px;font-size:var(--font-sm)}.research-tag{font-size:10px;background:var(--info-bg);color:var(--info-text);padding:1px 6px;border-radius:3px;margin-right:4px}.progress-wrapper,.class-wrapper{position:relative;display:inline-block;cursor:pointer;padding-bottom:2px}.progress-wrapper:hover .hw-tooltip,.class-wrapper:hover .hw-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.hw-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%,-4px);margin-top:8px;background:#303133;color:#fff;padding:10px 14px;border-radius:6px;font-size:13px;line-height:1.6;z-index:100;width:max-content;max-width:240px;white-space:normal;word-break:break-all;opacity:0;visibility:hidden;transition:all .2s ease;box-shadow:0 4px 12px #00000026;font-weight:400;text-align:left}.hw-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#303133}.subject-select{margin-left:20px;padding:4px 28px 4px 10px;font-size:13px;border:1px solid #dcdfe6;border-radius:4px;background:#fff;color:var(--text-regular);cursor:pointer;appearance:auto}.modal-overlay{position:fixed;inset:0;background:#00000080;display:none;align-items:center;justify-content:center;z-index:1000}.modal-overlay.active{display:flex}.modal{background:#fff;width:840px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;overflow:hidden;max-width:90vw}.modal-header{padding:16px 20px;border-bottom:1px solid #ebeef5;display:flex;justify-content:space-between;align-items:center}.modal-header-left{display:flex;align-items:center;gap:12px}.modal-title{font-size:16px;font-weight:500;color:#303133;white-space:nowrap;flex-shrink:0}.modal-class-select{border:1px solid #dcdfe6;color:#303133;font-size:13px;background:#fff;outline:none;cursor:pointer;appearance:none;padding:4px 28px 4px 10px;border-radius:4px;background:url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="%23909399" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>') no-repeat right 8px center;background-color:#fff;transition:all .2s ease}.modal-class-select:hover{border-color:#c0c4cc}.modal-class-select:focus{border-color:#3370ff;box-shadow:0 0 0 2px #3370ff33}.modal-header-actions{display:flex;align-items:center;gap:12px}.modal-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:12px;color:#606266;cursor:pointer;background:#fff;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.modal-copy-btn:hover{color:#3370ff;border-color:#3370ff}.modal-close{cursor:pointer;color:#909399;display:flex;align-items:center}.modal-close:hover{color:#303133}.modal-body{padding:0;max-height:400px;overflow-y:auto}.unsubmitted-list{list-style:none;padding:0 20px;margin:0}.unsubmitted-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #ebeef5}.unsubmitted-item:last-child{border-bottom:none}.unsubmitted-student{display:flex;align-items:center;gap:8px;font-size:14px;color:#303133}.unsubmitted-pages{display:flex;gap:6px}.page-badge{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;font-weight:500}.page-badge.submitted{background:#e1f3d8;color:#67c23a}.page-badge.unsubmitted{background:#f4f4f5;color:#c0c4cc}.deadline-modal-body{padding:20px;display:flex;flex-direction:column;gap:18px}.deadline-field{display:flex;flex-direction:column;gap:8px}.deadline-label{font-size:13px;font-weight:500;color:#303133}.deadline-readonly{min-height:36px;padding:8px 12px;border-radius:4px;background:#f5f7fa;color:#303133;font-size:14px;line-height:20px}.deadline-input{width:100%;height:36px;border:1px solid #dcdfe6;border-radius:4px;padding:0 12px;font-size:14px;color:#303133;outline:none;transition:border-color .2s,box-shadow .2s}.deadline-input:focus{border-color:#3370ff;box-shadow:0 0 0 2px #3370ff1f}.deadline-input:disabled{background:#f5f7fa;color:#909399;cursor:not-allowed}.deadline-error{min-height:18px;font-size:12px;color:#f56c6c;visibility:hidden}.deadline-error.active{visibility:visible}.deadline-now-option{display:inline-flex;align-items:center;gap:8px;width:fit-content;font-size:14px;color:#303133;cursor:pointer;user-select:none}.deadline-hint{font-size:12px;color:#909399;line-height:1.6}.deadline-footer{padding:12px 20px 16px;border-top:1px solid #ebeef5;display:flex;justify-content:flex-end;gap:12px}
