.ssm[data-v-5fea7fd0]{min-height:100%}.ssm-main-layout[data-v-5fea7fd0]{max-width:1400px;margin:0 auto;padding:16px 20px 40px}.ssm-project-name-bar[data-v-5fea7fd0]{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:2px 0 4px}.ssm-project-name-icon[data-v-5fea7fd0]{width:42px;height:42px;border-radius:10px;background:#ecf5ff;color:#409eff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ssm-project-name-main[data-v-5fea7fd0]{flex:1;min-width:0}.ssm-project-name-title[data-v-5fea7fd0]{font-size:18px;font-weight:700;color:#303133;line-height:1.45;margin:0;letter-spacing:-.02em}.ssm-project-meta[data-v-5fea7fd0]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.ssm-project-type-tag[data-v-5fea7fd0]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:600;background:#f5f7fa;color:#606266}.ssm-project-type-tag.pair[data-v-5fea7fd0]{background:#ecf5ff;color:#409eff}.ssm-project-type-tag.yanban[data-v-5fea7fd0]{background:#f5f3ff;color:#8b5cf6}.ssm-project-type-hint[data-v-5fea7fd0]{font-size:12px;color:#909399}.ssm-panel[data-v-5fea7fd0]{background:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.08);overflow:hidden}.ssm-unsupported[data-v-5fea7fd0]{padding:48px 16px}.ssm-panel-header[data-v-5fea7fd0]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #ebeef5;flex-wrap:wrap;gap:10px}.ssm-panel-title[data-v-5fea7fd0]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#303133}.ssm-panel-actions[data-v-5fea7fd0]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ssm-btn[data-v-5fea7fd0]{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .25s ease;border:1px solid transparent;font-family:inherit;background:#fff}.ssm-btn-sm[data-v-5fea7fd0]{padding:5px 10px;font-size:12px}.ssm-btn-primary[data-v-5fea7fd0]{background:#409eff;color:#fff;border-color:#409eff}.ssm-btn-primary[data-v-5fea7fd0]:hover{background:#337ecc}.ssm-btn-default[data-v-5fea7fd0]{color:#606266;border-color:#dcdfe6}.ssm-btn-default[data-v-5fea7fd0]:hover{color:#409eff;border-color:#409eff;background:#ecf5ff}.ssm-btn-danger-outline[data-v-5fea7fd0]{color:#f56c6c;border-color:#fbc4c4}.ssm-btn-danger-outline[data-v-5fea7fd0]:hover{background:#fef0f0;border-color:#f56c6c}.ssm-filter-bar[data-v-5fea7fd0]{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:12px 16px;margin:0;border-bottom:1px solid #ebeef5}.ssm-filter-bar[data-v-5fea7fd0] .el-form-item{margin-bottom:0;margin-right:10px}.ssm-filter-bar .ssm-filter-left[data-v-5fea7fd0]{display:flex;align-items:center;flex-wrap:nowrap;min-width:0}.ssm-filter-bar .ssm-filter-search[data-v-5fea7fd0]{margin-right:0;margin-left:auto}.ssm-panel-body[data-v-5fea7fd0]{padding:0;min-height:200px}.ssm-panel-body[data-v-5fea7fd0] .el-table{font-size:13px}.ssm-panel-body[data-v-5fea7fd0] .el-table:before{display:none}.ssm-panel-body[data-v-5fea7fd0] .el-table__header th{background:#f5f7fa;color:#606266;font-weight:600;font-size:12px}.ssm-panel-body[data-v-5fea7fd0] .el-table__empty-block{min-height:200px}.ssm-cell-title[data-v-5fea7fd0]{font-weight:600;color:#303133}.ssm-cell-classes[data-v-5fea7fd0]{line-height:1.55}.ssm-class-line[data-v-5fea7fd0]{font-size:13px;color:#606266;line-height:1.55}.ssm-class-line+.ssm-class-line[data-v-5fea7fd0]{margin-top:2px}.ssm-origin-tag[data-v-5fea7fd0]{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.ssm-origin-tag.project[data-v-5fea7fd0]{background:#eef2ff;color:#4338ca}.ssm-origin-tag.school[data-v-5fea7fd0]{background:#fff7ed;color:#c2410c}.ssm-delete-btn[data-v-5fea7fd0]{color:#f56c6c}.ssm-delete-btn[data-v-5fea7fd0]:focus,.ssm-delete-btn[data-v-5fea7fd0]:hover{color:#f78989}.ssm-pagination[data-v-5fea7fd0]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-top:1px solid #ebeef5;flex-wrap:wrap;gap:8px}.ssm-pagination-info[data-v-5fea7fd0]{font-size:13px;color:#909399}.ssm-required[data-v-5fea7fd0]{color:#f56c6c}.ssm-form-hint[data-v-5fea7fd0]{font-size:12px;color:#909399;margin:0 0 8px;line-height:1.5}.ssm-check-grid[data-v-5fea7fd0]{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:180px;overflow-y:auto;padding:4px;border:1px solid #ebeef5;border-radius:6px;background:#f5f7fa}.ssm-check-item[data-v-5fea7fd0]{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:#fff;border-radius:6px;border:1px solid #ebeef5;font-size:12px;cursor:pointer;margin:0}.ssm-check-item[data-v-5fea7fd0]:hover{border-color:#409eff}.ssm-check-item[data-v-5fea7fd0] .el-checkbox{display:flex;align-items:flex-start;white-space:normal;line-height:1.4}.ssm-check-item[data-v-5fea7fd0] .el-checkbox__label{white-space:normal;line-height:1.4;font-size:12px;color:#606266}.ssm-import-steps[data-v-5fea7fd0]{display:flex;flex-direction:column;gap:16px}.ssm-import-step[data-v-5fea7fd0]{padding:14px 16px;border:1px solid #ebeef5;border-radius:8px;background:#f5f7fa}.ssm-import-step-title[data-v-5fea7fd0]{font-size:13px;font-weight:700;color:#303133;margin-bottom:8px;display:flex;align-items:center;gap:8px}.ssm-import-step-num[data-v-5fea7fd0]{width:22px;height:22px;border-radius:50%;background:#409eff;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.ssm-import-desc[data-v-5fea7fd0]{font-size:12px;color:#909399;margin:0 0 10px;line-height:1.6}.ssm-import-tpl-fields[data-v-5fea7fd0]{font-size:12px;color:#606266;line-height:1.7;margin:0;padding-left:18px}.ssm-upload-zone[data-v-5fea7fd0]{border:1.5px dashed #dcdfe6;border-radius:8px;background:#fff;padding:28px 16px;text-align:center;cursor:pointer;transition:all .25s ease}.ssm-upload-zone.dragover[data-v-5fea7fd0],.ssm-upload-zone[data-v-5fea7fd0]:hover{border-color:#409eff;background:#ecf5ff}.ssm-uz-icon[data-v-5fea7fd0]{font-size:28px;margin-bottom:8px}.ssm-uz-title[data-v-5fea7fd0]{font-size:13px;font-weight:600;color:#303133}.ssm-uz-hint[data-v-5fea7fd0]{font-size:12px;color:#909399;margin-top:4px}.ssm-uz-file[data-v-5fea7fd0]{font-size:12px;color:#409eff;margin-top:8px;font-weight:500;word-break:break-all}.ssm-import-summary[data-v-5fea7fd0]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;font-size:12px}.ssm-sum-item[data-v-5fea7fd0]{padding:4px 10px;border-radius:100px;background:#fff;border:1px solid #ebeef5;color:#606266}.ssm-sum-item.ok[data-v-5fea7fd0]{background:#f0f9eb;color:#67c23a;border-color:transparent}.ssm-sum-item.err[data-v-5fea7fd0]{background:#fef0f0;color:#f56c6c;border-color:transparent}.ssm-import-preview-wrap[data-v-5fea7fd0]{max-height:220px;overflow:auto;border:1px solid #ebeef5;border-radius:6px;background:#fff}.ssm-import-empty[data-v-5fea7fd0]{padding:20px;text-align:center;color:#909399;font-size:12px}.ssm-import-preview[data-v-5fea7fd0]{width:100%;border-collapse:collapse;font-size:12px}.ssm-import-preview th[data-v-5fea7fd0]{position:sticky;top:0;background:#f5f7fa;text-align:left;padding:8px 10px;font-weight:600;color:#606266;border-bottom:1px solid #ebeef5}.ssm-import-preview td[data-v-5fea7fd0]{padding:8px 10px;border-bottom:1px solid #ebeef5;vertical-align:top;color:#606266}.ssm-import-preview tr.is-invalid td[data-v-5fea7fd0]{background:#fff5f5}.ssm-import-preview .row-ok[data-v-5fea7fd0]{color:#67c23a;font-weight:600}.ssm-import-preview .row-err[data-v-5fea7fd0]{color:#f56c6c;font-weight:600}.ssm-class-groups[data-v-5fea7fd0]{display:flex;flex-direction:column;gap:12px}.ssm-class-group-title[data-v-5fea7fd0]{font-size:12px;font-weight:600;color:#606266;margin-bottom:6px}@media (max-width:768px){.ssm-filter-bar .ssm-filter-left[data-v-5fea7fd0],.ssm-filter-bar[data-v-5fea7fd0]{flex-wrap:wrap}.ssm-filter-bar .ssm-filter-search[data-v-5fea7fd0]{margin-left:0;width:100%}.ssm-check-grid[data-v-5fea7fd0]{grid-template-columns:1fr}}.ssm-form-dialog .el-dialog__body,.ssm-import-dialog .el-dialog__body{padding-top:10px}.ssm-form-dialog .el-form-item__label,.ssm-import-dialog .el-form-item__label{font-size:13px;font-weight:600;color:#303133;padding-bottom:0;line-height:1.4}.ssm-form-dialog .el-form-item,.ssm-import-dialog .el-form-item{margin-bottom:16px}