.report-overlay[data-v-d0f88cb6]{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:flex;justify-content:flex-end}.report-panel[data-v-d0f88cb6]{width:540px;max-width:92vw;height:100%;background:#f9fafb;box-shadow:-4px 0 30px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden}.report-header[data-v-d0f88cb6]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#0ea5e9,#3b82f6);color:#fff}.report-header-info[data-v-d0f88cb6]{display:flex;align-items:center;gap:12px}.report-avatar[data-v-d0f88cb6]{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#fff;border:2px solid hsla(0,0%,100%,.3)}.report-header-name[data-v-d0f88cb6]{font-size:16px;font-weight:600;margin:0;color:#fff}.report-header-book[data-v-d0f88cb6]{font-size:12px;margin:2px 0 0;opacity:.85}.report-header-actions[data-v-d0f88cb6]{display:flex;align-items:center;gap:6px}.export-btn[data-v-d0f88cb6]{width:32px;height:32px;border:none;border-radius:8px;background:hsla(0,0%,100%,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.export-btn[data-v-d0f88cb6]:hover{background:hsla(0,0%,100%,.35)}.export-btn i[data-v-d0f88cb6]{font-size:18px}.report-close[data-v-d0f88cb6]{width:32px;height:32px;border:none;border-radius:8px;background:hsla(0,0%,100%,.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:4px;transition:background .15s}.report-close[data-v-d0f88cb6]:hover{background:hsla(0,0%,100%,.3)}.report-close i[data-v-d0f88cb6]{font-size:20px}.report-body[data-v-d0f88cb6]{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.date-range-bar[data-v-d0f88cb6]{display:flex;align-items:center;gap:10px}.date-range-label[data-v-d0f88cb6]{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#374151}.date-range-label i[data-v-d0f88cb6]{font-size:18px;color:#6b7280}.date-range-select[data-v-d0f88cb6]{padding:6px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;color:#374151;background:#fff;cursor:pointer;outline:none}.date-range-select[data-v-d0f88cb6]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.15)}.student-info-card[data-v-d0f88cb6]{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.student-profile[data-v-d0f88cb6]{display:flex;align-items:center;gap:20px}.student-avatar-lg[data-v-d0f88cb6]{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-avatar-lg i[data-v-d0f88cb6]{font-size:32px;color:hsla(0,0%,100%,.7)}.student-details[data-v-d0f88cb6]{display:flex;flex-direction:column;gap:6px}.student-detail-row[data-v-d0f88cb6]{display:flex;gap:8px;font-size:14px}.detail-label[data-v-d0f88cb6]{color:#6b7280;font-weight:500}.detail-value[data-v-d0f88cb6]{color:#1f2937;font-weight:600}.metrics-row[data-v-d0f88cb6]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.metric-card[data-v-d0f88cb6]{background:#fff;border-radius:14px;padding:20px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.06)}.metric-title[data-v-d0f88cb6]{font-size:13px;font-weight:600;color:#6b7280;margin:0 0 12px}.metric-value-lg[data-v-d0f88cb6]{font-size:36px;font-weight:700;color:#1f2937}.doughnut-wrapper[data-v-d0f88cb6]{display:flex;justify-content:center}.report-section[data-v-d0f88cb6]{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.section-title[data-v-d0f88cb6]{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 16px}.chart-legend[data-v-d0f88cb6]{display:flex;gap:16px;margin-bottom:12px}.legend-item[data-v-d0f88cb6]{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.legend-dot[data-v-d0f88cb6]{width:10px;height:10px;border-radius:3px}.skill-chart-wrapper[data-v-d0f88cb6]{position:relative;height:280px}.ai-scores[data-v-d0f88cb6]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.ai-score-row[data-v-d0f88cb6]{display:flex;justify-content:space-between;font-size:14px}.ai-score-label[data-v-d0f88cb6]{color:#374151}.ai-score-value[data-v-d0f88cb6]{font-weight:600;color:#1f2937}.ai-feedback-box[data-v-d0f88cb6]{margin-top:16px}.ai-feedback-label[data-v-d0f88cb6]{font-size:14px;font-weight:600;color:#374151;margin-bottom:8px;display:block}.ai-feedback-content[data-v-d0f88cb6]{border:1.5px solid #1f2937;border-radius:8px;padding:16px;min-height:80px;font-size:13px;color:#374151;line-height:1.6;background:#fff}.writing-table[data-v-d0f88cb6]{width:100%;border-collapse:collapse;margin-bottom:8px}.writing-table th[data-v-d0f88cb6]{background:#f3f4f6;padding:8px 12px;font-size:13px;font-weight:600;color:#6b7280;text-align:left;border-bottom:1px solid #e5e7eb}.writing-table td[data-v-d0f88cb6]{padding:8px 12px;font-size:13px;color:#374151;border-bottom:1px solid #f3f4f6}.slide-panel-enter-active[data-v-d0f88cb6],.slide-panel-leave-active[data-v-d0f88cb6]{transition:opacity .3s ease}.slide-panel-enter-active .report-panel[data-v-d0f88cb6],.slide-panel-leave-active .report-panel[data-v-d0f88cb6]{transition:transform .3s ease}.slide-panel-enter-from[data-v-d0f88cb6]{opacity:0}.slide-panel-enter-from .report-panel[data-v-d0f88cb6]{transform:translateX(100%)}.slide-panel-leave-to[data-v-d0f88cb6]{opacity:0}.slide-panel-leave-to .report-panel[data-v-d0f88cb6]{transform:translateX(100%)}.learning-activity-container[data-v-cb803b66]{padding:0}.loading-state[data-v-cb803b66]{display:flex;justify-content:center;padding:60px 20px}.loading-card[data-v-cb803b66]{text-align:center}.loading-spinner[data-v-cb803b66]{display:flex;justify-content:center;margin-bottom:16px}.spinner[data-v-cb803b66]{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin-cb803b66 1s linear infinite}@keyframes spin-cb803b66{to{transform:rotate(1turn)}}.loading-text[data-v-cb803b66]{color:#6b7280;font-size:14px;margin:0}.empty-state[data-v-cb803b66]{display:flex;justify-content:center;padding:80px 20px}.empty-card[data-v-cb803b66]{text-align:center;max-width:400px}.empty-icon[data-v-cb803b66]{width:80px;height:80px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.empty-icon i[data-v-cb803b66]{font-size:36px;color:#9ca3af}.empty-title[data-v-cb803b66]{font-size:18px;font-weight:600;color:#374151;margin-bottom:8px}.empty-description[data-v-cb803b66]{font-size:14px;color:#6b7280;line-height:1.6;margin:0}.stats-row[data-v-cb803b66]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card[data-v-cb803b66]{background:#fff;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s}.stat-card[data-v-cb803b66]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.stat-icon[data-v-cb803b66]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-icon i[data-v-cb803b66]{font-size:24px;color:#fff}.stat-info[data-v-cb803b66]{display:flex;flex-direction:column}.stat-value[data-v-cb803b66]{font-size:24px;font-weight:700;color:#1f2937}.stat-label[data-v-cb803b66]{font-size:13px;color:#6b7280}.book-card[data-v-cb803b66]{background:#fff;border-radius:20px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.book-header[data-v-cb803b66]{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #f3f4f6}.book-icon[data-v-cb803b66]{width:56px;height:56px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.book-icon i[data-v-cb803b66]{font-size:28px;color:#fff}.book-info[data-v-cb803b66]{flex:1}.book-title[data-v-cb803b66]{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 8px 0}.book-meta[data-v-cb803b66]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.meta-item[data-v-cb803b66]{display:flex;align-items:center;gap:4px;font-size:13px;color:#6b7280}.meta-item i[data-v-cb803b66]{font-size:16px}.meta-divider[data-v-cb803b66]{color:#d1d5db}.user-avatar[data-v-cb803b66]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.progress-bar-container[data-v-cb803b66]{width:160px;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;flex-shrink:0}.progress-bar-fill[data-v-cb803b66]{height:100%;border-radius:3px;transition:width .3s ease}.progress-bar-fill.high[data-v-cb803b66]{background:linear-gradient(90deg,#22c55e,#16a34a)}.progress-bar-fill.medium[data-v-cb803b66]{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-bar-fill.low[data-v-cb803b66]{background:linear-gradient(90deg,#ef4444,#dc2626)}.progress-text[data-v-cb803b66]{font-size:12px;color:#6b7280;white-space:nowrap}.user-rate[data-v-cb803b66]{font-size:14px;font-weight:700;padding:6px 10px;border-radius:8px;min-width:55px;text-align:center}.rate-high[data-v-cb803b66]{background:#dcfce7;color:#16a34a}.rate-medium[data-v-cb803b66]{background:#fef3c7;color:#d97706}.rate-low[data-v-cb803b66]{background:#fee2e2;color:#dc2626}.practice-list[data-v-cb803b66]{display:flex;flex-direction:column;gap:20px}.chapter-group[data-v-cb803b66]{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)}.chapter-header[data-v-cb803b66]{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#fce7f3,#fbcfe8);border-bottom:1px solid #f9a8d4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chapter-toggle-icon[data-v-cb803b66]{font-size:20px;color:#9d174d;transition:transform .2s ease}.chapter-toggle-icon.expanded[data-v-cb803b66]{transform:rotate(180deg)}.chapter-number[data-v-cb803b66]{font-size:12px;font-weight:700;color:#fff;background:#ec4899;padding:4px 12px;border-radius:8px;flex-shrink:0}.chapter-title[data-v-cb803b66]{font-size:14px;font-weight:600;color:#831843;line-height:1.4;flex:1}.chapter-summary[data-v-cb803b66]{display:flex;align-items:center;gap:10px;flex-shrink:0}.chapter-summary-item[data-v-cb803b66]{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:500;color:#9d174d;background:hsla(0,0%,100%,.6);padding:3px 8px;border-radius:6px}.chapter-summary-item i[data-v-cb803b66]{font-size:14px}.practice-item[data-v-cb803b66]{display:flex;align-items:center;padding:14px 20px;gap:12px;transition:background .15s;border-bottom:1px solid #f3f4f6}.practice-item[data-v-cb803b66]:last-child{border-bottom:none}.practice-item[data-v-cb803b66]:hover{background:#f9fafb}.practice-item.completed .practice-status-icon i[data-v-cb803b66]{color:#22c55e}.practice-status-icon[data-v-cb803b66]{flex-shrink:0}.practice-status-icon i[data-v-cb803b66]{font-size:20px;color:#d1d5db}.practice-content[data-v-cb803b66]{flex:1;min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.practice-type[data-v-cb803b66]{font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;background:#f3f4f6;color:#4b5563;flex-shrink:0}.practice-type.type-interaction[data-v-cb803b66]{background:#e0e7ff;color:#4338ca}.practice-type.type-pip[data-v-cb803b66],.practice-type.type-pip_interpretation[data-v-cb803b66],.practice-type.type-pip_performance[data-v-cb803b66],.practice-type.type-pip_pronunciation[data-v-cb803b66]{background:#fef3c7;color:#b45309}.practice-type.type-writing[data-v-cb803b66]{background:#dbeafe;color:#1d4ed8}.practice-type.type-speaking[data-v-cb803b66],.practice-type.type-spontaneousConversation[data-v-cb803b66]{background:#fce7f3;color:#be185d}.practice-type.type-reading[data-v-cb803b66]{background:#d1fae5;color:#059669}.practice-type.type-listening[data-v-cb803b66]{background:#e0e7ff;color:#4338ca}.practice-type.type-vocabulary[data-v-cb803b66]{background:#fef9c3;color:#a16207}.practice-type.type-grammar[data-v-cb803b66]{background:#f3e8ff;color:#7c3aed}.practice-type.type-cardFlip[data-v-cb803b66],.practice-type.type-cardMatching[data-v-cb803b66],.practice-type.type-dragAndDrop[data-v-cb803b66]{background:#e0f2fe;color:#0369a1}.practice-type.type-ai_qna[data-v-cb803b66]{background:#e0e7ff;color:#4338ca}.practice-type.type-InterpretingConversationComplete[data-v-cb803b66],.practice-type.type-InterpretingConversationSequence[data-v-cb803b66],.practice-type.type-MemoryInterpretationNotes[data-v-cb803b66],.practice-type.type-MemoryInterpretation[data-v-cb803b66],.practice-type.type-interpMemoryNote[data-v-cb803b66],.practice-type.type-interpMemory[data-v-cb803b66],.practice-type.type-interp[data-v-cb803b66],.practice-type.type-interpretation[data-v-cb803b66],.practice-type.type-transRecording[data-v-cb803b66],.practice-type.type-transText[data-v-cb803b66],.practice-type.type-translationRecording[data-v-cb803b66],.practice-type.type-translationText[data-v-cb803b66]{background:#fef9c3;color:#a16207}.practice-type.type-dragDrop[data-v-cb803b66],.practice-type.type-line[data-v-cb803b66],.practice-type.type-pair[data-v-cb803b66]{background:#e0f2fe;color:#0369a1}.skill-tag[data-v-cb803b66]{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:6px;background:#f0fdf4;color:#15803d;flex-shrink:0}.skill-tag i[data-v-cb803b66]{font-size:13px}.skill-tag.skill-listening[data-v-cb803b66]{background:#eff6ff;color:#1d4ed8}.skill-tag.skill-speaking[data-v-cb803b66]{background:#fdf2f8;color:#be185d}.skill-tag.skill-reading[data-v-cb803b66]{background:#f0fdf4;color:#15803d}.skill-tag.skill-writing[data-v-cb803b66]{background:#eef2ff;color:#4338ca}.skill-tag.skill-vocabulary[data-v-cb803b66]{background:#fefce8;color:#a16207}.skill-tag.skill-grammar[data-v-cb803b66]{background:#f5f3ff;color:#7c3aed}.practice-section[data-v-cb803b66]{font-size:13px;color:#6b7280}.practice-result[data-v-cb803b66]{text-align:right;flex-shrink:0}.score-badge[data-v-cb803b66]{font-size:14px;font-weight:600;padding:6px 12px;border-radius:8px;margin-bottom:6px}.score-badge.score-high[data-v-cb803b66]{background:#dcfce7;color:#16a34a}.score-badge.score-medium[data-v-cb803b66]{background:#fef3c7;color:#d97706}.score-badge.score-low[data-v-cb803b66]{background:#fee2e2;color:#dc2626}.score-badge.empty[data-v-cb803b66]{background:#f3f4f6;color:#9ca3af}.practice-date[data-v-cb803b66]{font-size:12px;color:#9ca3af}.practice-actions[data-v-cb803b66]{flex-shrink:0}.detail-btn[data-v-cb803b66]{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.detail-btn[data-v-cb803b66]:hover{background:#6366f1}.detail-btn:hover i[data-v-cb803b66]{color:#fff}.detail-btn i[data-v-cb803b66]{font-size:18px;color:#6b7280;transition:color .2s}.action-btn[data-v-cb803b66]{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:none;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.action-btn i[data-v-cb803b66]{font-size:13px}.action-btn-primary[data-v-cb803b66]{background:#e0e7ff;color:#4338ca}.action-btn-primary[data-v-cb803b66]:hover{background:#6366f1;color:#fff}.action-btn-info[data-v-cb803b66]{background:#e0f2fe;color:#0369a1}.action-btn-info[data-v-cb803b66]:hover{background:#0ea5e9;color:#fff}.user-row[data-v-cb803b66]{cursor:pointer;transition:background .15s}.user-row[data-v-cb803b66]:hover{background:#f9fafb}.user-row.selected[data-v-cb803b66]{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.slide-panel-overlay[data-v-cb803b66]{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:flex;justify-content:flex-end}.slide-panel[data-v-cb803b66]{width:500px;max-width:90vw;height:100%;background:#fff;box-shadow:-4px 0 30px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-cb803b66]{display:flex;align-items:center;justify-content:space-between;padding:20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.panel-user-info[data-v-cb803b66]{display:flex;align-items:center;gap:14px}.panel-avatar[data-v-cb803b66]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#fff;border:2px solid hsla(0,0%,100%,.3)}.panel-user-details[data-v-cb803b66]{display:flex;flex-direction:column;gap:4px}.panel-user-name[data-v-cb803b66]{font-size:17px;font-weight:600;margin:0;color:#fff}.panel-book-title[data-v-cb803b66]{font-size:13px;margin:0;opacity:.85}.panel-close[data-v-cb803b66]{width:36px;height:36px;border:none;background:hsla(0,0%,100%,.2);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.panel-close[data-v-cb803b66]:hover{background:hsla(0,0%,100%,.3)}.panel-close i[data-v-cb803b66]{font-size:20px;color:#fff}.panel-stats[data-v-cb803b66]{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.panel-stat[data-v-cb803b66]{display:flex;flex-direction:column;align-items:center;gap:6px}.panel-stat-circle[data-v-cb803b66]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center}.panel-stat-circle.rate-high[data-v-cb803b66]{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #22c55e}.panel-stat-circle.rate-medium[data-v-cb803b66]{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.panel-stat-circle.rate-low[data-v-cb803b66]{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444}.panel-stat-value[data-v-cb803b66]{font-size:14px;font-weight:700;color:#1f2937}.panel-stat-number[data-v-cb803b66]{font-size:24px;font-weight:700;color:#1f2937}.panel-stat-label[data-v-cb803b66]{font-size:12px;color:#6b7280}.panel-stat-divider[data-v-cb803b66]{width:1px;height:40px;background:#e5e7eb}.panel-content[data-v-cb803b66]{flex:1;overflow-y:auto;padding:16px}.slide-panel-enter-active[data-v-cb803b66]{transition:opacity .3s ease}.slide-panel-enter-active .slide-panel[data-v-cb803b66]{transition:transform .3s ease}.slide-panel-leave-active[data-v-cb803b66]{transition:opacity .3s ease}.slide-panel-leave-active .slide-panel[data-v-cb803b66]{transition:transform .3s ease}.slide-panel-enter-from[data-v-cb803b66]{opacity:0}.slide-panel-enter-from .slide-panel[data-v-cb803b66]{transform:translateX(100%)}.slide-panel-leave-to[data-v-cb803b66]{opacity:0}.slide-panel-leave-to .slide-panel[data-v-cb803b66]{transform:translateX(100%)}@media (max-width:768px){.stats-row[data-v-cb803b66],.users-grid[data-v-cb803b66]{grid-template-columns:1fr}.slide-panel[data-v-cb803b66]{width:100%;max-width:100%}.panel-stats[data-v-cb803b66]{gap:16px;flex-wrap:wrap}.panel-stat-circle[data-v-cb803b66]{width:48px;height:48px}.panel-stat-value[data-v-cb803b66]{font-size:12px}.panel-stat-number[data-v-cb803b66]{font-size:20px}}