.ellipsis[data-v-4865819b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mul-ellipsis2[data-v-4865819b]{-webkit-line-clamp:2}.mul-ellipsis2[data-v-4865819b],.mul-ellipsis3[data-v-4865819b]{display:-webkit-box;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden}.mul-ellipsis3[data-v-4865819b]{-webkit-line-clamp:3}.teaching-center[data-v-4865819b]{min-height:calc(100vh - 64px)}.hero-banner[data-v-4865819b]{background:-webkit-gradient(linear,left top,right bottom,from(#0a1628),color-stop(#1a2a5e),to(#2d3f7f));background:linear-gradient(to bottom right,#0a1628,#1a2a5e,#2d3f7f);color:#fff}.hero-inner[data-v-4865819b]{max-width:1280px;margin:0 auto;padding:32px 32px 40px}.hero-top[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:24px}.hero-title-row[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:8px}.hero-title[data-v-4865819b]{font-size:24px;font-weight:700;margin:0}.teacher-chip[data-v-4865819b]{gap:6px;padding:4px 12px;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;border:1px solid hsla(0,0%,100%,.15)}.teacher-avatar[data-v-4865819b],.teacher-chip[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.teacher-avatar[data-v-4865819b]{width:24px;height:24px;border-radius:50%;background:hsla(0,0%,100%,.2);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:12px;font-weight:700}.teacher-name[data-v-4865819b]{font-size:14px;color:hsla(0,0%,100%,.9)}.hero-desc[data-v-4865819b]{color:#bfdbfe;font-size:14px;margin:0}.publish-btn[data-v-4865819b]{padding:8px 16px;background:hsla(0,0%,100%,.15);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border-radius:8px;font-size:14px;font-weight:500;border:1px solid hsla(0,0%,100%,.2);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;-webkit-transition:background .2s;transition:background .2s}.publish-btn[data-v-4865819b]:hover{background:hsla(0,0%,100%,.25)}.btn-icon[data-v-4865819b]{width:16px;height:16px}.stat-grid[data-v-4865819b]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card[data-v-4865819b]{background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:12px;padding:16px;border:1px solid hsla(0,0%,100%,.1);gap:12px}.stat-card[data-v-4865819b],.stat-icon-box[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.stat-icon-box[data-v-4865819b]{width:40px;height:40px;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.stat-icon[data-v-4865819b]{width:24px;height:24px}.stat-num[data-v-4865819b]{font-size:24px;font-weight:700;line-height:1.2}.stat-label[data-v-4865819b]{font-size:12px;color:#bfdbfe}.filter-wrap[data-v-4865819b]{max-width:1280px;margin:-20px auto 0;padding:0 32px;position:relative;z-index:2}.filter-card[data-v-4865819b]{background:#fff;border-radius:16px;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.06);box-shadow:0 4px 12px rgba(0,0,0,.06);border:1px solid #f3f4f6;padding:16px 24px}.filter-row[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px}.search-wrapper[data-v-4865819b]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1}.search-icon[data-v-4865819b]{position:absolute;left:16px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:20px;height:20px;color:#d1d5db;pointer-events:none}.search-input[data-v-4865819b]{width:100%;height:48px;padding:0 48px 0 48px;background:#f9fafb;border:none;border-radius:16px;font-size:15px;color:#374151;outline:none;-webkit-transition:all .2s;transition:all .2s}.search-input[data-v-4865819b]::-webkit-input-placeholder{color:#d1d5db}.search-input[data-v-4865819b]::-moz-placeholder{color:#d1d5db}.search-input[data-v-4865819b]::-ms-input-placeholder{color:#d1d5db}.search-input[data-v-4865819b]::placeholder{color:#d1d5db}.search-input[data-v-4865819b]:focus{background:#fff;-webkit-box-shadow:0 0 0 2px rgba(59,130,246,.2),0 4px 12px rgba(0,0,0,.06);box-shadow:0 0 0 2px rgba(59,130,246,.2),0 4px 12px rgba(0,0,0,.06)}.search-clear[data-v-4865819b]{position:absolute;right:16px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:transparent;border:none;cursor:pointer;color:#d1d5db;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0}.search-clear[data-v-4865819b]:hover{color:#6b7280}.search-clear svg[data-v-4865819b]{width:20px;height:20px}.filter-selects[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-ms-flex-negative:0;flex-shrink:0}.filter-select[data-v-4865819b]{width:130px}.count-info[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:14px;color:#9ca3af;-ms-flex-negative:0;flex-shrink:0}.count-num[data-v-4865819b]{font-size:20px;font-weight:700;background:-webkit-gradient(linear,left top,right top,from(#2563eb),to(#4f46e5));background:linear-gradient(90deg,#2563eb,#4f46e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.course-grid-wrap[data-v-4865819b]{max-width:1280px;margin:0 auto;padding:24px 32px}.course-grid[data-v-4865819b]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.course-card[data-v-4865819b]{background:#fff;border-radius:16px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden;border:1px solid #f3f4f6;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.course-card[data-v-4865819b]:hover{-webkit-box-shadow:0 10px 25px rgba(0,0,0,.1);box-shadow:0 10px 25px rgba(0,0,0,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px);border-color:#dbeafe}.course-card-inner[data-v-4865819b]{padding:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;min-height:200px}.course-card-top[data-v-4865819b]{margin-bottom:12px}.course-card-title-row[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px;margin-bottom:4px}.course-card-title-left[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:0}.course-card-title[data-v-4865819b]{font-size:16px;font-weight:700;color:#1f2937;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge[data-v-4865819b]{-ms-flex-negative:0;flex-shrink:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.status-dot[data-v-4865819b]{width:6px;height:6px;border-radius:50%}.status-teaching[data-v-4865819b]{background:#ecfdf5;color:#059669}.dot-teaching[data-v-4865819b]{background:#10b981}.status-preparing[data-v-4865819b]{background:#eff6ff;color:#2563eb}.dot-preparing[data-v-4865819b]{background:#3b82f6}.status-ended[data-v-4865819b]{background:#f3f4f6;color:#6b7280}.dot-ended[data-v-4865819b]{background:#9ca3af}.source-badge[data-v-4865819b]{-ms-flex-negative:0;flex-shrink:0;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.source-system[data-v-4865819b]{background:#eff6ff;color:#2563eb}.source-custom[data-v-4865819b]{background:#fff7ed;color:#ea580c}.course-card-tags[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:8px}.tag[data-v-4865819b]{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.tag-year[data-v-4865819b]{background:#eef2ff;color:#4f46e5}.tag-semester[data-v-4865819b]{background:#faf5ff;color:#9333ea}.tag-category-bg[data-v-4865819b],.tag-category[data-v-4865819b]{background:#eff6ff;color:#2563eb}.tag-year-bg[data-v-4865819b]{background:#faf5ff;color:#9333ea}.tag-source[data-v-4865819b]{padding:2px 8px;border-radius:999px;font-size:12px}.course-card-info[data-v-4865819b]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px;font-size:13px;margin-bottom:12px}.info-item[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;color:#6b7280;min-width:0}.info-icon[data-v-4865819b]{width:14px;height:14px;-ms-flex-negative:0;flex-shrink:0}.info-text[data-v-4865819b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-card-bottom[data-v-4865819b]{margin-top:auto}.progress-row[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:12px}.progress-bar[data-v-4865819b]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:8px;background:#f3f4f6;border-radius:999px;overflow:hidden}.progress-fill[data-v-4865819b]{height:100%;border-radius:999px;-webkit-transition:width .3s;transition:width .3s}.fill-green[data-v-4865819b]{background:#10b981}.fill-amber[data-v-4865819b]{background:#f59e0b}.fill-red[data-v-4865819b]{background:#ef4444}.fill-gray[data-v-4865819b]{background:#d1d5db}.progress-text[data-v-4865819b]{font-size:12px;font-weight:500}.text-green[data-v-4865819b]{color:#059669}.text-amber[data-v-4865819b]{color:#d97706}.text-red[data-v-4865819b]{color:#dc2626}.text-gray[data-v-4865819b]{color:#9ca3af}.course-card-actions[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.primary-action-btn[data-v-4865819b]{padding:6px 16px;background:#4f6ef7;color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;-webkit-transition:background .2s;transition:background .2s}.primary-action-btn[data-v-4865819b]:hover{background:#3a55d5}.view-detail-link[data-v-4865819b]{font-size:12px;color:#4f6ef7;font-weight:500;cursor:pointer}.view-detail-link[data-v-4865819b]:hover{text-decoration:underline}.empty-state[data-v-4865819b]{text-align:center;padding:80px 20px}.empty-icon-box[data-v-4865819b]{width:80px;height:80px;background:#f3f4f6;border-radius:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 auto 16px}.empty-icon[data-v-4865819b]{width:40px;height:40px;color:#d1d5db}.empty-title[data-v-4865819b]{color:#6b7280;font-size:16px;font-weight:500;margin:0 0 8px}.empty-desc[data-v-4865819b]{color:#9ca3af;font-size:14px;margin:0 0 16px}.empty-action-btn[data-v-4865819b]{padding:10px 24px;background:#4f6ef7;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.empty-action-btn[data-v-4865819b]:hover{background:#3a55d5}.t2-detail-view[data-v-4865819b]{background:#f8fafc;min-height:calc(100vh - 56px)}.breadcrumb-wrap[data-v-4865819b]{max-width:1280px;margin:0 auto;padding:20px 32px 12px}.breadcrumb-nav[data-v-4865819b]{gap:8px;font-size:14px}.breadcrumb-back[data-v-4865819b],.breadcrumb-nav[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.breadcrumb-back[data-v-4865819b]{gap:6px;color:#9ca3af;text-decoration:none;cursor:pointer;-webkit-transition:color .2s;transition:color .2s}.breadcrumb-back[data-v-4865819b]:hover{color:#4f6ef7}.back-icon[data-v-4865819b]{width:16px;height:16px}.breadcrumb-sep[data-v-4865819b]{width:12px;height:12px;color:#d1d5db}.breadcrumb-name[data-v-4865819b]{color:#374151;font-weight:500}.detail-content[data-v-4865819b]{max-width:1280px;margin:0 auto;padding:0 32px 24px}.detail-flex[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:24px}.left-panel[data-v-4865819b]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:340px}.left-header-card[data-v-4865819b]{background:#fff;border-radius:16px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden;margin-bottom:16px}.left-header-top[data-v-4865819b]{padding:20px 20px 16px}.left-header-title-row[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:12px}.left-header-title[data-v-4865819b]{font-size:18px;font-weight:700;color:#1f2937;line-height:1.4;-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 12px 0 0}.left-header-tags[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px;margin-bottom:12px}.left-progress-row[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.left-progress-bar[data-v-4865819b]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:8px;background:hsla(0,0%,100%,.6);border-radius:999px;overflow:hidden}.left-progress-fill[data-v-4865819b]{height:100%;border-radius:999px;-webkit-transition:width .3s;transition:width .3s}.left-progress-text[data-v-4865819b]{font-size:12px;font-weight:600}.quick-stats-grid[data-v-4865819b]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.quick-stat-card[data-v-4865819b]{background:#fff;border-radius:12px;padding:12px;text-align:center;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.06)}.quick-stat-num[data-v-4865819b]{font-size:18px;font-weight:700;line-height:1.2}.quick-stat-num.blue[data-v-4865819b]{color:#4f6ef7}.quick-stat-num.green[data-v-4865819b]{color:#059669}.quick-stat-percent[data-v-4865819b]{font-size:12px}.quick-stat-label[data-v-4865819b]{font-size:10px;color:#9ca3af;margin-top:2px}.action-buttons-card[data-v-4865819b],.info-details-card[data-v-4865819b]{background:#fff;border-radius:16px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.06);padding:20px;margin-bottom:16px}.info-details-title[data-v-4865819b]{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.info-details-list[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.info-details-item[data-v-4865819b]{gap:12px}.info-details-icon[data-v-4865819b],.info-details-item[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.info-details-icon[data-v-4865819b]{width:32px;height:32px;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.info-details-icon svg[data-v-4865819b]{width:16px;height:16px}.info-details-icon.blue-bg[data-v-4865819b]{background:#eff6ff;color:#3b82f6}.info-details-icon.purple-bg[data-v-4865819b]{background:#faf5ff;color:#a855f7}.info-details-icon.green-bg[data-v-4865819b]{background:#ecfdf5;color:#10b981}.info-details-icon.amber-bg[data-v-4865819b]{background:#fffbeb;color:#f59e0b}.info-details-content[data-v-4865819b]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.info-details-label[data-v-4865819b]{font-size:14px;color:#6b7280}.info-details-value[data-v-4865819b]{font-size:14px;color:#1f2937;font-weight:500;text-align:right}.action-btn-col[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.action-btn-grid[data-v-4865819b]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.action-btn-primary[data-v-4865819b]{width:100%;padding:10px;background:#4f6ef7;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px;-webkit-transition:background .2s;transition:background .2s}.action-btn-primary[data-v-4865819b]:hover{background:#3a55d5}.action-btn-outline[data-v-4865819b]{padding:10px;border:1px solid #4f6ef7;color:#4f6ef7;background:#fff;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}.action-btn-outline[data-v-4865819b]:hover{background:#eff6ff}.action-btn-outline-green[data-v-4865819b]{padding:8px;border:1px solid #10b981;color:#059669;background:#fff;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}.action-btn-outline-green[data-v-4865819b]:hover{background:#ecfdf5}.action-btn-outline-blue[data-v-4865819b]{padding:8px;border:1px solid #60a5fa;color:#2563eb;background:#fff;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}.action-btn-outline-blue[data-v-4865819b]:hover{background:#eff6ff}.action-btn-outline-orange[data-v-4865819b]{padding:8px;border:1px solid #f97316;color:#ea580c;background:#fff;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}.action-btn-outline-orange[data-v-4865819b]:hover{background:#fff7ed}.action-btn-outline-red[data-v-4865819b]{width:100%;padding:8px;border:1px solid #f87171;color:#ef4444;background:#fff;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}.action-btn-outline-red[data-v-4865819b]:hover{background:#fef2f2}.action-btn-icon[data-v-4865819b]{width:16px;height:16px}.action-btn-icon-sm[data-v-4865819b]{width:14px;height:14px}.right-panel[data-v-4865819b]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.right-card[data-v-4865819b]{background:#fff;border-radius:12px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden}.tab-bar[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;padding:0 16px;border-bottom:1px solid #f3f4f6;-ms-flex-wrap:wrap;flex-wrap:wrap}.tab-item[data-v-4865819b]{padding:14px 16px;font-size:14px;font-weight:500;color:#9ca3af;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;-webkit-transition:color .2s;transition:color .2s}.tab-item[data-v-4865819b]:hover{color:#4b5563}.tab-item.active[data-v-4865819b]{color:#4f6ef7;border-bottom-color:#4f6ef7}.tab-icon[data-v-4865819b]{width:16px;height:16px}.tab-content[data-v-4865819b]{padding:20px}.catalog-header[data-v-4865819b]{margin-bottom:8px}.catalog-count[data-v-4865819b]{font-size:12px;color:#9ca3af}.catalog-list[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.chapter-header[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:12px;cursor:pointer;padding:8px 12px;background:#f9fafb;border-radius:12px;-webkit-transition:background .2s;transition:background .2s}.chapter-header[data-v-4865819b]:hover{background:#f3f4f6}.chapter-arrow[data-v-4865819b]{width:16px;height:16px;color:#9ca3af;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.chapter-arrow.expanded[data-v-4865819b]{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.chapter-title[data-v-4865819b]{font-size:14px;font-weight:600;color:#374151;-webkit-box-flex:1;-ms-flex:1;flex:1}.chapter-count[data-v-4865819b]{font-size:12px;color:#9ca3af}.lesson-list[data-v-4865819b]{padding-left:8px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lesson-card[data-v-4865819b],.lesson-list[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px}.lesson-card[data-v-4865819b]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px;background:#fff;border:1px solid #f3f4f6;border-radius:12px;-webkit-transition:border-color .2s;transition:border-color .2s}.lesson-card[data-v-4865819b]:hover{border-color:rgba(79,110,247,.2)}.lesson-icon-box[data-v-4865819b]{width:36px;height:36px;border-radius:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.lesson-icon[data-v-4865819b]{width:18px;height:18px}.lesson-info[data-v-4865819b]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.lesson-title[data-v-4865819b]{font-size:14px;font-weight:500;color:#1f2937}.lesson-meta[data-v-4865819b]{font-size:12px;color:#9ca3af;margin-top:2px}.lesson-type-tag[data-v-4865819b]{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.lesson-tag-blue[data-v-4865819b]{background:#eff6ff;color:#2563eb}.lesson-tag-amber[data-v-4865819b]{background:#fef3c7;color:#d97706}.lesson-tag-purple[data-v-4865819b]{background:#f5f3ff;color:#7c3aed}.lesson-tag-red[data-v-4865819b]{background:#fef2f2;color:#dc2626}.lesson-tag-green[data-v-4865819b]{background:#ecfdf5;color:#059669}.lesson-tag-gray[data-v-4865819b]{background:#f3f4f6;color:#6b7280}.catalog-empty[data-v-4865819b]{text-align:center;padding:32px;color:#9ca3af;font-size:14px}.student-class-tabs[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-bottom:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.class-tab[data-v-4865819b]{padding:6px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;color:#6b7280;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.class-tab[data-v-4865819b]:hover{border-color:#4f6ef7;color:#4f6ef7}.class-tab.active[data-v-4865819b]{background:#4f6ef7;color:#fff;border-color:#4f6ef7}.student-status[data-v-4865819b]{display:inline-block;padding:2px 8px;background:#ecfdf5;color:#059669;border-radius:4px;font-size:12px}.student-table[data-v-4865819b]{width:100%}.notes-header[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.notes-section-title[data-v-4865819b]{font-size:14px;font-weight:600;color:#374151;margin:0}.notes-add-btn[data-v-4865819b]{padding:6px 12px;background:#4f6ef7;color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.notes-add-btn[data-v-4865819b]:hover{background:#3a55d5}.notes-list[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.note-card[data-v-4865819b]{border:1px solid #f3f4f6;border-radius:12px;padding:16px;-webkit-transition:border-color .2s;transition:border-color .2s}.note-card[data-v-4865819b]:hover{border-color:rgba(79,110,247,.3)}.note-card-header[data-v-4865819b]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.note-card-header[data-v-4865819b],.note-card-meta[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.note-card-meta[data-v-4865819b]{gap:8px}.note-card-loc[data-v-4865819b]{font-size:12px;color:#9ca3af}.note-tag[data-v-4865819b]{padding:2px 6px;border-radius:4px;font-size:10px}.note-tag-red[data-v-4865819b]{background:#fef2f2;color:#dc2626}.note-tag-amber[data-v-4865819b]{background:#fffbeb;color:#d97706}.note-tag-blue[data-v-4865819b]{background:#eff6ff;color:#2563eb}.note-card-time[data-v-4865819b]{font-size:12px;color:#d1d5db}.note-card-content[data-v-4865819b]{font-size:14px;color:#4b5563;line-height:1.6;margin:0 0 12px}.note-card-footer[data-v-4865819b]{gap:12px;padding-top:12px;border-top:1px solid #f9fafb}.note-card-action[data-v-4865819b],.note-card-footer[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.note-card-action[data-v-4865819b]{gap:4px;background:transparent;border:none;color:#9ca3af;font-size:12px;cursor:pointer;padding:0}.note-card-action[data-v-4865819b]:hover{color:#4f6ef7}.note-card-action.danger[data-v-4865819b]:hover{color:#ef4444}.interactive-list[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.interactive-card[data-v-4865819b]{background:#f9fafb;border-radius:12px;padding:16px;border:1px solid #f3f4f6}.interactive-card-header[data-v-4865819b]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.interactive-card-header[data-v-4865819b],.interactive-icon-box[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.interactive-icon-box[data-v-4865819b]{width:36px;height:36px;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.interactive-icon[data-v-4865819b]{width:18px;height:18px;color:#4f6ef7}.interactive-info[data-v-4865819b]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;margin:0 12px}.interactive-title[data-v-4865819b]{font-size:14px;font-weight:500;color:#1f2937}.interactive-meta[data-v-4865819b]{font-size:12px;color:#9ca3af;margin-top:2px}.interactive-status-tag[data-v-4865819b]{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.interactive-ended[data-v-4865819b]{background:#f3f4f6;color:#6b7280}.interactive-active[data-v-4865819b]{background:#ecfdf5;color:#059669}.interactive-pending[data-v-4865819b]{background:#fffbeb;color:#d97706}.interactive-desc[data-v-4865819b]{font-size:13px;color:#6b7280;line-height:1.5;margin:0}.intro-card[data-v-4865819b]{background:#fff;border-radius:12px;padding:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);margin-bottom:16px}.intro-section-title[data-v-4865819b]{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px}.intro-text[data-v-4865819b]{font-size:14px;color:#4b5563;line-height:1.6;margin:0}.intro-goal-list[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.intro-goal-item[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px}.intro-goal-icon[data-v-4865819b]{width:16px;height:16px;color:#10b981;-ms-flex-negative:0;flex-shrink:0;margin-top:2px}.intro-goal-item span[data-v-4865819b]{font-size:14px;color:#4b5563}.intro-material-grid[data-v-4865819b]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.intro-material-item[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:10px;background:#f9fafb;border-radius:8px}.intro-material-icon[data-v-4865819b]{width:16px;height:16px;color:#4f6ef7;-ms-flex-negative:0;flex-shrink:0}.intro-material-item span[data-v-4865819b]{font-size:12px;color:#4b5563}.practice-header[data-v-4865819b]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:16px}.practice-header-left[data-v-4865819b],.practice-header[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.practice-header-left[data-v-4865819b]{gap:12px}.practice-count[data-v-4865819b]{font-size:13px;color:#6b7280}.practice-status-tag[data-v-4865819b]{padding:2px 8px;background:#eff6ff;color:#2563eb;border-radius:4px;font-size:12px}.practice-config-btn[data-v-4865819b]{padding:6px 12px;font-size:12px;font-weight:500;color:#fff;background:#4f6ef7;border:none;border-radius:8px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.practice-config-btn[data-v-4865819b]:hover{background:#3d5bd6}.practice-list[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.practice-card[data-v-4865819b]{background:rgba(249,250,251,.8);border-radius:12px;padding:16px;border:1px solid #f3f4f6;-webkit-transition:border-color .2s;transition:border-color .2s}.practice-card[data-v-4865819b]:hover{border-color:rgba(79,110,247,.2)}.practice-card-header[data-v-4865819b]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:12px}.practice-card-header[data-v-4865819b],.practice-card-left[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.practice-card-left[data-v-4865819b]{gap:12px}.practice-icon-box[data-v-4865819b]{width:36px;height:36px;border-radius:8px;background:-webkit-gradient(linear,left top,right bottom,from(#06b6d4),to(#3b82f6));background:linear-gradient(to bottom right,#06b6d4,#3b82f6);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.practice-icon[data-v-4865819b]{width:16px;height:16px;color:#fff}.practice-title[data-v-4865819b]{font-size:14px;font-weight:500;color:#1f2937}.practice-meta[data-v-4865819b]{font-size:12px;color:#9ca3af;margin-top:2px}.difficulty-tag[data-v-4865819b]{padding:2px 8px;border-radius:6px;font-size:12px}.diff-easy[data-v-4865819b]{background:#ecfdf5;color:#059669}.diff-mid[data-v-4865819b]{background:#fffbeb;color:#d97706}.diff-hard[data-v-4865819b]{background:#fef2f2;color:#dc2626}.practice-card-footer[data-v-4865819b]{gap:16px;font-size:12px;color:#9ca3af}.practice-card-footer[data-v-4865819b],.practice-progress[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.practice-progress[data-v-4865819b]{gap:6px;margin-left:auto}.practice-progress-bar[data-v-4865819b]{width:96px;height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden}.practice-progress-fill[data-v-4865819b]{height:100%;background:#10b981;border-radius:999px}.practice-progress-text[data-v-4865819b]{color:#6b7280}.exam-list[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.exam-card[data-v-4865819b]{background:#f9fafb;border-radius:12px;padding:16px;border:1px solid #f3f4f6}.exam-card-header[data-v-4865819b]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.exam-card-header[data-v-4865819b],.exam-icon-box[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.exam-icon-box[data-v-4865819b]{width:36px;height:36px;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.exam-icon[data-v-4865819b]{width:18px;height:18px;color:#4f6ef7}.exam-info[data-v-4865819b]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;margin:0 12px}.exam-title[data-v-4865819b]{font-size:14px;font-weight:500;color:#1f2937}.exam-meta[data-v-4865819b]{font-size:12px;color:#9ca3af;margin-top:2px}.exam-status-tag[data-v-4865819b]{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.exam-active[data-v-4865819b]{background:#ecfdf5;color:#059669}.exam-pending[data-v-4865819b]{background:#fffbeb;color:#d97706}.exam-desc[data-v-4865819b]{font-size:13px;color:#6b7280;line-height:1.5;margin:0 0 12px}.exam-card-footer[data-v-4865819b]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-top:8px;border-top:1px solid #f3f4f6}.exam-footer-text[data-v-4865819b]{font-size:12px;color:#3b82f6}.exam-config-link[data-v-4865819b]{background:transparent;border:none;color:#4f6ef7;font-size:12px;font-weight:500;cursor:pointer}.exam-config-link[data-v-4865819b]:hover{text-decoration:underline}.list-pagination[data-v-4865819b]{margin-top:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mul-ellipsis2{-webkit-line-clamp:2}.mul-ellipsis2,.mul-ellipsis3{display:-webkit-box;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden}.mul-ellipsis3{-webkit-line-clamp:3}.publish-dialog{border-radius:16px!important;overflow:hidden;padding:0}.publish-dialog .el-dialog__header{display:none}.publish-dialog .el-dialog__body{padding:0}.publish-dialog .el-dialog__footer{display:none}.publish-dialog .form-input{width:100%;height:40px;padding:0 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;outline:none}.publish-dialog .form-input:focus{border-color:#4f6ef7;-webkit-box-shadow:0 0 0 2px rgba(79,110,247,.2);box-shadow:0 0 0 2px rgba(79,110,247,.2)}.publish-modal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.publish-header,.publish-modal{display:-webkit-box;display:-ms-flexbox;display:flex}.publish-header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #f3f4f6}.publish-title{font-size:18px;font-weight:600;color:#1f2937;margin:0}.publish-subtitle{font-size:12px;color:#9ca3af;margin:4px 0 0}.publish-close{width:32px;height:32px;border-radius:8px;background:transparent;border:none;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#9ca3af}.publish-close:hover{background:#f3f4f6;color:#4b5563}.publish-close svg{width:20px;height:20px}.publish-body{overflow:hidden;height:600px}.publish-body,.publish-left{display:-webkit-box;display:-ms-flexbox;display:flex}.publish-left{width:340px;border-right:1px solid #f3f4f6;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.publish-search-box{padding:12px 16px;border-bottom:1px solid #f9fafb}.publish-search-input{width:100%;height:36px;padding:0 12px;background:#f9fafb;border:none;border-radius:8px;font-size:13px;outline:none}.publish-search-input:focus{-webkit-box-shadow:0 0 0 2px rgba(59,130,246,.2);box-shadow:0 0 0 2px rgba(59,130,246,.2)}.publish-course-list{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.publish-list-empty{text-align:center;padding:40px;color:#9ca3af;font-size:13px}.publish-course-item{padding:12px;border-radius:12px;border:1px solid #f3f4f6;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:12px}.publish-course-item:hover{border-color:#bfdbfe;background:rgba(239,246,255,.3)}.publish-course-item.selected{border-color:#4f6ef7;background:rgba(239,246,255,.4)}.publish-course-icon{width:40px;height:40px;border-radius:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.publish-cover-icon{width:22px;height:22px}.publish-course-info{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.publish-course-name{font-size:14px;font-weight:600;color:#1f2937;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publish-course-meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;color:#9ca3af;-ms-flex-wrap:wrap;flex-wrap:wrap}.publish-source-tag{padding:1px 6px;border-radius:4px;font-size:11px}.publish-source-tag.source-system{background:#eff6ff;color:#2563eb}.publish-source-tag.source-custom{background:#fff7ed;color:#ea580c}.publish-meta-sep{color:#e5e7eb}.publish-placeholder,.publish-right{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.publish-placeholder{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#d1d5db}.publish-placeholder-icon{width:64px;height:64px;margin-bottom:12px}.publish-placeholder-text{font-size:14px}.publish-config{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:auto}.publish-config-header{padding:16px 20px;border-bottom:1px solid #f3f4f6;background:rgba(249,250,251,.5);gap:12px}.publish-config-header,.publish-config-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.publish-config-icon{width:40px;height:40px;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.publish-config-name{font-size:14px;font-weight:600;color:#1f2937;margin:0}.publish-config-meta{font-size:12px;color:#9ca3af;margin:4px 0 0}.publish-config-form{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:20px;flex-direction:column;gap:16px;scrollbar-gutter:stable}.form-item,.publish-config-form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column}.form-item{flex-direction:column}.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.required{color:#f87171}.form-select{width:100%}.class-combo-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px}.class-combo-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;-webkit-box-shadow:0 1px 2px rgba(17,24,39,.03);box-shadow:0 1px 2px rgba(17,24,39,.03);-webkit-transition:border-color .2s,-webkit-box-shadow .2s;transition:border-color .2s,-webkit-box-shadow .2s;transition:border-color .2s,box-shadow .2s;transition:border-color .2s,box-shadow .2s,-webkit-box-shadow .2s}.class-combo-card:hover{border-color:#dbeafe;-webkit-box-shadow:0 2px 8px rgba(17,24,39,.04);box-shadow:0 2px 8px rgba(17,24,39,.04)}.class-combo-card.invalid{border-color:#fca5a5;-webkit-box-shadow:0 0 0 2px rgba(239,68,68,.08);box-shadow:0 0 0 2px rgba(239,68,68,.08)}.class-combo-card.invalid .combo-card-head{background:linear-gradient(135deg,#fef2f2,#fff);border-bottom-color:#fee2e2}.class-combo-card.invalid .combo-card-title-dot{background:linear-gradient(135deg,#ef4444,#f97316);-webkit-box-shadow:0 0 0 2px rgba(239,68,68,.12);box-shadow:0 0 0 2px rgba(239,68,68,.12)}.add-combo-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px;min-height:36px;padding:8px 12px;border-radius:10px;border:1px dashed #c7d2fe;background:#fff;color:#4f6ef7;font-size:12px;font-weight:500;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.add-combo-card:hover{background:#eef2ff;border-style:solid;border-color:#4f6ef7;color:#3730a3;-webkit-box-shadow:0 2px 8px rgba(79,110,247,.08);box-shadow:0 2px 8px rgba(79,110,247,.08)}.add-combo-card .add-combo-icon{width:14px;height:14px;-ms-flex-negative:0;flex-shrink:0}.combo-card-head{padding:8px 12px;border-bottom:1px solid #f3f4f6;background:linear-gradient(135deg,#fafbff,#fff);-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:8px}.combo-card-head,.combo-card-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.combo-card-title{gap:6px;font-size:12px;font-weight:600;color:#1f2937;-ms-flex-wrap:wrap;flex-wrap:wrap}.combo-card-title-dot{width:7px;height:7px;border-radius:50%;-webkit-box-shadow:0 0 0 2px rgba(79,110,247,.12);box-shadow:0 0 0 2px rgba(79,110,247,.12);-ms-flex-negative:0;flex-shrink:0}.combo-card-count{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 6px;border-radius:999px;background:rgba(79,110,247,.1);color:#4338ca;font-size:10px;font-weight:600;line-height:15px;height:15px}.combo-card-title-hint{font-size:11px;font-weight:400;color:#9ca3af}.combo-card-actions{-ms-flex-negative:0;flex-shrink:0}.combo-card-action,.combo-card-actions{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.combo-card-action{gap:3px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.combo-card-action svg{width:12px;height:12px}.combo-card-action.remove{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.combo-card-action.remove:hover{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.combo-tags{min-height:36px;padding:8px 12px;border-bottom:1px dashed #e5e7eb;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px;background:rgba(249,250,251,.5)}.combo-tag,.combo-tags{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.combo-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:4px;padding:3px 4px 3px 10px;border-radius:999px;background:var(--grad);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.04);box-shadow:inset 0 -1px 0 rgba(0,0,0,.04);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.combo-tag:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px)}.combo-tag-name{font-size:11px;font-weight:500;color:#374151;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-tag-close{width:15px;height:15px;border-radius:50%;background:hsla(0,0%,100%,.75);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#6b7280;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.combo-tag-close svg{width:9px;height:9px}.combo-tag-close:hover{background:rgba(239,68,68,.9);color:#fff}.combo-tags-empty{width:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;font-size:11px;color:#9ca3af;padding:4px 0}.empty-hint-icon{width:12px;height:12px;-ms-flex-negative:0;flex-shrink:0}.org-tree-title{padding:7px 12px 3px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#6b7280;letter-spacing:.01em}.org-title-icon{width:12px;height:12px;color:#4f6ef7;-ms-flex-negative:0;flex-shrink:0}.org-tree{max-height:140px;overflow-y:auto;padding:2px 8px 8px}.org-dept{margin-bottom:1px}.org-dept-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding:4px 6px;border-radius:6px;cursor:pointer}.org-dept-header:hover{background:#f9fafb}.org-dept-header span{font-size:12px;font-weight:600;color:#374151}.org-major-list{padding-left:14px}.org-major{margin-bottom:1px}.org-major-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding:3px 6px;border-radius:6px;cursor:pointer}.org-major-header:hover{background:#f9fafb}.org-major-header span{font-size:12px;color:#4b5563;font-weight:500}.org-class-list{padding-left:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding-top:1px}.org-class{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding:4px 6px;border-radius:6px;cursor:pointer;-webkit-transition:background .15s;transition:background .15s}.org-class:hover{background:#eff6ff}.org-class.selected{background:#e0e7ff}.org-class.selected span{color:#3730a3;font-weight:500}.org-class.non-selectable{cursor:default;pointer-events:none;opacity:.5}.org-class.non-selectable:hover{background:transparent}.org-class.non-selectable span{color:#9ca3af;font-style:italic}.org-class span{font-size:11px;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-class-checkbox{width:13px;height:13px;border:1.2px solid #d1d5db;border-radius:3px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all .15s;transition:all .15s}.org-class.non-selectable .org-class-checkbox{opacity:0}.org-class.selected .org-class-checkbox{background:linear-gradient(135deg,#4f6ef7,#6366f1);border-color:#4f6ef7;-webkit-box-shadow:0 1px 3px rgba(79,110,247,.2);box-shadow:0 1px 3px rgba(79,110,247,.2)}.org-check-icon{width:9px;height:9px;color:#fff}.org-arrow{width:12px;height:12px;color:#9ca3af;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.org-arrow.sm{width:11px;height:11px}.org-arrow.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.org-dept-icon{width:13px;height:13px;color:#4f6ef7}.form-error{font-size:12px;color:#ef4444;margin-top:4px}.publish-config-footer{position:sticky;bottom:0;z-index:10;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;padding:16px 20px;border-top:1px solid #f3f4f6;background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,0)),color-stop(40%,#fff),to(#fff)),#fff;background:linear-gradient(180deg,hsla(0,0%,100%,0),#fff 40%,#fff),#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);-webkit-box-shadow:0 -4px 16px rgba(17,24,39,.04);box-shadow:0 -4px 16px rgba(17,24,39,.04)}.publish-cancel-btn{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:160px;padding:10px;border:1px solid #e5e7eb;color:#6b7280;background:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.publish-cancel-btn:hover{background:#f9fafb;border-color:#d1d5db}.publish-confirm-btn{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:160px;padding:10px;background:linear-gradient(135deg,#4f6ef7,#6366f1);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;-webkit-box-shadow:0 2px 8px rgba(79,110,247,.22);box-shadow:0 2px 8px rgba(79,110,247,.22);-webkit-transition:all .2s;transition:all .2s;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}.publish-confirm-btn:hover{background:linear-gradient(135deg,#3a55d5,#4f46e5);-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 14px rgba(79,110,247,.28);box-shadow:0 4px 14px rgba(79,110,247,.28)}.publish-confirm-btn:active{-webkit-transform:translateY(0);transform:translateY(0)}.publish-confirm-btn:disabled{cursor:not-allowed;opacity:.75;-webkit-transform:none;transform:none;-webkit-box-shadow:0 2px 8px rgba(79,110,247,.22);box-shadow:0 2px 8px rgba(79,110,247,.22)}.publish-confirm-spinner{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;display:inline-block;-webkit-animation:publish-spin .7s linear infinite;animation:publish-spin .7s linear infinite}@-webkit-keyframes publish-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes publish-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}