*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:20px}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.login-container{background:#0a0a0b;overflow:hidden;padding:20px;position:relative}.login-container:before{background:radial-gradient(circle at 30% 40%,#d4a85308 0,#0000 50%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}.login-card{background:#171717;border:1px solid #ffffff0f;border-radius:16px;box-shadow:0 0 0 1px #ffffff0d,0 20px 40px -12px #00000080;max-width:420px;padding:48px;position:relative;z-index:1}.login-header{margin-bottom:40px}.login-header .logo{align-items:center;background:#d4a8531a;border:1px solid #d4a85333;border-radius:12px;color:#d4a853;display:flex;height:56px;justify-content:center;margin:0 auto 20px;width:56px}.login-header .logo svg{height:28px;width:28px}.login-header h1{color:#fff;font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}.login-header .subtitle{color:#fff6;font-size:13px;letter-spacing:.02em;margin:0;text-transform:uppercase}.login-form{display:flex;flex-direction:column;gap:20px}.login-type-selector{background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;display:flex;gap:8px;padding:4px}.login-type-btn{background:#0000;border:none;border-radius:6px;color:#ffffff80;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:10px 16px;transition:all .2s cubic-bezier(.4,0,.2,1)}.login-type-btn:hover{color:#ffffffb3}.login-type-btn.active{background:#ffffff14;color:#fff}.role-selector{display:flex;gap:12px}.role-option{align-items:center;background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:8px;padding:16px;transition:all .2s cubic-bezier(.4,0,.2,1)}.role-option:hover{background:#ffffff0a;border-color:#ffffff1a}.role-option.active{background:#d4a85314;border-color:#d4a8534d}.role-icon{align-items:center;background:#ffffff0a;border-radius:10px;color:#fff9;display:flex;height:40px;justify-content:center;width:40px}.role-option.active .role-icon{background:#d4a85326;color:#d4a853}.role-icon svg{height:20px;width:20px}.role-label{color:#ffffffb3;font-size:13px;font-weight:500}.role-option.active .role-label{color:#d4a853}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#fff9;font-size:13px;margin-left:2px}.input-wrapper{position:relative}.input-icon,.input-wrapper{align-items:center;display:flex}.input-icon{color:#ffffff4d;justify-content:center;left:14px;pointer-events:none;position:absolute}.input-icon svg{height:16px;width:16px}.form-control{background:#ffffff05;border:1px solid #ffffff14;color:#fff;padding:12px 14px 12px 42px;transition:all .2s cubic-bezier(.4,0,.2,1)}.form-control::placeholder{color:#ffffff4d}.form-control:focus{background:#ffffff0a;border-color:#d4a85366;box-shadow:0 0 0 3px #d4a8531a}.login-btn{align-items:center;background:#d4a853;border:none;border-radius:8px;color:#0a0a0b;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:14px 24px;transition:all .2s cubic-bezier(.4,0,.2,1)}.login-btn:hover:not(:disabled){background:#e0b864;box-shadow:0 4px 12px #d4a8534d;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{cursor:not-allowed;opacity:.5}.login-btn svg{height:16px;width:16px}.login-info{border-top:1px solid #ffffff0f;margin-top:32px;padding-top:24px}.login-info h3{color:#ffffff80;font-size:13px;font-weight:600;letter-spacing:.05em;margin:0 0 16px;text-transform:uppercase}.login-info ul{display:flex;flex-direction:column;gap:10px}.login-info li{color:#fff6;font-size:13px;line-height:1.5;padding-left:20px}.login-info li:before{background:#d4a85380;border-radius:50%;content:"";height:4px;top:8px;width:4px}@media (max-width:768px){.login-container{padding:16px}.login-card{padding:32px 24px}.login-header{margin-bottom:32px}.login-header .logo{height:48px;margin-bottom:16px;width:48px}.login-header .logo svg{height:24px;width:24px}.login-header h1{font-size:20px}.login-form{gap:16px}.role-selector{gap:8px}.role-option{padding:12px}.role-icon{height:36px;width:36px}.role-icon svg{height:18px;width:18px}.login-info{margin-top:24px;padding-top:20px}}@media (max-width:480px){.login-card{padding:28px 20px}.login-header h1{font-size:18px}.login-header .subtitle{font-size:11px}.login-type-btn{font-size:12px;padding:8px 12px}.form-control{font-size:13px;padding:10px 12px 10px 38px}.input-icon{left:12px}.input-icon svg{height:14px;width:14px}.login-btn{font-size:13px;padding:12px 20px}}.skeleton-detector{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 20px #00000014;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin-bottom:24px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.skeleton-detector:before{animation:gradient-shift 3s ease infinite;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);background-size:200% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}.detector-header{border-bottom:1px solid #e2e8f0;margin-bottom:24px;padding-bottom:16px}.detector-header h3{align-items:center;color:#1e293b;display:flex;font-size:20px;font-weight:600;gap:10px}.detector-header h3:before{content:"🦴";font-size:24px}.detector-status{align-items:flex-end;flex-direction:column;gap:10px}.status-indicator{align-items:center;box-shadow:0 2px 8px #0000001a;display:flex;font-size:13px;font-weight:600;gap:6px;padding:6px 16px;transition:all .3s ease}.status-indicator.loaded{background-color:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.status-indicator.loaded:before{content:"✅"}.status-indicator.loading{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e;overflow:hidden;position:relative}.status-indicator.loading:before{animation:pulse 1.5s ease-in-out infinite;content:"⏳"}.loading-progress{align-items:center;display:flex;gap:10px;width:120px}.progress-bar{background-color:#e5e7eb;flex:1 1;height:8px}.progress-bar,.progress-fill{border-radius:4px}.progress-text{color:#6b7280;font-size:13px}.detector-error{animation:error-shake .5s ease-in-out;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:8px;box-shadow:0 2px 10px #ef44441a;color:#b91c1c;gap:10px;margin-bottom:20px;padding:16px}@keyframes error-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.error-icon{animation:error-pulse 1.5s ease-in-out infinite;font-size:18px}@keyframes error-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.detector-controls{flex-wrap:wrap;gap:16px;margin-bottom:24px}.btn{box-shadow:0 2px 8px #0000001a;gap:8px}.btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000)}.btn:disabled{transform:none!important}.btn:disabled:before{display:none}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-danger:hover:not(:disabled){box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563)}.btn-secondary:hover:not(:disabled){box-shadow:0 4px 12px #6b72804d;transform:translateY(-2px)}.performance-mode{align-items:center;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:10px;margin-left:auto;padding:8px 16px}.performance-mode label{color:#475569;font-size:14px;font-weight:600}.performance-mode select{background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s ease}.performance-mode select:hover{border-color:#94a3b8}.performance-mode select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.detection-stats{grid-gap:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px;padding:20px}.stat-item{background-color:#fff;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:6px;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.stat-item:before{background:linear-gradient(180deg,#3b82f6,#8b5cf6);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.stat-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-label{color:#64748b;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-value{align-items:baseline;color:#1e293b;display:flex;font-size:20px;gap:4px}.stat-value span{color:#64748b;font-size:14px;font-weight:500}.detector-info{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:10px;padding:20px}.detector-info h4{align-items:center;color:#0369a1;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.detector-info h4:before{content:"💡";font-size:18px}.detector-info ul{color:#0c4a6e;font-size:14px;line-height:1.6}.detector-info li{margin-bottom:8px;position:relative}.detector-info li::marker{color:#0ea5e9}@media (max-width:768px){.skeleton-detector{margin-bottom:16px;padding:16px}.detector-header{flex-direction:column;gap:12px}.detector-header,.detector-status{align-items:flex-start}.loading-progress{width:100%}.detector-controls{flex-direction:column;gap:12px}.btn{justify-content:center;width:100%}.performance-mode{justify-content:space-between;margin-left:0;width:100%}.detection-stats{gap:12px;grid-template-columns:repeat(2,1fr);padding:16px}.stat-item{padding:12px}.stat-value{font-size:18px}.detector-info{padding:16px}}@media (max-width:480px){.skeleton-detector{padding:12px}.detector-header h3{font-size:18px}.detector-header h3:before{font-size:20px}.detection-stats{grid-template-columns:1fr}.stat-value{font-size:16px}}.dark-theme .skeleton-detector{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #334155;color:#f1f5f9}.dark-theme .detector-header{border-bottom:1px solid #334155}.dark-theme .detector-header h3{color:#f1f5f9}.dark-theme .status-indicator.loaded{background-color:#064e3b;border:1px solid #047857;color:#6ee7b7}.dark-theme .status-indicator.loading{background-color:#451a03;border:1px solid #92400e;color:#fbbf24}.dark-theme .loading-progress{color:#f1f5f9}.dark-theme .progress-bar{background-color:#374151}.dark-theme .progress-text{color:#d1d5db}.dark-theme .detector-error{background:linear-gradient(135deg,#450a0a,#7f1d1d);border:1px solid #991b1b;color:#fca5a5}.dark-theme .btn-success{background:linear-gradient(135deg,#059669,#047857)}.dark-theme .btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c)}.dark-theme .btn-secondary{background:linear-gradient(135deg,#4b5563,#374151)}.dark-theme .performance-mode{background-color:#334155;border:1px solid #475569}.dark-theme .performance-mode label{color:#e2e8f0}.dark-theme .performance-mode select{background-color:#1e293b;border:1px solid #475569;color:#f1f5f9}.dark-theme .detection-stats{background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid #334155}.dark-theme .stat-item{background-color:#1e293b;border:1px solid #334155}.dark-theme .stat-label{color:#94a3b8}.dark-theme .stat-value{color:#f1f5f9}.dark-theme .stat-value span{color:#94a3b8}.dark-theme .detector-info{background:linear-gradient(135deg,#0c4a6e,#075985);border:1px solid #0369a1}.dark-theme .detector-info h4{color:#7dd3fc}.dark-theme .detector-info ul{color:#bae6fd}.dark-theme .detector-info li::marker{color:#38bdf8}.action-analysis-panel{background:#fff;border:1px solid #e8e8e8;border-radius:10px;box-shadow:0 2px 8px #00000014;margin-top:20px;overflow:hidden}.analysis-panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:16px;padding:14px 18px}.analysis-panel-header h4{flex-shrink:0;font-size:16px;margin:0}.analysis-panel-summary{display:flex;flex:1 1;gap:12px}.summary-item{background:#fff3;border-radius:10px;font-size:12px;padding:3px 10px}.btn-close-panel{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;height:28px;transition:background .2s;width:28px}.btn-close-panel:hover{background:#ffffff59}.analysis-tabs{background:#fafafa;border-bottom:1px solid #e8e8e8;display:flex}.analysis-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s}.analysis-tab:hover{background:#f0f2ff;color:#667eea}.analysis-tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.analysis-tab-content{max-height:480px;overflow-y:auto;padding:18px}.rule-card{border:1px solid #e8e8e8;border-radius:8px;margin-bottom:14px;overflow:hidden}.rule-card-title{align-items:center;background:#f5f7ff;color:#333;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 14px}.rule-frame-info{color:#999;font-size:12px;font-weight:400;margin-left:auto}.rule-card-body{padding:12px 14px}.rule-row{border-bottom:1px dashed #f0f0f0;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.rule-row:last-child{border-bottom:none}.rule-label{color:#888}.rule-value{color:#333;font-weight:500}.rule-value.highlight{color:#667eea;font-size:15px;font-weight:700}.rule-input{background:#fff;border:1px solid #d9d9d9;border-radius:4px;color:#333;font-size:13px;padding:3px 6px;text-align:right;transition:border-color .2s;width:72px}.rule-input:focus,.rule-input:hover{border-color:#667eea}.rule-input:focus{box-shadow:0 0 0 2px #667eea26;outline:none}.rule-value.base-value{align-items:center;color:#52c41a;display:inline-flex;font-weight:600;gap:8px}.modified-badge{background:#fff2e8;color:#fa541c}.action-name-tag,.modified-badge{border-radius:8px;font-size:11px;font-weight:600;padding:1px 8px}.action-name-tag{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.btn-restore-base{background:#fff;border:1px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:13px;padding:5px 14px;transition:all .2s}.btn-restore-base:hover{background:#667eea;color:#fff}.rule-description{background:#fffbe6;border:1px solid #ffe58f;border-radius:6px;color:#8c6d1f;font-size:13px;line-height:1.6;margin-bottom:14px;padding:12px 14px}.reps-list{display:flex;flex-direction:column;gap:6px;padding:12px 14px}.rep-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;font-size:13px;gap:12px;padding:8px 12px}.rep-index{color:#667eea;font-weight:600;min-width:48px}.rep-time{color:#555;flex:1 1}.rep-period{color:#999;font-size:12px}.joint-table{border-collapse:collapse;font-size:13px;width:100%}.joint-table th{background:#f8f9fa;border-bottom:1px solid #e8e8e8;color:#666;font-weight:600;padding:8px 10px;text-align:left}.joint-table td{border-bottom:1px solid #f0f0f0;color:#333;padding:8px 10px}.joint-table tr:last-child td{border-bottom:none}.angle-value{color:#667eea;font-weight:700}.range-value{color:#52c41a;font-weight:500}.empty-hint{background:#fafafa;border:1px dashed #d9d9d9;border-radius:8px;color:#999;font-size:13px;line-height:1.8;padding:30px 20px;text-align:center}.audio-toolbar{flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.audio-toolbar,.voice-selector{align-items:center;display:flex}.voice-selector{gap:8px}.voice-label{color:#666;font-size:13px}.voice-btn{background:#fff;border:1px solid #d9d9d9;border-radius:16px;color:#555;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.voice-btn:hover{border-color:#667eea;color:#667eea}.voice-btn.active{background:#667eea;border-color:#667eea;color:#fff}.btn-regenerate{font-size:13px;padding:8px 16px}.audio-list{display:flex;flex-direction:column;gap:10px}.audio-group{margin-bottom:18px}.audio-group:last-child{margin-bottom:0}.audio-group-title{border-left:3px solid #667eea;color:#4a5fc1;font-size:13px;font-weight:600;line-height:1.2;margin-bottom:10px;padding-left:8px}.audio-item{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:12px 14px;transition:all .2s}.audio-item:hover{border-color:#b7c4ff;box-shadow:0 2px 6px #667eea1a}.audio-item.playing{background:#f5f7ff;border-color:#667eea}.audio-item-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.audio-priority{color:#999;font-size:12px;font-weight:600}.audio-phase-tag{background:#e6f7ff;border-radius:8px;color:#1890ff;flex-shrink:0;font-size:11px;padding:2px 8px}.audio-phase-tag.corrective{background:#fff2e8;color:#fa541c;font-weight:600}.amplitude-note{background:#fff7e6;border-left:3px solid #fa8c16;border-radius:4px;color:#ad6800;font-size:12px;line-height:1.6;margin-top:8px;padding:8px 12px}.correction-rule-section .rule-row{align-items:flex-start;flex-direction:column;gap:2px}.correction-rule-section .rule-value{line-height:1.6;text-align:left}.audio-text{color:#333;font-size:14px;font-weight:600}.audio-item-desc{color:#999;font-size:12px;line-height:1.5;margin-bottom:8px}.audio-item-actions{align-items:center;display:flex;gap:8px}.btn-audio-play{background:#fff;border:1px solid #667eea;border-radius:14px;color:#667eea;cursor:pointer;font-size:12px;padding:5px 14px;transition:all .2s}.btn-audio-play:hover:not(:disabled){background:#667eea;color:#fff}.btn-audio-play.playing{background:#ff4d4f;border-color:#ff4d4f;color:#fff}.btn-audio-play:disabled{border-color:#d9d9d9;color:#bbb;cursor:not-allowed}.btn-audio-regen{background:#fff;border:1px solid #d9d9d9;border-radius:14px;color:#666;cursor:pointer;font-size:12px;padding:5px 12px;transition:all .2s}.btn-audio-regen:hover:not(:disabled){border-color:#faad14;color:#faad14}.btn-audio-regen:disabled{color:#bbb;cursor:not-allowed}.audio-status-tag{border-radius:8px;font-size:11px;margin-left:auto;padding:2px 8px}.audio-status-tag.matched{background:#f6ffed;color:#52c41a}.audio-status-tag.generated{background:#e6f7ff;color:#1890ff}.audio-status-tag.failed{background:#fff2f0;color:#ff4d4f}.analysis-panel-footer{background:#fafafa;border-top:1px solid #e8e8e8;padding:14px 18px}.btn-save-rules{font-size:15px;font-weight:600;padding:12px;width:100%}.workspace-header{border-bottom:1px solid #eee;margin-bottom:15px;padding-bottom:10px}.workspace-header h3{font-size:18px;margin:0 0 8px}.homework-info{display:flex;flex-direction:column;gap:5px}.homework-title{color:#495057;font-size:14px;font-weight:600}.homework-description{color:#6c757d;font-size:12px;font-style:italic}.student-info{background-color:#f8f9fa;border-left:4px solid #4a6fdc;border-radius:4px;margin-bottom:15px;padding:10px}.skeleton-annotation-workspace{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:15px;padding:20px}.video-container{margin-bottom:15px}.annotation-controls,.video-controls{gap:10px;margin-bottom:15px}.annotation-controls{flex-wrap:wrap}.skeleton-canvas-container{border-radius:4px;margin-bottom:15px}.skeleton-canvas{background-color:#fff}.skeleton-overlay-canvas{display:block}.scoring-controls{display:flex;gap:10px;margin-top:15px}.grid-controls{margin-left:auto}.btn{background-color:#4a6fdc;color:#fff;padding:8px 12px;transition:background-color .2s}.btn:hover{background-color:#3a5fc9}.btn:disabled{background-color:#ccc}.form-control{padding:8px}.course-video-annotation-workspace{background-color:#f8f9fa;border-radius:8px;padding:20px}.workspace-header{border-bottom:2px solid #e0e0e0;margin-bottom:20px;padding-bottom:15px}.workspace-header h3{color:#333;font-size:20px;margin:0}.annotated-badge{background-color:#28a745;border-radius:12px;color:#fff;padding:4px 12px}.annotated-badge,.mode-badge{font-size:12px;font-weight:600}.mode-badge{align-items:center;border-radius:14px;display:inline-flex;gap:6px;line-height:1.2;padding:5px 12px}.mode-badge--library{background:linear-gradient(135deg,#667eea24,#764ba224);border:1px solid #667eea59;color:#4a5fc1}.mode-badge--course{background:#f2f3f7;border:1px solid #e2e4ea;color:#6b7280}.mode-badge__cid{font-size:11px;font-weight:500;opacity:.75}.workspace-content{flex-direction:column;gap:20px}.video-container{box-shadow:0 4px 8px #0000001a}.annotation-video{display:block;width:100%}.annotation-canvas{pointer-events:none}.course-video-annotation-workspace.manual-mode .annotation-canvas{cursor:crosshair;pointer-events:all}.course-video-annotation-workspace.manual-mode .annotation-canvas.dragging{cursor:grabbing!important}.course-video-annotation-workspace.manual-mode .annotation-canvas:hover{cursor:crosshair}.annotation-toolbar{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:15px;padding:15px}.frame-navigation{background-color:#f8f9fa;border-radius:6px;gap:15px;justify-content:space-between;padding:12px}.frame-info,.frame-navigation{align-items:center;display:flex}.frame-info{flex:1 1;flex-direction:column;gap:4px}.frame-info span{color:#333;font-size:14px;font-weight:500}.frame-interval-hint{color:#666!important;font-size:12px!important;font-weight:400!important}.btn-nav{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-nav:hover:not(:disabled){box-shadow:0 4px 8px #667eea66;transform:translateY(-2px)}.btn-nav:active:not(:disabled){transform:translateY(0)}.btn-nav:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}.annotation-actions{align-items:center;display:flex;gap:10px}.btn-primary{box-shadow:0 2px 4px #667eea4d}.btn-primary:hover:not(:disabled){box-shadow:0 4px 8px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{background:#ccc;box-shadow:none}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-secondary:disabled{background-color:#ccc;cursor:not-allowed}.annotations-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px}.annotations-list h4{color:#333;font-size:16px;margin:0 0 15px}.annotations-list ul{list-style:none;margin:0;padding:0}.annotations-list li{background-color:#f8f9fa;border-radius:4px;color:#666;font-size:14px;margin-bottom:8px;padding:8px 12px}.scoring-panel{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px;padding:20px}.point-controls{background-color:#f8f9fa;border-radius:6px;flex-direction:column;margin-top:10px;padding:15px}.point-info{border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:5px;padding-bottom:10px}.point-info strong{color:#333;font-size:14px}.hint-text{color:#666;font-size:12px;font-style:italic}.manual-mode-hint{background-color:#e7f3ff;border-left:3px solid #2196f3;border-radius:4px;color:#1976d2;font-size:13px;margin-top:10px;padding:10px 15px}.App{min-height:100vh}.App,.main-content{display:flex;flex-direction:column}.main-content{background-color:#f8f9fa;flex:1 1}.tab-navigation{background:#fff;border-bottom:1px solid #e8e8e8;box-shadow:0 2px 4px #0000000d;padding:0}.tab-container{display:flex;margin:0 auto;max-width:1400px;padding:0 2rem}.tab-button{align-items:center;border-bottom:3px solid #0000;color:#666;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:1.25rem 1.5rem;position:relative;transition:all .2s ease}.tab-button:hover{background:#667eea0d;color:#667eea}.tab-button.active{border-bottom-color:#667eea;color:#667eea;font-weight:600}.tab-icon{font-size:1.2rem}.tab-badge{background:#ff4d4f;border-radius:10px;color:#fff;font-size:.75rem;font-weight:600;margin-left:.25rem;min-width:20px;padding:.15rem .4rem;text-align:center}.tab-content{margin:0 auto;max-width:1400px;padding:2rem;width:100%}.content-panel{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:2rem;overflow:hidden}.content-panel.full-page{background:#0000;border-radius:0;box-shadow:none;margin:0;padding:0}.content-header{background:#f8f9fa;border-bottom:1px solid #e8e8e8;padding:1.5rem 2rem}.content-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.content-header p{color:#666;font-size:1rem;margin:0}.content-body{padding:2rem}.btn-back{color:#667eea;font-size:.9rem}.btn-back:hover{color:#5a67d8;text-decoration:underline}.profile-selection-prompt{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:3rem 2rem;text-align:center}.prompt-icon{font-size:3rem;margin-bottom:1rem}.profile-selection-prompt h3{color:#333;font-size:1.5rem;margin:0 0 1rem}.profile-selection-prompt p{color:#666;font-size:1rem;line-height:1.6;margin:0 auto 2rem;max-width:500px}.header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-stats{background:#fff;border-top:1px solid #e8e8e8;margin:0;padding:0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:1rem 2rem}.header-left h1{font-size:1.8rem;font-weight:600;margin:0}.header-subtitle{font-size:.9rem;margin-top:.25rem;opacity:.9}.header-right{align-items:center;display:flex;gap:1.5rem}.teacher-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:30px;font-size:1rem;gap:.75rem;padding:.5rem 1rem}.teacher-avatar{background:#fff3;font-size:1.5rem;height:40px;width:40px}.teacher-details{display:flex;flex-direction:column}.teacher-name{font-size:1rem;font-weight:600}.teacher-department{font-size:.8rem;opacity:.8}.logout-btn{background:#ffffff26;border:1px solid #ffffff4d;color:#fff;padding:.5rem 1rem;transition:all .2s ease}.logout-btn:hover{background:#ffffff40;transform:translateY(-1px)}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;max-width:500px;padding:2.5rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:#333;font-size:1.8rem;margin-bottom:.5rem}.login-header p{color:#666;font-size:1rem}.login-form{margin-bottom:2rem}.login-btn{font-size:1.1rem;margin-top:1rem;padding:12px;width:100%}.login-info{background:#f8f9fa;border-radius:8px;padding:1.5rem}.login-info h3{color:#333;font-size:1.1rem;margin-bottom:1rem}.login-info ul{list-style:none;margin:0;padding:0}.login-info li{color:#555;padding:.5rem 0 .5rem 1.5rem;position:relative}.login-info li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.test-data-section{border-top:1px solid #eaeaea;margin-top:30px;padding-top:20px}.test-data-section h3{color:#6c757d;font-size:16px;margin-bottom:10px}.test-data-section p{color:#6c757d;font-size:14px;margin-bottom:15px}.test-data-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s}.test-data-btn:hover{background-color:#5a6268}.sidebar{background:#fff;border-right:1px solid #e9ecef;overflow-y:auto;padding:1.5rem;width:320px}.student-manager{width:350px}.teacher-overview{border-bottom:1px solid #e9ecef;margin-bottom:2rem;padding-bottom:1.5rem}.teacher-overview h3{color:#495057;font-size:1.2rem;margin:0 0 .5rem}.department{color:#6c757d;font-size:.9rem;margin-bottom:1rem}.stats-grid{grid-template-columns:1fr 1fr}.stat-item{border-radius:8px;padding:1rem}.stat-number{color:#667eea;font-size:1.5rem}.stat-label{color:#6c757d;font-size:.8rem}.filter-section,.search-section{margin-bottom:2rem}.filter-section h3,.search-section h3{color:#495057;font-size:1.1rem;margin-bottom:1rem}.filter-buttons{display:flex;flex-direction:column;gap:.5rem}.filter-btn{background:#fff;border:1px solid #e9ecef;border-radius:6px;color:#495057;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;text-align:left;transition:all .2s ease}.filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.filter-btn:hover:not(.active){background:#f8f9fa;border-color:#adb5bd}.students-list h3{color:#495057;font-size:1.1rem;margin-bottom:1rem}.student-cards{display:flex;flex-direction:column;gap:.75rem}.student-card{border:2px solid #e9ecef;border-radius:8px;padding:1rem;transition:all .2s ease}.student-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea33}.student-card.selected{background:#f0f2ff;border-color:#667eea}.student-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.student-status{border-radius:12px;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.status-annotated{background:#cce5ff;color:#004085}.status-scored{background:#d4edda;color:#155724}.student-info{color:#6c757d;margin-bottom:.5rem}.score-info,.student-info{font-size:.8rem;justify-content:space-between}.score-info{display:flex;margin-top:.5rem}.ai-score{color:#28a745}.teacher-score{color:#007bff}.quick-actions{border-top:1px solid #e9ecef;margin-top:2rem;padding-top:1.5rem}.quick-actions h3{color:#495057;font-size:1.1rem;margin-bottom:1rem}.workspace{flex:1 1;overflow-y:auto;padding:1.5rem}.skeleton-workspace{background:#f8f9fa}.workspace-header{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.workspace-title{color:#495057;font-size:1.5rem;margin:0}.workspace-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.workspace-actions button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.mode-toggle{background-color:#6c757d;color:#fff}.mode-toggle.manual{background-color:#17a2b8}.redo-btn,.undo-btn{background-color:#6c757d;color:#fff}.grid-snap-toggle{align-items:center;background-color:#f8f9fa;border:1px solid #ced4da;border-radius:4px;display:flex;padding:5px 10px}.grid-snap-toggle label{align-items:center;cursor:pointer;display:flex;gap:5px;margin:0}.grid-size-select{border:1px solid #ced4da;border-radius:4px;margin-left:10px;padding:2px 5px}.start-annotation-btn{background-color:#28a745;color:#fff}.save-annotation-btn{background-color:#007bff;color:#fff}.workspace-actions button:hover:not(:disabled){opacity:.9}.workspace-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.annotation-section,.skeleton-section,.video-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.video-container{margin-bottom:1rem}.video-controls{gap:1rem;margin-top:1rem}.frame-slider{-webkit-appearance:none;background:#e9ecef;border-radius:3px;flex:1 1;height:6px;outline:none}.frame-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#667eea;border-radius:50%;cursor:pointer;height:18px;width:18px}.frame-info{color:#6c757d;font-size:.9rem;min-width:60px}.skeleton-header{margin-bottom:1.5rem}.skeleton-header h3{color:#495057;margin:0 0 .5rem}.control-hint{color:#6c757d;font-size:.9rem;font-style:italic}.skeleton-canvas-container{text-align:center}.skeleton-info h4{color:#495057;margin-bottom:1rem}.skeleton-points{grid-gap:.5rem;gap:.5rem;grid-template-columns:1fr 1fr;max-height:200px}.skeleton-point{border-radius:6px;font-size:.8rem;padding:.5rem}.skeleton-point .point-coords,.skeleton-point .point-type{margin-bottom:.25rem}.annotation-section h3{color:#495057;margin-bottom:1rem}.no-annotations{color:#6c757d;font-style:italic;padding:2rem;text-align:center}.annotation-list{max-height:300px;overflow-y:auto}.annotation-item{background:#f8f9fa;border-radius:6px;margin-bottom:.75rem;padding:1rem}.annotation-header{display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:.5rem}.annotation-frame{color:#495057;font-weight:600}.annotation-time{color:#6c757d}.annotation-preview{color:#495057;font-size:.9rem}.scoring-modal{align-items:flex-start;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.scoring-content{background:#fff;border-radius:12px;margin:20px auto;max-height:none;max-width:95vw;overflow:visible;padding:2rem;position:relative;width:95%}.scoring-content h3{background:#fff;border-bottom:2px solid #e9ecef;color:#495057;margin-bottom:1.5rem;padding:1rem 0;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.basic-scoring{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.score-display{gap:1rem}.ai-score,.teacher-score{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.ai-score label,.teacher-score label{color:#495057;font-weight:600;min-width:120px}.score-value{background:#e8f5e8;color:#28a745;font-size:1.5rem;padding:.5rem 1rem}.motion-scoring{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:2rem 0;padding:1.5rem}.scoring-actions{border-top:2px solid #e9ecef;gap:1rem;justify-content:center;margin-top:2rem;padding:1.5rem 0}.btn{padding:8px 16px;transition:all .3s ease}.btn-primary{background-color:#007bff}.btn-primary:hover{background-color:#0056b3}.btn-primary:disabled,.btn-secondary{background-color:#6c757d}.btn-secondary:hover{background-color:#545b62}.btn-success:hover{background-color:#1e7e34}.btn-info:hover{background-color:#117a8b}.form-group label{color:#495057}.form-control{padding:8px 12px}@media (max-width:1200px){.workspace-content{grid-template-columns:1fr}.sidebar{width:300px}.student-manager{width:320px}}@media (max-width:768px){.main-content{flex-direction:column}.sidebar{order:2;width:100%}.workspace{order:1}.workspace-header{align-items:flex-start;flex-direction:column;gap:1rem}.workspace-actions{justify-content:space-between;width:100%}.header-content{flex-direction:column;gap:1rem;text-align:center}.teacher-info{flex-direction:column;gap:.5rem}}.skeleton-detector{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:20px 0;padding:20px}.detector-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.detector-header h3{color:#333;margin:0}.detector-status{align-items:center;display:flex}.status-indicator{border-radius:20px;font-size:12px;font-weight:500;padding:6px 12px}.status-indicator.loaded{background:#d4edda;color:#155724}.status-indicator.loading{background:#fff3cd;color:#856404}.detector-error{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;display:flex;font-size:14px;margin:15px 0;padding:12px}.detector-controls{display:flex;gap:10px;margin-bottom:20px}.detection-stats{grid-gap:15px;background:#f8f9fa;border-radius:6px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin:20px 0;padding:15px}.stat-label{display:block;margin-bottom:5px}.stat-value{color:#007bff;font-size:18px}.detector-info{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;padding:15px}.detector-info h4{color:#004085;font-size:14px;margin:0 0 10px}.detector-info ul{color:#004085;font-size:13px;margin:0;padding-left:20px}.detector-info li{margin-bottom:5px}.skeleton-canvas-container{display:inline-block;margin-bottom:1.5rem}.skeleton-canvas{border:2px solid #e9ecef;border-radius:8px;display:block}.skeleton-overlay-canvas{border:2px solid #0000;border-radius:8px}.skeleton-points{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-height:300px;overflow-y:auto}.skeleton-point{background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;font-size:.85rem;padding:.75rem;transition:all .2s ease}.skeleton-point:hover{background:#e9ecef;border-color:#667eea}.skeleton-point.selected{background:#667eea;border-color:#667eea;color:#fff}.skeleton-point .point-type{display:block;font-weight:600;margin-bottom:.5rem;text-transform:capitalize}.skeleton-point .point-coords{display:block;font-family:monospace;font-size:.8rem;margin-bottom:.5rem}.skeleton-point .point-confidence{color:#28a745;display:block;font-weight:500}.detector-panel{border-top:1px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem}.btn-danger{background-color:#dc3545}.btn-danger:hover{background-color:#c82333}.btn-success{background-color:#28a745}.btn-success:hover{background-color:#218838}.btn-info{background-color:#17a2b8}.btn-info:hover{background-color:#138496}@media (max-width:1200px){.detection-stats{grid-template-columns:repeat(2,1fr)}.skeleton-points{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:768px){.detection-stats{grid-template-columns:1fr}.detector-controls{flex-direction:column}.skeleton-canvas,.skeleton-overlay-canvas{height:auto;width:100%}}.data-export-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:1.5rem;padding:1.5rem}.export-header{margin-bottom:2rem;text-align:center}.export-header h3{color:#495057;font-size:1.5rem;margin:0 0 .5rem}.export-header p{color:#6c757d;font-size:1rem;margin:0}.export-config{margin-bottom:2rem}.export-config h4{color:#495057;font-size:1.1rem;margin:0 0 1rem}.config-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.config-item{display:flex;flex-direction:column;gap:.5rem}.config-item label{color:#495057;font-size:.9rem;font-weight:600}.config-item span{color:#667eea;font-weight:600;text-align:center}.export-actions{margin-bottom:2rem}.export-actions h4{color:#495057;font-size:1.1rem;margin:0 0 1rem}.action-buttons{gap:1rem}.export-progress{margin-bottom:2rem;text-align:center}.export-progress h4{color:#495057;font-size:1.1rem;margin:0 0 1rem}.progress-bar{margin-bottom:.5rem}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:10px}.progress-text{color:#667eea;font-size:1.1rem}.export-log{margin-bottom:2rem}.export-log h4{color:#495057;font-size:1.1rem;margin:0 0 1rem}.log-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;max-height:200px;overflow-y:auto;padding:1rem}.log-entry{border-bottom:1px solid #e9ecef;color:#495057;font-family:monospace;font-size:.85rem;padding:.25rem 0}.log-entry:last-child{border-bottom:none}.export-info{background:#f8f9fa;border-radius:8px;padding:1.5rem}.export-info h4{color:#495057;font-size:1.1rem;margin:0 0 1rem;text-align:center}.info-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:1rem}.info-item h5{color:#667eea;font-size:1rem;margin:0 0 .75rem}.info-item ul{list-style:none;margin:0;padding:0}.info-item li{color:#6c757d;font-size:.9rem;padding:.25rem 0 .25rem 1.5rem;position:relative}.info-item li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.export-panel{border-top:1px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}@media (max-width:768px){.config-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.info-grid{grid-template-columns:1fr}}.video-upload{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.upload-header{margin-bottom:20px;text-align:center}.upload-header h3{color:#333;margin-bottom:8px}.upload-header p{color:#666;font-size:14px}.upload-form{margin:0 auto;max-width:600px}.form-group{margin-bottom:15px}.form-group label{margin-bottom:5px}.form-control{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px;transition:border-color .3s}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.upload-zone{margin:20px 0}.drop-zone{background:#fafafa;border:2px dashed #ddd;border-radius:8px;cursor:pointer;padding:40px 20px;text-align:center;transition:all .3s}.drop-zone:hover{background:#f0f8ff;border-color:#007bff}.drop-zone.drag-active{background:#e6f3ff;border-color:#007bff;transform:scale(1.02)}.drop-zone.uploading{background:#f0fff0;border-color:#28a745;cursor:not-allowed}.upload-content{color:#666}.upload-icon{font-size:48px;margin-bottom:15px}.upload-content h4{color:#333;margin-bottom:10px}.upload-content p{color:#666;margin-bottom:15px}.upload-hint{color:#999;display:flex;font-size:12px;justify-content:space-around}.upload-hint span{background:#f0f0f0;border-radius:12px;padding:4px 8px}.upload-progress{text-align:center}.progress-circle{display:inline-block;margin-bottom:15px;position:relative}.progress-ring{height:60px;transform:rotate(-90deg);width:60px}.progress-text{color:#007bff;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.upload-error{align-items:center;background:#fff5f5;border:1px solid #fed7d7;border-radius:4px;color:#c53030;display:flex;margin:15px 0;padding:10px}.error-icon{font-size:16px;margin-right:8px}.upload-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.upload-tips{background:#f8f9fa;border-radius:6px;margin-top:20px;padding:15px}.upload-tips h4{color:#495057;margin-bottom:10px}.upload-tips ul{color:#6c757d;margin:0;padding-left:20px}.upload-tips li{margin-bottom:5px}.student-data-manager{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.manager-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.manager-header h3{color:#333;margin:0}.upload-panel{background:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:15px}.search-filter{display:flex;gap:15px;margin-bottom:20px}.status-filter{min-width:150px}.stats-overview{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.stat-item{background:#f8f9fa;border-radius:6px;padding:15px;text-align:center}.stat-number{color:#007bff;display:block;font-size:24px;font-weight:700;margin-bottom:5px}.stat-label{color:#666;font-size:12px}.student-list h4{color:#333;margin-bottom:15px}.no-students{color:#666;padding:40px 20px;text-align:center}.student-item{align-items:center;border:1px solid #eee;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px;transition:all .3s}.student-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26}.student-item.selected{background:#f0f8ff;border-color:#007bff}.student-info{flex:1 1}.student-name{color:#333;font-weight:500;margin-bottom:5px}.student-id{color:#666;margin-bottom:5px}.video-info{align-items:center;color:#666;display:flex;font-size:12px;gap:10px}.video-name{color:#007bff}.video-size{color:#999}.student-status{align-items:center;display:flex;flex-direction:column;gap:5px;margin:0 15px}.status-badge{font-size:11px;padding:4px 8px}.status-pending{background:#fff3cd;color:#856404}.status-annotated{background:#d4edda;color:#155724}.status-scored{background:#cce5ff;color:#004085}.ai-score,.teacher-score{color:#666;font-size:11px}.student-actions{display:flex;gap:8px}.manual-controls{background-color:#f8f9fa;border-radius:8px;margin-top:20px;padding:15px}.manual-controls h4{border-bottom:1px solid #dee2e6;color:#495057;font-size:18px;margin-bottom:15px;margin-top:0;padding-bottom:8px}.history-controls{align-items:center;background-color:#e9ecef;border-radius:4px;margin-bottom:15px;padding:10px}.redo-btn,.undo-btn{background-color:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;padding:6px 12px;transition:all .2s}.redo-btn:hover:not(:disabled),.undo-btn:hover:not(:disabled){background-color:#f8f9fa}.redo-btn:disabled,.undo-btn:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.history-info{color:#6c757d;font-size:14px;margin-left:auto}.grid-controls{background-color:#e9ecef;border-radius:4px;margin-bottom:15px;padding:10px}.grid-controls label{cursor:pointer;margin-bottom:10px}.grid-controls label,.grid-size-control{align-items:center;display:flex;gap:8px}.grid-size-control select{border:1px solid #ced4da;border-radius:4px;padding:4px 8px}.point-type-selector{margin-bottom:15px}.point-type-selector label{display:block;font-weight:500;margin-bottom:5px}.point-type-selector select{background-color:#fff;border:1px solid #ced4da;border-radius:4px;padding:8px;width:100%}.delete-point-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .2s;width:100%}.delete-point-btn:hover:not(:disabled){background-color:#c82333}.delete-point-btn:disabled{background-color:#6c757d;cursor:not-allowed}.selected-point-info{background-color:#e9ecef;border-radius:4px;margin-top:15px;padding:10px}.selected-point-info p{font-size:14px;margin:5px 0}.skeleton-canvas-container{border:1px solid #ddd;border-radius:6px;margin:15px 0;overflow:hidden;position:relative}.skeleton-canvas{background:#000;cursor:crosshair}.skeleton-canvas.manual-mode{cursor:pointer}.skeleton-overlay-canvas{pointer-events:none}@media (max-width:768px){.stats-overview{grid-template-columns:repeat(2,1fr)}.search-filter{flex-direction:column}.control-panel,.student-item{align-items:flex-start;flex-direction:column}.student-item{gap:10px}.student-status{align-self:flex-end}}.motion-performance-scoring{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px}.scoring-header h3{color:#2c3e50;margin-bottom:10px;text-align:center}.scoring-header p{color:#7f8c8d}.scoring-actions,.scoring-header p{margin-bottom:20px;text-align:center}.scoring-actions .btn{margin:0 10px}.analysis-progress{margin:20px 0;text-align:center}.progress-bar{background:#e9ecef;border-radius:10px;height:20px;margin-bottom:10px;width:100%}.progress-fill{background:linear-gradient(90deg,#007bff,#28a745);transition:width .3s ease}.progress-text{color:#495057;font-weight:700}.scoring-results{margin-top:20px}.overall-score{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.overall-score h4{color:#2c3e50;margin-bottom:15px}.score-breakdown{flex-wrap:wrap;gap:20px;justify-content:space-around}.score-item-overall{flex-direction:column;min-width:120px}.score-label{color:#6c757d;margin-bottom:5px}.score-value{border-radius:20px;font-size:24px;min-width:60px;padding:8px 16px;text-align:center}.score-value.ai{background:#e3f2fd;color:#1976d2}.score-value.teacher{background:#f3e5f5;color:#7b1fa2}.score-value.final{background:#e8f5e8;color:#388e3c;font-size:28px}.detailed-scores{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:20px}.score-item{background:#fff;box-shadow:0 2px 4px #0000001a;padding:15px}.score-header{border-bottom:1px solid #e9ecef;margin-bottom:10px;padding-bottom:10px}.score-name{color:#2c3e50;font-size:16px}.score-display{gap:8px}.ai-score{color:#1976d2;font-size:14px;font-weight:500}.teacher-score,.teacher-score-input{color:#7b1fa2;font-size:14px}.teacher-score-input{border:2px solid #7b1fa2;border-radius:4px;padding:4px 8px;width:80px}.teacher-score-input:focus{border-color:#9c27b0;box-shadow:0 0 0 2px #9c27b033}.score-details{gap:5px}.detail-item{color:#6c757d;font-size:13px;padding-left:10px}.teacher-scoring-actions{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px;padding:20px;text-align:center}.teacher-scoring-actions .btn{margin:0 10px}.scoring-info{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:30px;padding:20px}.scoring-info h4{color:#2c3e50;margin-bottom:15px;text-align:center}.scoring-info ul{list-style:none;padding:0}.scoring-info li{background:#f8f9fa;border-left:4px solid #007bff;border-radius:6px;margin-bottom:10px;padding:10px}.scoring-info strong{color:#2c3e50}@media (max-width:768px){.score-breakdown{flex-direction:column;gap:15px}.detailed-scores{grid-template-columns:1fr}.score-header{flex-direction:column;gap:10px}.score-display,.score-header{align-items:flex-start}}.scoring-modal .motion-performance-scoring{background:#0000;margin:0;max-height:none;overflow:visible;padding:0}.scoring-modal .scoring-header{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:1rem;padding:1rem}.scoring-modal .scoring-header h3{color:#2c3e50;font-size:1.2rem;margin-bottom:.5rem}.scoring-modal .scoring-header p{color:#6c757d;font-size:.9rem;margin-bottom:1rem}.scoring-modal .scoring-actions{margin-bottom:1rem;text-align:center}.scoring-modal .scoring-actions .btn{font-size:.9rem;margin:0 5px;padding:8px 16px}.scoring-modal .scoring-results{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-top:1rem;overflow:hidden}.scoring-modal .overall-score{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:1.5rem;padding:1.5rem}.scoring-modal .overall-score h4{font-size:1.1rem;margin-bottom:1rem;text-align:center}.scoring-modal .score-breakdown{gap:15px;justify-content:center}.scoring-modal .score-item-overall{min-width:100px;text-align:center}.scoring-modal .score-label{font-size:.8rem;margin-bottom:5px;opacity:.9}.scoring-modal .score-value{background:#fff3;border:2px solid #ffffff4d;border-radius:20px;color:#fff;font-size:1.2rem;padding:8px 16px}.scoring-modal .score-value.final{background:#ffffff4d;border-color:#ffffff80;font-size:1.8rem}.scoring-modal .detailed-scores{gap:10px;grid-template-columns:1fr;margin-bottom:1rem;padding:0 1rem}.scoring-modal .score-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:10px;padding:12px}.scoring-modal .score-header{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.scoring-modal .score-name{color:#2c3e50;font-size:.9rem;font-weight:700}.scoring-modal .score-display{align-items:center;flex-direction:row;gap:8px}.scoring-modal .ai-score,.scoring-modal .teacher-score{background:#f8f9fa;border-radius:4px;color:#495057;font-size:.8rem;padding:4px 8px}.scoring-modal .teacher-score-input{background:#fff;border:2px solid #7b1fa2;border-radius:4px;color:#7b1fa2;font-size:.8rem;padding:4px 8px;text-align:center;width:60px}.scoring-modal .teacher-score-input:focus{border-color:#9c27b0;box-shadow:0 0 0 2px #9c27b033;outline:none}.scoring-modal .score-details{gap:4px;margin-top:8px}.scoring-modal .detail-item{color:#6c757d;font-size:.75rem;line-height:1.3;padding-left:8px}.scoring-modal .teacher-scoring-actions{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-top:1rem;padding:1rem;text-align:center}.scoring-modal .teacher-scoring-actions .btn{margin:0 5px;padding:8px 16px}.scoring-modal .scoring-info{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-top:1.5rem;padding:1rem}.scoring-modal .scoring-info h4{color:#2c3e50;font-size:1rem;margin-bottom:1rem;text-align:center}.scoring-modal .scoring-info ul{list-style:none;padding:0}.scoring-modal .scoring-info li{background:#f8f9fa;border-left:4px solid #007bff;border-radius:6px;font-size:.85rem;line-height:1.4;margin-bottom:8px;padding:8px}.scoring-modal .scoring-info strong{color:#2c3e50}@media (max-width:768px){.scoring-modal{padding:10px}.scoring-content{padding:1rem;width:98%}.scoring-modal .score-header{gap:8px}.scoring-modal .score-display,.scoring-modal .score-header{align-items:flex-start;flex-direction:column}.scoring-modal .score-breakdown{flex-direction:column;gap:10px}}.screenshot-preview-section{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-top:1.5rem;padding:1rem}.screenshot-preview-section h3{color:#2c3e50;font-size:1.2rem;margin-bottom:1rem;text-align:center}.screenshots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:1rem}.screenshot-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s}.screenshot-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.screenshot-thumbnail{cursor:pointer;height:150px;object-fit:cover;transition:opacity .2s;width:100%}.screenshot-thumbnail:hover{opacity:.8}.screenshot-actions{padding:.5rem;text-align:center}.screenshot-actions .btn{font-size:.8rem;padding:4px 12px}@media (max-width:768px){.screenshots-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.screenshot-thumbnail{height:120px}}.video-generator{padding:20px}.generator-card{border-radius:12px;box-shadow:0 4px 12px #0000001a}.upload-section{padding:20px}.upload-area{margin:0 auto;max-width:600px}.analysis-section,.generate-section{padding:20px;text-align:center}.video-preview{background:#000;border-radius:8px;overflow:hidden}@media (max-width:768px){*{touch-action:manipulation}.action-btn,.btn,.nav-item,[role=button],button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px!important}.scrollable,[style*="overflow-y: auto"],[style*="overflow-y:scroll"]{-webkit-overflow-scrolling:touch}a,button,img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}*{-webkit-tap-highlight-color:rgba(47,84,235,.1)}}@supports (padding:max(0px)){.mobile-topbar{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(.5rem,env(safe-area-inset-top))}.mobile-bottom-nav{padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.mobile-drawer{padding-top:max(1rem,env(safe-area-inset-top))}}@media (max-height:500px) and (orientation:landscape){.mobile-bottom-nav{display:none!important}.admin-layout.mobile .admin-main{padding-bottom:1rem!important}.mobile-topbar{height:48px!important}.admin-layout.mobile .admin-main{padding-top:48px!important}}@media (max-width:768px){.mobile-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:1rem;padding:1rem}.mobile-card-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.mobile-card-title{color:#262626;font-size:1rem;font-weight:600;margin:0}.mobile-card-content{color:#595959;font-size:.875rem;line-height:1.6}.mobile-list-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000d;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.75rem}.mobile-list-item:active{background:#f5f5f5}.mobile-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.mobile-grid-3{grid-template-columns:repeat(3,1fr)}.mobile-empty-state{color:#8c8c8c;padding:3rem 1rem;text-align:center}.mobile-empty-state .empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.mobile-empty-state h3{color:#595959;font-size:1rem;margin:0 0 .5rem}.mobile-empty-state p{font-size:.875rem;margin:0}.mobile-loading{align-items:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:2rem}.mobile-loading-spinner{animation:spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#2f54eb;height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.mobile-form-group{margin-bottom:1rem}.mobile-form-label{color:#262626;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.mobile-form-input{background:#fff;border:1px solid #d9d9d9;border-radius:8px;font-size:16px;padding:.75rem 1rem;transition:all .2s;width:100%}.mobile-form-input:focus{border-color:#2f54eb;box-shadow:0 0 0 3px #2f54eb1a;outline:none}.mobile-btn-group{display:flex;gap:.75rem;margin-top:1rem}.mobile-btn-group .btn{flex:1 1}.mobile-tabs{-webkit-overflow-scrolling:touch;display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 0;scrollbar-width:none}.mobile-tabs::-webkit-scrollbar{display:none}.mobile-tab{background:#fff;border:1px solid #e8e8e8;border-radius:20px;color:#595959;cursor:pointer;flex-shrink:0;font-size:.875rem;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.mobile-tab:active{background:#f0f0f0}.mobile-tab.active{background:#2f54eb;border-color:#2f54eb;color:#fff}.mobile-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.75rem;font-weight:600;justify-content:center;padding:.25rem .5rem}.mobile-badge-success{background:#f6ffed;color:#52c41a}.mobile-badge-warning{background:#fff7e6;color:#fa8c16}.mobile-badge-error{background:#fff2f0;color:#ff4d4f}.mobile-badge-info{background:#f0f5ff;color:#2f54eb}}@media (max-width:480px){.mobile-grid{grid-template-columns:1fr}.mobile-card{border-radius:8px;padding:.75rem}.mobile-bottom-nav .nav-label{font-size:.7rem}.mobile-bottom-nav .nav-icon{font-size:1.25rem}}@media (max-width:768px){*{box-sizing:border-box;max-width:100%}body{-webkit-hyphens:auto;hyphens:auto}a,body,div,label,li,p,span,td,th{overflow-wrap:break-word;word-break:break-word}.text-ellipsis,[class*=ellipsis]{-webkit-line-clamp:unset!important;line-clamp:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}.admin-content>div>div,.admin-content>div>div>div,.content-body,.content-panel{background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:0!important}.admin-content{padding:.5rem!important}.tcc-course-list *,.tcc-sidebar *,.tcc-sidebar-header *,[class*=Sidebar] *,[class*=sidebar] *{text-orientation:mixed!important;writing-mode:horizontal-tb!important}.tcc-sidebar,[class*=sidebar]{border-right:none!important;max-width:100%!important;width:100%!important}.tcc-layout{flex-direction:column!important;gap:0!important;height:auto!important;padding:0!important}.tcc-courses-grid-container{padding-right:0!important}.form-group,.mobile-form-group{background:#0000!important;border:none!important;box-shadow:none!important;margin-bottom:.75rem;padding:0!important;width:100%}.form-control,.mobile-form-input,input.form-control,select.form-control,textarea.form-control{background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-sizing:border-box;max-width:100%!important;padding:.75rem 1rem;width:100%!important}.form-control:focus,.mobile-form-input:focus{border-color:#2f54eb;box-shadow:0 0 0 2px #2f54eb1a}.btn,button.btn{border-radius:8px;font-weight:600;padding:.75rem 1.25rem}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.btn-secondary{background:#fff;border:1px solid #e8e8e8;color:#595959}.config-grid,.stats-grid{gap:.75rem;grid-template-columns:1fr!important}body,html{overflow-x:hidden}table{display:block;overflow-x:auto;width:100%}.form-group,.mobile-form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label,.mobile-form-label{color:#262626;font-size:.875rem;font-weight:600;margin-bottom:0;width:100%}.form-actions,.mobile-btn-group{flex-direction:column!important;gap:.5rem;margin-top:1rem}.form-actions .btn,.mobile-btn-group .btn{margin:0;width:100%}h1,h2,h3{color:#262626;margin-bottom:.75rem}h1{font-size:1.25rem}h2{font-size:1.125rem}h3{font-size:1rem}[class*=divider],hr{background:#f0f0f0;border:none;height:1px;margin:1rem 0}[class*=Empty],[class*=empty]{background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:2rem 1rem!important}.admin-topbar,.content-header,.sidebar-header{background:#0000!important;border:none!important;box-shadow:none!important;padding:.75rem 0!important}}@media (min-width:769px) and (max-width:1024px){.mobile-grid{grid-template-columns:repeat(3,1fr)}}.platform-admin-layout{background:#f5f7fb;display:flex;font-family:PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;height:100vh}.platform-admin-sidebar{background:#111827;color:#e5e7eb;display:flex;flex-direction:column;flex-shrink:0;height:100vh;width:220px}.admin-logo{border-bottom:1px solid #374151cc;font-size:18px;font-weight:600;padding:16px 20px}.admin-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:12px 8px}.admin-nav-item{background:#0000;border:none;border-radius:6px;color:inherit;cursor:pointer;font-size:14px;margin:0 4px;padding:8px 12px;text-align:left;transition:background .2s ease,color .2s ease}.admin-nav-item:hover{background:#374151e6}.admin-nav-item.active{background:#2563eb;color:#fff}.admin-nav-group{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;margin:16px 16px 8px;padding:0 4px;text-transform:uppercase}.admin-nav-group:first-child{margin-top:8px}.platform-admin-main{display:flex;flex:1 1;flex-direction:column;min-width:0}.admin-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.admin-header h1{font-size:20px;margin:0}.admin-header-subtitle{color:#6b7280;font-size:12px;margin:4px 0 0}.admin-user-info{align-items:flex-end;display:flex;flex-direction:column;font-size:13px;gap:4px}.admin-user-row{align-items:center;display:flex;gap:12px}.admin-user-name{color:#111827;font-weight:500}.admin-user-dept{color:#9ca3af}.admin-logout-btn{background:#fff;border:1px solid #ef4444;border-radius:6px;color:#ef4444;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s ease;white-space:nowrap}.admin-logout-btn:hover{background:#ef4444;box-shadow:0 2px 8px #ef444440;color:#fff}.admin-logout-btn:active{transform:scale(.97)}.platform-admin-content{flex:1 1;min-width:0;overflow-y:auto;padding:16px 24px}.admin-sidebar-footer{border-top:1px solid #374151cc;display:flex;flex-direction:column;flex-shrink:0;gap:12px;padding:16px 12px}.admin-sidebar-user{align-items:center;background:#37415180;border-radius:8px;display:flex;gap:10px;padding:8px}.admin-sidebar-user-avatar{align-items:center;background:#374151;border-radius:50%;color:#9ca3af;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.admin-sidebar-user-info{display:flex;flex-direction:column;min-width:0}.admin-sidebar-user-name{color:#f3f4f6;font-size:13px;font-weight:600}.admin-sidebar-user-dept,.admin-sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar-user-dept{color:#9ca3af;font-size:11px}.admin-sidebar-logout{align-items:center;background:#0000;border:1px solid #ef444480;border-radius:8px;color:#ef4444;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:10px;transition:all .2s ease;width:100%}.admin-sidebar-logout:hover{background:#ef4444;border-color:#ef4444;color:#fff}.admin-sidebar-logout:active{transform:scale(.97)}.admin-dashboard{padding:24px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.dashboard-header h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 8px}.dashboard-subtitle{color:#6b7280;font-size:14px;margin:0}.teacher-filter{align-items:center;display:flex;gap:8px}.teacher-filter label{color:#6b7280;font-size:14px;font-weight:500}.teacher-filter select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:14px;min-width:200px;padding:8px 12px}.teacher-filter select:focus{border-color:#667eea;outline:none}.loading{align-items:center;color:#6b7280;display:flex;font-size:16px;justify-content:center;min-height:400px}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.stat-card{gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-icon{background:#fff3;font-size:28px;height:56px;width:56px}.stat-card.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card.primary .stat-label,.stat-card.primary .stat-value{color:#fff}.stat-card.success{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.stat-card.success .stat-label,.stat-card.success .stat-value{color:#fff}.stat-card.warning{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.stat-card.warning .stat-label,.stat-card.warning .stat-value{color:#fff}.stat-card.info{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-card.info .stat-label,.stat-card.info .stat-value{color:#fff}.stats-grid.secondary{gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card-secondary{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;text-align:center;transition:transform .2s,box-shadow .2s}.stat-card-secondary:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-card-secondary .stat-value{color:#667eea;font-size:28px;font-weight:700;margin-bottom:8px}.stat-card-secondary .stat-label{color:#6b7280;font-size:13px}.ranking-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:32px}.ranking-column{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.ranking-column h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 20px}.ranking-list{display:flex;flex-direction:column;gap:12px}.ranking-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:16px;padding:16px;transition:background .2s}.ranking-item:hover{background:#f3f4f6}.ranking-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:32px;justify-content:center;width:32px}.ranking-info{flex:1 1}.ranking-name{color:#1f2937;font-size:15px;font-weight:600;margin-bottom:4px}.ranking-details{color:#6b7280;font-size:13px}.ranking-value{color:#10b981;flex-shrink:0;font-size:16px;font-weight:700}.stat-value{font-size:32px;line-height:1;margin-bottom:4px}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.dashboard-section h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 20px}.quick-actions{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:16px;font-weight:600;gap:12px;padding:20px;transition:transform .2s,box-shadow .2s}.action-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.action-icon{font-size:24px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:16px;padding:16px;transition:background .2s}.activity-item:hover{background:#f3f4f6}.activity-type{color:#667eea;font-size:12px;font-weight:600;min-width:80px;text-transform:uppercase}.activity-description{color:#1f2937;flex:1 1;font-size:14px}.activity-time{color:#9ca3af;font-size:13px}@media (max-width:768px){.admin-dashboard{padding:16px}.quick-actions,.stats-grid{grid-template-columns:1fr}}.teacher-revenue-container{padding:20px}.teacher-revenue-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.teacher-revenue-header h2{color:#1f2937;font-size:24px;margin:0}.time-range-selector{display:flex;gap:8px}.time-range-selector button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.time-range-selector button:hover{background:#f3f4f6}.time-range-selector button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.platform-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:#fff;border-radius:8px;padding:20px}.stat-label{font-size:14px;margin-bottom:8px}.stat-value{font-size:28px;font-weight:600}.stat-value.warning{color:#f59e0b}.teacher-revenue-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.teacher-revenue-table table{border-collapse:collapse;width:100%}.teacher-revenue-table thead{background:#f9fafb}.teacher-revenue-table th{border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.teacher-revenue-table td{border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:14px;padding:16px}.teacher-revenue-table tbody tr:hover{background:#f9fafb}.teacher-info{gap:12px}.teacher-avatar,.teacher-info{align-items:center;display:flex}.teacher-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:16px;font-weight:600;height:36px;justify-content:center;width:36px}.teacher-name{color:#1f2937;font-weight:500}.rating-display{align-items:center;display:flex;gap:4px}.rating-star{color:#fbbf24;font-size:16px}.revenue-cell{color:#10b981;font-weight:600}.revenue-cell.pending{color:#f59e0b}.teacher-detail-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.detail-item span.warning{color:#f59e0b;font-weight:600}.chart-placeholder{background:#f9fafb;border-radius:8px;padding:24px;text-align:center}.chart-placeholder p{color:#6b7280;font-size:14px;margin-bottom:16px}.mock-chart{align-items:flex-end;display:flex;gap:12px;height:200px;justify-content:space-around;padding:0 20px}.chart-bar{align-items:flex-start;background:linear-gradient(180deg,#3b82f6,#2563eb);border-radius:6px 6px 0 0;display:flex;flex:1 1;justify-content:center;min-height:20px;padding-top:8px;position:relative}.chart-bar span{color:#fff;font-size:12px;font-weight:600}.teacher-revenue-loading{align-items:center;color:#6b7280;display:flex;font-size:16px;height:400px;justify-content:center}.order-management-container{padding:20px}.order-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.order-management-header h2{color:#1f2937;font-size:24px;margin:0}.order-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.order-stats .stat-card{background:#fff;border-left:4px solid #3b82f6;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.order-stats .stat-card.success{border-left-color:#10b981}.order-stats .stat-card.warning{border-left-color:#f59e0b}.order-stats .stat-card.danger{border-left-color:#ef4444}.order-stats .stat-label{color:#6b7280;font-size:14px;margin-bottom:8px}.order-stats .stat-value{color:#1f2937;font-size:28px;font-weight:600;margin-bottom:4px}.order-stats .stat-sub{color:#9ca3af;font-size:12px}.order-filters{gap:16px;margin-bottom:24px}.filter-group,.order-filters{align-items:center;display:flex}.filter-group{gap:8px}.filter-group label{color:#6b7280;font-size:14px;font-weight:500}.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px}.filter-group select:focus{border-color:#3b82f6;outline:none}.search-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;width:300px}.search-input:focus{border-color:#3b82f6}.order-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.order-table table{border-collapse:collapse;width:100%}.order-table thead{background:#f9fafb}.order-table th{color:#374151;font-weight:600;padding:12px 16px;text-align:left}.order-table td,.order-table th{border-bottom:1px solid #e5e7eb;font-size:14px}.order-table td{color:#4b5563;padding:16px}.order-table tbody tr:hover{background:#f9fafb}.order-no{color:#6b7280;font-family:Courier New,monospace;font-size:13px}.user-info{flex-direction:column;gap:2px}.user-name{color:#1f2937}.user-mobile{color:#9ca3af;font-size:12px}.amount-cell{color:#10b981;font-weight:600}.status-badge{padding:4px 10px}.status-pending{background:#fef3c7;color:#92400e}.status-paid{background:#d1fae5;color:#065f46}.status-cancelled{background:#f3f4f6;color:#6b7280}.status-refunded{background:#fee2e2;color:#991b1b}.btn-view-detail{background:#3b82f6;border-radius:4px;font-size:13px;padding:6px 12px;transition:background .2s}.btn-view-detail:hover{background:#2563eb}.empty-state{padding:40px}.order-detail-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{box-shadow:0 10px 25px #0003;max-width:700px}.modal-header h3{font-size:20px}.close-btn{color:#6b7280;transition:background .2s}.detail-section h4{color:#374151;margin:0 0 12px}.detail-item{background:#f9fafb;border-radius:6px;justify-content:space-between;padding:12px}.detail-item label{font-size:14px}.detail-item span.highlight{color:#10b981;font-weight:600}.order-management-loading{align-items:center;color:#6b7280;display:flex;font-size:16px;height:400px;justify-content:center}.student-data-manager{padding:24px}.stats-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:24px}.stats-cards .stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s}.stats-cards .stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stats-cards .stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;font-size:24px;height:48px;justify-content:center;width:48px}.stats-cards .stat-content{flex:1 1}.stats-cards .stat-value{color:#1f2937;font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.stats-cards .stat-label{color:#6b7280;font-size:14px;font-weight:500}.manager-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.query-mode-selector{align-items:center;display:flex;gap:8px}.query-mode-selector label{color:#6b7280;font-size:14px;font-weight:500}.query-mode-selector select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;min-width:140px;padding:10px 16px}.query-mode-selector select:focus{border-color:#667eea;outline:none}.teacher-filter{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;min-width:200px;padding:10px 16px}.teacher-filter:focus{border-color:#667eea;outline:none}.manager-toolbar .search-input{border:1px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:14px;min-width:240px;padding:10px 16px;transition:border-color .2s}.manager-toolbar .search-input:focus{border-color:#667eea;outline:none}.status-filter{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;min-width:120px;padding:10px 16px}.status-filter:focus{border-color:#667eea;outline:none}.student-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.student-table{border-collapse:collapse;width:100%}.student-table thead{background:#f9fafb}.student-table th{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:13px;font-weight:600;padding:16px;text-align:left;text-transform:uppercase}.student-table td{border-bottom:1px solid #f3f4f6;padding:16px}.student-table tr:hover{background:#f9fafb}.student-info{align-items:center;display:flex;gap:12px}.student-avatar{height:40px;object-fit:cover;width:40px}.student-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.student-details{flex:1 1}.student-name{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:2px}.student-id{color:#9ca3af;font-size:12px}.contact-info{color:#6b7280;display:flex;flex-direction:column;font-size:13px;gap:4px}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.status-badge.active{background:#d1fae5;color:#059669}.status-badge.inactive{background:#fee2e2;color:#dc2626}.action-btn{background:none;color:#667eea;font-size:14px;font-weight:500;padding:0;transition:color .2s}.action-btn:hover{color:#764ba2}.action-buttons{gap:12px}.pdf-btn{color:#10b981}.pdf-btn:hover{color:#059669}.training-plan-list{display:flex;flex-direction:column;gap:12px}.training-plan-item{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:14px}.training-plan-heading,.training-plan-meta{align-items:center;display:flex;gap:12px;justify-content:space-between}.training-plan-heading{color:#1f2937;font-size:14px}.training-plan-heading span{color:#059669;font-weight:600}.training-plan-progress{background:#e5e7eb;border-radius:3px;height:6px;margin:10px 0 8px;overflow:hidden}.training-plan-progress span{background:#10b981;border-radius:inherit;display:block;height:100%}.training-plan-meta{color:#6b7280;flex-wrap:wrap;font-size:12px}.plan-empty{color:#9ca3af;font-size:13px}.modal-actions{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;margin-top:24px;padding-top:24px}.generate-pdf-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:transform .2s,box-shadow .2s}.generate-pdf-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.empty-state{color:#9ca3af;font-size:14px;padding:48px}.modal-overlay{animation:fadeIn .2s ease;background:#00000080}.modal-content{animation:slideUp .3s ease;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:20px 24px}.modal-header h3{color:#1f2937;font-weight:600}.close-btn{border-radius:6px;color:#9ca3af;font-size:28px;line-height:1;transition:background .2s,color .2s}.close-btn:hover{background:#f3f4f6;color:#1f2937}.modal-body{padding:24px}.detail-section{margin-bottom:24px}.detail-section h4{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 16px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{color:#6b7280;font-size:13px;font-weight:500}.detail-item span{color:#1f2937;font-size:14px;font-weight:500}.student-data-manager{background:#f5f7fb;color:#172033;min-height:100%}.manager-header{margin-bottom:26px}.manager-header h2{color:#172033;font-size:28px;letter-spacing:-.02em;margin:0 0 6px}.manager-subtitle{color:#768197;font-size:14px;margin:0}.stats-cards .stat-card{border:1px solid #e8ecf3;border-radius:8px;box-shadow:0 8px 24px #1720330d}.stats-cards .stat-icon{background:#edf3ff;border-radius:8px;color:#3159a6;font-size:20px}.manager-toolbar{background:#ffffffdb;border:1px solid #e8ecf3;border-radius:8px;padding:14px}.manager-toolbar .search-input,.manager-toolbar select{background:#fff;border-color:#dfe5ef;border-radius:6px}.student-table-container{border:1px solid #e8ecf3;border-radius:8px;box-shadow:0 8px 24px #1720330d}.student-table thead{background:#f7f9fc}.student-table th{color:#8490a5;font-size:11px;letter-spacing:.06em;padding:13px 16px}.student-table td{color:#4d5870;font-size:13px;padding:15px 16px}.action-btn{background:#f7faff;border:1px solid #d9e2f3;border-radius:5px;color:#3159a6;padding:7px 10px}.pdf-btn{background:#f3fbf7;border-color:#cce9dd;color:#087f5b}.student-profile-hero{align-items:center;background:linear-gradient(110deg,#142946,#213f66 62%,#2b5d78);color:#fff;display:flex;gap:14px;margin:-24px -24px 22px;padding:22px 24px}.student-avatar-large{background:#dbe7f4;border:2px solid #ffffff59;border-radius:50%;color:#3159a6;display:grid;flex:0 0 56px;font-size:22px;font-weight:700;height:56px;overflow:hidden;place-items:center;width:56px}.student-avatar-large img{height:100%;object-fit:cover;width:100%}.student-profile-hero h4{color:#fff;font-size:20px;margin:3px 0}.student-profile-hero p{color:#ffffffad;font-size:12px;margin:0}.profile-eyebrow{color:#9ebce4;font-size:9px;letter-spacing:.12em}.student-profile-hero .status-badge{margin-left:auto}.report-metric-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.report-metric-grid>div{background:#fbfcfe;border:1px solid #e8ecf3;border-radius:6px;padding:13px 14px;position:relative}.report-metric-grid small,.report-metric-grid span{color:#8792a5;display:block;font-size:11px}.report-metric-grid strong{color:#172033;display:inline-block;font-size:23px;line-height:1;margin-top:7px}.report-metric-grid small{display:inline-block;margin-left:4px}.section-heading-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.section-heading-row h4{margin:0 0 3px}.section-heading-row span{color:#8792a5;font-size:11px}.section-heading-row>b{color:#3159a6;font-size:20px}.section-heading-row>b small{color:#8792a5;font-size:10px;font-weight:400}.radar-bars{grid-gap:13px 24px;display:grid;gap:13px 24px;grid-template-columns:repeat(2,1fr);padding:4px 0 2px}.radar-bar-row{grid-gap:8px;align-items:center;color:#657086;display:grid;font-size:12px;gap:8px;grid-template-columns:34px 1fr 28px}.radar-bar-row>div{background:#e9eef5;border-radius:3px;height:6px;overflow:hidden}.radar-bar-row i{background:linear-gradient(90deg,#4f7bd9,#43b4a2);border-radius:inherit;display:block;height:100%}.radar-bar-row b{color:#3159a6;font-size:12px;text-align:right}.data-empty{color:#9aa4b5;font-size:12px;padding:14px 0}.recent-training-list{border-top:1px solid #edf0f5}.recent-training-row{align-items:center;border-bottom:1px solid #edf0f5;display:flex;gap:16px;justify-content:space-between;padding:12px 0}.recent-training-row span,.recent-training-row strong{display:block}.recent-training-row strong{color:#28344a;font-size:13px}.recent-training-row span{color:#8b95a7;font-size:11px;margin-top:3px}.recent-training-row>b{color:#3159a6;font-size:16px}@media (max-width:768px){.student-data-manager{padding:16px}.stats-cards{grid-template-columns:1fr}.manager-toolbar{flex-direction:column}.manager-toolbar .search-input{min-width:100%}.student-table-container{overflow-x:auto}.student-table{min-width:800px}.modal-content{width:95%}.detail-grid{grid-template-columns:1fr}}.course-section-manager{margin:0 auto;max-width:1400px;padding:20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.section-header h2{color:#333;font-size:24px;margin:0}.btn{border-radius:6px;padding:10px 20px}.btn-primary{background:#1890ff}.btn-primary:hover{background:#40a9ff}.btn-secondary{background:#f0f0f0;color:#666}.btn-secondary:hover{background:#d9d9d9}.btn-sm{font-size:13px}.btn-edit{background:#1890ff;color:#fff}.btn-edit:hover{background:#40a9ff}.btn-delete{background:#ff4d4f;color:#fff;margin-left:8px}.btn-delete:hover{background:#ff7875}.section-list{grid-gap:16px;display:grid;gap:16px}.empty-state{background:#fafafa;border-radius:8px;color:#999;padding:60px 20px}.empty-state .hint{color:#bbb;font-size:13px;margin-top:8px}.section-card{align-items:flex-start;background:#fff;border:1px solid #e8e8e8;border-radius:8px;display:flex;justify-content:space-between;padding:20px;transition:box-shadow .2s}.section-card:hover{box-shadow:0 2px 8px #00000014}.section-info{flex:1 1}.section-info h3{color:#333;font-size:18px;margin:0 0 8px}.section-meta{color:#666;display:flex;font-size:13px;gap:16px;margin-bottom:8px}.section-key{background:#f0f0f0;font-family:monospace}.section-key,.section-status{border-radius:4px;padding:2px 8px}.section-status.active{background:#f6ffed;color:#52c41a}.section-status.inactive{background:#fff1f0;color:#ff4d4f}.section-desc{color:#666;font-size:14px;margin:8px 0}.section-courses{margin-top:12px}.course-count{color:#999;display:block;font-size:13px;margin-bottom:8px}.course-preview{display:flex;flex-wrap:wrap;gap:8px}.course-tag{background:#e6f7ff;border-radius:4px;color:#1890ff;font-size:12px;padding:4px 10px}.course-more{color:#999;font-size:12px;padding:4px 0}.section-actions{align-items:flex-start;display:flex}.modal-overlay{align-items:center;background:#00000073;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;box-shadow:0 4px 12px #00000026;max-height:90vh;width:90%}.modal-header{border-bottom:1px solid #e8e8e8;padding:16px 24px}.modal-header h3{color:#333;font-size:18px}.close-btn{border-radius:4px;color:#999;font-size:24px;height:32px;width:32px}.close-btn:hover{background:#f0f0f0;color:#333}form{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#333;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=number],.form-group input[type=text],.form-group select{border:1px solid #d9d9d9;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#1890ff;outline:none}.form-group small{color:#999;display:block;font-size:12px;margin-top:4px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid #e8e8e8;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.course-selector{grid-gap:16px;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;display:grid;gap:16px;grid-template-columns:1fr 1fr;padding:16px}.available-courses,.selected-courses{min-height:300px}.available-courses h4,.selected-courses h4{color:#333;font-size:14px;font-weight:500;margin:0 0 12px}.selected-courses .hint{color:#999;font-size:13px;padding:40px 0;text-align:center}.selected-list{list-style:none;margin:0;padding:0}.selected-item{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.course-name{color:#333;flex:1 1;font-size:13px}.item-actions{display:flex;gap:4px}.btn-icon{align-items:center;background:none;border:1px solid #d9d9d9;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;transition:all .2s;width:24px}.btn-icon:hover:not(:disabled){background:#f0f0f0;border-color:#1890ff;color:#1890ff}.btn-icon:disabled{cursor:not-allowed;opacity:.3}.btn-remove,.btn-remove:hover{border-color:#ff4d4f;color:#ff4d4f}.btn-remove:hover{background:#fff1f0}.course-list{background:#fff;border:1px solid #e8e8e8;border-radius:4px;max-height:300px;overflow-y:auto}.course-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;transition:background .2s}.course-item:last-child{border-bottom:none}.course-item:hover{background:#e6f7ff}.course-title{color:#333;flex:1 1;font-size:13px}.btn-add{align-items:center;background:#1890ff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;transition:background .2s;width:24px}.btn-add:hover{background:#40a9ff}.teacher-course-center{background:#f7f9fc;display:flex;flex-direction:column;height:100%}.tcc-header-bar{align-items:center;background:#fff;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;margin-bottom:12px;padding:14px 20px}.tcc-header-left h2{color:#262626;font-size:20px;font-weight:600;margin:0 0 4px}.tcc-header-subtitle{color:#8c8c8c;font-size:13px;margin:0}.tcc-header-create-btn{font-size:14px;padding:8px 20px}.tcc-layout{display:flex;gap:20px;height:calc(100% - 100px);min-width:0;padding:0 24px 24px}.tcc-layout.creating-course{gap:0}.tcc-layout.creating-course .tcc-courses-grid-container{display:none}.tcc-courses-grid-container{flex:1 1;min-width:0;overflow-y:auto;padding-right:20px;transition:all .3s ease}.tcc-courses-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding-bottom:20px}.tcc-course-card-large{background:#fff;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 4px #0000000a;cursor:pointer;overflow:hidden;transition:all .3s ease}.tcc-course-card-large:hover{border-color:#2f54eb;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.tcc-course-card-large.active{border-color:#2f54eb;box-shadow:0 4px 16px #2f54eb33}.tcc-course-card-cover-wrapper{background:#f0f0f0;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.tcc-course-card-cover{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.tcc-course-card-overlay{background:linear-gradient(0deg,#000000b3,#0000);bottom:0;color:#fff;display:flex;font-size:12px;justify-content:space-between;left:0;padding:12px;position:absolute;right:0}.tcc-course-card-annotated-count,.tcc-course-card-video-count{font-weight:500}.tcc-course-card-content{padding:16px}.tcc-course-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#262626;display:-webkit-box;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 12px;min-height:44px;overflow:hidden;text-overflow:ellipsis}.tcc-course-card-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.tcc-course-card-category{background:#f5f5f5;border-radius:12px;color:#595959;font-size:12px;padding:4px 10px}.tcc-course-card-price{color:#fa8c16;font-size:18px;font-weight:700}.tcc-course-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#8c8c8c;display:-webkit-box;font-size:13px;line-height:1.5;margin:8px 0 0;overflow:hidden;text-overflow:ellipsis}.tcc-empty-state{background:#fff;border:2px dashed #e8e8e8;border-radius:12px;grid-column:1/-1;padding:60px 20px;text-align:center}.tcc-drag-upload-area{background:linear-gradient(135deg,#fafafa,#f5f7fa);border:2px dashed #d9d9d9;border-radius:12px;cursor:pointer;margin-top:12px;overflow:hidden;padding:32px 24px;position:relative;text-align:center;transition:all .3s ease}.tcc-drag-upload-area:before{background:linear-gradient(90deg,#0000,#2f54eb1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.tcc-drag-upload-area:hover{background:linear-gradient(135deg,#f0f5ff,#e6f4ff);border-color:#2f54eb;box-shadow:0 4px 12px #2f54eb26;transform:translateY(-2px)}.tcc-drag-upload-area:hover:before{left:100%}.tcc-drag-upload-area.drag-over{background-color:#e6f7ff;border-color:#1890ff;transform:scale(1.02)}.tcc-drag-upload-area.uploading{background-color:#f6ffed;border-color:#52c41a}.tcc-drag-upload-content{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center}.tcc-drag-upload-icon{animation:float 3s ease-in-out infinite;color:#2f54eb;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:56px;margin-bottom:12px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.tcc-drag-upload-text{color:#262626;font-size:16px;font-weight:600;letter-spacing:.3px;margin:0}.tcc-drag-upload-hint{color:#8c8c8c;font-size:14px;margin:4px 0 0}.tcc-drag-upload-button{background:linear-gradient(135deg,#2f54eb,#1890ff);border:none;border-radius:10px;box-shadow:0 4px 12px #2f54eb4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;margin-top:16px;padding:12px 28px;transition:all .3s ease}.tcc-drag-upload-button:hover{background:linear-gradient(135deg,#1d39c4,#096dd9);box-shadow:0 6px 20px #2f54eb66;transform:translateY(-3px)}.tcc-drag-upload-button:active{box-shadow:0 2px 8px #2f54eb4d;transform:translateY(-1px)}.tcc-drag-upload-button:disabled{background-color:#f5f5f5;box-shadow:none;color:#bfbfbf;cursor:not-allowed;transform:none}.tcc-drag-upload-preview{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.tcc-drag-upload-preview-item{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:120px;overflow:hidden;position:relative;width:120px}.tcc-drag-upload-preview-item img{height:100%;object-fit:cover;width:100%}.tcc-drag-upload-preview-item .delete-btn{align-items:center;background-color:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;position:absolute;right:8px;top:8px;transition:all .3s ease;width:24px}.tcc-drag-upload-preview-item .delete-btn:hover{background-color:#ff4d4f;transform:scale(1.1)}.tcc-drag-upload-progress{background-color:#f0f0f0;border-radius:4px;height:6px;margin-top:12px;overflow:hidden}.tcc-drag-upload-progress-bar{background:linear-gradient(90deg,#1890ff,#36cfc9);border-radius:4px;height:100%;transition:width .3s ease}.tcc-drag-upload-progress-text{color:#8c8c8c;font-size:12px;margin-top:8px;text-align:center}.tcc-empty-state h3{color:#262626;font-size:16px;margin:0 0 8px}.tcc-empty-state p{color:#8c8c8c;font-size:14px;margin:0}.tcc-empty-state-detail{background:#fff;border:2px dashed #e8e8e8;border-radius:12px;padding:80px 20px;text-align:center}.tcc-detail-image-upload{display:flex;flex-direction:column;gap:12px}.tcc-image-preview{align-items:center;background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;display:flex;justify-content:center;min-height:120px;overflow:hidden;padding:12px;position:relative}.tcc-image-preview img{border-radius:6px;box-shadow:0 2px 8px #0000001a;max-height:200px;max-width:100%}.tcc-image-placeholder{align-items:center;color:#8c8c8c;display:flex;flex-direction:column;font-size:14px;gap:8px}.tcc-image-placeholder:before{content:"📷";font-size:24px;opacity:.5}.tcc-upload-controls{display:flex;flex-wrap:wrap;gap:10px}.tcc-upload-controls .btn{border-radius:8px;font-weight:500;padding:8px 16px;transition:all .2s ease}.tcc-upload-controls .btn:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.tcc-upload-error{background-color:#fff2f0;border-left:3px solid #ff4d4f;border-radius:6px;font-size:13px;margin-top:4px;padding:8px 12px}.tcc-empty-state-detail h3{color:#262626;font-size:16px;margin:0 0 8px}.tcc-empty-state-detail p{color:#8c8c8c;font-size:14px;margin:0}.tcc-sidebar{background:#fff;border-right:1px solid #e4e7f0;display:flex;flex-direction:column;width:340px}.tcc-sidebar-header{border-bottom:1px solid #f0f2f5;padding:16px 16px 8px}.tcc-sidebar-header h3{font-size:16px;margin:0}.tcc-sidebar-subtitle{color:#8c8c8c;font-size:12px;margin:4px 0 8px}.tcc-create-btn{width:100%}.tcc-course-list{flex:1 1;overflow-y:auto;padding:8px 12px 12px}.tcc-course-block{margin-bottom:12px}.tcc-course-card{border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;padding:8px;transition:all .2s ease}.tcc-course-card:hover{background:#f5f7ff}.tcc-course-card.active{background:#f0f5ff;border-color:#2f54eb}.tcc-course-cover{border-radius:6px;height:48px;margin-right:8px;object-fit:cover;width:72px}.tcc-course-info{display:flex;flex:1 1;flex-direction:column;justify-content:center}.tcc-course-title{font-size:14px;font-weight:500;margin-bottom:4px}.tcc-course-meta{color:#8c8c8c;display:flex;font-size:12px;justify-content:space-between}.tcc-course-category{background:#f5f5f5;border-radius:999px;padding:0 8px}.tcc-course-price{color:#fa8c16;font-weight:500}.tcc-video-list{border-left:2px solid #f0f0f0;margin-left:12px;margin-top:4px;padding-left:8px}.tcc-video-item{cursor:pointer;padding:6px 4px;transition:all .2s ease}.tcc-video-item:hover{background:#fafafa}.tcc-video-item.active{background:#f0f5ff}.tcc-video-thumb-wrapper{margin-right:8px;position:relative}.tcc-video-cover{border-radius:4px;height:40px;object-fit:cover;width:60px}.tcc-video-badge{background:#52c41a;border-radius:2px;color:#fff;font-size:10px;left:2px;padding:0 4px;position:absolute;top:2px}.tcc-video-info{flex:1 1}.tcc-video-title{color:#262626;font-size:12px}.tcc-detail{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;max-height:calc(100vh - 180px);min-width:0;overflow-y:auto;padding:20px;transition:all .3s ease;width:480px}.tcc-detail.full-width{margin:0;max-width:none;width:100%}.tcc-page-context{color:#64748b;font-size:13px;margin-left:auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcc-section.tcc-section-with-context{margin:0 auto;max-width:1100px}.tcc-section.tcc-section-with-context .tcc-section-header{background:#fff;padding-top:8px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.tcc-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.tcc-create-course-header{align-items:center;display:flex;gap:16px;width:100%}.tcc-back-btn{align-items:center;background:none;border:none;color:#595959;cursor:pointer;display:flex;font-size:14px;gap:4px;padding:6px 12px;text-decoration:none;transition:all .2s}.tcc-back-btn:hover{background:#f0f5ff;border-radius:6px;color:#2f54eb}.tcc-create-course-header h3{color:#262626;font-size:20px;font-weight:600;margin:0}.tcc-detail-header h2{font-size:18px;margin:0}.tcc-detail-subtitle{color:#8c8c8c;font-size:12px;margin:4px 0 0}.tcc-detail-body{flex:1 1;overflow-y:auto;padding-bottom:24px;scroll-behavior:smooth}.tcc-detail-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.tcc-empty{margin-top:40px}.tcc-section{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:20px;padding:24px;transition:all .3s ease}.tcc-section:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-2px)}.tcc-section-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.tcc-section h3{align-items:center;color:#262626;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.tcc-section h3:before{content:"📚";font-size:20px}.tcc-section-actions{gap:8px}.tcc-form-grid{gap:16px;margin-bottom:20px}.tcc-form-grid,.tcc-form-item{display:flex;flex-direction:column}.tcc-form-item{margin-bottom:0;position:relative}.tcc-form-item label{align-items:center;color:#262626;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:8px}.tcc-form-item label:before{color:#2f54eb;content:"•";font-size:16px;font-weight:700}.tcc-form-item input.form-control,.tcc-form-item textarea.form-control{background-color:#fff;border:2px solid #e8e8e8;border-radius:10px;box-shadow:0 2px 4px #00000005;font-size:14px;padding:12px 16px;transition:all .3s ease}.tcc-form-item input.form-control:focus,.tcc-form-item textarea.form-control:focus{border-color:#2f54eb;box-shadow:0 0 0 4px #2f54eb26,0 4px 12px #0000001a;outline:none;transform:translateY(-1px)}.tcc-form-item input.form-control:hover,.tcc-form-item textarea.form-control:hover{border-color:#2f54eb;box-shadow:0 2px 8px #0000000f}.tcc-form-item input.form-control::placeholder,.tcc-form-item textarea.form-control::placeholder{color:#bfbfbf}.tcc-form-item input.form-control[readonly]{background-color:#f5f5f5;color:#595959;cursor:not-allowed}.tcc-form-item-span-2{grid-column:span 2}.tcc-cover-preview img{border-radius:6px;height:80px;object-fit:cover;width:120px}.tcc-tag{border-radius:999px;display:inline-block;font-size:12px;padding:2px 8px}.tcc-tag-success{background:#f6ffed;color:#52c41a}.tcc-tag-warning{background:#fff7e6;color:#fa8c16}.tcc-form-actions{border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px}.tcc-form-actions .btn{border-radius:8px;box-shadow:0 2px 4px #0000000d;font-weight:500;padding:10px 20px;transition:all .2s ease}.tcc-form-actions .btn:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.tcc-form-actions .btn-primary{background:linear-gradient(135deg,#2f54eb,#1890ff);border:none;color:#fff}.tcc-form-actions .btn-primary:hover{background:linear-gradient(135deg,#1d39c4,#096dd9)}.tcc-form-actions .btn-secondary{background-color:#f5f5f5;border:1px solid #d9d9d9;color:#595959}.tcc-form-actions .btn-secondary:hover{background-color:#e6f4ff;border-color:#2f54eb;color:#2f54eb}.tcc-section-actions{display:flex;gap:10px}.tcc-section-actions .btn{border-radius:6px;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.tcc-section-actions .btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.tcc-header-create-btn{background:linear-gradient(135deg,#2f54eb,#1890ff);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;font-weight:500;padding:10px 20px;transition:all .2s ease}.tcc-header-create-btn:hover{background:linear-gradient(135deg,#1d39c4,#096dd9);box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.tcc-upload-panel{border-top:1px dashed #f0f0f0;margin-top:12px;padding-top:8px}.tcc-upload-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.tcc-upload-title{color:#595959;font-size:12px}.tcc-upload-percent{color:#2f54eb;font-size:12px;font-weight:500}.tcc-upload-bar-wrapper{width:100%}.tcc-upload-bar-bg{background:linear-gradient(90deg,#f0f0f0,#f5f5f5 50%,#fafafa);border-radius:999px;height:8px;overflow:hidden;position:relative;width:100%}.tcc-upload-bar-fill{background:linear-gradient(90deg,#2f54eb,#52c41a);border-radius:999px;bottom:0;left:0;position:absolute;top:0;transition:width .25s ease-out;width:0}.tcc-upload-bar-fill.error{background:linear-gradient(90deg,#ff4d4f,#fa8c16)}.tcc-upload-status{align-items:center;display:flex;justify-content:space-between;margin-top:4px}.tcc-upload-status-text{color:#8c8c8c;font-size:11px}.tcc-upload-error{color:#ff4d4f;font-size:11px}.tcc-video-grid{grid-gap:12px;animation:fadeInSlideDown .3s ease-out;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}@keyframes fadeInSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tcc-video-card{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s}.tcc-video-card:hover{border-color:#2f54eb;box-shadow:0 2px 8px #2f54eb26;transform:translateY(-2px)}.tcc-video-card.active{background:#f0f5ff;border-color:#2f54eb;box-shadow:0 2px 8px #2f54eb33}.tcc-video-delete-btn{border-radius:4px;font-size:14px;line-height:1;padding:2px 8px;position:absolute;right:5px;top:5px;z-index:10}.tcc-video-card-thumb{background:#f0f0f0;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.tcc-video-card-thumb img{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.tcc-video-card-badge{background:#52c41a;font-size:10px;font-weight:500;left:6px;top:6px}.tcc-video-card-badge,.tcc-video-card-duration{border-radius:4px;color:#fff;padding:2px 6px;position:absolute}.tcc-video-card-duration{background:#000000b3;bottom:6px;font-size:11px;right:6px}.tcc-video-card-title{color:#262626;font-size:13px;font-weight:500;overflow:hidden;padding:10px;text-overflow:ellipsis;white-space:nowrap}.tcc-no-videos{color:#8c8c8c;font-size:14px;grid-column:1/-1;padding:40px 20px;text-align:center}.tcc-loading{align-items:center;color:#8c8c8c;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.tcc-loading-spinner{animation:spin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#2f54eb;height:40px;margin-bottom:16px;width:40px}.tcc-error{align-items:center;background-color:#fff2f0;border-radius:8px;color:#ff4d4f;display:flex;flex-direction:column;justify-content:center;margin:20px;padding:60px 20px}.tcc-error-icon{font-size:48px;margin-bottom:16px}.tcc-empty{align-items:center;color:#8c8c8c;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.tcc-empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.tcc-empty-title{color:#595959;font-size:16px;font-weight:500;margin-bottom:8px}.tcc-empty-description{color:#8c8c8c;font-size:14px;line-height:1.5;max-width:400px}.tcc-chapters-list{display:flex;flex-direction:column;gap:16px}.tcc-chapter-item{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;transition:all .3s ease}.tcc-chapter-header{align-items:center;background:#fafafa;border-bottom:1px solid #e8e8e8;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s;-webkit-user-select:none;user-select:none}.tcc-chapter-header:hover{background:#f0f5ff}.tcc-chapter-header.expanded{background:#e6f7ff;border-bottom-color:#2f54eb}.tcc-chapter-expand-icon{align-items:center;color:#595959;display:inline-flex;font-size:12px;height:20px;justify-content:center;transition:transform .2s;width:20px}.tcc-chapter-header.expanded .tcc-chapter-expand-icon{transform:rotate(0deg)}.tcc-chapter-title-input{flex:1 1;font-size:15px;font-weight:500;max-width:300px}.tcc-chapter-video-count{color:#8c8c8c;font-size:13px;margin-left:auto}.tcc-video-list{display:flex;flex-direction:column;gap:8px;padding:12px}.tcc-video-item{align-items:center;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;display:flex;justify-content:space-between;padding:12px;transition:all .2s}.tcc-video-item:hover{background:#f0f5ff;border-color:#2f54eb}.tcc-video-item-info{align-items:center;display:flex;flex:1 1;gap:12px}.tcc-video-item-index{align-items:center;background:#2f54eb;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:500;height:24px;justify-content:center;width:24px}.tcc-video-title-input{flex:1 1;max-width:400px}.tcc-video-uploaded-badge{color:#52c41a;font-size:12px;font-weight:500}.tcc-add-video-form,.tcc-video-item-actions{display:flex;gap:8px}.tcc-add-video-form{background:#f0f5ff;border-top:1px solid #e8e8e8;padding:12px}.tcc-add-video-actions{display:flex;gap:8px}@media (max-width:768px){.tcc-page-context{display:block;margin:4px 0 0;max-width:100%;white-space:normal}.tcc-section.tcc-section-with-context .tcc-section-header{display:block}.teacher-course-center{height:auto;min-height:100%}.tcc-header-bar{align-items:stretch;background:#fff!important;flex-direction:column;gap:1rem;padding:1rem}.tcc-header-left h2{font-size:1.25rem}.tcc-header-subtitle{font-size:.8rem}.tcc-header-create-btn{background:linear-gradient(135deg,#2f54eb,#1890ff)!important;border:none!important;color:#fff!important;font-size:1rem;font-weight:600;padding:.75rem;width:100%}.tcc-layout{flex-direction:column;gap:1rem;height:auto;padding:0 1rem 1rem}.tcc-layout.creating-course{gap:0}.tcc-courses-grid-container{flex:none;padding-right:0;width:100%}.tcc-courses-grid{gap:1rem;grid-template-columns:1fr}.tcc-course-card-large{display:flex;flex-direction:row}.tcc-course-card-cover-wrapper{flex-shrink:0;height:80px;padding-top:0;width:120px}.tcc-course-card-cover{position:relative}.tcc-course-card-overlay{display:none}.tcc-course-card-content{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;padding:.75rem}.tcc-course-card-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:1rem;margin-bottom:.5rem;min-height:auto;overflow:hidden;word-break:break-word}.tcc-course-card-meta{margin-bottom:.5rem}.tcc-course-card-category{font-size:.75rem;padding:2px 8px}.tcc-course-card-price{font-size:1rem}.tcc-course-card-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#8c8c8c;display:-webkit-box;font-size:.75rem;line-height:1.4;margin-top:.25rem;overflow:hidden;word-break:break-word}.tcc-detail{animation:slideUpMobile .3s ease;background:#f7f9fc!important;border-radius:0;bottom:0;left:0;max-height:none;max-width:100%;overflow-y:auto;padding:1rem;position:fixed;right:0;top:0;width:100%;z-index:100}}@media (max-width:768px){@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tcc-detail-header{align-items:flex-start;flex-direction:column;gap:.5rem}.tcc-create-course-header{flex-wrap:wrap}.tcc-back-btn{font-size:.875rem;padding:.5rem}.tcc-create-course-header h3{font-size:1.1rem}.tcc-detail-body{padding:0}.tcc-section{background:#fff!important;border:1px solid #e8e8e8!important;border-radius:12px!important;box-shadow:0 2px 8px #0000000f!important;margin-bottom:1rem;padding:1rem}.tcc-section-header{margin-bottom:1rem;padding-bottom:.75rem}.tcc-section h3{font-size:1rem}.tcc-form-grid{gap:1rem;grid-template-columns:1fr!important}.tcc-form-item{margin-bottom:1rem;width:100%}.tcc-form-item label{display:block;margin-bottom:.5rem;width:100%}.tcc-form-item input.form-control,.tcc-form-item select.form-control,.tcc-form-item textarea.form-control{box-sizing:border-box;font-size:16px;max-width:100%!important;padding:.75rem 1rem;width:100%!important}.tcc-upload-mode-selector{display:flex;flex-wrap:wrap;gap:.5rem}.tcc-upload-mode-selector .btn{flex:1 1;font-size:.8rem;min-width:0;padding:.5rem .75rem;white-space:nowrap}.tcc-video-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.tcc-video-card-title{font-size:.8rem;padding:.5rem}.tcc-video-card-badge,.tcc-video-card-duration{font-size:.7rem;padding:1px 4px}.tcc-form-actions{flex-direction:column;gap:.75rem}.tcc-form-actions .btn{padding:.875rem;width:100%}.tcc-chapter-header{padding:.75rem}.tcc-chapter-title{font-size:.9rem}.tcc-chapter-video-count{font-size:.8rem}.tcc-chapter-expand-icon{font-size:.7rem;height:18px;width:18px}.tcc-video-list{gap:.5rem;padding:.75rem}.tcc-video-item{padding:.75rem}.tcc-video-item,.tcc-video-item-info{align-items:flex-start;flex-direction:column;gap:.5rem}.tcc-video-item-actions{justify-content:flex-end;width:100%}.tcc-add-video-form{flex-direction:column;padding:.75rem}.tcc-add-video-actions{flex-direction:column;width:100%}.tcc-add-video-actions .btn{width:100%}.tcc-drag-upload-area{padding:1.5rem 1rem}.tcc-drag-upload-icon{font-size:2.5rem}.tcc-drag-upload-text{font-size:.9rem}.tcc-drag-upload-hint{font-size:.8rem}.tcc-drag-upload-button{font-size:.875rem;padding:.75rem 1.5rem}.tcc-upload-panel{margin-top:.75rem}.tcc-upload-percent,.tcc-upload-title{font-size:.8rem}.tcc-upload-bar-bg{height:6px}.tcc-upload-error,.tcc-upload-status-text{font-size:.7rem}.tcc-empty-state,.tcc-empty-state-detail{padding:2rem 1rem}.tcc-empty-icon{font-size:3rem}.tcc-empty-state h3{font-size:1rem}.tcc-empty-state p{font-size:.875rem}.tcc-loading{padding:2rem 1rem}.tcc-loading-spinner{border-width:3px;height:32px;width:32px}.tcc-error{margin:1rem;padding:2rem 1rem}.tcc-error-icon{font-size:3rem}.tcc-sidebar-header{padding:1rem}.tcc-sidebar-header h3{font-size:1.1rem}.tcc-course-list{padding:.5rem}.tcc-course-card{border-radius:10px;margin-bottom:.25rem;padding:.75rem}.tcc-course-cover{border-radius:6px;flex-shrink:0;height:40px;width:60px}.tcc-course-info{min-width:0}.tcc-course-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.9rem;line-height:1.3;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.tcc-course-meta{flex-wrap:wrap;font-size:.75rem;gap:.25rem}.tcc-course-category{font-size:.7rem;padding:.15rem .5rem}.tcc-course-price{font-size:.8rem}}@media (max-width:480px){.tcc-video-grid{grid-template-columns:1fr}.tcc-course-card-large{flex-direction:column}.tcc-course-card-cover-wrapper{height:auto;padding-top:56.25%;width:100%}.tcc-course-card-cover{position:absolute}.tcc-course-card-overlay{display:flex}.tcc-course-card-content{padding:1rem}.tcc-course-card-description,.tcc-course-card-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tcc-header-bar{padding:.75rem}.tcc-layout{padding:0 .75rem .75rem}.tcc-detail,.tcc-section{padding:.75rem}.tcc-section{background:#fff!important;border-radius:8px}}.tls-container{display:flex;flex-direction:column;gap:16px}.tls-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.tls-header-controls{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.tls-filter-controls,.tls-view-toggle{display:flex;gap:4px}.tls-header h3{color:#262626;font-size:18px;font-weight:600;margin:0 0 4px}.tls-header p{color:#8c8c8c;font-size:13px;margin:0}.tls-week-controls{display:flex;gap:8px}.tls-loading{color:#666;padding:16px;text-align:center}.tls-error{background:#fff2f0;border:1px solid #ffccc7;border-radius:8px;color:#a8071a;font-size:13px;padding:12px 16px}.tls-layout{grid-gap:16px;align-items:flex-start;display:grid;gap:16px;grid-template-columns:2fr 1fr}.tls-calendar{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:16px}.tls-week-summary{color:#595959;font-size:13px;margin-bottom:12px}.tls-week-range{background:#f5f5f5;border-radius:12px;padding:4px 10px}.tls-week-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.tls-day-column{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;display:flex;flex-direction:column;min-height:220px;overflow:hidden}.tls-day-header{background:#fff;border-bottom:1px solid #f0f0f0;padding:6px 8px}.tls-day-header-clickable{cursor:pointer;position:relative;transition:all .2s ease}.tls-day-header-clickable:hover{background:#f0f5ff;border-bottom-color:#2f54eb}.tls-day-header-clickable:hover .tls-day-add-icon{opacity:1;transform:scale(1.1)}.tls-day-week{color:#595959;font-size:12px}.tls-day-date{align-items:center;color:#262626;display:flex;font-size:12px;font-weight:500;gap:4px;justify-content:space-between}.tls-day-add-icon{color:#2f54eb;font-size:16px;font-weight:600;line-height:1;opacity:0;transition:all .2s ease}.tls-day-empty{background:#fafafa;border:2px dashed #e8e8e8;border-radius:6px;cursor:pointer;padding:20px 8px;text-align:center;transition:all .2s ease}.tls-day-empty:hover{background:#f0f5ff;border-color:#2f54eb}.tls-day-empty-text{color:#8c8c8c;display:block;font-size:11px}.tls-day-body{display:flex;flex:1 1;flex-direction:column;gap:6px;overflow-y:auto;padding:6px}.tls-course-card{background:#fff;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;padding:6px 8px;transition:all .2s ease}.tls-course-card:hover{border-color:#2f54eb;box-shadow:0 2px 6px #2f54eb33}.tls-course-card.active{background:#f0f5ff;border-color:#2f54eb;box-shadow:0 2px 8px #2f54eb40}.tls-course-time{color:#595959;font-size:12px;margin-bottom:2px}.tls-course-name{color:#262626;font-size:13px;font-weight:600;margin-bottom:2px}.tls-course-actions,.tls-course-meta{display:flex;flex-direction:column;gap:2px}.tls-course-actions{margin-top:4px}.tls-view-evaluation-btn{background:#4f46e5;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;margin-top:2px;padding:2px 6px;transition:all .2s}.tls-view-evaluation-btn:hover{background:#4338ca;box-shadow:0 2px 4px #4f46e54d;transform:translateY(-1px)}.tls-course-room{color:#8c8c8c;font-size:11px}.tls-course-remark{color:#fa8c16;font-size:11px}.tls-copy-btn,.tls-enter-btn{color:#2f54eb;font-size:11px;padding:0;text-align:left}.tls-copy-btn{color:#52c41a}.tls-copy-btn:hover{color:#389e0d}.btn-sm{font-size:12px;padding:6px 12px}.tls-sidebar{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:16px}.tls-sidebar-header h4{color:#262626;font-size:16px;font-weight:600;margin:0 0 4px}.tls-sidebar-header p{color:#8c8c8c;font-size:12px;margin:0 0 12px}.tls-time-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.tls-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.tls-selected-date{background:#f0f5ff;border:1px solid #2f54eb;border-radius:4px;color:#262626;font-size:14px;margin-bottom:12px;padding:8px 12px}.tls-inline-calendar{background:#fff;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:16px;overflow:hidden}.tls-inline-calendar .ant-picker-calendar{border:none}.tls-inline-calendar .ant-picker-calendar-header{background:#fafafa;border-bottom:1px solid #e8e8e8;padding:12px}.tls-inline-calendar .ant-picker-calendar-body{padding:8px}.tls-calendar-cell-wrapper{align-items:flex-start;display:flex;flex-direction:column;min-height:60px;padding:2px}.tls-calendar-date-number{font-size:14px;font-weight:500;margin-bottom:2px}.tls-calendar-cell-wrapper.tls-calendar-cell-selected{background:#f0f5ff;border-radius:4px;padding:4px}.tls-calendar-cell-wrapper.tls-calendar-cell-selected .tls-calendar-date-number{color:#2f54eb;font-weight:600}.tls-calendar-courses{display:flex;flex-direction:column;gap:2px;margin-top:2px;width:100%}.tls-calendar-course-item{background:#e6f7ff;border-radius:2px;font-size:10px;line-height:1.2;overflow:hidden;padding:1px 2px;text-overflow:ellipsis;white-space:nowrap}.tls-calendar-cell-wrapper.tls-calendar-cell-selected .tls-calendar-course-item{background:#bae7ff}.tls-calendar-course-time{color:#2f54eb;font-weight:500;margin-right:2px}.tls-calendar-course-name{color:#595959;font-size:9px}.tls-calendar-course-more{color:#8c8c8c;font-size:9px;padding:1px 2px;text-align:center}.tls-inline-calendar .ant-picker-cell-selected .ant-picker-calendar-date{background:#f0f5ff}.tls-inline-calendar .ant-picker-cell-selected .ant-picker-calendar-date-content{color:#2f54eb;font-weight:600}.tls-inline-calendar .ant-picker-cell:hover .ant-picker-calendar-date{background:#f0f5ff}.tls-selected-date-courses{background:#fff;border:1px solid #e8e8e8;border-radius:8px;margin-top:16px;overflow:hidden}.tls-selected-date-courses-header{background:#fafafa;border-bottom:1px solid #e8e8e8;color:#262626;font-size:14px;padding:12px 16px}.tls-selected-date-courses-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding:8px}.tls-selected-course-item{background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;padding:12px;transition:all .2s ease}.tls-selected-course-item:hover{border-color:#2f54eb;box-shadow:0 2px 6px #2f54eb26;transform:translateY(-1px)}.tls-selected-course-item.active{background:#f0f5ff;border-color:#2f54eb;box-shadow:0 2px 8px #2f54eb40}.tls-selected-course-time{color:#595959;font-size:12px;margin-bottom:4px}.tls-selected-course-name{color:#262626;font-size:15px;font-weight:600;margin-bottom:6px}.tls-selected-course-meta{color:#8c8c8c;display:flex;flex-wrap:wrap;font-size:12px;gap:12px;margin-bottom:8px}.tls-selected-course-remark,.tls-selected-course-room{display:inline-block}.tls-selected-course-actions{display:flex;gap:8px;margin-top:8px}.tls-selected-course-actions .btn{font-size:12px;padding:4px 12px}.tls-list-view{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:16px}.tls-list-header{border-bottom:1px solid #f0f0f0;margin-bottom:16px;padding-bottom:12px}.tls-list-count{color:#595959;font-size:14px;font-weight:500}.tls-list-container{display:flex;flex-direction:column;gap:12px}.tls-list-item{align-items:center;background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;display:flex;gap:16px;justify-content:space-between;padding:16px;transition:all .2s ease}.tls-list-item:hover{border-color:#2f54eb;box-shadow:0 2px 8px #2f54eb26;transform:translateY(-1px)}.tls-list-item.active{background:#f0f5ff;border-color:#2f54eb;box-shadow:0 2px 8px #2f54eb40}.tls-list-item-main{flex:1 1;min-width:0}.tls-list-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.tls-list-date{color:#262626;font-size:13px;font-weight:600}.tls-list-status{border-radius:12px;font-size:11px;font-weight:500;padding:2px 8px}.tls-status-badge-upcoming{background:#e4e6ff;color:#2f54eb}.tls-status-badge-live{background:#fff1f0;color:#cf1322}.tls-status-badge-ended{background:#f6ffed;color:#52c41a}.tls-list-item-body{display:flex;flex-direction:column;gap:4px}.tls-list-course-name{color:#262626;font-size:15px;font-weight:600;margin-bottom:4px}.tls-list-course-meta{display:flex;flex-wrap:wrap;gap:12px}.tls-list-remark,.tls-list-room{color:#8c8c8c;font-size:12px}.tls-list-item-actions{display:flex;flex-shrink:0;gap:8px}.tls-list-empty{color:#8c8c8c;padding:60px 20px;text-align:center}.tls-list-empty p{font-size:14px;margin:0 0 16px}.tls-status-upcoming{border-left:3px solid #2f54eb}.tls-status-live{border-left:3px solid #cf1322}.tls-status-ended{border-left:3px solid #52c41a}.tls-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.tls-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.tls-modal-header{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;padding:16px 20px}.tls-modal-header h4{color:#262626;font-size:16px;font-weight:600;margin:0}.tls-modal-close{background:none;border:none;color:#8c8c8c;cursor:pointer;font-size:24px;height:24px;line-height:24px;padding:0;text-align:center;width:24px}.tls-modal-close:hover{color:#262626}.tls-modal-body{padding:20px}.tls-modal-footer{border-top:1px solid #e8e8e8;display:flex;gap:8px;justify-content:flex-end;padding:16px 20px}@media (max-width:1024px){.tls-layout{grid-template-columns:1fr}.tls-list-item{align-items:stretch;flex-direction:column}.tls-list-item-actions{justify-content:stretch;width:100%}.tls-list-item-actions .btn{flex:1 1}}@media (max-width:768px){.tls-header{align-items:stretch;flex-direction:column;gap:.75rem}.tls-header-controls{align-items:stretch;gap:.5rem}.tls-header-controls>div{display:flex;flex-wrap:wrap;gap:.5rem}.tls-header-controls>div .btn{flex:1 1;font-size:.85rem;min-width:0;padding:.6rem .75rem;white-space:nowrap}.tls-view-toggle{flex-wrap:wrap}.tls-view-toggle .btn{flex:1 1;font-size:.8rem;min-width:0;padding:.5rem}.tls-week-controls{flex-wrap:wrap}.tls-week-controls .btn{flex:1 1;font-size:.8rem;min-width:0}.tls-month-header-cell{font-size:.7rem;padding:.3rem}.tls-month-cell{min-height:60px;padding:2px}.tls-month-day{font-size:.75rem}.tls-month-badge{font-size:.6rem;padding:0 2px}.tls-month-event{font-size:.6rem;padding:1px 2px}}.tls-month-view{display:flex;flex-direction:column;gap:8px}.tls-month-header-row{grid-gap:1px;background:#f0f0f0;border:1px solid #e8e8e8;border-bottom:none;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.tls-month-header-cell{background:#fff;color:#595959;font-size:13px;font-weight:500;padding:8px;text-align:center}.tls-month-grid{grid-gap:1px;background:#f0f0f0;border:1px solid #e8e8e8;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.tls-month-cell{background:#fff;cursor:pointer;display:flex;flex-direction:column;min-height:100px;padding:4px;transition:all .2s ease}.tls-month-cell:hover{background:#f9f9f9}.tls-month-cell-other{background:#fafafa;color:#bfbfbf}.tls-month-cell-today{background:#e6f7ff}.tls-month-cell-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.tls-month-day{border-radius:50%;font-size:14px;font-weight:500;padding:2px 6px}.tls-month-cell-today .tls-month-day{background:#1890ff;color:#fff}.tls-month-badge{background:#f5222d;border-radius:8px;color:#fff;font-size:10px;line-height:14px;padding:0 4px}.tls-month-cell-body{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow:hidden}.tls-course-dot{align-items:center;background:#f0f5ff;border-left:2px solid #2f54eb;border-radius:2px;display:flex;font-size:10px;gap:4px;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}.tls-course-dot:hover{background:#d6e4ff}.tls-course-dot.active{background:#2f54eb;border-left-color:#1d39c4;color:#fff}.tls-dot-time{font-weight:500}.tls-dot-name{opacity:.9}.video-generator{background:linear-gradient(180deg,#f8fafc,#fff);min-height:calc(100vh - 200px);padding:24px}.video-generator .ant-steps{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:24px!important;padding:24px 32px}.video-generator .ant-steps-item-process .ant-steps-item-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 12px #667eea66}.video-generator .ant-steps-item-finish .ant-steps-item-icon{background:#f6ffed;border-color:#52c41a}.video-generator .ant-steps-item-finish .ant-steps-item-icon .ant-steps-icon{color:#52c41a}.video-generator .ant-steps-item-title{font-size:14px;font-weight:500}.video-generator .ant-card{border:none;border-radius:16px;box-shadow:0 4px 20px #0000000f;transition:all .3s ease}.video-generator .ant-card:hover{box-shadow:0 8px 30px #0000001a}.video-generator .ant-card-head{background:linear-gradient(135deg,#fafbfc,#fff);border-bottom:1px solid #f0f0f0;border-radius:16px 16px 0 0;padding:16px 24px}.video-generator .ant-card-head-title{color:#1a1a2e;font-size:16px;font-weight:600}.video-generator .ant-card-body{padding:24px}.video-generator .mode-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;margin-bottom:24px;overflow:hidden;padding:28px 32px;position:relative}.video-generator .mode-header:before{background:#ffffff1a;border-radius:50%;content:"";height:200px;position:absolute;right:-10%;top:-50%;width:200px}.video-generator .mode-header:after{background:#ffffff14;border-radius:50%;bottom:-30%;content:"";height:150px;left:10%;position:absolute;width:150px}.video-generator .mode-header h4{color:#fff!important;font-size:20px!important;font-weight:600;margin:0 0 8px!important;position:relative;z-index:1}.video-generator .mode-header .ant-typography{color:#ffffffe6!important;position:relative;z-index:1}.video-generator .profile-card{background:linear-gradient(135deg,#f6ffed,#fff);border:2px solid #b7eb8f;border-radius:12px;margin-top:16px;padding:16px;transition:all .3s ease}.video-generator .profile-card:hover{box-shadow:0 6px 16px #52c41a26;transform:translateY(-2px)}.video-generator .config-card{background:#fafafa;border:2px solid #0000;border-radius:12px;transition:all .3s ease}.video-generator .config-card:hover{background:#fff;border-color:#d9d9d9;box-shadow:0 4px 12px #00000014}.video-generator .config-card.active{background:#f6ffed;border-color:#52c41a}.video-generator .config-card .ant-card-body{padding:16px}.video-generator .ai-recommendation-card{border:2px solid #e8e8e8;border-radius:12px;cursor:pointer;margin-bottom:12px;transition:all .3s ease}.video-generator .ai-recommendation-card:hover{border-color:#667eea;box-shadow:0 6px 20px #667eea26;transform:translateY(-2px)}.video-generator .ai-recommendation-card.selected{background:linear-gradient(135deg,#e6f7ff,#fff);border-color:#1890ff;box-shadow:0 6px 20px #1890ff26}.video-generator .ai-recommendation-card .confidence-badge{position:absolute;right:16px;top:16px}.video-generator .radar-container{align-items:center;background:linear-gradient(135deg,#fafbfc,#fff);border-radius:16px;display:flex;justify-content:center;padding:24px}.video-generator .radar-container svg{filter:drop-shadow(0 4px 12px rgba(102,126,234,.2))}.video-generator .metric-item{background:#fafafa;border-radius:8px;padding:8px;text-align:center;transition:all .2s ease}.video-generator .metric-item:hover{background:#f0f2ff}.video-generator .metric-label{color:#8c8c8c;font-size:12px;margin-bottom:4px}.video-generator .metric-value{color:#667eea;font-size:16px;font-weight:600}.video-generator .upload-area{background:linear-gradient(135deg,#fafbfc,#fff);border:2px dashed #d9d9d9;border-radius:16px;padding:40px;transition:all .3s ease}.video-generator .upload-area:hover{background:linear-gradient(135deg,#f0f2ff,#fff);border-color:#667eea}.video-generator .upload-area .ant-upload-drag-container{padding:20px}.video-generator .upload-area .ant-upload-text{color:#1a1a2e;font-size:16px;font-weight:500;margin-bottom:8px}.video-generator .upload-area .ant-upload-hint{color:#8c8c8c;font-size:14px}.video-generator .analysis-result-card{background:linear-gradient(135deg,#f0f2ff,#fff);border:1px solid #d6e4ff;border-radius:12px;margin-top:16px}.video-generator .warning-alert{background:linear-gradient(135deg,#fffbe6,#fff);border:none;border-radius:12px}.video-generator .success-alert{background:linear-gradient(135deg,#f6ffed,#fff);border:none;border-radius:12px}.video-generator .info-alert{background:linear-gradient(135deg,#e6f7ff,#fff);border:none;border-radius:12px}.video-generator .generating-container{background:linear-gradient(135deg,#fafbfc,#fff);border-radius:16px;padding:60px 40px;text-align:center}.video-generator .generating-container .ant-spin{margin-bottom:24px}.video-generator .generating-container .ant-progress{margin:0 auto;max-width:400px}.video-generator .generating-container .ant-progress-bg{background:linear-gradient(90deg,#667eea,#764ba2)}.video-generator .video-preview{background:#000;border-radius:16px;box-shadow:0 8px 30px #00000026;overflow:hidden}.video-generator .video-preview video{display:block;max-height:500px;object-fit:contain;width:100%}.video-generator .action-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.video-generator .action-buttons .ant-btn{border-radius:8px;font-weight:500;height:40px;padding:0 24px}.video-generator .action-buttons .ant-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 12px #667eea4d}.video-generator .action-buttons .ant-btn-primary:hover{background:linear-gradient(135deg,#5a6fd6,#6a4190);box-shadow:0 6px 16px #667eea66;transform:translateY(-1px)}.video-generator .constraint-table{border:1px solid #f0f0f0;border-radius:12px;overflow:hidden}.video-generator .constraint-table .ant-table-thead>tr>th{background:linear-gradient(135deg,#fafbfc,#fff);color:#1a1a2e;font-weight:600}.video-generator .constraint-table .ant-table-tbody>tr:hover>td{background:#f0f2ff}.video-generator .slider-card{background:#fafafa;border-radius:12px;margin-bottom:16px;padding:16px}.video-generator .slider-card:last-child{margin-bottom:0}.video-generator .slider-card .ant-slider-rail{background:#e8e8e8}.video-generator .slider-card .ant-slider-track{background:linear-gradient(90deg,#667eea,#764ba2)}.video-generator .slider-card .ant-slider-handle{border-color:#667eea;box-shadow:0 2px 8px #667eea4d}.video-generator .slider-card .ant-slider-handle:focus,.video-generator .slider-card .ant-slider-handle:hover{border-color:#764ba2;box-shadow:0 4px 12px #667eea66}.video-generator .tag-group{display:flex;flex-wrap:wrap;gap:6px}.video-generator .tag-group .ant-tag{border:none;border-radius:6px;font-size:12px;padding:2px 10px}.video-generator .version-selector{background:linear-gradient(135deg,#fafbfc,#fff);border-radius:12px;margin-bottom:16px;padding:16px}.video-generator .version-selector .ant-btn{border-radius:20px;height:32px;padding:0 16px}.video-generator .version-selector .ant-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.video-generator .ant-radio-group-solid .ant-radio-button-wrapper-checked{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.video-generator .ant-radio-group-solid .ant-radio-button-wrapper{border:1px solid #d9d9d9;border-radius:8px;margin-right:8px}.video-generator .ant-radio-group-solid .ant-radio-button-wrapper:first-child,.video-generator .ant-radio-group-solid .ant-radio-button-wrapper:last-child{border-radius:8px}.video-generator .ant-select-selector{align-items:center;border-radius:8px!important;display:flex;height:44px!important}.video-generator .ant-select-selection-item{font-size:15px}.video-generator .ant-input-number{border-radius:8px;width:100%}.video-generator .ant-input-number:focus,.video-generator .ant-input-number:hover{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.video-generator .step-navigation{border-top:1px solid #f0f0f0;display:flex;gap:12px;margin-top:24px;padding-top:24px}.video-generator .step-navigation .ant-btn{border-radius:8px;font-weight:500;height:40px;padding:0 24px}.video-generator .empty-state{background:linear-gradient(135deg,#fafbfc,#fff);border-radius:16px;padding:60px 40px;text-align:center}.video-generator .empty-state .ant-empty-image{height:100px}.video-generator .empty-state .ant-empty-description{color:#8c8c8c;font-size:15px}.video-generator .analyzing-text{animation:pulse 1.5s ease-in-out infinite}.video-generator .fade-in{animation:fadeIn .3s ease-out}.video-generator .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px 8px 0 0;margin-right:4px}.video-generator .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active{background:#fff;border-bottom-color:#fff}.video-generator .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab:hover{background:#f0f2ff}.video-generator .ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active:hover{background:#fff}.video-generator .ant-divider{border-color:#f0f0f0;margin:24px 0}.video-generator .ant-descriptions-bordered .ant-descriptions-item-label{background:#fafafa;font-weight:500}.video-generator .ant-descriptions-bordered .ant-descriptions-item-content{background:#fff}.video-generator .level-modal .ant-modal-content{border-radius:20px;overflow:hidden}.video-generator .level-modal .ant-modal-body{padding:40px}.video-generator .level-modal-icon{align-items:center;background:linear-gradient(135deg,#fff7e6,#fff);border-radius:50%;box-shadow:0 8px 24px #faad1433;display:flex;height:100px;justify-content:center;margin:0 auto 24px;width:100px}.video-generator .level-modal-icon .anticon{color:#faad14;font-size:48px}.video-generator .level-modal-title{color:#1a1a2e;font-size:22px;font-weight:600;margin-bottom:16px}.video-generator .level-modal-description{color:#666;font-size:16px;line-height:1.6;margin-bottom:16px}.video-generator .level-modal-hint{background:#fafafa;border-radius:12px;color:#999;font-size:14px;line-height:1.6;margin-bottom:32px;padding:16px}.video-generator .level-modal-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 16px #667eea4d;font-size:16px;font-weight:500;height:48px;width:200px}.video-generator .level-modal-btn:hover{background:linear-gradient(135deg,#5a6fd6,#6a4190);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}@media (max-width:1200px){.video-generator .ant-row{flex-direction:column}.video-generator .ant-col{flex:0 0 100%;max-width:100%}}@media (max-width:768px){.video-generator,.video-generator .ant-steps{padding:16px}.video-generator .ant-steps-item-title{font-size:12px}.video-generator .ant-card-body{padding:16px}.video-generator .mode-header{padding:20px}.video-generator .mode-header h4{font-size:16px!important}.video-generator .action-buttons{flex-direction:column}.video-generator .action-buttons .ant-btn{width:100%}}.vpt-container{background:#0f0f1a;display:flex;gap:24px;min-height:calc(100vh - 200px);padding:16px}.vpt-preview-section{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;gap:16px}.vpt-preview-header{align-items:center;display:flex;gap:12px;width:100%}.vpt-title{color:#fff;flex:1 1;font-size:16px;font-weight:600}.vpt-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;font-size:12px;font-weight:700;padding:2px 10px}.vpt-phone-frame{background:#1a1a2e;border:3px solid #333;border-radius:36px;box-shadow:0 0 0 2px #111,0 20px 60px #00000080,inset 0 0 20px #667eea0d;height:640px;overflow:hidden;position:relative;width:360px}.vpt-phone-screen{background:#000;border-radius:33px;height:100%;overflow:hidden;position:relative;width:100%}.vpt-upload-area{align-items:center;background:linear-gradient(180deg,#1a1a2e,#0f0f1a);display:flex;height:100%;justify-content:center;padding:24px;width:100%}.vpt-upload-area .ant-upload-drag{background:#0000;border:2px dashed #667eea66;border-radius:20px;width:100%}.vpt-upload-area .ant-upload-drag:hover{border-color:#667eea}.vpt-upload-icon{color:#667eea;font-size:40px;margin-bottom:12px}.vpt-upload-text{color:#fff;font-size:16px;font-weight:600;margin:0 0 4px}.vpt-upload-hint{color:#fff6;font-size:12px;margin:0}.vpt-upload-loading{animation:vpt-pulse 1.5s ease-in-out infinite;color:#667eea;font-size:12px;margin-top:12px}.vpt-canvas{display:block;height:100%;object-fit:cover;width:100%}.vpt-canvas-editing{cursor:crosshair}.vpt-controls{display:flex;flex-direction:column;gap:12px;width:360px}.vpt-progress-bar{align-items:center;display:flex;gap:8px}.vpt-time{color:#fff9;font-family:monospace;font-size:12px;min-width:40px;text-align:center}.vpt-progress-bar .ant-slider{flex:1 1}.vpt-progress-bar .ant-slider-rail{background:#ffffff26}.vpt-progress-bar .ant-slider-track{background:linear-gradient(90deg,#667eea,#764ba2)}.vpt-progress-bar .ant-slider-handle{background:#667eea;border-color:#667eea;box-shadow:0 0 8px #667eea80}.vpt-btn-group{display:flex;gap:8px}.vpt-btn-group .ant-btn{align-items:center;border-radius:8px;display:flex;flex:1 1;font-size:12px;gap:4px;height:36px;justify-content:center}.vpt-btn-group .ant-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.vpt-btn-group .ant-btn-default{background:#ffffff14;border-color:#ffffff26;color:#fffc}.vpt-btn-group .ant-btn-default:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff}.vpt-panel-section{display:flex;flex:1 1;flex-direction:column;gap:12px;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:8px}.vpt-panel-section::-webkit-scrollbar{width:4px}.vpt-panel-section::-webkit-scrollbar-track{background:#0000}.vpt-panel-section::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:2px}.vpt-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff14;border-radius:16px;padding:16px}.vpt-card-title{color:#ffffff80;font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.vpt-model-status{border-radius:8px;font-size:14px;font-weight:500;padding:8px 12px}.vpt-model-status.ready{background:#00ff8814;border:1px solid #0f83;color:#0f8}.vpt-model-status.loading{animation:vpt-pulse 1.5s ease-in-out infinite;background:#667eea14;border:1px solid #667eea33;color:#667eea}.vpt-switches{display:flex;flex-direction:column;gap:10px}.vpt-switch-row{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.vpt-switch-row span{color:#fffc;font-size:14px}.vpt-metrics-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.vpt-metric{background:#ffffff0a;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.vpt-metric-label{color:#ffffff80;font-size:12px}.vpt-metric-value{font-family:DIN Alternate,monospace;font-size:18px;font-weight:700}.vpt-radar{display:flex;flex-direction:column;gap:8px}.vpt-radar-item{align-items:center;display:flex;gap:8px}.vpt-radar-label{color:#fff9;flex-shrink:0;font-size:12px;width:32px}.vpt-radar-bar{background:#ffffff14;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.vpt-radar-fill{border-radius:4px;height:100%;transition:width .5s ease}.vpt-radar-value{font-family:DIN Alternate,monospace;font-size:13px;font-weight:700;text-align:right;width:28px}.vpt-overlay-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.vpt-overlay-buttons .ant-btn{background:#667eea26;border:1px solid #667eea4d;border-radius:8px;color:#667eea;font-size:12px;transition:all .2s}.vpt-overlay-buttons .ant-btn:hover{background:#667eea40;border-color:#667eea;box-shadow:0 0 12px #667eea66}.vpt-overlay-list{display:flex;flex-direction:column;gap:8px}.vpt-overlay-item{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;cursor:pointer;padding:10px;transition:all .2s}.vpt-overlay-item:hover{background:#ffffff0f;border-color:#667eea4d}.vpt-overlay-item.selected{background:#667eea1a;border-color:#667eea;box-shadow:0 0 12px #667eea4d}.vpt-overlay-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.vpt-overlay-name{color:#ffffffe6;font-size:13px;font-weight:600}.vpt-overlay-time{color:#ffffff80;display:flex;font-family:monospace;font-size:11px;gap:12px}.vpt-overlay-edit{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px}.vpt-edit-row{align-items:center;display:flex;font-size:12px;gap:8px}.vpt-edit-row label{color:#fff9;min-width:70px}.vpt-edit-row input{background:#0000004d;border:1px solid #ffffff26;border-radius:6px;color:#fff;flex:1 1;font-family:monospace;font-size:12px;padding:4px 8px}.vpt-edit-row input:focus{border-color:#667eea;box-shadow:0 0 8px #667eea4d;outline:none}.vpt-edit-row span{color:#ffffffb3;font-family:monospace}.vpt-icon-preview{background:#0003;border-radius:8px;display:flex;justify-content:center;padding:8px}.vpt-icon-preview img{max-height:80px;max-width:80px;object-fit:contain}.vpt-copy-tabs{display:flex;flex-direction:column;gap:12px}.vpt-copy-content{background:#ffffff0a;border-radius:10px;max-height:160px;overflow-y:auto;padding:12px}.vpt-copy-content p{color:#ffffffb3;font-size:12px;line-height:1.6;margin:0 0 6px}.vpt-copy-content p:last-child{margin-bottom:0}@keyframes vpt-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:900px){.vpt-container{align-items:center;flex-direction:column}.vpt-panel-section{max-height:none;max-width:500px;width:100%}}.classroom-scoring-panel-wrapper{display:flex;flex-direction:column;max-height:calc(100vh - 120px)}.classroom-scoring-panel{flex:1 1;overflow-y:auto;padding:16px}.scoring-actions{background:#fff;border-top:1px solid #f0f0f0;bottom:0;gap:12px;justify-content:flex-end;padding:16px;position:-webkit-sticky;position:sticky;z-index:10}.score-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:12px;transition:all .3s ease;z-index:1}.score-item:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.score-item .ant-slider{margin:16px 0;position:relative;z-index:2}.score-item .ant-slider-track{background-color:#52c41a}.score-item .ant-slider-handle,.score-item .ant-slider-handle:hover{border-color:#52c41a}.score-item .ant-slider-handle:focus{border-color:#52c41a;box-shadow:0 0 0 2px #52c41a33}.score-header{flex-wrap:wrap;gap:8px;margin-bottom:12px}.score-label{color:#333}.score-values{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ai-score{background:#e6f7ff;color:#1890ff}.ai-score,.teacher-score{border-radius:4px;font-size:12px;padding:2px 8px}.teacher-score{background:#f6ffed;color:#52c41a;font-weight:500}.teacher-score.higher{background:#fff7e6;color:#fa8c16}.teacher-score.lower{background:#fff2f0;color:#ff4d4f}@media (max-width:768px){.score-header{align-items:flex-start;flex-direction:column}.score-values{justify-content:space-between;width:100%}}.classroom-list-card,.student-list-card{height:100%}.student-card{margin-bottom:16px}.student-card .ant-card-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:8px}.student-card .ant-card-actions>li{margin:0;min-width:auto}.student-card .ant-card-actions button{font-size:12px;padding:0 8px}.student-card .ant-card-actions button[type=default]{align-items:center;display:inline-flex;justify-content:center}.classroom-list-card .selected{background-color:#e6f7ff;border-left:3px solid #1890ff}.student-card.scored{border:1px solid #52c41a}@media (max-width:768px){.student-card .ant-card-actions{flex-direction:column}.student-card .ant-card-actions button{margin-bottom:4px;width:100%}}.student-profiles-container{margin:0 auto;max-width:1400px;padding:0}.student-profiles-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:4rem 2rem}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#4f46e5;height:48px;margin-bottom:1rem;width:48px}.student-list-header{align-items:flex-start;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.header-left h2{color:#1f2937;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.header-left p{color:#6b7280;font-size:.95rem;margin:0}.header-actions{gap:.75rem}.student-list-filters{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem}.search-box{flex:1 1}.search-input{border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;padding:.75rem 1rem;transition:all .2s;width:100%}.search-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.filter-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.95rem;min-width:150px;padding:.75rem 1rem;transition:all .2s}.filter-select:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.empty-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#1f2937;font-size:1.5rem;margin:0 0 .5rem}.empty-state p{color:#6b7280;margin:0 0 1.5rem}.student-list-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.student-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:1.5rem;transition:all .3s ease}.student-card:hover{border-color:#4f46e5;box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.student-card-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:1rem;margin-bottom:1rem;padding-bottom:1rem}.student-avatar{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;height:56px;justify-content:center;width:56px}.student-name-section h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.student-id{color:#6b7280;font-size:.85rem}.student-card-body{margin-bottom:1rem}.student-info-item{align-items:center;color:#4b5563;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 0}.info-label{font-size:1rem}.student-card-footer{border-top:1px solid #f3f4f6;padding-top:1rem}.btn-view-detail{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:all .2s;width:100%}.btn-view-detail:hover{box-shadow:0 4px 12px #4f46e566;transform:translateY(-2px)}.student-detail-header{margin-bottom:2rem}.btn-back{align-items:center;background:none;border:none;color:#4f46e5;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;margin-bottom:1rem;padding:.5rem 0;transition:all .2s}.btn-back:hover{color:#4338ca;transform:translateX(-4px)}.student-detail-header h2{color:#1f2937;font-size:2rem;font-weight:700;margin:0}.student-detail-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.detail-section{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:2rem}.silhouette-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;margin-bottom:2rem;padding:2rem}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h3{align-items:center;color:#1f2937;display:flex;font-size:1.5rem;font-weight:600;gap:.5rem;margin:0 0 1.5rem}.detail-section h3:before{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:2px;content:"";height:24px;width:4px}.info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item.full-width{grid-column:1/-1}.info-item label{color:#6b7280;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#1f2937;font-size:1.1rem;font-weight:500}.body-data-form{display:flex;flex-direction:column;gap:1.25rem}.body-data-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.body-data-field{display:flex;flex-direction:column;gap:.5rem}.body-data-field label{color:#6b7280;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.body-data-field input{border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;padding:.75rem 1rem;transition:all .2s}.body-data-field input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.body-data-field input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.body-data-preview{align-items:center;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;color:#4f46e5;display:flex;font-weight:600;justify-content:center;min-height:44px;padding:.75rem 1rem}.body-data-error{color:#ef4444;font-size:.75rem}.body-data-actions{align-items:center;display:flex;gap:1rem}.body-data-message{color:#4b5563;font-size:.9rem}.info-item .radar-save-message{color:#4b5563;font-size:.85rem;font-weight:500}.teacher-comment-textarea{border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:.95rem;margin-top:.5rem;padding:.75rem;resize:vertical;transition:border-color .2s;width:100%}.teacher-comment-textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.comment-actions{align-items:center;display:flex;gap:1rem;margin-top:.75rem}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tag{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:20px;color:#4f46e5;font-size:.85rem;font-weight:500;padding:.375rem .75rem}.detail-actions{border-top:2px solid #e5e7eb;display:flex;gap:1rem;margin-top:2rem;padding-top:2rem}.btn{transition:all .2s}.btn-primary{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.btn-primary:hover{box-shadow:0 4px 12px #4f46e566;transform:translateY(-2px)}.btn-secondary{color:#4b5563}.btn-secondary:hover{background:#e5e7eb;color:#1f2937}@media (max-width:768px){.student-list-header{gap:1rem}.student-list-filters,.student-list-header{flex-direction:column}.info-grid,.student-list-grid{grid-template-columns:1fr}.detail-actions{flex-direction:column}.btn{width:100%}}.human-silhouette{align-items:center;background:linear-gradient(135deg,#0a0e27,#1a1f3a);border-radius:16px;box-shadow:0 10px 30px #0003;display:flex;height:400px;justify-content:center;margin-bottom:30px;overflow:hidden;position:relative;width:100%}.silhouette-container{height:350px;position:relative;width:200px}.human-figure{height:100%;opacity:.8;position:absolute;width:100%}.head{border-radius:50%;height:60px;top:0;width:60px}.head,.torso{background:linear-gradient(135deg,#00d4ff,#09c);box-shadow:0 0 20px #00d4ff99;left:50%;position:absolute;transform:translateX(-50%)}.torso{-webkit-clip-path:polygon(50% 0,85% 10%,90% 40%,85% 70%,70% 100%,30% 100%,15% 70%,10% 40%,15% 10%);clip-path:polygon(50% 0,85% 10%,90% 40%,85% 70%,70% 100%,30% 100%,15% 70%,10% 40%,15% 10%);height:120px;top:55px;width:80px}.arm{background:linear-gradient(135deg,#00d4ff,#09c);border-radius:10px;box-shadow:0 0 15px #00d4ff99;height:100px;position:absolute;width:20px}.arm-left{left:30%;top:65px;transform:rotate(15deg)}.arm-right{right:30%;top:65px;transform:rotate(-15deg)}.leg{background:linear-gradient(135deg,#00d4ff,#09c);border-radius:12px;box-shadow:0 0 15px #00d4ff99;height:130px;position:absolute;width:25px}.leg-left{bottom:0;left:42%}.leg-right{bottom:0;right:42%}.joint{background-color:#fff;border-radius:50%;box-shadow:0 0 10px #fffc;height:16px;position:absolute;width:16px}.shoulder-left{left:35%;top:60px}.shoulder-right{right:35%;top:60px}.elbow-left{left:28%;top:110px}.elbow-right{right:28%;top:110px}.hip-left{left:42%;top:165px}.hip-right{right:42%;top:165px}.knee-left{left:42%;top:230px}.knee-right{right:42%;top:230px}.data-point{animation:pulse 2s infinite;background-color:#fc0;border-radius:50%;box-shadow:0 0 10px #fc0c;cursor:pointer;height:8px;position:absolute;transform:translate(-50%,-50%);width:8px;z-index:5}.data-point.normal{background-color:#0f8;box-shadow:0 0 10px #0f8c}.data-point.warning{background-color:#fa0;box-shadow:0 0 10px #fa0c}.data-point.critical{background-color:#f36;box-shadow:0 0 10px #f36c}.data-point.active{transform:translate(-50%,-50%) scale(1.5);z-index:10}.scan-line{animation:scan 3s linear infinite;background:linear-gradient(90deg,#0000,#0ff,#0000);height:2px;position:absolute;width:100%}@keyframes scan{0%{top:0}to{top:100%}}.pulse-wave{border:2px solid #00ffff4d;border-radius:50%;height:100%;opacity:0;pointer-events:none;position:absolute;width:100%}.pulse-wave.phase-0{animation:pulse-wave-0 6s infinite}.pulse-wave.phase-1{animation:pulse-wave-1 6s infinite}.pulse-wave.phase-2{animation:pulse-wave-2 6s infinite}@keyframes pulse-wave-0{0%{opacity:0;transform:scale(.5)}16.66%{opacity:.7}33.33%{opacity:0;transform:scale(1.2)}to{opacity:0}}@keyframes pulse-wave-1{33.33%{opacity:0;transform:scale(.5)}50%{opacity:.7}66.66%{opacity:0;transform:scale(1.2)}to{opacity:0}}@keyframes pulse-wave-2{66.66%{opacity:0;transform:scale(.5)}83.33%{opacity:.7}to{opacity:0;transform:scale(1.2)}}.grid-background{background-image:linear-gradient(#00ffff1a 1px,#0000 0),linear-gradient(90deg,#00ffff1a 1px,#0000 0);background-size:20px 20px;height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.data-label{background-color:#000000b3;border-radius:4px;color:#fff;font-size:12px;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:all .3s ease;white-space:nowrap;z-index:10}.data-label.active{background-color:#0096ffcc;transform:translateX(-50%) scale(1.1);z-index:15}.data-value{color:#0ff;display:block;font-size:10px;margin-top:2px}.detail-panel{animation:fadeIn .3s ease;background:#0a0e27f2;border:1px solid #00d4ff80;border-radius:12px;box-shadow:0 10px 30px #00000080;left:50%;padding:20px;position:absolute;top:50%;transform:translate(-50%,-50%);width:280px;z-index:20}.panel-header{align-items:center;border-bottom:1px solid #00d4ff4d;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.panel-header h3{color:#00d4ff;font-size:18px;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:all .2s ease;width:24px}.close-btn:hover{background-color:#ffffff1a}.panel-content p{color:#fff;font-size:14px;margin:10px 0}.status{font-weight:700}.status.normal{color:#0f8}.status.warning{color:#fa0}.status.critical{color:#f36}.value{color:#0ff;font-weight:700}.description{color:#ccc;font-size:12px;font-style:italic;margin-top:15px;text-align:center}@media (max-width:768px){.human-silhouette{height:300px}.silhouette-container{height:260px;width:150px}.head{height:45px;width:45px}.torso{height:90px;top:40px;width:60px}.arm{height:75px;width:15px}.arm-left,.arm-right{top:50px}.leg{height:100px;width:20px}.detail-panel{padding:15px;width:240px}}.body-composition-history{margin:0 auto;max-width:1200px;padding:20px}.body-composition-history h2{color:#2c3e50;margin-bottom:20px;text-align:center}.history-container{display:flex;gap:20px;margin-top:20px}.history-sidebar{flex-shrink:0;width:300px}.history-sidebar h3{color:#3498db;font-size:18px;margin-bottom:15px}.history-list{background:#f9f9f9;border-radius:8px;box-shadow:0 2px 5px #0000001a;overflow:hidden}.history-item{border-bottom:1px solid #eee;cursor:pointer;padding:15px;transition:background-color .2s}.history-item:last-child{border-bottom:none}.history-item:hover{background-color:#f0f7ff}.history-item.selected{background-color:#e1f0ff;border-left:4px solid #3498db}.history-date{color:#2c3e50;font-weight:700;margin-bottom:8px}.history-summary{display:flex;justify-content:space-between;margin-bottom:5px}.history-stat{align-items:center;display:flex;flex-direction:column;font-size:14px}.history-stat span:first-child{color:#7f8c8d;font-size:12px}.history-stat span:last-child{color:#2c3e50;font-weight:700}.history-notes{font-size:12px;margin-top:5px}.history-notes,.no-history{color:#7f8c8d;font-style:italic}.no-history{padding:20px;text-align:center}.history-content{background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;flex-grow:1;overflow:hidden}.content-tabs{background:#f5f5f5;border-bottom:1px solid #ddd;display:flex}.tab-button{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:16px;padding:12px 20px;transition:all .2s}.tab-button.active{background:#fff;border-bottom:3px solid #3498db;color:#3498db;font-weight:700}.content-panel{min-height:400px;padding:20px}.no-selection{align-items:center;color:#7f8c8d;display:flex;font-style:italic;height:300px;justify-content:center}.detailed-record h3{border-bottom:1px solid #eee;color:#2c3e50;margin-bottom:15px;padding-bottom:10px}.record-notes{background:#f9f9f9;border-left:4px solid #3498db;border-radius:5px;margin-bottom:20px;padding:10px}.record-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.record-section{background:#f9f9f9;border-radius:8px;padding:15px}.record-section h4{border-bottom:1px solid #ddd;color:#3498db;font-size:16px;margin-bottom:15px;padding-bottom:8px}.record-item{border-bottom:1px dashed #eee;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.record-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.record-item label{color:#7f8c8d;font-weight:500}.record-item span{color:#2c3e50;font-weight:700}.no-progress{align-items:center;color:#7f8c8d;display:flex;font-style:italic;height:300px;justify-content:center}.progress-section h3{border-bottom:1px solid #eee;color:#2c3e50;margin-bottom:15px;padding-bottom:10px}.progress-period{color:#7f8c8d;font-style:italic;margin-bottom:20px}.progress-assessment{background:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:15px}.assessment-level{margin-bottom:10px}.assessment-level span{border-radius:4px;font-weight:700;margin-left:8px;padding:2px 8px}.level-excellent{background-color:#d4edda;color:#155724}.level-good{background-color:#cce5ff;color:#004085}.level-moderate{background-color:#fff3cd;color:#856404}.level-poor{background-color:#f8d7da;color:#721c24}.assessment-summary{margin-top:10px}.progress-changes{margin-bottom:20px}.progress-changes h4{color:#3498db;margin-bottom:15px}.change-item{border-bottom:1px dashed #eee;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.change-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.change-item label{color:#7f8c8d;font-weight:500}.change-item span{font-weight:700}.change-item .positive{color:#27ae60}.change-item .negative{color:#e74c3c}.progress-recommendations h4{color:#3498db;margin-bottom:10px;margin-top:20px}.progress-recommendations ul{padding-left:20px}.progress-recommendations li{color:#2c3e50;margin-bottom:5px}.no-charts{align-items:center;color:#7f8c8d;display:flex;font-style:italic;height:300px;justify-content:center}.charts-container{display:flex;flex-direction:column;gap:30px}.chart-section{background:#f9f9f9;border-radius:8px;box-shadow:0 2px 5px #0000000d;padding:20px}.chart-section h3{border-bottom:1px solid #ddd;color:#2c3e50;font-size:18px;margin-bottom:15px;padding-bottom:8px}.chart-wrapper{height:300px;position:relative}.error,.loading{font-size:18px;padding:40px;text-align:center}.error{color:#e74c3c}@media (max-width:768px){.history-container{flex-direction:column}.history-sidebar{width:100%}.record-grid{grid-template-columns:1fr}.charts-container{gap:20px}.chart-wrapper{height:250px}}.radar-chart{align-items:center;display:flex;justify-content:center;margin:20px 0}.radar-chart svg{height:auto;max-width:100%}.coach-radar-evaluation{background:#f8faff;border:1px solid #e6e9f5;border-radius:12px;margin:0;max-width:100%;padding:18px 20px}.evaluation-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.evaluation-header h3{color:#1f2937;font-size:1.15rem;margin:0}.header-actions{display:flex;gap:10px}.cancel-button,.comparison-toggle,.edit-button,.save-button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:8px 16px;transition:background-color .2s}.comparison-toggle{background-color:#f3f4f6;color:#4b5563}.comparison-toggle.active{background-color:#eef2ff;box-shadow:inset 0 0 0 1px #c7d2fe;color:#4f46e5}.comparison-toggle:hover{background-color:#e5e7eb}.comparison-toggle.active:hover{background-color:#e0e7ff}.edit-button,.save-button{background-color:#4f46e5;color:#fff}.edit-button:hover,.save-button:hover{background-color:#4338ca}.cancel-button{background-color:#f3f4f6;color:#4b5563}.cancel-button:hover{background-color:#e5e7eb}.cancel-button:disabled,.comparison-toggle:disabled,.edit-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.6}.edit-actions{display:flex;gap:8px}.evaluation-content{display:flex;flex-direction:column;gap:20px}.radar-chart-container{align-items:center;display:flex;justify-content:center}.radar-comparison{gap:30px}.radar-comparison,.radar-item{align-items:center;display:flex}.radar-item{flex-direction:column;gap:10px}.radar-item h4{color:#555;font-size:1.1rem;margin:0}.single-radar{display:flex;justify-content:center}.score-details{gap:20px}.overall-score{background-color:#fff;border:1px solid #e9ecf6;padding:14px;text-align:center}.overall-score h4{color:#555;margin:0 0 10px}.score-display{align-items:center;gap:5px}.score-value{font-size:2.5rem}.score-level{font-size:1rem;opacity:.8}.dimension-scores{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.dimension-score{background-color:#fff;border:1px solid #e9ecf6;border-left:3px solid #c7d2fe;border-radius:10px;padding:14px 16px}.dimension-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.dimension-label{color:#333;font-weight:600}.dimension-score-value{font-size:1.1rem;font-weight:500}.dimension-description{color:#666;font-size:.9rem;margin-bottom:10px}.score-slider{accent-color:#4f46e5;margin:2px 0 0;width:100%}.score-unit{color:#9ca3af;font-size:.85em;font-weight:400;margin-left:1px}.score-indicators{display:flex;gap:3px;margin-top:8px}.score-indicator{background-color:#e5e7eb;border-radius:50%;height:8px;width:8px}.score-indicator.active{background-color:#4f46e5}.ai-comparison{border-top:1px dashed #ddd;font-size:.9rem;margin-top:8px;padding-top:8px}.ai-label{color:#666}.ai-score-value{font-weight:500}@media (max-width:768px){.evaluation-header{align-items:flex-start;flex-direction:column;gap:10px}.radar-comparison{flex-direction:column;gap:20px}.dimension-scores{grid-template-columns:1fr}}.video-selector{background:#fff;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.video-selector-header{background:#fafafa;border-bottom:1px solid #f0f0f0;padding:16px 20px}.video-selector-header h3{color:#262626;font-size:16px;font-weight:600;margin:0 0 12px}.video-selector-search{width:100%}.video-selector-search-input{border:1px solid #d9d9d9;border-radius:6px;font-size:14px;padding:8px 12px;transition:all .2s;width:100%}.video-selector-search-input:focus{border-color:#2f54eb;box-shadow:0 0 0 2px #2f54eb1a;outline:none}.video-selector-content{flex:1 1;overflow-y:auto;padding:16px}.video-selector-empty,.video-selector-loading{color:#8c8c8c;font-size:14px;padding:40px 20px;text-align:center}.video-selector-courses{display:flex;flex-direction:column;gap:12px}.video-selector-course-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;transition:all .2s}.video-selector-course-card:hover{box-shadow:0 2px 8px #0000001a}.video-selector-course-header{align-items:center;cursor:pointer;display:flex;padding:12px 16px;transition:background .2s}.video-selector-course-header:hover{background:#fafafa}.video-selector-course-cover{border-radius:6px;flex-shrink:0;height:72px;margin-right:16px;object-fit:cover;width:120px}.video-selector-course-info{flex:1 1;min-width:0}.video-selector-course-title{color:#262626;font-size:15px;font-weight:600;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-selector-course-meta{align-items:center;display:flex;gap:12px;margin-bottom:6px}.video-selector-course-category{background:#f5f5f5;border-radius:4px;color:#595959;font-size:12px;padding:2px 8px}.video-selector-course-price{color:#fa8c16;font-size:14px;font-weight:600}.video-selector-course-video-count,.video-selector-expand-icon{color:#8c8c8c;font-size:12px}.video-selector-expand-icon{flex-shrink:0;margin-left:12px}.video-selector-videos{grid-gap:12px;background:#fafafa;border-top:1px solid #f0f0f0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:12px 16px}.video-selector-no-videos{color:#8c8c8c;font-size:14px;grid-column:1/-1;padding:20px;text-align:center}.video-selector-video-item{background:#fff;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;overflow:hidden;transition:all .2s}.video-selector-video-item:hover{border-color:#2f54eb;box-shadow:0 2px 8px #2f54eb26;transform:translateY(-2px)}.video-selector-video-thumb{background:#f0f0f0;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.video-selector-video-thumb img{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.video-selector-video-badge{background:#52c41a;font-size:10px;font-weight:500;left:6px;top:6px}.video-selector-video-badge,.video-selector-video-duration{border-radius:4px;color:#fff;padding:2px 6px;position:absolute}.video-selector-video-duration{background:#000000b3;bottom:6px;font-size:11px;right:6px}.video-selector-video-info{padding:10px}.video-selector-video-title{color:#262626;font-size:13px;font-weight:500;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-selector-video-status{font-size:11px}.status-annotated{color:#52c41a}.status-unannotated{color:#fa8c16}.auto-annotation-page{color:#172033;padding:24px}.auto-annotation-heading{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.auto-annotation-heading h2{font-size:24px;margin:0 0 8px}.auto-annotation-heading p{color:#6b7280;margin:0}.auto-annotation-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.auto-annotation-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 8px #0f172a0a;padding:20px}.auto-annotation-panel h3{font-size:16px;margin:0 0 16px}.auto-annotation-panel label{color:#4b5563;display:block;font-size:13px;margin-bottom:14px}.auto-annotation-panel input,.auto-annotation-panel select{background:#fff;border:1px solid #d1d5db;border-radius:5px;box-sizing:border-box;color:#172033;display:block;margin-top:6px;padding:9px 10px;width:100%}.auto-annotation-fields{grid-gap:0 12px;display:grid;gap:0 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.auto-annotation-check{align-items:center;color:#374151!important;display:flex!important;gap:8px}.auto-annotation-check input{margin:0;width:auto}.auto-annotation-actions{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;justify-content:space-between;margin:16px 0;padding:18px 20px}.auto-annotation-actions span,.auto-annotation-actions strong{display:block}.auto-annotation-actions span{color:#6b7280;font-size:13px;margin-top:5px}.auto-annotation-buttons{display:flex;flex-shrink:0;gap:10px}.auto-annotation-message{background:#ecfeff;border:1px solid #a5f3fc;border-radius:5px;color:#155e75;margin-bottom:16px;padding:12px 14px}.auto-annotation-task{position:relative}.auto-annotation-task>div p{color:#6b7280;font-size:13px;margin:0}.auto-annotation-status{background:#e5e7eb;border-radius:4px;color:#374151;font-size:12px;padding:4px 9px;position:absolute;right:20px;top:20px}.status-running,.status-starting{background:#dbeafe;color:#1d4ed8}.status-finished{background:#dcfce7;color:#166534}.status-partial{background:#fef3c7;color:#92400e}.status-failed{background:#fee2e2;color:#991b1b}.auto-annotation-progress-header{color:#374151;display:flex;font-size:13px;gap:12px;justify-content:space-between;margin-top:18px}.auto-annotation-progress{background:#e5e7eb;border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.auto-annotation-progress span{background:#2563eb;border-radius:inherit;display:block;height:100%;transition:width .2s ease}.auto-annotation-stats{color:#6b7280;display:flex;font-size:13px;gap:20px;margin-top:14px}.auto-annotation-stats strong{color:#172033}.auto-annotation-current{color:#4b5563;font-size:13px;margin:12px 0 0}.auto-annotation-task pre{background:#111827;border-radius:5px;color:#d1fae5;font:12px/1.6 Consolas,monospace;margin:16px 0 0;max-height:360px;overflow:auto;padding:14px;white-space:pre-wrap}@media (max-width:900px){.auto-annotation-grid{grid-template-columns:1fr}.auto-annotation-actions{align-items:stretch;flex-direction:column}.auto-annotation-buttons{width:100%}.auto-annotation-buttons button{flex:1 1}}.teacher-stats-container{background:#0000;border-radius:0;margin-bottom:0;padding:0}.teacher-stats-container.is-collapsed .stats-header{border-bottom:0;margin-bottom:0;padding-bottom:0}.teacher-stats-container.is-collapsed .btn-toggle{background:#f8fafc;color:#374151}.stats-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.stats-header-actions{align-items:center;display:flex;gap:.75rem}.btn-toggle{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-toggle:hover{background:#e5e7eb;border-color:#d1d5db;color:#374151}.toggle-icon{font-size:.875rem;transition:transform .2s}.toggle-text{display:inline-block}.btn-refresh{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-refresh:hover{background:#e5e7eb;border-color:#d1d5db;color:#374151}.refresh-icon{font-size:1rem;transition:transform .3s}.btn-refresh:hover .refresh-icon{transform:rotate(180deg)}.refresh-text{display:inline-block}.stats-error,.stats-loading{color:#666;padding:40px;text-align:center}.stats-error p{margin-bottom:10px}.btn-retry{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.btn-retry:hover{background:#0056b3}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.stat-card:before{background:#6366f1;background:var(--card-color,#6366f1);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.stat-card:hover{border-color:#6366f1;border-color:var(--card-color,#6366f1);box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.stat-card:hover:before{opacity:1}.stat-card.clickable{border-color:#6366f1;border-color:var(--card-color,#6366f1);cursor:pointer}.stat-card.clickable:hover{transform:translateY(-6px)}.stat-card-primary{--card-color:#3b82f6}.stat-card-success{--card-color:#10b981}.stat-card-warning{--card-color:#f59e0b}.stat-card-info{--card-color:#06b6d4}.stat-card-secondary{--card-color:#6b7280}.stat-card-tertiary{--card-color:#8b5cf6}.stat-card-quaternary{--card-color:#ec4899}.stat-card-quinary{--card-color:#f97316}.stat-card-eval{--card-color:#2563eb}.stat-card-annot{--card-color:#f97316}.stat-icon{align-items:center;background:linear-gradient(135deg,#6366f115,#6366f11a);background:linear-gradient(135deg,var(--card-color,#6366f1)15,rgba(var(--card-color-rgb,99,102,241),.1));border-radius:12px;display:flex;flex-shrink:0;font-size:2.5rem;height:60px;justify-content:center;opacity:.9;width:60px}.stat-content{flex:1 1}.stat-label{color:#6b7280;font-size:.8125rem;font-weight:500;margin-bottom:.5rem}.stat-value{color:#1f2937;font-family:PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.75rem;font-weight:700;line-height:1.2}.stat-unit{color:#9ca3af;font-size:.75rem;font-weight:500;margin-top:.25rem}@media (max-width:768px){.stats-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{gap:12px;padding:16px}.stat-icon{font-size:24px}.stat-value{font-size:20px}}.change-password-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.change-password-modal{animation:slideDown .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:400px;width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e5e7eb;padding:1.5rem}.modal-header h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-control{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#1f2937;font-size:.95rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-control:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.form-control::placeholder{color:#9ca3af}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;padding:1.5rem}.btn{border-radius:8px;font-size:.95rem;justify-content:center;padding:.75rem 1.5rem}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d}.btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #667eea66;transform:translateY(-1px)}:root{--sidebar-bg:#0a0a0b;--sidebar-hover:#ffffff0a;--sidebar-active:#ffffff14;--sidebar-text:#ffffff80;--sidebar-text-active:#fff;--accent:#d4a853;--accent-dim:#d4a85326;--surface:#fff;--surface-secondary:#fafafa;--border:#eaeaea;--border-subtle:#f0f0f0;--text-primary:#171717;--text-secondary:#737373;--text-tertiary:#a3a3a3;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--transition:0.2s cubic-bezier(0.4,0,0.2,1)}.admin-layout{background:#fafafa;background:var(--surface-secondary);display:flex;min-height:100vh}.admin-sidebar{background:#0a0a0b;background:var(--sidebar-bg);border-right:1px solid #ffffff0f;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:width .2s cubic-bezier(.4,0,.2,1);transition:width var(--transition);width:240px;z-index:1000}.admin-layout.sidebar-collapsed .admin-sidebar{width:72px}.sidebar-header{border-bottom:1px solid #ffffff0f;height:64px;justify-content:space-between;padding:20px}.logo,.sidebar-header{align-items:center;display:flex}.logo{gap:12px}.logo-icon{align-items:center;background:#d4a85326;background:var(--accent-dim);border-radius:8px;color:#d4a853;color:var(--accent);display:flex;height:32px;justify-content:center;width:32px}.logo-icon svg{height:16px;width:16px}.logo-text{color:#fff;color:var(--sidebar-text-active);font-size:14px;font-weight:600;letter-spacing:-.01em;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition);white-space:nowrap}.admin-layout:not(.sidebar-collapsed) .logo-text{opacity:1}.sidebar-toggle{align-items:center;background:#0000;border:1px solid #ffffff1a;border-radius:6px;color:#ffffff80;color:var(--sidebar-text);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:28px}.sidebar-toggle:hover{background:#ffffff0a;background:var(--sidebar-hover);border-color:#fff3;color:#fff;color:var(--sidebar-text-active)}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px 8px}.nav-item{align-items:center;background:none;border:none;border-radius:6px;color:#ffffff80;color:var(--sidebar-text);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:12px;padding:10px 12px;position:relative;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:100%}.nav-item:hover{background:#ffffff0a;background:var(--sidebar-hover)}.nav-item.active,.nav-item:hover{color:#fff;color:var(--sidebar-text-active)}.nav-item.active{background:#ffffff14;background:var(--sidebar-active)}.nav-item.active:before{background:#d4a853;background:var(--accent);border-radius:0 2px 2px 0;content:"";height:16px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.nav-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.nav-icon svg{height:18px;width:18px}.nav-label{flex:1 1;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition);white-space:nowrap}.admin-layout:not(.sidebar-collapsed) .nav-label{opacity:1}.nav-badge{background:#ef4444;border-radius:10px;color:#fff;font-size:11px;font-weight:600;min-width:18px;padding:2px 6px;text-align:center}.sidebar-footer{border-top:1px solid #ffffff0f;padding:16px}.user-info{gap:10px;margin-bottom:8px;padding:8px 0}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:#ffffff0f;border-radius:50%;color:#ffffff80;color:var(--sidebar-text);flex-shrink:0;height:32px;justify-content:center;width:32px}.user-avatar svg{height:16px;width:16px}.user-details{flex:1 1;opacity:0;overflow:hidden;transition:opacity .2s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition)}.admin-layout:not(.sidebar-collapsed) .user-details{opacity:1}.user-name{color:#fff;color:var(--sidebar-text-active);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:11px;margin-top:1px}.logout-btn,.user-role{color:#ffffff80;color:var(--sidebar-text)}.logout-btn{align-items:center;background:#0000;border:1px solid #ffffff14;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:8px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:100%}.logout-btn:hover{background:#ef44441a;border-color:#ef444433;color:#fca5a5}.logout-icon{align-items:center;display:flex}.logout-icon svg{height:16px;width:16px}.admin-layout.sidebar-collapsed .logout-btn span:not(.logout-icon){display:none}.admin-main{display:flex;flex:1 1;flex-direction:column;margin-left:240px;min-width:0;transition:margin-left .2s cubic-bezier(.4,0,.2,1);transition:margin-left var(--transition)}.admin-layout.sidebar-collapsed .admin-main{margin-left:72px}.admin-topbar{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #eaeaea;border-bottom:1px solid var(--border);display:flex;height:64px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.page-title{color:#171717;color:var(--text-primary);font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0}.topbar-right{align-items:center;display:flex;gap:8px}.topbar-actions{display:flex;gap:4px}.action-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#737373;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:36px}.action-btn:hover{background:#fafafa;background:var(--surface-secondary);color:#171717;color:var(--text-primary)}.action-icon{align-items:center;display:flex}.action-icon svg{height:18px;width:18px}.action-badge{background:#ef4444;border-radius:8px;color:#fff;font-size:10px;font-weight:600;line-height:1.2;min-width:14px;padding:1px 4px;position:absolute;right:4px;text-align:center;top:4px}.stats-section{background:#fff;background:var(--surface);border-bottom:1px solid #eaeaea;border-bottom:1px solid var(--border);padding:20px 24px}.admin-content-courseCenter{padding:12px 20px 20px}.admin-content-courseCenter .teacher-course-center{min-height:calc(100vh - 88px)}.admin-content{flex:1 1;min-width:0;overflow-y:auto;padding:24px}.admin-content::-webkit-scrollbar,.sidebar-nav::-webkit-scrollbar{width:4px}.admin-content::-webkit-scrollbar-track,.sidebar-nav::-webkit-scrollbar-track{background:#0000}.admin-content::-webkit-scrollbar-thumb,.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.admin-content::-webkit-scrollbar-thumb:hover,.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#fff3}@media (max-width:768px){.admin-sidebar{transform:translateX(-100%)}.admin-layout.sidebar-collapsed .admin-sidebar{transform:translateX(0)}.admin-layout.sidebar-collapsed .admin-main,.admin-main{margin-left:0}}.admin-layout.mobile{flex-direction:column}.admin-layout.mobile .admin-sidebar{display:none}.admin-layout.mobile .admin-main{margin-left:0;padding-bottom:64px;padding-top:56px}.mobile-topbar{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #eaeaea;border-bottom:1px solid var(--border);display:flex;height:56px;justify-content:space-between;left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:1000}.mobile-menu-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#171717;color:var(--text-primary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .2s cubic-bezier(.4,0,.2,1);transition:background var(--transition);width:36px}.mobile-menu-btn:active{background:#fafafa;background:var(--surface-secondary)}.mobile-menu-btn svg{height:20px;width:20px}.mobile-topbar-title{color:#171717;color:var(--text-primary);font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0}.mobile-topbar-actions{display:flex;gap:4px}.mobile-action-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#737373;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:36px}.mobile-action-btn:active{background:#fafafa;background:var(--surface-secondary)}.mobile-action-btn svg{height:18px;width:18px}.mobile-action-badge{background:#ef4444;border-radius:8px;color:#fff;font-size:10px;font-weight:600;line-height:1.2;min-width:14px;padding:1px 4px;position:absolute;right:4px;text-align:center;top:4px}.mobile-drawer-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.mobile-drawer{animation:slideInLeft .25s cubic-bezier(.4,0,.2,1);background:#0a0a0b;background:var(--sidebar-bg);display:flex;flex-direction:column;height:100%;left:0;position:absolute;top:0;width:280px}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.mobile-drawer-header{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:20px}.mobile-drawer-user{align-items:center;display:flex;gap:12px}.mobile-user-avatar{align-items:center;background:#ffffff0f;border-radius:50%;color:#ffffff80;color:var(--sidebar-text);display:flex;height:40px;justify-content:center;width:40px}.mobile-user-avatar svg{height:20px;width:20px}.mobile-user-info{flex:1 1}.mobile-user-name{color:#fff;color:var(--sidebar-text-active);font-size:14px;font-weight:500;margin-bottom:2px}.mobile-user-role{font-size:12px}.mobile-drawer-close,.mobile-user-role{color:#ffffff80;color:var(--sidebar-text)}.mobile-drawer-close{align-items:center;background:#ffffff0f;border:none;border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:32px}.mobile-drawer-close:active{background:#ffffff1f}.mobile-drawer-close svg{height:16px;width:16px}.mobile-drawer-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px}.mobile-drawer-item{align-items:center;background:none;border:none;border-radius:8px;color:#ffffff80;color:var(--sidebar-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:100%}.mobile-drawer-item:active{background:#ffffff0a;background:var(--sidebar-hover)}.mobile-drawer-item.active{background:#ffffff14;background:var(--sidebar-active);color:#fff;color:var(--sidebar-text-active)}.mobile-drawer-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.mobile-drawer-icon svg{height:18px;width:18px}.mobile-drawer-label{flex:1 1}.mobile-drawer-badge{background:#ef4444;border-radius:10px;color:#fff;font-size:11px;font-weight:600;padding:2px 6px}.mobile-drawer-footer{border-top:1px solid #ffffff0f;padding:16px}.mobile-drawer-logout{align-items:center;background:#0000;border:1px solid #ffffff14;border-radius:8px;color:#ffffff80;color:var(--sidebar-text);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:100%}.mobile-drawer-logout:active{background:#ef44441a;border-color:#ef444433;color:#fca5a5}.mobile-drawer-logout svg{height:16px;width:16px}.mobile-bottom-nav{align-items:center;background:#fff;background:var(--surface);border-top:1px solid #eaeaea;border-top:1px solid var(--border);bottom:0;display:flex;height:64px;justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:1000}.mobile-nav-item{align-items:center;background:none;border:none;color:#a3a3a3;color:var(--text-tertiary);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;padding:8px;position:relative;transition:color .2s cubic-bezier(.4,0,.2,1);transition:color var(--transition)}.mobile-nav-item:active{color:#737373;color:var(--text-secondary)}.mobile-nav-item.active{color:#171717;color:var(--text-primary)}.mobile-nav-item.active:after{background:#d4a853;background:var(--accent);border-radius:50%;bottom:8px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.mobile-nav-icon{align-items:center;display:flex;justify-content:center}.mobile-nav-icon svg{height:20px;width:20px}.mobile-nav-label{font-size:10px;font-weight:500;letter-spacing:.01em}@media (max-width:768px){.admin-content{box-sizing:border-box;max-width:100vw;overflow-x:hidden;padding:16px;width:100%}.stats-section{padding:16px}.admin-content .form-group{margin-bottom:12px}.admin-content .form-control{max-width:100%!important;width:100%!important}.admin-content .stats-grid{grid-template-columns:1fr!important}}@media (max-width:480px){.mobile-topbar{height:52px;padding:0 12px}.mobile-topbar-title{font-size:14px}.mobile-bottom-nav{height:60px}.mobile-nav-icon svg{height:18px;width:18px}.mobile-nav-label{font-size:9px}.admin-layout.mobile .admin-main{padding-bottom:60px;padding-top:52px}}.motion-performance-scoring{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 8px 32px #0000001f;margin-bottom:28px;overflow:hidden;padding:28px;position:relative;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.motion-performance-scoring:before{animation:gradient-flow 4s ease infinite;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);background-size:300% 100%;content:"";height:5px;left:0;position:absolute;right:0;top:0}@keyframes gradient-flow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.motion-performance-scoring:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-4px)}.scoring-header{align-items:center;border-bottom:1px solid #e2e8f0cc;display:flex;justify-content:space-between;margin-bottom:28px;padding-bottom:20px}.scoring-header h3{align-items:center;color:#1e293b;display:flex;font-size:22px;font-weight:700;gap:12px;margin:0}.scoring-header h3:before{content:"📊";filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:26px}.scoring-header p{color:#64748b;font-size:15px;line-height:1.5;margin:0;max-width:60%}.real-time-indicator{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:5px solid #22c55e;border-radius:12px;box-shadow:0 4px 12px #22c55e26;display:flex;margin-top:16px;padding:12px 20px;transition:all .3s ease}.real-time-indicator:hover{box-shadow:0 6px 16px #22c55e33;transform:translateY(-2px)}.status-dot{animation:pulse 2s infinite;border-radius:50%;height:14px;margin-right:10px;width:14px}.status-dot.active{background-color:#22c55e;box-shadow:0 0 0 3px #22c55e4d}.status-dot.inactive{animation:none;background-color:#94a3b8}.status-text{color:#15803d}.real-time-score,.status-text{font-size:15px;font-weight:600}.real-time-score{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:24px;box-shadow:0 2px 8px #22c55e1a;margin-left:auto;padding:8px 16px}.real-time-score .score-value{color:#15803d;font-size:16px;font-weight:700}.scoring-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.btn{align-items:center;box-shadow:0 4px 12px #0000001a;display:flex;font-size:15px;gap:10px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 16px #3b82f666;transform:translateY(-3px)}.btn-primary:disabled{background:linear-gradient(135deg,#94a3b8,#64748b);cursor:not-allowed;transform:none!important}.btn-primary:disabled:before{display:none}.btn-info{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.btn-info:hover:not(:disabled){box-shadow:0 8px 16px #06b6d466;transform:translateY(-3px)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-warning:hover:not(:disabled){box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.analysis-progress{align-items:center;display:flex;gap:12px;margin-bottom:24px}.progress-bar{background-color:#e2e8f0;border-radius:5px;flex-grow:1;height:10px;overflow:hidden;position:relative}.progress-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:100%;position:relative;transition:width .5s ease}.progress-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-text{color:#475569;min-width:40px;text-align:right}.scoring-results{margin-top:24px}.overall-score{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 4px 16px #0000000f;margin-bottom:24px;overflow:hidden;padding:20px;position:relative}.overall-score:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);content:"";height:3px;left:0;position:absolute;right:0;top:0}.overall-score h4{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px}.overall-score h4:before{content:"🏆";font-size:20px}.score-breakdown{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 4px 16px #0000000f;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:20px}.score-breakdown h4{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 16px}.score-breakdown h4:before{content:"📋";font-size:20px}.score-item-overall{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.score-item-overall:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);box-shadow:0 2px 8px #0000000d;transform:translateY(-1px)}.score-label{color:#475569;font-size:14px;font-weight:600}.score-value{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:6px;box-shadow:0 1px 3px #0000001a;font-size:16px;font-weight:700;padding:4px 8px}.score-value.ai{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.score-value.teacher{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d}.score-value.final{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.detailed-scores{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.score-item{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;border-radius:12px;box-shadow:0 6px 20px #00000014;overflow:hidden;padding:24px;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.score-item:before{background:linear-gradient(180deg,#3b82f6,#8b5cf6,#06b6d4);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .4s ease;width:5px}.score-item:hover{box-shadow:0 12px 30px #0000001f;transform:translateY(-6px)}.score-item:hover:before{opacity:1}.score-header{align-items:center;border-bottom:1px solid #e2e8f0cc;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.score-name{color:#1e293b;font-size:18px;font-weight:700;letter-spacing:-.025em}.score-display{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.ai-score{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:8px;box-shadow:0 2px 8px #3b82f626;color:#1e40af;font-size:15px;font-weight:600;padding:6px 12px;transition:all .3s ease}.ai-score:hover{box-shadow:0 4px 12px #3b82f640;transform:scale(1.05)}.teacher-score{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:8px;box-shadow:0 2px 8px #22c55e26;color:#15803d;font-size:15px;font-weight:600;padding:6px 12px;transition:all .3s ease}.teacher-score:hover{box-shadow:0 4px 12px #22c55e40;transform:scale(1.05)}.teacher-score-input{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:8px;font-size:15px;font-weight:600;padding:6px 12px;text-align:center;transition:all .3s ease;width:70px}.teacher-score-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.score-details{display:flex;flex-direction:column;gap:8px}.detail-item{border-bottom:1px dashed #e2e8f099;color:#64748b;font-size:14px;line-height:1.5;padding:6px 0;transition:all .2s ease}.detail-item:last-child{border-bottom:none}.detail-item:hover{background:linear-gradient(90deg,#3b82f60d,#0000);color:#475569;padding-left:8px}.radar-evaluation{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;border-radius:12px;box-shadow:0 6px 20px #00000014;margin-top:28px;overflow:hidden;padding:28px;position:relative}.radar-evaluation:before{animation:gradient-shift 8s ease infinite;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);background-size:300% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.radar-evaluation h4{align-items:center;color:#1e293b;display:flex;font-size:20px;font-weight:700;gap:10px;letter-spacing:-.025em;margin:0 0 24px}.radar-evaluation h4:before{content:"📊";filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:22px}.radar-container{display:flex;flex-wrap:wrap;gap:28px;justify-content:center}.radar-chart-container{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0cc;border-radius:12px;box-shadow:inset 0 2px 8px #00000014;flex:1 1;height:340px;max-width:420px;min-width:320px;padding:20px;position:relative;transition:all .3s ease}.radar-chart-container:hover{box-shadow:inset 0 2px 8px #00000014,0 8px 25px #0000001a;transform:scale(1.02)}.radar-actions{display:flex;gap:16px;justify-content:center;margin-top:24px}.radar-btn{align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.radar-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);box-shadow:0 4px 12px #0000001a;color:#334155;transform:translateY(-2px)}.real-time-results{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc;border-left:5px solid #22c55e;border-radius:12px;box-shadow:0 6px 20px #00000014;margin-top:28px;overflow:hidden;padding:24px;position:relative}.real-time-results:before{animation:gradient-shift 8s ease infinite;background:linear-gradient(90deg,#22c55e,#10b981,#059669);background-size:300% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}.real-time-results h5{align-items:center;color:#15803d;display:flex;font-size:18px;font-weight:700;gap:10px;letter-spacing:-.025em;margin:0 0 20px}.real-time-results h5:before{content:"📊";filter:drop-shadow(0 2px 4px rgba(34,197,94,.2));font-size:20px}.real-time-score-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.real-time-score-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0cc;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;padding:20px;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.real-time-score-item:before{background:linear-gradient(90deg,#22c55e,#10b981);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .4s ease}.real-time-score-item:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-6px)}.real-time-score-item:hover:before{transform:scaleX(1)}.real-time-score-label{color:#475569;font-size:15px;font-weight:600;margin-bottom:12px;text-align:center}.real-time-score-value{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:10px;box-shadow:0 4px 12px #22c55e26;color:#15803d;font-size:28px;font-weight:700;margin-bottom:12px;padding:8px 16px;transition:all .3s ease}.real-time-score-value:hover{box-shadow:0 6px 16px #22c55e40;transform:scale(1.05)}@media (max-width:768px){.motion-performance-scoring{padding:16px}.scoring-header{align-items:flex-start;flex-direction:column;gap:12px}.scoring-header p{max-width:100%}.scoring-actions{flex-direction:column}.btn{justify-content:center;width:100%}.detailed-scores{grid-template-columns:1fr}.radar-container{align-items:center;flex-direction:column}.real-time-indicator{align-items:flex-start;flex-direction:column;gap:8px}.real-time-score{align-self:stretch;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:8px;margin-left:0;padding:8px;text-align:center}.real-time-score-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.score-circle{height:100px;width:100px}.score-value{font-size:28px}}@media (max-width:480px){.motion-performance-scoring{padding:12px}.scoring-header h3{font-size:18px}.overall-score,.radar-evaluation,.real-time-results,.score-breakdown{padding:16px}.real-time-score-grid{gap:8px;grid-template-columns:1fr}.score-circle{height:80px;width:80px}.score-value{font-size:24px}}@media (prefers-color-scheme:dark){.motion-performance-scoring{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;color:#f1f5f9}.scoring-header h3{color:#f1f5f9}.scoring-header p{color:#cbd5e1}.real-time-indicator{background:linear-gradient(135deg,#064e3b,#065f46);border-left-color:#10b981}.status-text{color:#6ee7b7}.real-time-score{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#10b981}.real-time-score .score-value{color:#6ee7b7}.overall-score,.radar-evaluation,.real-time-results,.score-breakdown,.score-item{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;color:#f1f5f9}.overall-score h4,.radar-evaluation h4,.real-time-results h5,.score-breakdown h4{color:#f1f5f9}.score-item-overall{background:linear-gradient(135deg,#334155,#475569);border-color:#64748b}.score-item-overall:hover{background:linear-gradient(135deg,#475569,#64748b)}.score-label{color:#cbd5e1}.score-value{background:linear-gradient(135deg,#334155,#475569)}.score-value.ai{background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#93c5fd}.score-value.teacher{background:linear-gradient(135deg,#14532d,#166534);color:#86efac}.score-value.final{background:linear-gradient(135deg,#7f1d1d,#991b1b);color:#fca5a5}.detail-item{color:#94a3b8}.real-time-score-item{background:linear-gradient(135deg,#334155,#475569);border-color:#64748b}.real-time-score-label{color:#cbd5e1}.real-time-score-value{background:linear-gradient(135deg,#14532d,#166534);color:#86efac}.progress-bar{background-color:#475569}.radar-chart-container{background:linear-gradient(135deg,#334155,#475569);border-color:#64748b}.radar-btn{background:linear-gradient(135deg,#475569,#64748b);border-color:#94a3b8;color:#cbd5e1}.radar-btn:hover{background:linear-gradient(135deg,#64748b,#94a3b8);color:#f1f5f9}.ai-score{background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#93c5fd}.teacher-score{background:linear-gradient(135deg,#14532d,#166534);color:#86efac}}.profile-data-checker{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:15px 0;padding:20px}.profile-data-checker.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.profile-data-checker.complete{border-left:4px solid #28a745}.data-summary h3{color:#28a745;margin-bottom:15px;margin-top:0}.data-highlights{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.highlight-item{background-color:#e9f7ef;border-radius:6px;display:flex;flex-direction:column;min-width:150px;padding:10px 15px}.highlight-item span:first-child{color:#6c757d;font-size:.85rem;margin-bottom:5px}.highlight-item span:last-child{color:#28a745;font-weight:600}.profile-data-checker.needs-assessment{border-left:4px solid #ffc107}.assessment-intro h3{color:#856404;margin-bottom:15px;margin-top:0}.assessment-intro p{color:#856404;line-height:1.5;margin-bottom:10px}.assessment-options{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.assessment-button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-weight:500;min-width:150px;padding:12px 20px;transition:all .2s ease}.assessment-button.primary{background-color:#007bff;color:#fff}.assessment-button.primary:hover{background-color:#0069d9}.assessment-step{margin-top:20px}.assessment-step h4{border-bottom:1px solid #dee2e6;color:#495057;margin-bottom:15px;margin-top:0;padding-bottom:10px}.assessment-processing{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:30px 20px}.processing-spinner{animation:spin 1s linear infinite;border:3px solid #e9ecef;border-radius:50%;border-top-color:#007bff;height:30px;margin-bottom:15px;width:30px}.assessment-results{display:flex;flex-direction:column;gap:20px}.result-group{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;padding:15px}.result-group h5{color:#495057;font-size:1rem;font-weight:600;margin-bottom:15px;margin-top:0}.result-item{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:8px 0}.result-item:last-child{border-bottom:none}.result-item label{color:#495057;font-weight:500}.result-item span{color:#212529;font-weight:600}.assessment-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:20px}.action-button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 16px;transition:all .2s ease}.action-button.primary{background-color:#007bff;color:#fff}.action-button.primary:hover:not(:disabled){background-color:#0069d9}.action-button.primary:disabled{background-color:#6c757d;cursor:not-allowed}.action-button.secondary{background-color:#6c757d;color:#fff}.action-button.secondary:hover{background-color:#5a6268}@media (max-width:768px){.profile-data-checker{padding:15px}.assessment-options{flex-direction:column}.assessment-button{width:100%}.data-highlights{flex-direction:column}.highlight-item{min-width:auto}.assessment-actions{flex-direction:column}.action-button{width:100%}}.annotation-workspace{background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh}.workspace-header{align-items:center;background-color:#2c3e50;box-shadow:0 2px 5px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.workspace-header h2{font-size:1.5rem;margin:0}.close-button{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;padding:5px;transition:background-color .3s}.close-button:hover{background-color:#ffffff1a}.workspace-content{display:flex;flex:1 1;overflow:hidden}.video-section{background-color:#34495e;display:flex;flex:1 1;flex-direction:column;padding:20px}.video-container{align-items:center;background-color:#000;border-radius:8px;box-shadow:0 4px 8px #0003;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative}.video-player{max-height:100%;max-width:100%;object-fit:contain}.annotation-canvas{cursor:crosshair;left:0;position:absolute;top:0;z-index:2}.overlay-canvas{left:0;pointer-events:none;position:absolute;top:0;z-index:1}.video-controls{align-items:center;display:flex;gap:15px;margin-top:15px}.frame-control{align-items:flex-start;background-color:#f8f9fa;border-radius:6px;display:flex;flex:1 1;flex-direction:column;gap:8px;padding:10px}.frame-control label{color:#333;font-size:14px;font-weight:600}.frame-interval-hint{color:#666;font-size:12px;font-weight:400}.frame-control input[type=range]{width:100%}.annotation-section{background-color:#ecf0f1;display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:20px;width:400px}.annotation-controls{display:flex;flex-direction:column;gap:15px}.manual-controls,.mode-toggle{display:flex;gap:10px}.manual-controls{background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0000001a;flex-direction:column;padding:10px}.grid-controls{align-items:center;display:flex;gap:10px}.grid-size-input{border:1px solid #ddd;border-radius:4px;padding:5px;width:60px}.history-controls,.point-controls{display:flex;gap:10px}.point-controls{align-items:center}.point-type-select{border:1px solid #ddd;border-radius:4px;padding:5px}.action-buttons{display:flex;flex-wrap:wrap;gap:10px}.annotation-info,.skeleton-detector{background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0000001a;padding:15px}.annotation-details{display:flex;flex-direction:column;gap:10px}.annotation-notes{border:1px solid #ddd;border-radius:4px;min-height:80px;padding:10px;resize:vertical;width:100%}.screenshots{display:flex;flex-wrap:wrap;gap:10px}.screenshot{border-radius:4px;cursor:pointer;height:75px;object-fit:cover;transition:transform .2s;width:100px}.screenshot:hover{transform:scale(1.05)}.overlay-controls{background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0000001a;margin-top:15px;padding:15px}.overlay-controls h4{color:#2c3e50;margin-bottom:10px;margin-top:0}.overlay-toggle{margin-bottom:10px}.overlay-settings{display:flex;flex-direction:column;gap:15px;margin-top:10px}.opacity-control{display:flex;flex-direction:column;gap:5px}.opacity-control label{font-size:14px;font-weight:700}.opacity-control input[type=range]{width:100%}.screenshot-selector{display:flex;flex-direction:column;gap:5px}.screenshot-selector label{font-size:14px;font-weight:700}.screenshot-selector select{background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:8px}.video-upload-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;display:flex;flex-direction:column;max-height:80vh;max-width:800px;overflow-y:auto;width:80%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:15px 20px}.profile-checker-modal{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.profile-checker-modal .modal-content{background-color:#fff;border-radius:8px;max-height:80vh;max-width:800px;overflow-y:auto;padding:20px;width:80%}.profile-checker-modal .modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h3{margin:0}.btn{border-radius:4px;font-size:14px;padding:8px 15px;transition:background-color .3s}.btn-primary{background-color:#3498db}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.btn:disabled{opacity:.6}@media (max-width:1024px){.workspace-content{flex-direction:column}.annotation-section{max-height:40vh;width:100%}.video-section{max-height:60vh}}@media (max-width:768px){.video-controls{align-items:stretch;flex-direction:column}.frame-control{width:100%}.action-buttons{flex-direction:column}}.dancer-profile-form{background-color:#fff;border-radius:16px;box-shadow:0 8px 30px #0000001a;font-family:PingFang SC,Microsoft YaHei,sans-serif;margin:0 auto;max-width:600px;overflow:hidden;padding:20px}.form-header{margin-bottom:30px;text-align:center}.form-header h1{color:#333;font-size:24px;font-weight:700;line-height:1.3;margin-bottom:8px}.form-subtitle{color:#58cc02;font-size:18px;font-weight:600;margin:0}.progress-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.progress-dots{display:flex;flex:1 1;margin-right:15px}.dot{background-color:#e5e5e5;border-radius:50%;height:8px;margin-right:8px;transition:background-color .3s ease;width:8px}.dot.active{background-color:#58cc02}.progress-text{color:#777;font-size:14px;font-weight:600}.form-content{margin-bottom:30px;min-height:400px}.form-step{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-step h2{color:#333;font-size:22px;font-weight:700;margin-bottom:25px;text-align:center}.question-group{margin-bottom:30px}.question-group h3{color:#333;font-size:18px;font-weight:600;margin-bottom:15px}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:12px}.checkbox-label,.radio-label{align-items:flex-start;background-color:#f7f7f7;border-radius:12px;cursor:pointer;display:flex;padding:15px;position:relative;transition:all .2s ease}.checkbox-label:hover,.radio-label:hover{background-color:#efefef}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark,.radio-mark{background-color:#fff;border:2px solid #cecece;border-radius:4px;flex-shrink:0;height:20px;margin-right:15px;position:relative;top:0;transition:all .2s ease;width:20px}.radio-mark{border-radius:50%}.checkbox-label input[type=checkbox]:checked~.checkmark,.radio-label input[type=radio]:checked~.radio-mark{background-color:#58cc02;border-color:#58cc02}.checkmark:after,.radio-mark:after{content:"";display:none;position:absolute}.checkbox-label input[type=checkbox]:checked~.checkmark:after{border:solid #fff;border-width:0 2px 2px 0;display:block;height:10px;left:6px;top:2px;transform:rotate(45deg);width:5px}.radio-label input[type=radio]:checked~.radio-mark:after{background:#fff;border-radius:50%;display:block;height:8px;left:6px;top:6px;width:8px}.form-actions{display:flex;gap:15px;justify-content:space-between}.btn{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background-color:#e5e5e5;color:#777}.btn-secondary:hover:not(:disabled){background-color:#d4d4d4}.btn-continue{background-color:#58cc02;color:#fff}.btn-continue:hover:not(:disabled){background-color:#58a700}.btn-primary{background-color:#ff9600;color:#fff}.btn-primary:hover:not(:disabled){background-color:#e58600}@media (max-width:768px){.dancer-profile-form{margin:10px;padding:15px}.form-header h1{font-size:20px}.form-subtitle{font-size:16px}.form-step h2{font-size:20px}.question-group h3{font-size:16px}.checkbox-label,.radio-label{padding:12px}.btn{font-size:14px;padding:10px 20px}}.completion-message{padding:30px 0;text-align:center}.completion-message h2{color:#58cc02;font-size:24px;margin-bottom:15px}.completion-message p{color:#333;font-size:16px;margin-bottom:25px}.completion-icon{font-size:60px;margin-bottom:20px}.profile-summary{background-color:#f7f7f7;border-radius:12px;margin-bottom:30px;padding:20px;text-align:left}.profile-summary h3{color:#333;font-size:20px;margin-bottom:20px;text-align:center}.summary-section{margin-bottom:20px}.summary-section:last-child{margin-bottom:0}.summary-section h4{color:#58cc02;font-size:16px;font-weight:600;margin-bottom:8px}.summary-section p{color:#555;font-size:14px;line-height:1.4;margin:5px 0}.summary-section strong{color:#333}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.btn-primary:not(:disabled):hover{animation:pulse .5s infinite alternate}.wechat-section{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:12px;margin-bottom:20px;padding:20px;text-align:center}.wechat-tip{color:#2e7d32;font-size:15px;font-weight:500;margin-bottom:12px}.btn-wechat{background:linear-gradient(135deg,#07c160,#06ad56);border-radius:25px;box-shadow:0 4px 15px #07c1604d;color:#fff;display:inline-block;font-size:16px;font-weight:600;padding:12px 32px;text-decoration:none;transition:all .3s ease}.btn-wechat:hover{box-shadow:0 6px 20px #07c16066;transform:translateY(-2px)}.dancer-profile-demo{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.demo-header{background-color:#58cc02;box-shadow:0 2px 10px #0000001a;color:#fff;padding:20px;text-align:center}.demo-header h1{font-size:28px;font-weight:700;margin:0}.demo-header p{font-size:16px;margin:5px 0 0;opacity:.9}.demo-main{align-items:flex-start;display:flex;flex:1 1;justify-content:center;padding:40px 20px}.demo-footer{background-color:#333;color:#fff;font-size:14px;padding:15px;text-align:center}@media (max-width:768px){.demo-header h1{font-size:24px}.demo-header p{font-size:14px}.demo-main{padding:20px 10px}}
/*# sourceMappingURL=main.1aaffddc.css.map*/