@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css);@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap);.global-header[data-v-2cd5979d]{background:var(--bg-header);padding:0;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:1000}.header-content[data-v-2cd5979d]{display:flex;align-items:center;margin:0 auto;padding:1rem 2rem;width:100%}.brand[data-v-2cd5979d]{display:flex;align-items:center;gap:.75rem;flex:0 0 auto;margin-right:auto}.logo-icon[data-v-2cd5979d]{width:40px;height:40px;background:var(--accent-gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.logo-text[data-v-2cd5979d]{font-size:1.5rem;font-weight:700;color:#fff}.logo-badge[data-v-2cd5979d]{background:var(--accent-color);color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.nav-links[data-v-2cd5979d]{display:flex;gap:2rem;align-items:center;flex:0 0 auto;justify-content:center}.nav-link[data-v-2cd5979d]{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease;font-weight:500}.nav-link[data-v-2cd5979d]:hover{background:var(--bg-tertiary);transform:translateY(-2px)}.nav-link.router-link-active[data-v-2cd5979d]{background:var(--bg-button);color:#fff}.user-section[data-v-2cd5979d]{display:flex;align-items:center;gap:1rem;flex:0 0 auto;margin-left:auto}.user-info[data-v-2cd5979d]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border-radius:8px}.user-info i[data-v-2cd5979d]{font-size:1.2rem;color:var(--accent-success)}.username[data-v-2cd5979d]{font-weight:500;color:var(--text-primary)}.logout-btn[data-v-2cd5979d]{display:flex;align-items:center;gap:.5rem;background:hsla(0,88%,68%,.1);color:var(--accent-error);border:1px solid var(--accent-error);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500}.logout-btn[data-v-2cd5979d]:hover{background:hsla(0,88%,68%,.2);transform:translateY(-2px)}@media (max-width:768px){.header-content[data-v-2cd5979d]{padding:1rem;flex-wrap:wrap;gap:1rem}.nav-links[data-v-2cd5979d]{gap:1rem}.nav-link[data-v-2cd5979d]{padding:.4rem .8rem;font-size:.9rem}.user-section[data-v-2cd5979d]{gap:.5rem}}:root{--bg-primary:#1a202c;--bg-secondary:#2d3748;--bg-tertiary:#4a5568;--bg-card:#2d3748;--bg-header:linear-gradient(135deg,#252939,#48454b);--bg-sidebar:#1a1d29;--bg-input:#1a202c;--bg-button:linear-gradient(135deg,#48bb78,#38a169);--bg-button-hover:linear-gradient(135deg,#38a169,#2f855a);--text-primary:#fff;--text-secondary:#e2e8f0;--text-tertiary:#a0aec0;--text-inverse:#1a202c;--border-primary:#4a5568;--border-secondary:#2d3748;--border-focus:#48bb78;--accent-primary:#48bb78;--accent-success:#48bb78;--accent-warning:#ed8936;--accent-error:#f56565;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5)}body{margin:0;font-family:Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}[data-v-6d92ebae]{margin:0;padding:0;box-sizing:border-box}.landing-container[data-v-6d92ebae]{font-family:Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;position:relative}.animated-background[data-v-6d92ebae]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}.floating-shapes[data-v-6d92ebae]{position:absolute;width:100%;height:100%;overflow:hidden}.shape[data-v-6d92ebae]{position:absolute;border-radius:50%;background:var(--accent-color);opacity:.1;animation:float-6d92ebae 20s linear infinite}.shape-1[data-v-6d92ebae]{width:80px;height:80px;top:20%;left:10%;animation-delay:0s}.shape-2[data-v-6d92ebae]{width:120px;height:120px;top:60%;right:15%;animation-delay:-5s}.shape-3[data-v-6d92ebae]{width:60px;height:60px;top:80%;left:20%;animation-delay:-10s}.shape-4[data-v-6d92ebae]{width:100px;height:100px;top:10%;right:30%;animation-delay:-15s}.shape-5[data-v-6d92ebae]{width:140px;height:140px;top:40%;left:60%;animation-delay:-7s}.shape-6[data-v-6d92ebae]{width:90px;height:90px;top:70%;right:40%;animation-delay:-12s}@keyframes float-6d92ebae{0%{transform:translateY(0) rotate(0deg);opacity:.1}50%{opacity:.2}to{transform:translateY(-100vh) rotate(1turn);opacity:0}}.gradient-overlay[data-v-6d92ebae]{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 20%,var(--accent-color-alpha) 0,transparent 50%),radial-gradient(circle at 70% 80%,var(--accent-color-alpha) 0,transparent 50%);z-index:-1}.modern-header[data-v-6d92ebae]{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-secondary);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);transition:all .3s ease}.header-content[data-v-6d92ebae]{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo-section[data-v-6d92ebae]{display:flex;align-items:center;gap:.75rem}.logo-icon[data-v-6d92ebae]{width:40px;height:40px;background:var(--accent-gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.logo-text[data-v-6d92ebae]{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.logo-badge[data-v-6d92ebae]{background:var(--accent-color);color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.header-nav[data-v-6d92ebae]{display:flex;align-items:center;gap:2rem}.nav-link[data-v-6d92ebae]{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .3s ease}.nav-link[data-v-6d92ebae]:hover{color:var(--text-primary)}.login-btn[data-v-6d92ebae]{background:var(--accent-gradient);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.login-btn[data-v-6d92ebae]:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-color-alpha)}.hero-section[data-v-6d92ebae]{padding:8rem 2rem 4rem;max-width:1200px;margin:0 auto}.hero-content[data-v-6d92ebae]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-title[data-v-6d92ebae]{font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;display:flex;flex-direction:column}.title-line[data-v-6d92ebae]{animation:slideInUp-6d92ebae .8s ease-out forwards;opacity:0;transform:translateY(30px)}.title-line[data-v-6d92ebae]:first-child{animation-delay:.1s}.title-line[data-v-6d92ebae]:nth-child(2){animation-delay:.3s}.title-line[data-v-6d92ebae]:nth-child(3){animation-delay:.5s}.highlight[data-v-6d92ebae]{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle[data-v-6d92ebae]{font-size:1.25rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem;animation:slideInUp-6d92ebae .8s ease-out .7s forwards;opacity:0;transform:translateY(30px)}.hero-stats[data-v-6d92ebae]{display:flex;gap:2rem;margin-bottom:2.5rem;animation:slideInUp-6d92ebae .8s ease-out .9s forwards;opacity:0;transform:translateY(30px)}.stat-item[data-v-6d92ebae]{text-align:center}.stat-number[data-v-6d92ebae]{font-size:2rem;font-weight:700;color:var(--accent-color);display:block}.stat-label[data-v-6d92ebae]{font-size:.9rem;color:var(--text-secondary);font-weight:500}.hero-actions[data-v-6d92ebae]{display:flex;gap:1rem;animation:slideInUp-6d92ebae .8s ease-out 1.1s forwards;opacity:0;transform:translateY(30px)}.cta-primary[data-v-6d92ebae]{background:var(--accent-gradient);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.cta-primary[data-v-6d92ebae]:hover{transform:translateY(-3px);box-shadow:0 12px 30px var(--accent-color-alpha)}.cta-primary.large[data-v-6d92ebae]{padding:1.25rem 2.5rem;font-size:1.2rem}.cta-secondary[data-v-6d92ebae]{background:transparent;color:var(--text-primary);border:2px solid var(--border-color);padding:1rem 2rem;border-radius:12px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.cta-secondary[data-v-6d92ebae]:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.hero-visual[data-v-6d92ebae]{animation:slideInRight-6d92ebae 1s ease-out .5s forwards;opacity:0;transform:translateX(50px)}.typing-demo-container[data-v-6d92ebae]{background:var(--bg-secondary);border-radius:20px;padding:1.5rem;border:1px solid var(--border-color);box-shadow:0 20px 40px var(--shadow-dark)}.demo-header[data-v-6d92ebae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.demo-controls[data-v-6d92ebae]{display:flex;gap:.5rem}.control-dot[data-v-6d92ebae]{width:12px;height:12px;border-radius:50%}.control-dot.red[data-v-6d92ebae]{background:#ff5f57}.control-dot.yellow[data-v-6d92ebae]{background:#ffbd2e}.control-dot.green[data-v-6d92ebae]{background:#28ca42}.demo-title[data-v-6d92ebae]{font-weight:600;color:var(--text-secondary)}.typing-stats[data-v-6d92ebae]{display:flex;justify-content:space-between;align-items:center}.stat[data-v-6d92ebae]{text-align:center}.stat-value[data-v-6d92ebae]{font-size:2rem;font-weight:700;color:var(--accent-color);display:block}.stat-unit[data-v-6d92ebae]{font-size:.9rem;color:var(--text-secondary)}.progress-ring[data-v-6d92ebae]{position:relative;width:80px;height:80px}.progress-svg[data-v-6d92ebae]{width:100%;height:100%;transform:rotate(-90deg)}.progress-bg[data-v-6d92ebae]{fill:none;stroke:var(--bg-tertiary);stroke-width:3}.progress-bar[data-v-6d92ebae]{fill:none;stroke:var(--accent-color);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.progress-text[data-v-6d92ebae]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:600;color:var(--text-primary)}.typing-section[data-v-6d92ebae]{padding:4rem 2rem;max-width:1000px;margin:0 auto}.section-header[data-v-6d92ebae]{text-align:center;margin-bottom:3rem}.section-title[data-v-6d92ebae]{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.section-subtitle[data-v-6d92ebae]{font-size:1.2rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.typing-container[data-v-6d92ebae]{background:var(--bg-secondary);border-radius:20px;padding:2rem;border:1px solid var(--border-color);box-shadow:0 20px 40px var(--shadow-dark)}.typing-controls[data-v-6d92ebae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.control-group[data-v-6d92ebae]{display:flex;align-items:center;gap:1rem}.control-btn[data-v-6d92ebae]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:12px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.control-btn[data-v-6d92ebae]:hover:not(.disabled){background:var(--bg-secondary);border-color:var(--accent-color)}.control-btn.disabled[data-v-6d92ebae]{opacity:.6;cursor:not-allowed}.control-btn.start-btn[data-v-6d92ebae]{background:var(--accent-gradient);border:1px solid var(--accent-color);color:#fff;font-weight:600}.control-btn.start-btn[data-v-6d92ebae]:hover{background:var(--accent-gradient);transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-color-alpha)}.time-display[data-v-6d92ebae]{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-weight:500}.progress-container[data-v-6d92ebae]{flex:1;margin-left:2rem}.progress-track[data-v-6d92ebae]{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill[data-v-6d92ebae]{height:100%;background:var(--accent-gradient);transition:width .3s ease;border-radius:4px}.typing-box-container[data-v-6d92ebae]{margin-bottom:1rem}.modern-typing-box[data-v-6d92ebae]{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:16px;padding:2rem;min-height:200px;font-size:1.2rem;line-height:1.8;outline:none;cursor:text;transition:border-color .3s ease,box-shadow .3s ease;position:relative;overflow:hidden;box-sizing:border-box}.modern-typing-box[data-v-6d92ebae]:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-color-alpha)}.typing-content[data-v-6d92ebae]{text-align:left;word-break:normal;overflow-wrap:normal;hyphens:none;white-space:pre-wrap;font-family:Courier New,monospace;letter-spacing:.5px}.word[data-v-6d92ebae]{display:inline;white-space:pre}.pending[data-v-6d92ebae]{color:var(--text-tertiary)}.correct[data-v-6d92ebae]{color:var(--success-color);background:rgba(72,187,120,.1);border-radius:3px}.incorrect[data-v-6d92ebae]{color:var(--error-color);background:hsla(0,88%,68%,.1);border-radius:3px}.modern-cursor[data-v-6d92ebae]{display:inline;width:2px;height:1.4em;background:var(--accent-color);animation:modernBlink-6d92ebae 1.2s infinite;vertical-align:text-bottom;border-radius:1px;position:relative}.end-cursor[data-v-6d92ebae]{margin-left:2px;margin-right:0}@keyframes modernBlink-6d92ebae{0%,50%{opacity:1}51%,to{opacity:0}}.typing-actions[data-v-6d92ebae]{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem}.action-btn[data-v-6d92ebae]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:12px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.action-btn[data-v-6d92ebae]:hover{background:var(--accent-color);color:#fff;transform:translateY(-2px)}.typing-info[data-v-6d92ebae]{color:var(--text-secondary);font-size:.9rem}.warning-card[data-v-6d92ebae]{background:var(--bg-secondary);border:1px solid var(--warning-color);border-radius:16px;padding:2rem;margin-top:2rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 8px 25px rgba(245,158,11,.1)}.warning-icon[data-v-6d92ebae]{width:60px;height:60px;background:var(--warning-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.warning-content h4[data-v-6d92ebae]{margin-bottom:.5rem;color:var(--text-primary)}.warning-content p[data-v-6d92ebae]{color:var(--text-secondary);margin:0}.warning-action[data-v-6d92ebae]{background:var(--warning-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.warning-action[data-v-6d92ebae]:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(245,158,11,.3)}.features-section[data-v-6d92ebae]{padding:4rem 2rem;background:var(--bg-secondary)}.features-container[data-v-6d92ebae]{max-width:1200px;margin:0 auto}.features-grid[data-v-6d92ebae]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem}.feature-card[data-v-6d92ebae]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease;cursor:pointer}.feature-card[data-v-6d92ebae]:hover{transform:translateY(-5px);box-shadow:0 20px 40px var(--shadow-dark);border-color:var(--accent-color)}.feature-icon[data-v-6d92ebae]{width:80px;height:80px;background:var(--accent-gradient);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff;font-size:2rem}.feature-title[data-v-6d92ebae]{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.feature-description[data-v-6d92ebae]{color:var(--text-secondary);line-height:1.6}.cta-section[data-v-6d92ebae]{padding:4rem 2rem;background:var(--accent-gradient);color:#fff}.cta-container[data-v-6d92ebae]{max-width:800px;margin:0 auto;text-align:center}.cta-title[data-v-6d92ebae]{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-subtitle[data-v-6d92ebae]{font-size:1.2rem;opacity:.9;margin-bottom:2rem}.cta-actions[data-v-6d92ebae]{display:flex;justify-content:center}.cta-primary.large[data-v-6d92ebae]{background:#fff;color:#2d3748;font-weight:600}.cta-primary.large[data-v-6d92ebae]:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.2)}@keyframes slideInUp-6d92ebae{to{opacity:1;transform:translateY(0)}}@keyframes slideInRight-6d92ebae{to{opacity:1;transform:translateX(0)}}.slide-up-enter-active[data-v-6d92ebae]{transition:all .3s ease-out}.slide-up-leave-active[data-v-6d92ebae]{transition:all .3s ease-in}.slide-up-enter-from[data-v-6d92ebae]{opacity:0;transform:translateY(30px)}.slide-up-leave-to[data-v-6d92ebae]{opacity:0;transform:translateY(-30px)}@media (max-width:768px){.hero-content[data-v-6d92ebae]{grid-template-columns:1fr;gap:2rem;text-align:center}.hero-title[data-v-6d92ebae]{font-size:2.5rem}.hero-actions[data-v-6d92ebae]{flex-direction:column;align-items:center}.features-grid[data-v-6d92ebae]{grid-template-columns:1fr}.typing-controls[data-v-6d92ebae]{flex-direction:column;gap:1rem;align-items:stretch}.progress-container[data-v-6d92ebae]{margin-left:0}.warning-card[data-v-6d92ebae]{flex-direction:column;text-align:center}.header-content[data-v-6d92ebae]{padding:1rem}.header-nav[data-v-6d92ebae]{gap:1rem}.nav-link[data-v-6d92ebae]{display:none}}@media (max-width:480px){.cta-title[data-v-6d92ebae],.hero-title[data-v-6d92ebae],.section-title[data-v-6d92ebae]{font-size:2rem}.modern-typing-box[data-v-6d92ebae]{padding:1.5rem;font-size:1rem}}.modal-overlay[data-v-6d92ebae]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px)}.demo-modal[data-v-6d92ebae]{background:var(--card-background);border-radius:20px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,.3);border:1px solid var(--border-color)}.modal-header[data-v-6d92ebae]{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem 2rem;border-bottom:1px solid var(--border-color)}.modal-title[data-v-6d92ebae]{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0}.modal-close[data-v-6d92ebae]{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.modal-close[data-v-6d92ebae]:hover{background:var(--hover-background);color:var(--text-primary);transform:rotate(90deg)}.modal-content[data-v-6d92ebae]{padding:2rem}.modal-fade-enter-active[data-v-6d92ebae],.modal-fade-leave-active[data-v-6d92ebae]{transition:all .3s ease}.modal-fade-enter-from[data-v-6d92ebae],.modal-fade-leave-to[data-v-6d92ebae]{opacity:0}.modal-fade-enter-from .demo-modal[data-v-6d92ebae],.modal-fade-leave-to .demo-modal[data-v-6d92ebae]{transform:scale(.9) translateY(-20px)}.modal-fade-enter-active .demo-modal[data-v-6d92ebae],.modal-fade-leave-active .demo-modal[data-v-6d92ebae]{transition:transform .3s ease}@media (max-width:768px){.demo-modal[data-v-6d92ebae]{width:95%;margin:1rem;max-height:95vh}.modal-header[data-v-6d92ebae]{padding:1.5rem 1.5rem 1rem 1.5rem}.modal-content[data-v-6d92ebae]{padding:1.5rem}.modal-title[data-v-6d92ebae]{font-size:1.5rem}}@media (max-width:480px){.modal-content[data-v-6d92ebae],.modal-header[data-v-6d92ebae]{padding:1rem}.modal-title[data-v-6d92ebae]{font-size:1.3rem}}[data-v-35168269]{margin:0;padding:0;box-sizing:border-box}body[data-v-35168269]{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary)}.student-dashboard[data-v-35168269]{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary)}.main-content[data-v-35168269]{flex:1;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-35168269]{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:2rem;display:flex;justify-content:space-between;align-items:center}.header-left[data-v-35168269]{display:flex;flex-direction:column;gap:.5rem}.logo-section[data-v-35168269]{display:flex;align-items:center;gap:1rem}.logo-icon[data-v-35168269]{width:2rem;height:2rem;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}.logo-text[data-v-35168269]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.logo-badge[data-v-35168269]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.student-badge[data-v-35168269]{display:inline-block;background:var(--bg-button);color:var(--text-on-accent);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.page-title[data-v-35168269]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0;display:flex;align-items:center;gap:1rem}.page-title i[data-v-35168269]{color:var(--accent-success);font-size:1.8rem}.page-subtitle[data-v-35168269]{color:var(--text-secondary);font-size:1rem;margin:0}.header-center[data-v-35168269]{flex:1;display:flex;justify-content:center}.header-nav[data-v-35168269]{display:flex;gap:1rem;background:rgba(74,85,104,.3);padding:.5rem;border-radius:12px}.nav-item[data-v-35168269]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all .2s ease;border-radius:8px;font-weight:500}.nav-item[data-v-35168269]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active[data-v-35168269]{background:var(--bg-button);color:var(--text-inverse)}.nav-item i[data-v-35168269]{width:16px;text-align:center}.header-right[data-v-35168269],.user-profile[data-v-35168269]{display:flex;align-items:center}.user-profile[data-v-35168269]{gap:1rem}.user-info[data-v-35168269]{display:flex;flex-direction:column;align-items:flex-end}.user-name[data-v-35168269]{font-weight:600;color:var(--text-primary);font-size:.9rem}.user-email[data-v-35168269]{font-size:.8rem;color:var(--text-secondary)}.user-avatar[data-v-35168269]{width:40px;height:40px;background:var(--bg-button);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-inverse)}.logout-btn[data-v-35168269]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:hsla(0,88%,68%,.1);border:1px solid var(--accent-error);color:var(--accent-error);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.logout-btn[data-v-35168269]:hover{background:hsla(0,88%,68%,.2);border-color:var(--accent-error)}.dashboard-content[data-v-35168269]{padding:2rem;display:flex;flex-direction:column;gap:2rem}.profile-section[data-v-35168269]{margin-bottom:1rem}.profile-card[data-v-35168269]{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.profile-header[data-v-35168269]{padding:2rem;display:flex;align-items:center;gap:2rem}.profile-avatar[data-v-35168269]{width:80px;height:80px;background:var(--bg-button);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-inverse);font-size:2rem}.profile-info[data-v-35168269]{flex:1}.profile-name[data-v-35168269]{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem 0}.profile-email[data-v-35168269]{color:var(--text-secondary);font-size:1rem;margin:0 0 1rem 0}.profile-meta[data-v-35168269]{display:flex;gap:2rem}.meta-item[data-v-35168269]{color:var(--text-secondary);font-size:.9rem}.progress-section[data-v-35168269]{display:flex;align-items:center;gap:1rem}.progress-circle-large[data-v-35168269]{width:50px;height:50px;background:var(--bg-button);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-inverse);font-weight:700;font-size:1.2rem}.progress-bar-container[data-v-35168269]{width:200px}.progress-bar[data-v-35168269]{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill[data-v-35168269]{height:100%;background:var(--bg-button);border-radius:4px;transition:width .3s ease}.stats-grid[data-v-35168269]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.teacher-code-card[data-v-35168269]{background:var(--accent-gradient);border:1px solid var(--accent-color-alpha-strong)}.enhanced-join-card[data-v-35168269]{position:relative;background:var(--accent-gradient);border:2px solid var(--accent-color-alpha-strong);box-shadow:0 10px 30px var(--shadow-accent);transform:translateY(0);transition:all .3s ease;overflow:hidden}.enhanced-join-card[data-v-35168269]:hover{transform:translateY(-5px);box-shadow:0 20px 40px var(--shadow-accent-strong);border-color:var(--accent-color)}.join-card-glow[data-v-35168269]{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--accent-color-alpha) 0,transparent 70%);animation:pulse-35168269 3s ease-in-out infinite;pointer-events:none}@keyframes pulse-35168269{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.enhanced-header[data-v-35168269]{display:flex;align-items:center;gap:1rem;padding:1.5rem 1.5rem 1rem 1.5rem}.header-icon[data-v-35168269]{width:50px;height:50px;background:var(--bg-tertiary);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-inverse);backdrop-filter:blur(10px)}.header-content h3[data-v-35168269]{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-primary)}.header-subtitle[data-v-35168269]{margin:.25rem 0 0 0;color:var(--text-secondary);font-size:.9rem;font-weight:400}.enhanced-content[data-v-35168269]{padding:0 1.5rem 1.5rem 1.5rem}.enhanced-input-group[data-v-35168269]{display:flex;gap:1rem;margin-bottom:1rem;align-items:stretch}.input-wrapper[data-v-35168269]{flex:1;position:relative;display:flex;align-items:center}.input-icon[data-v-35168269]{position:absolute;right:1rem;color:hsla(0,0%,100%,.7);z-index:1}.enhanced-input[data-v-35168269]{width:100%;padding:1rem 1rem 1rem 2.5rem;background:var(--bg-input);border:2px solid var(--border-primary);border-radius:12px;color:var(--text-primary);font-size:1rem;font-weight:500;transition:all .3s ease;backdrop-filter:blur(10px)}.enhanced-input[data-v-35168269]::-moz-placeholder{color:var(--text-tertiary)}.enhanced-input[data-v-35168269]::placeholder{color:var(--text-tertiary)}.enhanced-input[data-v-35168269]:focus{outline:none;border-color:var(--border-focus);background:var(--bg-tertiary);box-shadow:var(--shadow-lg)}.enhanced-join-btn[data-v-35168269]{padding:1rem 2rem;background:var(--bg-button);border:2px solid var(--accent-success);border-radius:12px;color:var(--text-inverse);font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;white-space:nowrap;box-shadow:var(--shadow-md)}.enhanced-join-btn[data-v-35168269]:hover:not(:disabled){background:var(--bg-button-hover);border-color:var(--accent-success);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.enhanced-join-btn[data-v-35168269]:disabled{opacity:.6;cursor:not-allowed;transform:none}.enhanced-message[data-v-35168269]{padding:1rem;border-radius:10px;font-weight:500;display:flex;align-items:center;gap:.75rem;backdrop-filter:blur(10px)}.enhanced-message.success[data-v-35168269]{background:rgba(72,187,120,.1);border:1px solid var(--accent-success);color:var(--accent-success)}.enhanced-message.error[data-v-35168269]{background:hsla(0,88%,68%,.1);border:1px solid var(--accent-error);color:var(--accent-error)}.teacher-code-content[data-v-35168269]{padding:1.5rem}.code-description[data-v-35168269]{color:var(--text-primary);margin:0 0 1rem 0;font-size:.95rem;line-height:1.5}.code-input-group[data-v-35168269]{display:flex;gap:.75rem;margin-bottom:1rem}.code-input[data-v-35168269]{flex:1;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.95rem;transition:all .3s ease}.code-input[data-v-35168269]::-moz-placeholder{color:var(--text-tertiary)}.code-input[data-v-35168269]::placeholder{color:var(--text-tertiary)}.code-input[data-v-35168269]:focus{outline:none;border-color:var(--border-focus);background:var(--bg-tertiary)}.join-btn[data-v-35168269]{padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.join-btn[data-v-35168269]:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-focus);transform:translateY(-1px)}.join-btn[data-v-35168269]:disabled{opacity:.5;cursor:not-allowed}.code-message[data-v-35168269]{padding:.75rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500}.code-message.success[data-v-35168269]{background:rgba(72,187,120,.1);border:1px solid var(--accent-success);color:var(--accent-success)}.code-message.error[data-v-35168269]{background:hsla(0,88%,68%,.1);border:1px solid var(--accent-error);color:var(--accent-error)}.stat-card[data-v-35168269]{background:var(--bg-secondary);border-radius:16px;padding:1.5rem;border:1px solid var(--border-color);transition:all .3s ease}.stat-card[data-v-35168269]:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.stat-card.primary[data-v-35168269]{background:var(--bg-secondary);border:none}.stat-card.secondary[data-v-35168269]{background:var(--bg-secondary)}.stat-header[data-v-35168269]{margin-bottom:1.5rem}.stat-header h3[data-v-35168269]{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.stats-content[data-v-35168269]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:1rem}.stat-card.secondary .stats-content[data-v-35168269]{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.stat-card.secondary .stats-content[data-v-35168269]{grid-template-columns:repeat(2,1fr)}}.stat-item[data-v-35168269]{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem 1rem;text-align:center;transition:all .3s ease;backdrop-filter:blur(10px)}.stat-item[data-v-35168269]:hover{background:var(--bg-secondary);border-color:var(--accent-success);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-value[data-v-35168269]{font-size:2rem;font-weight:800;color:var(--accent-success);margin-bottom:.5rem;text-shadow:var(--shadow-sm)}.stat-label[data-v-35168269]{color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.content-grid[data-v-35168269]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem}.card[data-v-35168269]{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.card-header[data-v-35168269]{padding:1.5rem 1.5rem 1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.card-header h3[data-v-35168269]{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.achievements-content[data-v-35168269]{padding:0 1.5rem 1.5rem 1.5rem;display:flex;flex-wrap:wrap;gap:.75rem}.achievement-badge[data-v-35168269]{background:rgba(72,187,120,.1);color:var(--accent-success);padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:500;border:1px solid var(--accent-success)}.chart-content[data-v-35168269]{padding:0 1.5rem 1.5rem 1.5rem;height:250px}.table-card[data-v-35168269]{grid-column:1/-1}.table-content[data-v-35168269]{padding:0 1.5rem 1.5rem 1.5rem;overflow-x:auto}.table-content table[data-v-35168269]{width:100%;border-collapse:collapse}.table-content td[data-v-35168269],.table-content th[data-v-35168269]{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.table-content th[data-v-35168269]{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600;font-size:.9rem}.table-content td[data-v-35168269]{color:var(--text-secondary);font-size:.9rem}.table-content tr[data-v-35168269]:hover{background:var(--bg-tertiary)}.loading-content[data-v-35168269]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center}.loading-spinner[data-v-35168269]{margin-bottom:1rem}.loading-spinner i[data-v-35168269]{font-size:2rem;color:var(--primary-color);animation:spin-35168269 1s linear infinite}.loading-text[data-v-35168269]{color:var(--text-secondary);font-size:.9rem;margin:0}@keyframes spin-35168269{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1200px){.content-grid[data-v-35168269],.stats-grid[data-v-35168269]{grid-template-columns:1fr}}@media (max-width:768px){.sidebar[data-v-35168269]{width:100%;position:relative;height:auto}.main-content[data-v-35168269]{margin-left:0}.dashboard-content[data-v-35168269]{padding:1rem}.profile-header[data-v-35168269]{flex-direction:column;text-align:center;gap:1rem}.progress-section[data-v-35168269]{justify-content:center}.stats-content[data-v-35168269]{grid-template-columns:repeat(2,1fr)}}[data-v-40f0b71b]{margin:0;padding:0;box-sizing:border-box}.login-container[data-v-40f0b71b]{font-family:Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.animated-background[data-v-40f0b71b]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}.floating-shapes[data-v-40f0b71b]{position:absolute;width:100%;height:100%;overflow:hidden}.shape[data-v-40f0b71b]{position:absolute;border-radius:50%;background:var(--accent-color);opacity:.1;animation:float-40f0b71b 15s linear infinite}.shape-1[data-v-40f0b71b]{width:100px;height:100px;top:20%;left:10%;animation-delay:0s}.shape-2[data-v-40f0b71b]{width:150px;height:150px;top:60%;right:15%;animation-delay:-3s}.shape-3[data-v-40f0b71b]{width:80px;height:80px;top:80%;left:30%;animation-delay:-6s}.shape-4[data-v-40f0b71b]{width:120px;height:120px;top:10%;right:25%;animation-delay:-9s}.shape-5[data-v-40f0b71b]{width:90px;height:90px;top:40%;left:70%;animation-delay:-12s}@keyframes float-40f0b71b{0%{transform:translateY(0) rotate(0deg);opacity:.1}50%{opacity:.2}to{transform:translateY(-100vh) rotate(1turn);opacity:0}}.gradient-overlay[data-v-40f0b71b]{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 30%,var(--accent-color-alpha) 0,transparent 50%),radial-gradient(circle at 80% 70%,var(--accent-color-alpha) 0,transparent 50%);z-index:-1}.login-card-container[data-v-40f0b71b]{width:100%;max-width:450px;animation:slideInUp-40f0b71b .8s ease-out}.login-card[data-v-40f0b71b]{background:var(--bg-secondary);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:24px;padding:2.5rem;box-shadow:0 25px 50px var(--shadow-dark);position:relative;overflow:hidden}.login-card[data-v-40f0b71b]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);opacity:.5}.card-header[data-v-40f0b71b]{justify-content:space-between;align-items:center;margin-bottom:2rem}.back-button[data-v-40f0b71b]{width:44px;height:44px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);text-decoration:none;transition:all .3s ease}.back-button[data-v-40f0b71b]:hover{background:var(--accent-color);color:#fff;transform:translateX(-2px)}.logo-section[data-v-40f0b71b]{display:flex;align-items:center;justify-content:center;gap:.75rem}.logo-icon[data-v-40f0b71b]{width:36px;height:36px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem}.logo-text[data-v-40f0b71b]{font-size:1.3rem;font-weight:700;color:var(--text-primary)}.logo-badge[data-v-40f0b71b]{background:var(--accent-color);color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.welcome-section[data-v-40f0b71b]{text-align:center;margin-bottom:2rem}.welcome-title[data-v-40f0b71b]{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;animation:slideInUp-40f0b71b .8s ease-out .2s both}.welcome-subtitle[data-v-40f0b71b]{color:var(--text-secondary);font-size:1rem;animation:slideInUp-40f0b71b .8s ease-out .4s both}.error-alert[data-v-40f0b71b]{background:var(--error-color);border-radius:12px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;color:#fff;box-shadow:0 4px 12px rgba(239,68,68,.3)}.error-icon[data-v-40f0b71b]{width:36px;height:36px;background:hsla(0,0%,100%,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.error-content[data-v-40f0b71b]{flex:1}.error-text[data-v-40f0b71b]{font-weight:500;font-size:.9rem}.error-close[data-v-40f0b71b]{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .2s ease}.error-close[data-v-40f0b71b]:hover{background:hsla(0,0%,100%,.1)}.login-form[data-v-40f0b71b]{animation:slideInUp-40f0b71b .8s ease-out .6s both}.form-group[data-v-40f0b71b]{margin-bottom:1.5rem}.form-label[data-v-40f0b71b]{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:.9rem}.form-label i[data-v-40f0b71b]{color:var(--accent-color);width:16px}.input-container[data-v-40f0b71b]{position:relative;transition:all .3s ease}.form-input[data-v-40f0b71b]{width:100%;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;padding:1rem 1.25rem;font-size:1rem;color:var(--text-primary);transition:all .3s ease;outline:none}.form-input[data-v-40f0b71b]:focus{border-color:var(--accent-color);background:var(--bg-primary);box-shadow:0 0 0 3px var(--accent-color-alpha)}.form-input[data-v-40f0b71b]:disabled{opacity:.6;cursor:not-allowed}.form-input[data-v-40f0b71b]::-moz-placeholder{color:var(--text-tertiary)}.form-input[data-v-40f0b71b]::placeholder{color:var(--text-tertiary)}.password-container .form-input[data-v-40f0b71b]{padding-right:3.5rem}.password-toggle[data-v-40f0b71b]{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease}.password-toggle[data-v-40f0b71b]:hover:not(:disabled){color:var(--accent-color);background:var(--accent-color-alpha)}.password-toggle[data-v-40f0b71b]:disabled{opacity:.5;cursor:not-allowed}.input-border[data-v-40f0b71b]{position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent-gradient);transition:width .3s ease;border-radius:1px}.input-container.focused .input-border[data-v-40f0b71b]{width:100%}.login-button[data-v-40f0b71b]{width:100%;background:var(--accent-gradient);border:none;border-radius:12px;padding:1.25rem;color:#fff;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;margin-bottom:2rem}.login-button[data-v-40f0b71b]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 30px var(--accent-color-alpha)}.login-button[data-v-40f0b71b]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-40f0b71b]:disabled{opacity:.7;cursor:not-allowed;transform:none}.button-content[data-v-40f0b71b]{display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative;z-index:2}.button-glow[data-v-40f0b71b]{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.login-button:hover:not(:disabled) .button-glow[data-v-40f0b71b]{left:100%}.loading-spinner[data-v-40f0b71b]{display:flex;align-items:center;justify-content:center}.spinner[data-v-40f0b71b]{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top:2px solid #fff;border-radius:50%;animation:spin-40f0b71b 1s linear infinite}@keyframes spin-40f0b71b{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.card-footer[data-v-40f0b71b]{text-align:center;animation:slideInUp-40f0b71b .8s ease-out .8s both}.register-prompt[data-v-40f0b71b]{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.register-link[data-v-40f0b71b]{color:var(--accent-color);text-decoration:none;font-weight:600;transition:color .2s ease}.register-link[data-v-40f0b71b]:hover{color:var(--text-primary)}@keyframes slideInUp-40f0b71b{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-down-enter-active[data-v-40f0b71b]{transition:all .3s ease-out}.slide-down-leave-active[data-v-40f0b71b]{transition:all .3s ease-in}.slide-down-enter-from[data-v-40f0b71b],.slide-down-leave-to[data-v-40f0b71b]{opacity:0;transform:translateY(-20px)}@media (max-width:768px){.login-container[data-v-40f0b71b]{padding:1rem}.login-card[data-v-40f0b71b]{padding:2rem}.welcome-title[data-v-40f0b71b]{font-size:1.75rem}}@media (max-width:480px){.login-card[data-v-40f0b71b]{padding:1.5rem}.welcome-title[data-v-40f0b71b]{font-size:1.5rem}.card-header[data-v-40f0b71b]{margin-bottom:1.5rem}.form-input[data-v-40f0b71b]{padding:.875rem 1rem}.login-button[data-v-40f0b71b]{padding:1rem}}[data-v-0a3f9e89]{margin:0;padding:0;box-sizing:border-box}.register-container[data-v-0a3f9e89]{font-family:Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.animated-background[data-v-0a3f9e89]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}.floating-shapes[data-v-0a3f9e89]{position:absolute;width:100%;height:100%;overflow:hidden}.shape[data-v-0a3f9e89]{position:absolute;border-radius:50%;background:var(--accent-color);opacity:.08;animation:float-0a3f9e89 20s linear infinite}.shape-1[data-v-0a3f9e89]{width:120px;height:120px;top:10%;left:5%;animation-delay:0s}.shape-2[data-v-0a3f9e89]{width:80px;height:80px;top:70%;right:10%;animation-delay:-4s}.shape-3[data-v-0a3f9e89]{width:100px;height:100px;top:30%;left:80%;animation-delay:-8s}.shape-4[data-v-0a3f9e89]{width:60px;height:60px;top:90%;left:20%;animation-delay:-12s}.shape-5[data-v-0a3f9e89]{width:140px;height:140px;top:50%;right:30%;animation-delay:-16s}.shape-6[data-v-0a3f9e89]{width:90px;height:90px;top:20%;left:50%;animation-delay:-20s}@keyframes float-0a3f9e89{0%{transform:translateY(0) rotate(0deg);opacity:.08}50%{opacity:.15}to{transform:translateY(-100vh) rotate(1turn);opacity:0}}.gradient-overlay[data-v-0a3f9e89]{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 20%,var(--accent-color-alpha) 0,transparent 50%),radial-gradient(circle at 70% 80%,var(--accent-color-alpha) 0,transparent 50%);z-index:-1}.register-card-container[data-v-0a3f9e89]{width:100%;max-width:480px;animation:slideInUp-0a3f9e89 .8s ease-out}.register-card[data-v-0a3f9e89]{background:var(--bg-secondary);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:24px;padding:2.5rem;box-shadow:0 25px 50px var(--shadow-dark);position:relative;overflow:hidden}.register-card[data-v-0a3f9e89]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);opacity:.5}.card-header[data-v-0a3f9e89]{justify-content:space-between;align-items:center;margin-bottom:2rem}.back-button[data-v-0a3f9e89]{width:44px;height:44px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);text-decoration:none;transition:all .3s ease}.back-button[data-v-0a3f9e89]:hover{background:var(--accent-color);color:#fff;transform:translateX(-2px)}.logo-section[data-v-0a3f9e89]{display:flex;align-items:center;justify-content:center;gap:.75rem}.logo-icon[data-v-0a3f9e89]{width:36px;height:36px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem}.logo-text[data-v-0a3f9e89]{font-size:1.3rem;font-weight:700;color:var(--text-primary)}.logo-badge[data-v-0a3f9e89]{background:var(--accent-color);color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.welcome-section[data-v-0a3f9e89]{text-align:center;margin-bottom:2rem}.welcome-title[data-v-0a3f9e89]{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;animation:slideInUp-0a3f9e89 .8s ease-out .2s both}.welcome-subtitle[data-v-0a3f9e89]{color:var(--text-secondary);font-size:1rem;animation:slideInUp-0a3f9e89 .8s ease-out .4s both}.error-alert[data-v-0a3f9e89]{background:var(--error-color);border-radius:12px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;color:#fff;box-shadow:0 4px 12px rgba(239,68,68,.3)}.error-icon[data-v-0a3f9e89]{width:36px;height:36px;background:hsla(0,0%,100%,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.error-content[data-v-0a3f9e89]{flex:1}.error-text[data-v-0a3f9e89]{font-weight:500;font-size:.9rem}.error-close[data-v-0a3f9e89]{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .2s ease}.error-close[data-v-0a3f9e89]:hover{background:hsla(0,0%,100%,.1)}.register-form[data-v-0a3f9e89]{animation:slideInUp-0a3f9e89 .8s ease-out .6s both}.form-group[data-v-0a3f9e89]{margin-bottom:1.5rem}.form-label[data-v-0a3f9e89]{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:.9rem}.form-label i[data-v-0a3f9e89]{color:var(--accent-color);width:16px}.input-container[data-v-0a3f9e89]{position:relative;transition:all .3s ease}.form-input[data-v-0a3f9e89]{width:100%;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;padding:1rem 1.25rem;font-size:1rem;color:var(--text-primary);transition:all .3s ease;outline:none}.form-input[data-v-0a3f9e89]:focus{border-color:var(--accent-color);background:var(--bg-primary);box-shadow:0 0 0 3px var(--accent-color-alpha)}.form-input[data-v-0a3f9e89]:disabled{opacity:.6;cursor:not-allowed}.form-input[data-v-0a3f9e89]::-moz-placeholder{color:var(--text-tertiary)}.form-input[data-v-0a3f9e89]::placeholder{color:var(--text-tertiary)}.password-container .form-input[data-v-0a3f9e89]{padding-right:3.5rem}.password-toggle[data-v-0a3f9e89]{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease}.password-toggle[data-v-0a3f9e89]:hover:not(:disabled){color:var(--accent-color);background:var(--accent-color-alpha)}.password-toggle[data-v-0a3f9e89]:disabled{opacity:.5;cursor:not-allowed}.input-border[data-v-0a3f9e89]{position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent-gradient);transition:width .3s ease;border-radius:1px}.input-container.focused .input-border[data-v-0a3f9e89]{width:100%}.password-strength[data-v-0a3f9e89]{margin-top:.75rem;display:flex;align-items:center;gap:.75rem}.strength-indicator[data-v-0a3f9e89]{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.strength-bar[data-v-0a3f9e89]{height:100%;width:0;transition:all .3s ease;border-radius:2px}.strength-indicator.weak .strength-bar[data-v-0a3f9e89]{background:#ef4444}.strength-indicator.fair .strength-bar[data-v-0a3f9e89]{width:50%;background:#f59e0b}.strength-indicator.good .strength-bar[data-v-0a3f9e89]{width:75%;background:#10b981}.strength-indicator.strong .strength-bar[data-v-0a3f9e89]{width:100%;background:#059669}.strength-text[data-v-0a3f9e89]{font-size:.8rem;font-weight:500;color:var(--text-secondary);min-width:60px}.register-button[data-v-0a3f9e89]{width:100%;background:var(--accent-gradient);border:none;border-radius:12px;padding:1.25rem;color:#fff;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;margin-bottom:2rem}.register-button[data-v-0a3f9e89]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 30px var(--accent-color-alpha)}.register-button[data-v-0a3f9e89]:active:not(:disabled){transform:translateY(0)}.register-button[data-v-0a3f9e89]:disabled{opacity:.7;cursor:not-allowed;transform:none}.button-content[data-v-0a3f9e89]{display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative;z-index:2}.button-glow[data-v-0a3f9e89]{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.register-button:hover:not(:disabled) .button-glow[data-v-0a3f9e89]{left:100%}.loading-spinner[data-v-0a3f9e89]{display:flex;align-items:center;justify-content:center}.spinner[data-v-0a3f9e89]{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top:2px solid #fff;border-radius:50%;animation:spin-0a3f9e89 1s linear infinite}@keyframes spin-0a3f9e89{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.card-footer[data-v-0a3f9e89]{text-align:center;animation:slideInUp-0a3f9e89 .8s ease-out .8s both}.login-prompt[data-v-0a3f9e89]{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.login-link[data-v-0a3f9e89]{color:var(--accent-color);text-decoration:none;font-weight:600;transition:color .2s ease}.login-link[data-v-0a3f9e89]:hover{color:var(--text-primary)}.features-preview[data-v-0a3f9e89]{border-top:1px solid var(--border-color);padding-top:1.5rem}.features-title[data-v-0a3f9e89]{color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem;font-weight:500}.features-list[data-v-0a3f9e89]{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.feature-item[data-v-0a3f9e89]{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.8rem;font-weight:500}.feature-item i[data-v-0a3f9e89]{color:var(--accent-color);font-size:.75rem}@keyframes slideInUp-0a3f9e89{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-down-enter-active[data-v-0a3f9e89]{transition:all .3s ease-out}.slide-down-leave-active[data-v-0a3f9e89]{transition:all .3s ease-in}.slide-down-enter-from[data-v-0a3f9e89],.slide-down-leave-to[data-v-0a3f9e89]{opacity:0;transform:translateY(-20px)}@media (max-width:768px){.register-container[data-v-0a3f9e89]{padding:1rem}.register-card[data-v-0a3f9e89]{padding:2rem}.welcome-title[data-v-0a3f9e89]{font-size:1.75rem}.features-list[data-v-0a3f9e89]{flex-direction:column;align-items:center}}@media (max-width:480px){.register-card[data-v-0a3f9e89]{padding:1.5rem}.welcome-title[data-v-0a3f9e89]{font-size:1.5rem}.card-header[data-v-0a3f9e89]{margin-bottom:1.5rem}.form-input[data-v-0a3f9e89]{padding:.875rem 1rem}.register-button[data-v-0a3f9e89]{padding:1rem}}[data-v-0d785e81]{margin:0;padding:0;box-sizing:border-box}.practice-mode[data-v-0d785e81]{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary)}.page-header[data-v-0d785e81]{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:2rem;display:flex;justify-content:space-between;align-items:center}.logo-section[data-v-0d785e81]{display:flex;align-items:center;gap:1rem}.logo-text[data-v-0d785e81]{color:var(--text-primary)}.student-badge[data-v-0d785e81]{display:inline-block;background:linear-gradient(135deg,#48bb78,#38a169);font-size:.75rem;font-weight:600}.page-title[data-v-0d785e81]{font-size:1.5rem}.header-center[data-v-0d785e81]{flex:1;display:flex;justify-content:center}.header-nav[data-v-0d785e81]{display:flex;gap:1rem;background:rgba(74,85,104,.3);padding:.5rem;border-radius:12px}.nav-item[data-v-0d785e81]{gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease;border-radius:8px;font-weight:500}.nav-item i[data-v-0d785e81]{width:16px}.header-right[data-v-0d785e81],.logout-btn[data-v-0d785e81]{display:flex;align-items:center}.logout-btn[data-v-0d785e81]{gap:.5rem;padding:.5rem 1rem;background:hsla(0,88%,68%,.1);border:1px solid hsla(0,88%,68%,.3);color:#f56565;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.logout-btn[data-v-0d785e81]:hover{background:hsla(0,88%,68%,.2);border-color:#f56565}.logo-icon[data-v-0d785e81]{width:2rem;height:2rem;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}.logo-text[data-v-0d785e81]{font-size:1.5rem;font-weight:700;color:#48bb78;margin:0}.logo-badge[data-v-0d785e81]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.student-badge[data-v-0d785e81]{background:#48bb78;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;margin-left:auto}.sidebar-nav[data-v-0d785e81]{padding:1rem 0}.nav-item[data-v-0d785e81]{display:flex;align-items:center;padding:1rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all .2s;gap:1rem}.nav-item[data-v-0d785e81]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active[data-v-0d785e81]{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border-right:3px solid #48bb78}.nav-item i[data-v-0d785e81]{font-size:1.1rem;width:20px;text-align:center}.nav-divider[data-v-0d785e81]{height:1px;background:var(--border-color);margin:1rem 0}.logout-item[data-v-0d785e81]{color:#f56565!important}.logout-item[data-v-0d785e81]:hover{background:hsla(0,88%,68%,.1)!important}.main-content[data-v-0d785e81]{flex:1;display:flex;flex-direction:column;overflow:hidden}.top-header[data-v-0d785e81]{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1.5rem 2rem}.header-left[data-v-0d785e81]{display:flex;flex-direction:column;gap:.5rem}.page-title[data-v-0d785e81]{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.75rem}.page-title i[data-v-0d785e81]{color:#48bb78}.page-subtitle[data-v-0d785e81]{color:var(--text-secondary);margin:0;font-size:1rem}.practice-content[data-v-0d785e81]{flex:1;padding:2rem;overflow-y:auto;background:var(--bg-primary)}.setup-section[data-v-0d785e81]{max-width:1200px;margin:0 auto}.setup-container[data-v-0d785e81]{display:flex;flex-direction:column;gap:2rem}.selection-card[data-v-0d785e81]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem;box-shadow:0 4px 12px rgba(0,0,0,.3);animation:fadeInUp-0d785e81 .6s ease-out;transition:transform .3s ease,box-shadow .3s ease}.selection-card[data-v-0d785e81]:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,.3)}.card-title[data-v-0d785e81]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.card-title i[data-v-0d785e81]{color:#48bb78}.mode-options[data-v-0d785e81],.topic-options[data-v-0d785e81]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.mode-option[data-v-0d785e81],.topic-option[data-v-0d785e81]{display:flex;align-items:center;padding:1.5rem;border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s ease;background:var(--bg-tertiary);color:var(--text-primary)}.mode-option[data-v-0d785e81]:hover,.topic-option[data-v-0d785e81]:hover{border-color:#48bb78;transform:translateY(-2px);box-shadow:0 5px 15px rgba(72,187,120,.2)}.mode-option.active[data-v-0d785e81],.topic-option.active[data-v-0d785e81]{border-color:#48bb78;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;transform:scale(1.02)}.mode-icon[data-v-0d785e81],.topic-icon[data-v-0d785e81]{font-size:2rem;margin-right:1rem;color:#48bb78;min-width:60px;text-align:center}.mode-option.active .mode-icon[data-v-0d785e81],.topic-option.active .topic-icon[data-v-0d785e81]{color:#fff}.mode-info h4[data-v-0d785e81],.topic-info h4[data-v-0d785e81]{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.mode-info p[data-v-0d785e81],.topic-info p[data-v-0d785e81]{font-size:.9rem;opacity:.8}.duration-options[data-v-0d785e81]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.duration-option[data-v-0d785e81]{padding:1rem 1.5rem;border:2px solid var(--border-color);border-radius:8px;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.duration-option[data-v-0d785e81]:hover{border-color:#48bb78;transform:translateY(-2px)}.duration-option.active[data-v-0d785e81]{border-color:#48bb78;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.custom-input-section[data-v-0d785e81]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);animation:fadeInUp-0d785e81 .4s ease-out}.custom-input-container[data-v-0d785e81]{display:flex;flex-direction:column;gap:.75rem;max-width:400px;margin:0 auto}.custom-input[data-v-0d785e81],.custom-label[data-v-0d785e81]{font-size:1rem;font-weight:600;color:var(--text-primary);text-align:center}.custom-input[data-v-0d785e81]{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);transition:all .3s ease}.custom-input[data-v-0d785e81]:focus{outline:none;border-color:#48bb78;box-shadow:0 0 0 3px rgba(72,187,120,.2)}.custom-hint[data-v-0d785e81]{font-size:.875rem;color:var(--text-secondary);text-align:center;font-style:italic}.start-section[data-v-0d785e81]{text-align:center;animation:bounceIn-0d785e81 .8s ease-out}.start-btn[data-v-0d785e81]{background:#4caf50;color:#fff;border:none;padding:1rem 3rem;font-size:1.3rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(76,175,80,.3)}.start-btn[data-v-0d785e81]:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 6px 16px rgba(76,175,80,.4)}.start-btn i[data-v-0d785e81]{margin-right:.5rem}.typing-section[data-v-0d785e81]{max-width:1200px;margin:0 auto;animation:fadeIn-0d785e81 .6s ease-out}.typing-header[data-v-0d785e81]{display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);padding:2.5rem;border-radius:16px;margin-bottom:3rem;box-shadow:0 8px 25px rgba(0,0,0,.4)}.typing-stats[data-v-0d785e81]{display:flex;gap:4rem}.stat-item[data-v-0d785e81]{text-align:center;padding:1rem 1.5rem;background:rgba(66,153,225,.1);border-radius:12px;border:1px solid rgba(66,153,225,.2);min-width:120px}.stat-label[data-v-0d785e81]{display:block;font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.stat-value[data-v-0d785e81]{display:block;font-size:2.5rem;font-weight:800;color:#4299e1;text-shadow:0 2px 4px rgba(66,153,225,.3)}.stop-btn[data-v-0d785e81]{background:#ff4757;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:10px;cursor:pointer;transition:all .3s ease}.stop-btn[data-v-0d785e81]:hover{background:#ff3742;transform:translateY(-2px)}.typing-area[data-v-0d785e81]{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:3rem;box-shadow:0 8px 25px rgba(0,0,0,.4);max-width:1200px;margin:0 auto}.text-display[data-v-0d785e81]{font-size:1.8rem;line-height:2.2;margin-bottom:3rem;padding:2.5rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;font-family:Segoe UI,Arial,sans-serif;color:var(--text-primary);min-height:200px;letter-spacing:.5px;word-spacing:2px;cursor:text;outline:none;transition:all .3s ease}.text-display[data-v-0d785e81]:focus{border-color:#4299e1;box-shadow:0 0 0 4px rgba(66,153,225,.2);background:var(--bg-secondary)}.text-display span[data-v-0d785e81]{transition:all .15s ease-in-out;border-radius:3px;padding:2px 1px}.text-display span.correct[data-v-0d785e81]{color:#48bb78;background:rgba(72,187,120,.1)}.text-display span.incorrect[data-v-0d785e81]{color:#f56565;background:hsla(0,88%,68%,.15)}.text-display span.current[data-v-0d785e81]{background:#4299e1;color:#fff;animation:pulse-0d785e81 1.5s ease-in-out infinite;box-shadow:0 0 8px rgba(66,153,225,.4)}@keyframes fadeInDown-0d785e81{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp-0d785e81{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn-0d785e81{0%{opacity:0}to{opacity:1}}@keyframes bounceIn-0d785e81{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes blink-0d785e81{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulse-0d785e81{0%{transform:scale(1);box-shadow:0 0 8px rgba(66,153,225,.4)}50%{transform:scale(1.05);box-shadow:0 0 15px rgba(66,153,225,.6)}to{transform:scale(1);box-shadow:0 0 8px rgba(66,153,225,.4)}}@media (max-width:768px){.sidebar[data-v-0d785e81]{width:70px}.sidebar.collapsed[data-v-0d785e81]{width:0;overflow:hidden}.practice-content[data-v-0d785e81]{padding:1rem}.page-title[data-v-0d785e81]{font-size:1.5rem}.mode-options[data-v-0d785e81],.topic-options[data-v-0d785e81]{grid-template-columns:1fr}.typing-header[data-v-0d785e81],.typing-stats[data-v-0d785e81]{flex-direction:column;gap:1rem}}.completion-modal-overlay[data-v-0d785e81]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px)}.completion-modal[data-v-0d785e81]{background:var(--bg-secondary);border-radius:16px;padding:2rem;max-width:500px;width:90%;box-shadow:0 20px 40px rgba(0,0,0,.3);border:1px solid var(--border-color);animation:modalSlideIn-0d785e81 .3s ease-out}@keyframes modalSlideIn-0d785e81{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header[data-v-0d785e81]{text-align:center;margin-bottom:2rem}.modal-header h2[data-v-0d785e81]{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin:0}.modal-body[data-v-0d785e81]{margin-bottom:2rem}.final-stats[data-v-0d785e81]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem;margin-bottom:2rem}.final-stat[data-v-0d785e81]{text-align:center;padding:1rem;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-color)}.final-stat-value[data-v-0d785e81]{font-size:2rem;font-weight:700;color:#68d391;margin-bottom:.5rem}.final-stat-label[data-v-0d785e81]{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.performance-message[data-v-0d785e81]{text-align:center;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;margin-bottom:1rem}.performance-message p[data-v-0d785e81]{color:#fff;font-size:1.1rem;font-weight:500;margin:0}.modal-footer[data-v-0d785e81]{display:flex;gap:1rem;justify-content:center}.close-modal-btn[data-v-0d785e81],.new-practice-btn[data-v-0d785e81]{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.new-practice-btn[data-v-0d785e81]{background:#48bb78;color:#fff}.new-practice-btn[data-v-0d785e81]:hover{background:#38a169;transform:translateY(-1px)}.close-modal-btn[data-v-0d785e81]{background:#718096;color:#fff}.close-modal-btn[data-v-0d785e81]:hover{background:#4a5568;transform:translateY(-1px)}@media (max-width:768px){.completion-modal[data-v-0d785e81]{padding:1.5rem;margin:1rem}.final-stats[data-v-0d785e81]{grid-template-columns:1fr;gap:1rem}.modal-footer[data-v-0d785e81]{flex-direction:column}.close-modal-btn[data-v-0d785e81],.new-practice-btn[data-v-0d785e81]{width:100%;justify-content:center}}.ai-patient[data-v-28f0eb2d]{min-height:100vh;background:var(--bg-primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.main-content[data-v-28f0eb2d]{padding:2rem;max-width:1400px;margin:0 auto}.ai-patient-content[data-v-28f0eb2d]{background:var(--bg-secondary);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border-primary)}.simulation-container[data-v-28f0eb2d]{display:grid;grid-template-columns:1fr 500px;min-height:80vh}.consultation-section[data-v-28f0eb2d]{background:var(--bg-primary);display:flex;flex-direction:column;border-left:1px solid var(--border-primary);overflow-y:auto}.consultation-header[data-v-28f0eb2d]{padding:1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);display:flex;justify-content:space-between;align-items:center}.consultation-header h3[data-v-28f0eb2d]{margin:0;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:600}.consultation-header h3 i[data-v-28f0eb2d]{color:var(--accent-success)}.consultation-form[data-v-28f0eb2d]{flex:1;padding:1.5rem;overflow-y:auto}.form-group[data-v-28f0eb2d]{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.form-group[data-v-28f0eb2d]:last-of-type{border-bottom:none;margin-bottom:1rem}.section-title[data-v-28f0eb2d]{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 1rem 0;padding:.5rem 0;border-bottom:2px solid var(--accent-success);display:inline-block}.form-row[data-v-28f0eb2d]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-field[data-v-28f0eb2d]{display:flex;flex-direction:column;gap:.5rem}.form-field.full-width[data-v-28f0eb2d]{grid-column:1/-1}.form-field label[data-v-28f0eb2d]{font-weight:600;color:var(--text-secondary);font-size:.9rem}.form-input[data-v-28f0eb2d],.form-textarea[data-v-28f0eb2d]{border:2px solid var(--border-primary);border-radius:8px;padding:.75rem;font-size:.9rem;font-family:inherit;transition:all .3s ease;background:var(--bg-primary);color:var(--text-primary)}.form-input[data-v-28f0eb2d]:focus,.form-textarea[data-v-28f0eb2d]:focus{outline:none;border-color:var(--accent-success);box-shadow:0 0 0 3px rgba(72,187,120,.1);transform:translateY(-1px)}.form-input[data-v-28f0eb2d]::-moz-placeholder,.form-textarea[data-v-28f0eb2d]::-moz-placeholder{color:var(--text-secondary)}.form-input[data-v-28f0eb2d]::placeholder,.form-textarea[data-v-28f0eb2d]::placeholder{color:var(--text-secondary)}.form-textarea[data-v-28f0eb2d]{resize:vertical;min-height:80px}.form-actions[data-v-28f0eb2d]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.clear-btn[data-v-28f0eb2d],.save-btn[data-v-28f0eb2d],.submit-teacher-btn[data-v-28f0eb2d]{font-weight:600;transition:all .3s ease}.submit-teacher-btn[data-v-28f0eb2d]{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:.5rem;flex:1;justify-content:center}.submit-teacher-btn[data-v-28f0eb2d]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(66,153,225,.4)}.submit-teacher-btn[data-v-28f0eb2d]:disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.questionnaire-modal[data-v-28f0eb2d]{max-width:700px;width:90%}.questionnaire-form[data-v-28f0eb2d]{display:flex;flex-direction:column;gap:1.5rem}.question-section[data-v-28f0eb2d]{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-primary)}.question-label[data-v-28f0eb2d]{font-weight:600;color:var(--text-primary);font-size:1rem;line-height:1.4}.question-textarea[data-v-28f0eb2d]{border:2px solid var(--border-primary);border-radius:8px;padding:.75rem;font-size:.9rem;font-family:inherit;transition:all .3s ease;background:var(--bg-primary);color:var(--text-primary);resize:vertical;min-height:100px}.question-textarea[data-v-28f0eb2d]:focus{outline:none;border-color:var(--accent-success);box-shadow:0 0 0 3px rgba(72,187,120,.1)}.question-textarea[data-v-28f0eb2d]::-moz-placeholder{color:var(--text-secondary)}.question-textarea[data-v-28f0eb2d]::placeholder{color:var(--text-secondary)}.questionnaire-actions[data-v-28f0eb2d]{display:flex;gap:1rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.submit-questionnaire-btn[data-v-28f0eb2d]{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;flex:1;justify-content:center}.submit-questionnaire-btn[data-v-28f0eb2d]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(72,187,120,.4)}.submit-questionnaire-btn[data-v-28f0eb2d]:disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.cancel-btn[data-v-28f0eb2d]{background:#718096;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;flex:1;justify-content:center}.cancel-btn[data-v-28f0eb2d]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(113,128,150,.4)}.cancel-btn[data-v-28f0eb2d]:disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.sticky-note.success[data-v-28f0eb2d]{background:linear-gradient(135deg,#48bb78,#38a169)}.chat-section[data-v-28f0eb2d]{display:flex;flex-direction:column}.chat-header[data-v-28f0eb2d]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}.patient-info[data-v-28f0eb2d]{display:flex;align-items:center;gap:1rem}.patient-avatar[data-v-28f0eb2d]{width:50px;height:50px;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.patient-details h3[data-v-28f0eb2d]{margin:0;color:var(--text-primary);font-size:1.1rem}.patient-status[data-v-28f0eb2d]{color:var(--accent-success);font-size:.9rem;font-weight:500}.chat-controls .control-btn[data-v-28f0eb2d]{background:var(--bg-button);color:var(--text-primary);border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:background-color .3s}.chat-controls .control-btn[data-v-28f0eb2d]:hover{background:var(--bg-tertiary)}.chat-messages[data-v-28f0eb2d]{flex:1;padding:1.5rem;overflow-y:auto;max-height:60vh;background:var(--bg-primary)}.message[data-v-28f0eb2d]{display:flex;gap:1rem;margin-bottom:1.5rem}.message-avatar[data-v-28f0eb2d]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0}.patient-message .message-avatar[data-v-28f0eb2d]{background:linear-gradient(135deg,#48bb78,#38a169)}.student-message .message-avatar[data-v-28f0eb2d]{background:linear-gradient(135deg,#4299e1,#3182ce)}.message-content[data-v-28f0eb2d]{flex:1;background:var(--bg-secondary);padding:1rem;border-radius:12px;box-shadow:var(--shadow-md);border:1px solid var(--border-primary)}.message-header[data-v-28f0eb2d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sender-name[data-v-28f0eb2d]{font-weight:600;color:var(--text-primary);font-size:.9rem}.message-time[data-v-28f0eb2d]{color:var(--text-secondary);font-size:.8rem}.message-text[data-v-28f0eb2d]{color:var(--text-primary);line-height:1.5}.voice-message-bubble[data-v-28f0eb2d]{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:20px;padding:12px 16px;max-width:280px;border:1px solid #90caf9}.voice-controls[data-v-28f0eb2d]{display:flex;align-items:center;gap:12px}.play-button[data-v-28f0eb2d]{width:32px;height:32px;border-radius:50%;background:#2196f3;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.play-button[data-v-28f0eb2d]:hover{background:#1976d2;transform:scale(1.05)}.voice-message-bubble.playing[data-v-28f0eb2d]{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);border-color:#81c784;animation:pulse-playing-28f0eb2d 2s infinite}.voice-message-bubble.playing .play-button[data-v-28f0eb2d]{background:#4caf50}.voice-message-bubble.playing .play-button[data-v-28f0eb2d]:hover{background:#388e3c}@keyframes pulse-playing-28f0eb2d{0%,to{box-shadow:0 0 0 0 rgba(76,175,80,.4)}50%{box-shadow:0 0 0 8px rgba(76,175,80,.1)}}.play-button i[data-v-28f0eb2d]{font-size:12px;margin-left:2px}.voice-waveform[data-v-28f0eb2d]{flex:1;height:32px;display:flex;align-items:center;justify-content:center}.waveform-bars[data-v-28f0eb2d]{display:flex;align-items:center;gap:2px;height:20px}.waveform-bars .bar[data-v-28f0eb2d]{width:3px;background:#2196f3;border-radius:2px;animation:waveform-28f0eb2d 1.5s ease-in-out infinite}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(odd){height:8px}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(2n){height:12px}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(3n){height:16px}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(5n){height:6px}@keyframes waveform-28f0eb2d{0%,to{transform:scaleY(1);opacity:.7}50%{transform:scaleY(1.5);opacity:1}}.waveform-bars .bar[data-v-28f0eb2d]:first-child{animation-delay:0s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(2){animation-delay:.1s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(3){animation-delay:.2s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(4){animation-delay:.3s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(5){animation-delay:.4s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(6){animation-delay:.5s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(7){animation-delay:.6s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(8){animation-delay:.7s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(9){animation-delay:.8s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(10){animation-delay:.9s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(11){animation-delay:1s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(12){animation-delay:1.1s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(13){animation-delay:1.2s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(14){animation-delay:1.3s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(15){animation-delay:1.4s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(16){animation-delay:.2s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(17){animation-delay:.4s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(18){animation-delay:.6s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(19){animation-delay:.8s}.waveform-bars .bar[data-v-28f0eb2d]:nth-child(20){animation-delay:1s}.voice-duration[data-v-28f0eb2d]{font-size:12px;color:#666;font-weight:500;flex-shrink:0}[data-theme=dark] .voice-message-bubble[data-v-28f0eb2d]{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-color:#3b82f6}[data-theme=dark] .voice-duration[data-v-28f0eb2d]{color:#cbd5e1}.ai-controls-section[data-v-28f0eb2d]{padding:1rem 1.5rem;background:var(--bg-primary);border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary)}.ai-status[data-v-28f0eb2d]{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.ai-toggle[data-v-28f0eb2d],.speech-toggle[data-v-28f0eb2d]{display:flex;align-items:center;gap:.5rem}.toggle-switch[data-v-28f0eb2d]{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input[data-v-28f0eb2d]{opacity:0;width:0;height:0}.toggle-slider[data-v-28f0eb2d]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-button);transition:.3s;border-radius:24px}.toggle-slider[data-v-28f0eb2d]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider[data-v-28f0eb2d]{background-color:var(--accent-success)}input:checked+.toggle-slider[data-v-28f0eb2d]:before{transform:translateX(26px)}.toggle-label[data-v-28f0eb2d]{color:var(--text-primary);font-size:.9rem;font-weight:500}.ai-status-indicator[data-v-28f0eb2d]{margin-left:auto;display:flex;align-items:center;gap:.5rem}.status-generating[data-v-28f0eb2d]{color:#fbbf24;font-size:.9rem}.status-error[data-v-28f0eb2d]{color:#f87171;font-size:.9rem}.status-ready[data-v-28f0eb2d]{color:#48bb78;font-size:.9rem}.status-disabled[data-v-28f0eb2d]{color:#9ca3af;font-size:.9rem}.chat-input-section[data-v-28f0eb2d]{padding:1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-primary)}.input-container[data-v-28f0eb2d]{display:flex;gap:1rem;align-items:flex-end}.message-input[data-v-28f0eb2d]{flex:1;border:2px solid var(--border-primary);border-radius:12px;padding:1rem;font-size:1rem;resize:vertical;min-height:60px;font-family:inherit;transition:border-color .3s;background:var(--bg-primary);color:var(--text-primary)}.message-input[data-v-28f0eb2d]:focus{outline:none;border-color:var(--accent-success);box-shadow:0 0 0 3px rgba(72,187,120,.1)}.message-input[data-v-28f0eb2d]::-moz-placeholder{color:var(--text-secondary)}.message-input[data-v-28f0eb2d]::placeholder{color:var(--text-secondary)}.send-btn[data-v-28f0eb2d]{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:1rem 1.5rem;border-radius:12px;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:.5rem;transition:transform .2s,box-shadow .3s;min-height:60px}.send-btn[data-v-28f0eb2d]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(72,187,120,.4)}.send-btn[data-v-28f0eb2d]:disabled{opacity:.5;cursor:not-allowed}.welcome-message[data-v-28f0eb2d]{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px;background:var(--bg-primary)}.welcome-content[data-v-28f0eb2d]{text-align:center;max-width:400px;padding:2rem}.welcome-icon[data-v-28f0eb2d]{width:80px;height:80px;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff;font-size:2rem;animation:pulse-28f0eb2d 2s infinite}@keyframes pulse-28f0eb2d{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.welcome-title[data-v-28f0eb2d]{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.welcome-text[data-v-28f0eb2d]{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0}.start-session-btn[data-v-28f0eb2d]{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px rgba(72,187,120,.3);animation:glow-28f0eb2d 2s ease-in-out infinite alternate}@keyframes glow-28f0eb2d{0%{box-shadow:0 4px 15px rgba(72,187,120,.3)}to{box-shadow:0 6px 20px rgba(72,187,120,.5)}}.start-session-btn[data-v-28f0eb2d]:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(72,187,120,.5);background:linear-gradient(135deg,#38a169,#2f855a)}.start-session-btn i[data-v-28f0eb2d]{font-size:1.1rem}.form-actions[data-v-28f0eb2d]{display:flex;gap:1rem;margin-top:auto;padding-top:1rem}.save-btn[data-v-28f0eb2d]{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:.5rem;transition:transform .2s,box-shadow .3s;flex:1;justify-content:center}.save-btn[data-v-28f0eb2d]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(72,187,120,.4)}.clear-btn[data-v-28f0eb2d]{background:#f56565;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:.5rem;transition:transform .2s,box-shadow .3s;flex:1;justify-content:center}.clear-btn[data-v-28f0eb2d]:hover{transform:translateY(-2px);box-shadow:0 4px 12px hsla(0,88%,68%,.4)}@media (max-width:1024px){.simulation-container[data-v-28f0eb2d]{grid-template-columns:1fr;grid-template-rows:1fr auto}.consultation-section[data-v-28f0eb2d]{border-left:none;border-top:1px solid var(--border-primary);max-height:400px}.chat-messages[data-v-28f0eb2d]{max-height:50vh}}@media (max-width:768px){.simulation-container[data-v-28f0eb2d]{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:100vh}.consultation-section[data-v-28f0eb2d]{border-left:none;border-bottom:1px solid var(--border-primary)}.chat-header[data-v-28f0eb2d],.main-content[data-v-28f0eb2d]{padding:1rem}.patient-info[data-v-28f0eb2d]{gap:.5rem}.patient-avatar[data-v-28f0eb2d]{width:40px;height:40px;font-size:1rem}.input-container[data-v-28f0eb2d]{flex-direction:column;gap:.5rem}.send-btn[data-v-28f0eb2d]{align-self:stretch}.consultation-form[data-v-28f0eb2d]{padding:1rem}.form-row[data-v-28f0eb2d]{grid-template-columns:1fr}.form-actions[data-v-28f0eb2d]{flex-direction:column}.welcome-content[data-v-28f0eb2d]{padding:1.5rem}.welcome-title[data-v-28f0eb2d]{font-size:1.3rem}.welcome-text[data-v-28f0eb2d]{font-size:.9rem}.start-session-btn[data-v-28f0eb2d]{padding:.75rem 1.25rem;font-size:.95rem}}.sticky-note-notification[data-v-28f0eb2d]{position:fixed;top:20px;right:20px;z-index:1000;transform:translateX(100%);transition:transform .4s cubic-bezier(.68,-.55,.265,1.55)}.sticky-note-notification.show[data-v-28f0eb2d]{transform:translateX(0)}.sticky-note[data-v-28f0eb2d]{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.15);min-width:300px;max-width:400px;position:relative;animation:stickyNoteFloat-28f0eb2d .6s ease-out}.sticky-note[data-v-28f0eb2d]:before{content:"";position:absolute;top:-8px;left:20px;width:20px;height:20px;background:#f59e0b;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1)}.sticky-note-header[data-v-28f0eb2d]{padding:1rem 1rem .5rem;display:flex;align-items:center;gap:.5rem;font-weight:600;color:#92400e}.sticky-note-header i[data-v-28f0eb2d]{color:#059669;font-size:1.1rem}.sticky-note-body[data-v-28f0eb2d]{padding:0 1rem 1rem;color:#78350f;font-size:.9rem;line-height:1.4}@keyframes stickyNoteFloat-28f0eb2d{0%{transform:translateY(-20px) rotate(-2deg);opacity:0}50%{transform:translateY(5px) rotate(1deg)}to{transform:translateY(0) rotate(0deg);opacity:1}}@media (max-width:768px){.sticky-note-notification[data-v-28f0eb2d]{top:10px;right:10px;left:10px;transform:translateY(-100%)}.sticky-note-notification.show[data-v-28f0eb2d]{transform:translateY(0)}.sticky-note[data-v-28f0eb2d]{min-width:auto;max-width:none}}.modal-overlay[data-v-28f0eb2d]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(4px)}.modal-content[data-v-28f0eb2d]{background:var(--bg-primary);border-radius:16px;max-width:900px;width:95%;max-height:85vh;overflow:hidden;box-shadow:var(--shadow-xl);animation:modalSlideIn-28f0eb2d .3s ease-out}@keyframes modalSlideIn-28f0eb2d{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header[data-v-28f0eb2d]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.modal-header h3[data-v-28f0eb2d]{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.modal-header h3 i[data-v-28f0eb2d]{color:var(--accent-success)}.close-btn[data-v-28f0eb2d]{background:#f56565;color:#fff;border:none;border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn[data-v-28f0eb2d]:hover{background:#e53e3e;transform:scale(1.05)}.modal-body[data-v-28f0eb2d]{padding:2rem;overflow-y:auto;max-height:calc(85vh - 120px)}.history-table-container[data-v-28f0eb2d]{overflow-x:auto}.history-table[data-v-28f0eb2d]{width:100%;border-collapse:collapse;background:var(--bg-primary);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md)}.history-table th[data-v-28f0eb2d]{background:var(--bg-secondary);color:var(--text-primary);font-weight:600;padding:1rem;text-align:left;border-bottom:2px solid var(--border-primary);font-size:.9rem}.history-table td[data-v-28f0eb2d]{padding:1rem;border-bottom:1px solid var(--border-primary);color:var(--text-secondary)}.history-table tr[data-v-28f0eb2d]:hover{background:var(--bg-secondary)}.history-table .no-data[data-v-28f0eb2d]{text-align:center;padding:3rem;color:#a0aec0;font-style:italic}.history-table .no-data i[data-v-28f0eb2d]{font-size:2rem;margin-bottom:1rem;display:block}.view-btn[data-v-28f0eb2d]{background:#4299e1;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:.3rem;transition:all .2s ease}.view-btn[data-v-28f0eb2d]:hover{background:#3182ce;transform:translateY(-1px)}.history-btn[data-v-28f0eb2d]{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.history-btn[data-v-28f0eb2d]:hover{background:#7eb988;transform:translateY(-1px)}.details-modal[data-v-28f0eb2d]{max-width:1000px}.consultation-details[data-v-28f0eb2d]{color:#2d3748}.detail-section[data-v-28f0eb2d]{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.detail-section[data-v-28f0eb2d]:last-child{border-bottom:none;margin-bottom:0}.detail-section h4[data-v-28f0eb2d]{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem 0;padding:.5rem 0;border-bottom:2px solid #48bb78;display:flex;align-items:center;gap:.5rem}.detail-section h4 i[data-v-28f0eb2d]{color:#48bb78}.detail-grid[data-v-28f0eb2d]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-item[data-v-28f0eb2d]{background:#f7fafc;padding:1rem;border-radius:8px;border-left:4px solid #48bb78}.detail-item.full-width[data-v-28f0eb2d]{grid-column:1/-1}.detail-item label[data-v-28f0eb2d]{font-weight:600;color:#2d3748;display:block;margin-bottom:.5rem;font-size:.9rem}.detail-item p[data-v-28f0eb2d],.detail-item span[data-v-28f0eb2d]{color:#4a5568;line-height:1.5;margin:0}[data-theme=dark] .consultation-details[data-v-28f0eb2d]{color:var(--text-primary)}[data-theme=dark] .detail-section[data-v-28f0eb2d]{border-bottom-color:var(--border-primary)}[data-theme=dark] .detail-section h4[data-v-28f0eb2d]{color:var(--text-primary)}[data-theme=dark] .detail-item[data-v-28f0eb2d]{background:var(--bg-secondary);border-left-color:#48bb78}[data-theme=dark] .detail-item label[data-v-28f0eb2d]{color:var(--text-primary)}[data-theme=dark] .detail-item p[data-v-28f0eb2d],[data-theme=dark] .detail-item span[data-v-28f0eb2d]{color:var(--text-secondary)}@media (max-width:768px){.modal-content[data-v-28f0eb2d]{width:95%;max-height:90vh;margin:1rem}.modal-header[data-v-28f0eb2d]{padding:1rem 1.5rem}.modal-header h3[data-v-28f0eb2d]{font-size:1.1rem}.modal-body[data-v-28f0eb2d]{padding:1.5rem;max-height:calc(90vh - 100px)}.history-table[data-v-28f0eb2d]{font-size:.85rem}.history-table td[data-v-28f0eb2d],.history-table th[data-v-28f0eb2d]{padding:.75rem .5rem}.detail-grid[data-v-28f0eb2d]{grid-template-columns:1fr;gap:.75rem}.detail-item[data-v-28f0eb2d]{padding:.75rem}.view-btn[data-v-28f0eb2d]{padding:.4rem .8rem;font-size:.8rem}}@media (max-width:480px){.modal-content[data-v-28f0eb2d]{width:100%;height:100%;max-height:100vh;border-radius:0;margin:0}.modal-header[data-v-28f0eb2d]{padding:1rem}.modal-body[data-v-28f0eb2d]{padding:1rem;max-height:calc(100vh - 80px)}.history-table td[data-v-28f0eb2d],.history-table th[data-v-28f0eb2d]{padding:.5rem .25rem;font-size:.8rem}}[data-theme=light] .chat-controls .control-btn[data-v-28f0eb2d]{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}[data-theme=light] .chat-controls .control-btn[data-v-28f0eb2d]:hover{background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-2px);box-shadow:0 4px 12px rgba(72,187,120,.4)}.allergies-section[data-v-28f0eb2d]{display:flex;flex-direction:column;gap:1rem}.allergy-checkboxes[data-v-28f0eb2d]{display:flex;flex-direction:column;gap:.75rem}.checkbox-group[data-v-28f0eb2d]{display:flex;align-items:center}.checkbox-label[data-v-28f0eb2d]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input[type=checkbox][data-v-28f0eb2d]{width:18px;height:18px;accent-color:var(--accent-success);cursor:pointer}.allergy-types[data-v-28f0eb2d]{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-primary)}.allergy-types-label[data-v-28f0eb2d]{margin:0 0 .75rem 0;font-weight:600;color:var(--text-primary);font-size:.9rem}.allergy-type-checkboxes[data-v-28f0eb2d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-bottom:1rem}.others-input[data-v-28f0eb2d]{display:flex;flex-direction:column;gap:.5rem}.others-input label[data-v-28f0eb2d]{font-size:.9rem;font-weight:500;color:var(--text-primary)}.others-input .form-input[data-v-28f0eb2d]{margin:0}.ai-patient[data-v-5afbd4c0]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.main-content[data-v-5afbd4c0]{padding:20px;max-width:1400px;margin:0 auto}.ai-patient-content[data-v-5afbd4c0]{background:#fff;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.1);overflow:hidden}.simulation-container[data-v-5afbd4c0]{display:grid;grid-template-columns:1fr 1fr;min-height:80vh}.chat-section[data-v-5afbd4c0]{background:#f8f9fa;display:flex;flex-direction:column;border-right:1px solid #e9ecef}.chat-header[data-v-5afbd4c0]{background:#fff;padding:20px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.patient-info[data-v-5afbd4c0]{display:flex;align-items:center;gap:15px}.patient-avatar[data-v-5afbd4c0]{width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.patient-details h3[data-v-5afbd4c0]{margin:0;color:#2c3e50;font-size:18px}.patient-status[data-v-5afbd4c0]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.patient-status.online[data-v-5afbd4c0]{background:#d4edda;color:#155724}.patient-status.waiting[data-v-5afbd4c0]{background:#fff3cd;color:#856404}.back-to-dashboard-btn[data-v-5afbd4c0],.control-btn[data-v-5afbd4c0],.start-session-btn[data-v-5afbd4c0]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease}.back-to-dashboard-btn[data-v-5afbd4c0]:hover,.control-btn[data-v-5afbd4c0]:hover,.start-session-btn[data-v-5afbd4c0]:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,.4)}.back-to-dashboard-btn[data-v-5afbd4c0]{background:linear-gradient(135deg,#28a745,#20c997);margin-right:10px}.back-to-dashboard-btn[data-v-5afbd4c0]:hover{box-shadow:0 5px 15px rgba(40,167,69,.4)}.chat-messages[data-v-5afbd4c0]{flex:1;padding:20px;overflow-y:auto;max-height:400px}.welcome-message[data-v-5afbd4c0]{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.welcome-content[data-v-5afbd4c0]{max-width:300px}.welcome-icon[data-v-5afbd4c0]{width:80px;height:80px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;font-size:30px}.welcome-title[data-v-5afbd4c0]{color:#2c3e50;margin-bottom:10px}.welcome-text[data-v-5afbd4c0]{color:#6c757d;line-height:1.5}.message[data-v-5afbd4c0]{display:flex;gap:12px;margin-bottom:20px}.message-avatar[data-v-5afbd4c0]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.patient-message .message-avatar[data-v-5afbd4c0]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.student-message .message-avatar[data-v-5afbd4c0]{background:#28a745;color:#fff}.message-content[data-v-5afbd4c0]{flex:1;max-width:calc(100% - 52px)}.message-header[data-v-5afbd4c0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.sender-name[data-v-5afbd4c0]{font-weight:600;color:#2c3e50;font-size:14px}.message-time[data-v-5afbd4c0]{color:#6c757d;font-size:12px}.voice-message-bubble[data-v-5afbd4c0]{background:#fff;border:2px solid #e9ecef;border-radius:15px;padding:15px;transition:all .3s ease}.voice-message-bubble.playing[data-v-5afbd4c0]{border-color:#667eea;background:#f8f9ff}.voice-controls[data-v-5afbd4c0]{display:flex;align-items:center;gap:12px}.play-button[data-v-5afbd4c0]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.play-button[data-v-5afbd4c0]:hover{transform:scale(1.1)}.voice-waveform[data-v-5afbd4c0]{flex:1;height:30px;display:flex;align-items:center}.waveform-bars[data-v-5afbd4c0]{display:flex;gap:2px;height:100%;align-items:center}.bar[data-v-5afbd4c0]{width:3px;background:#667eea;border-radius:2px;animation:wave-5afbd4c0 1.5s ease-in-out infinite}.bar[data-v-5afbd4c0]:nth-child(odd){height:60%;animation-delay:.1s}.bar[data-v-5afbd4c0]:nth-child(2n){height:40%;animation-delay:.2s}@keyframes wave-5afbd4c0{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.5)}}.voice-duration[data-v-5afbd4c0]{color:#6c757d;font-size:12px;font-weight:500}.message-text[data-v-5afbd4c0]{background:#fff;padding:12px 16px;border-radius:15px;border:1px solid #e9ecef;line-height:1.5;color:#2c3e50}.ai-controls-section[data-v-5afbd4c0]{background:#fff;padding:15px 20px;border-top:1px solid #e9ecef}.ai-status[data-v-5afbd4c0]{display:flex;justify-content:space-between;align-items:center}.speech-toggle[data-v-5afbd4c0]{display:flex;align-items:center;gap:10px}.toggle-switch[data-v-5afbd4c0]{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input[data-v-5afbd4c0]{opacity:0;width:0;height:0}.toggle-slider[data-v-5afbd4c0]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.toggle-slider[data-v-5afbd4c0]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider[data-v-5afbd4c0]{background-color:#667eea}input:checked+.toggle-slider[data-v-5afbd4c0]:before{transform:translateX(26px)}.toggle-label[data-v-5afbd4c0]{color:#2c3e50;font-weight:500;font-size:14px}.chat-input-section[data-v-5afbd4c0]{background:#fff;padding:20px;border-top:1px solid #e9ecef}.input-container[data-v-5afbd4c0]{display:flex;gap:12px;align-items:flex-end}.message-input[data-v-5afbd4c0]{flex:1;border:2px solid #e9ecef;border-radius:15px;padding:12px 16px;font-family:inherit;font-size:14px;resize:none;transition:border-color .3s ease}.message-input[data-v-5afbd4c0]:focus{outline:none;border-color:#667eea}.send-button[data-v-5afbd4c0]{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.send-button[data-v-5afbd4c0]:hover:not(:disabled){transform:scale(1.1)}.send-button[data-v-5afbd4c0]:disabled{opacity:.5;cursor:not-allowed}.consultation-section[data-v-5afbd4c0]{background:#fff;display:flex;flex-direction:column;overflow-y:auto;max-height:80vh}.consultation-header[data-v-5afbd4c0]{background:#f8f9fa;padding:20px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.consultation-header h2[data-v-5afbd4c0]{margin:0;color:#2c3e50;display:flex;align-items:center;gap:10px}.consultation-form[data-v-5afbd4c0]{padding:20px;flex:1}.session-notice[data-v-5afbd4c0]{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:16px;margin-bottom:20px;animation:noticeSlideIn-5afbd4c0 .3s ease-out}@keyframes noticeSlideIn-5afbd4c0{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notice-content[data-v-5afbd4c0]{display:flex;align-items:center;gap:12px;color:#92400e;font-weight:500}.notice-content i[data-v-5afbd4c0]{font-size:1.2rem;color:#f59e0b}.form-section[data-v-5afbd4c0]{margin-bottom:30px}.section-title[data-v-5afbd4c0]{color:#2c3e50;margin-bottom:15px;display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}.form-grid[data-v-5afbd4c0]{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.form-group[data-v-5afbd4c0]{display:flex;flex-direction:column}.form-group.full-width[data-v-5afbd4c0]{grid-column:1/-1}.form-group label[data-v-5afbd4c0]{color:#495057;font-weight:500;margin-bottom:5px;font-size:14px}.form-input[data-v-5afbd4c0],.form-select[data-v-5afbd4c0],.form-textarea[data-v-5afbd4c0]{border:2px solid #e9ecef;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .3s ease}.form-input[data-v-5afbd4c0]:focus,.form-select[data-v-5afbd4c0]:focus,.form-textarea[data-v-5afbd4c0]:focus{outline:none;border-color:#667eea}.form-textarea[data-v-5afbd4c0]{resize:vertical;min-height:80px}.form-actions[data-v-5afbd4c0]{display:flex;gap:15px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e9ecef}.btn[data-v-5afbd4c0]{padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;gap:8px}.btn-primary[data-v-5afbd4c0]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-5afbd4c0]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,.4)}.btn[data-v-5afbd4c0]:disabled{opacity:.5;cursor:not-allowed}@media (max-width:1024px){.simulation-container[data-v-5afbd4c0]{grid-template-columns:1fr}.chat-section[data-v-5afbd4c0]{border-right:none;border-bottom:1px solid #e9ecef}.form-grid[data-v-5afbd4c0]{grid-template-columns:1fr}}@media (max-width:768px){.main-content[data-v-5afbd4c0]{padding:10px}.chat-header[data-v-5afbd4c0]{flex-direction:column;gap:15px;text-align:center}.form-actions[data-v-5afbd4c0]{flex-direction:column}}.modal-overlay[data-v-5afbd4c0]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-5afbd4c0]{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.feedback-modal .modal-header[data-v-5afbd4c0]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.feedback-modal .modal-header h3[data-v-5afbd4c0]{margin:0;font-size:1.2rem;font-weight:600}.close-btn[data-v-5afbd4c0]{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:5px;border-radius:50%;transition:background-color .2s}.close-btn[data-v-5afbd4c0]:hover{background:hsla(0,0%,100%,.2)}.modal-body[data-v-5afbd4c0]{padding:20px}.modal-footer[data-v-5afbd4c0]{padding:15px 20px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.feedback-info[data-v-5afbd4c0]{background:#f8f9fa;border-radius:8px;padding:15px;border-left:4px solid #667eea}.feedback-header-info[data-v-5afbd4c0]{justify-content:space-between}.feedback-author[data-v-5afbd4c0]{font-weight:600;color:#686c73}.feedback-date[data-v-5afbd4c0]{color:#666;font-size:.9rem}.feedback-content[data-v-5afbd4c0]{color:#444;line-height:1.6;white-space:pre-wrap}.no-feedback[data-v-5afbd4c0]{text-align:center;color:#666;padding:20px;background:#f8f9fa;border-radius:8px;border:2px dashed #ddd}.no-feedback-message[data-v-5afbd4c0]{text-align:left}.no-feedback-message p[data-v-5afbd4c0]{margin-bottom:12px;line-height:1.5}.no-feedback-message ul[data-v-5afbd4c0]{margin:15px 0;padding-left:20px}.no-feedback-message li[data-v-5afbd4c0]{margin-bottom:8px;color:#555}.no-feedback-message .check-back[data-v-5afbd4c0]{margin-top:15px;font-style:italic;color:#888}.error-message[data-v-5afbd4c0]{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:15px}.btn.btn-secondary[data-v-5afbd4c0]{background:#6c757d;border:none;color:#fff;padding:10px 20px;border-radius:6px;cursor:pointer;transition:background-color .2s}.btn.btn-secondary[data-v-5afbd4c0]:hover:not(:disabled){background:#5a6268}.btn.btn-secondary[data-v-5afbd4c0]:disabled{background:#adb5bd;cursor:not-allowed}.ms-2[data-v-5afbd4c0]{margin-left:.5rem}.me-1[data-v-5afbd4c0]{margin-right:.25rem}.me-2[data-v-5afbd4c0]{margin-right:.5rem}.confirmation-modal[data-v-5afbd4c0]{max-width:500px;width:90%}.confirmation-modal .modal-header[data-v-5afbd4c0]{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;border-radius:12px 12px 0 0;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.confirmation-modal .modal-header h3[data-v-5afbd4c0]{margin:0;font-size:1.3rem;font-weight:600;display:flex;align-items:center;gap:.75rem}.confirmation-modal .modal-header h3 i[data-v-5afbd4c0]{font-size:1.4rem}.confirmation-modal .close-btn[data-v-5afbd4c0]{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .2s}.confirmation-modal .close-btn[data-v-5afbd4c0]:hover{background:hsla(0,0%,100%,.2)}.confirmation-modal .modal-body[data-v-5afbd4c0]{padding:2rem}.warning-message[data-v-5afbd4c0]{display:flex;gap:1rem;align-items:flex-start}.warning-icon[data-v-5afbd4c0]{color:#f39c12;font-size:2rem;flex-shrink:0;margin-top:.25rem}.warning-text[data-v-5afbd4c0]{flex:1}.warning-text p[data-v-5afbd4c0]{margin:0 0 1rem 0;line-height:1.6;color:#333}.warning-text p[data-v-5afbd4c0]:last-child{margin-bottom:0}.warning-text strong[data-v-5afbd4c0]{color:#2c3e50;font-weight:600}.confirmation-modal .modal-footer[data-v-5afbd4c0]{padding:1.5rem 2rem;background:#f8f9fa;border-radius:0 0 12px 12px;display:flex;justify-content:flex-end;gap:1rem}.confirmation-modal .btn[data-v-5afbd4c0]{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.confirmation-modal .btn.btn-primary[data-v-5afbd4c0]{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.confirmation-modal .btn.btn-primary[data-v-5afbd4c0]:hover{background:linear-gradient(135deg,#2980b9,#1f5f8b);transform:translateY(-1px)}.confirmation-modal .btn.btn-secondary[data-v-5afbd4c0]{background:#6c757d;color:#fff}.confirmation-modal .btn.btn-secondary[data-v-5afbd4c0]:hover{background:#5a6268;transform:translateY(-1px)}.feedback-score[data-v-5afbd4c0]{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;margin-left:10px}.feedback-score i[data-v-5afbd4c0]{font-size:10px}.feedback-header-info[data-v-5afbd4c0]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.feedback-author[data-v-5afbd4c0],.feedback-date[data-v-5afbd4c0]{font-size:14px;color:#6b7280}.feedback-author i[data-v-5afbd4c0],.feedback-date i[data-v-5afbd4c0]{color:#9ca3af}[data-theme=dark] .feedback-author[data-v-5afbd4c0],[data-theme=dark] .feedback-date[data-v-5afbd4c0]{color:#d1d5db}[data-theme=dark] .feedback-author i[data-v-5afbd4c0],[data-theme=dark] .feedback-date i[data-v-5afbd4c0]{color:#9ca3af}.submission-confirmation-overlay[data-v-5afbd4c0]{background-color:rgba(0,0,0,.8);z-index:9999}.submission-confirmation-modal[data-v-5afbd4c0]{max-width:550px;width:90%;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.3);overflow:hidden;animation:submissionSlideIn-5afbd4c0 .5s ease-out}@keyframes submissionSlideIn-5afbd4c0{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.submission-header[data-v-5afbd4c0]{background:hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.2);padding:30px 30px 20px;text-align:center;color:#fff}.submission-icon[data-v-5afbd4c0]{font-size:3rem;margin-bottom:15px;color:#fbbf24;animation:submissionPulse-5afbd4c0 2s infinite}@keyframes submissionPulse-5afbd4c0{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.submission-body[data-v-5afbd4c0]{padding:30px;background:#fff;color:#374151}.submission-text[data-v-5afbd4c0]{text-align:center;margin-bottom:25px}.submission-text p[data-v-5afbd4c0]{margin:0 0 10px 0;line-height:1.6}.submission-text p[data-v-5afbd4c0]:first-child{font-size:1.1rem;color:#1f2937;margin-bottom:15px}.submission-details[data-v-5afbd4c0]{background:#f8fafc;border-left:4px solid #4f46e5;padding:20px;margin:20px 0;border-radius:8px}.detail-item[data-v-5afbd4c0]{margin-bottom:10px;font-size:.95rem}.detail-item i[data-v-5afbd4c0]{color:#4f46e5}.next-steps[data-v-5afbd4c0]{margin-top:25px}.next-steps h4[data-v-5afbd4c0]{color:#1f2937;margin-bottom:15px;font-size:1rem;display:flex;align-items:center}.next-steps h4 i[data-v-5afbd4c0]{color:#4f46e5}.next-steps ul[data-v-5afbd4c0]{margin:0;padding-left:20px}.next-steps li[data-v-5afbd4c0]{margin-bottom:8px;color:#4b5563;line-height:1.5}.submission-footer[data-v-5afbd4c0]{background:#f8fafc;border-top:1px solid #e5e7eb;padding:20px 30px;text-align:center}.submission-footer .btn[data-v-5afbd4c0]{padding:12px 30px;font-size:1rem;font-weight:600;border-radius:10px;transition:all .3s ease}.submission-footer .btn[data-v-5afbd4c0]:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(79,70,229,.3)}.submission-footer .btn[data-v-5afbd4c0]:active{transform:translateY(0)}[data-theme=dark] .submission-body[data-v-5afbd4c0]{background:#1f2937;color:#e5e7eb}[data-theme=dark] .submission-text p[data-v-5afbd4c0]:first-child{color:#f9fafb}[data-theme=dark] .submission-details[data-v-5afbd4c0]{background:#374151;border-left-color:#6366f1}[data-theme=dark] .next-steps h4[data-v-5afbd4c0]{color:#f9fafb}[data-theme=dark] .next-steps li[data-v-5afbd4c0]{color:#d1d5db}[data-theme=dark] .submission-footer[data-v-5afbd4c0]{background:#1f2937}.activity-completion-overlay[data-v-5afbd4c0]{background-color:rgba(0,0,0,.8);z-index:9999}.activity-completion-modal[data-v-5afbd4c0]{max-width:500px;width:90%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.3);overflow:hidden;animation:completionSlideIn-5afbd4c0 .5s ease-out}@keyframes completionSlideIn-5afbd4c0{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.completion-header[data-v-5afbd4c0]{background:hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.2);padding:30px 30px 20px;text-align:center;color:#fff}.completion-icon[data-v-5afbd4c0]{margin-bottom:15px}.completion-icon i[data-v-5afbd4c0]{font-size:60px;color:#4ade80;text-shadow:0 0 20px rgba(74,222,128,.5);animation:completionPulse-5afbd4c0 2s infinite}@keyframes completionPulse-5afbd4c0{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.completion-header .modal-title[data-v-5afbd4c0]{font-size:28px;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.completion-body[data-v-5afbd4c0]{padding:30px;background:#fff;color:#374151}.completion-message[data-v-5afbd4c0]{text-align:center}.completion-text p[data-v-5afbd4c0]{font-size:16px;line-height:1.6;margin-bottom:15px}.completion-text p[data-v-5afbd4c0]:first-child{font-size:18px;color:#1f2937}.completion-details[data-v-5afbd4c0]{margin-top:25px;padding:20px;background:#f8fafc;border-radius:12px;border-left:4px solid #4ade80}.detail-item[data-v-5afbd4c0]{display:flex;align-items:center;margin-bottom:12px;font-size:15px;color:#4b5563}.detail-item[data-v-5afbd4c0]:last-child{margin-bottom:0}.detail-item i[data-v-5afbd4c0]{color:#4ade80;margin-right:12px;width:20px;text-align:center}.completion-footer[data-v-5afbd4c0]{padding:20px 30px 30px;background:#fff;text-align:center}.completion-btn[data-v-5afbd4c0]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;padding:15px 30px;font-size:16px;font-weight:600;border-radius:50px;color:#fff;transition:all .3s ease;box-shadow:0 4px 15px rgba(102,126,234,.4)}.completion-btn[data-v-5afbd4c0]:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.6);background:linear-gradient(135deg,#5a67d8,#6b46c1)}.completion-btn[data-v-5afbd4c0]:active{transform:translateY(0)}[data-theme=dark] .session-notice[data-v-5afbd4c0]{background:linear-gradient(135deg,#374151,#4b5563);border-color:#f59e0b}[data-theme=dark] .notice-content[data-v-5afbd4c0]{color:#fbbf24}[data-theme=dark] .notice-content i[data-v-5afbd4c0]{color:#f59e0b}[data-theme=dark] .completion-body[data-v-5afbd4c0]{background:#1f2937;color:#e5e7eb}[data-theme=dark] .completion-text p[data-v-5afbd4c0]:first-child{color:#f9fafb}[data-theme=dark] .completion-details[data-v-5afbd4c0]{background:#374151;border-left-color:#4ade80}.confirmation-dialog-overlay[data-v-5afbd4c0]{background:rgba(0,0,0,.7);backdrop-filter:blur(5px)}.confirmation-dialog[data-v-5afbd4c0]{max-width:500px;width:90%;background:#fff;border-radius:15px;box-shadow:0 20px 40px rgba(0,0,0,.3);animation:confirmationSlideIn-5afbd4c0 .3s ease-out}.confirmation-dialog-header[data-v-5afbd4c0]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:20px;border-radius:15px 15px 0 0;text-align:center}.confirmation-dialog-header .modal-title[data-v-5afbd4c0]{margin:0;font-size:20px;font-weight:600}.confirmation-dialog-body[data-v-5afbd4c0]{padding:30px;text-align:center}.confirmation-dialog-body p[data-v-5afbd4c0]{margin:0 0 15px 0;font-size:16px;line-height:1.5}.confirmation-dialog-body .warning-text[data-v-5afbd4c0]{color:#dc2626;font-weight:500;background:#fef2f2;padding:10px;border-radius:8px;border-left:4px solid #dc2626}.confirmation-dialog-footer[data-v-5afbd4c0]{padding:20px 30px;display:flex;gap:15px;justify-content:center;border-top:1px solid #e5e7eb}.confirmation-dialog-footer .btn[data-v-5afbd4c0]{padding:12px 25px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease;font-size:14px}.confirmation-dialog-footer .cancel-btn[data-v-5afbd4c0]{background:#6b7280;color:#fff}.confirmation-dialog-footer .cancel-btn[data-v-5afbd4c0]:hover{background:#4b5563;transform:translateY(-1px)}.confirmation-dialog-footer .confirm-btn[data-v-5afbd4c0]{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.confirmation-dialog-footer .confirm-btn[data-v-5afbd4c0]:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px)}@keyframes confirmationSlideIn-5afbd4c0{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-theme=dark] .confirmation-dialog[data-v-5afbd4c0]{background:#1f2937;color:#e5e7eb}[data-theme=dark] .confirmation-dialog-body .warning-text[data-v-5afbd4c0]{background:#451a03;color:#fbbf24;border-left-color:#f59e0b}[data-theme=dark] .confirmation-dialog-footer[data-v-5afbd4c0]{border-top-color:#374151}[data-theme=dark] .detail-item[data-v-5afbd4c0]{color:#d1d5db}[data-theme=dark] .completion-footer[data-v-5afbd4c0]{background:#1f2937}.allergies-section[data-v-5afbd4c0]{display:flex;flex-direction:column;gap:1rem}.allergy-checkboxes[data-v-5afbd4c0]{display:flex;flex-direction:column;gap:.75rem}.checkbox-group[data-v-5afbd4c0]{display:flex;align-items:center}.checkbox-label[data-v-5afbd4c0]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:#374151;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input[type=checkbox][data-v-5afbd4c0]{width:18px;height:18px;accent-color:#48bb78;cursor:pointer}.allergy-types[data-v-5afbd4c0]{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.allergy-types-label[data-v-5afbd4c0]{margin:0 0 .75rem 0;font-weight:600;color:#374151;font-size:.9rem}.allergy-type-checkboxes[data-v-5afbd4c0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-bottom:1rem}.others-input[data-v-5afbd4c0]{display:flex;flex-direction:column;gap:.5rem}.others-input label[data-v-5afbd4c0]{font-size:.9rem;font-weight:500;color:#374151}.others-input .form-input[data-v-5afbd4c0]{margin:0}[data-theme=dark] .checkbox-label[data-v-5afbd4c0]{color:#e5e7eb}[data-theme=dark] .allergy-types[data-v-5afbd4c0]{background:#374151;border-color:#4b5563}[data-theme=dark] .allergy-types-label[data-v-5afbd4c0],[data-theme=dark] .others-input label[data-v-5afbd4c0]{color:#e5e7eb}.settings-page[data-v-7e80139e]{min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.settings-content[data-v-7e80139e]{padding:2rem;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.settings-card[data-v-7e80139e]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.card-header[data-v-7e80139e]{padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.card-title[data-v-7e80139e]{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .5rem 0;display:flex;align-items:center;gap:.75rem}.card-title i[data-v-7e80139e]{color:var(--accent-success)}.card-subtitle[data-v-7e80139e]{color:var(--text-secondary);font-size:.9rem;margin:0}.card-body[data-v-7e80139e]{padding:1.5rem}.password-form[data-v-7e80139e],.profile-form[data-v-7e80139e]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-7e80139e]{display:flex;flex-direction:column;gap:.5rem}.form-label[data-v-7e80139e]{color:var(--text-secondary);font-weight:500;font-size:.9rem}.form-input[data-v-7e80139e],.form-select[data-v-7e80139e]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;color:var(--text-primary);font-size:.9rem;transition:all .3s ease}.form-input[data-v-7e80139e]:focus,.form-select[data-v-7e80139e]:focus{outline:none;border-color:var(--accent-success);box-shadow:0 0 0 3px rgba(72,187,120,.1)}.form-input[readonly][data-v-7e80139e]{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.form-help[data-v-7e80139e]{color:var(--text-secondary);font-size:.8rem}.form-actions[data-v-7e80139e]{display:flex;justify-content:flex-start;margin-top:1rem}.btn[data-v-7e80139e]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;text-decoration:none}.btn-primary[data-v-7e80139e]{background:linear-gradient(135deg,var(--accent-success) 0,#38a169 100%);color:var(--text-on-accent)}.btn-primary[data-v-7e80139e]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px rgba(72,187,120,.3)}.btn[data-v-7e80139e]:disabled{opacity:.6;cursor:not-allowed;transform:none}.preference-item[data-v-7e80139e]{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border-primary)}.preference-item[data-v-7e80139e]:last-child{border-bottom:none}.preference-info[data-v-7e80139e]{flex:1}.preference-title[data-v-7e80139e]{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .25rem 0}.preference-description[data-v-7e80139e]{color:var(--text-secondary);font-size:.85rem;margin:0}.preference-control[data-v-7e80139e]{flex-shrink:0}.toggle-switch[data-v-7e80139e]{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input[data-v-7e80139e]{opacity:0;width:0;height:0}.toggle-slider[data-v-7e80139e]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-primary);transition:.3s;border-radius:24px}.toggle-slider[data-v-7e80139e]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--text-on-accent);transition:.3s;border-radius:50%}input:checked+.toggle-slider[data-v-7e80139e]{background-color:var(--accent-success)}input:checked+.toggle-slider[data-v-7e80139e]:before{transform:translateX(26px)}.message[data-v-7e80139e]{position:fixed;top:100px;right:2rem;padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:.5rem;font-weight:500;z-index:1000;animation:slideIn-7e80139e .3s ease-out}.message.success[data-v-7e80139e]{background:rgba(72,187,120,.1);border:1px solid var(--accent-success);color:var(--accent-success)}.message.error[data-v-7e80139e]{background:hsla(0,88%,68%,.1);border:1px solid var(--accent-error);color:var(--accent-error)}@keyframes slideIn-7e80139e{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.settings-content[data-v-7e80139e]{padding:1rem}.page-header[data-v-7e80139e]{padding:1.5rem 1rem}.card-body[data-v-7e80139e],.card-header[data-v-7e80139e]{padding:1rem}.preference-item[data-v-7e80139e]{flex-direction:column;align-items:flex-start;gap:1rem}.message[data-v-7e80139e]{right:1rem;left:1rem}}.student-room-interface[data-v-9737a190]{min-height:100vh;background:linear-gradient(135deg,#1a1d29,#2d3748);color:#fff}.error-container[data-v-9737a190],.loading-container[data-v-9737a190]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:2rem}.loading-spinner[data-v-9737a190]{width:40px;height:40px;border:4px solid #2d3748;border-top:4px solid #667eea;border-radius:50%;animation:spin-9737a190 1s linear infinite;margin-bottom:1rem}@keyframes spin-9737a190{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-icon[data-v-9737a190]{color:#f56565;margin-bottom:1rem}.room-content[data-v-9737a190]{padding:2rem;max-width:1200px;margin:0 auto}.room-header[data-v-9737a190]{background:var(--bg-secondary);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;margin-bottom:2rem;border:1px solid var(--border-color)}.header-content[data-v-9737a190]{display:flex;justify-content:space-between;align-items:center}.room-info h1[data-v-9737a190]{font-size:2rem;font-weight:700;margin:0 0 .5rem 0;color:var(--text-primary)}.room-details[data-v-9737a190]{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.separator[data-v-9737a190]{color:var(--border-color)}.status[data-v-9737a190]{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.status.waiting[data-v-9737a190]{background:rgba(237,137,54,.2);color:#ed8936}.status.active[data-v-9737a190]{background:rgba(72,187,120,.2);color:#48bb78}.status.completed[data-v-9737a190]{background:rgba(102,126,234,.2);color:#667eea}.student-info[data-v-9737a190]{display:flex;align-items:center;gap:1rem}.student-avatar[data-v-9737a190]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.2rem}.student-avatar.small[data-v-9737a190]{width:32px;height:32px;font-size:.9rem}.student-details[data-v-9737a190]{display:flex;flex-direction:column}.student-name[data-v-9737a190]{font-weight:600;color:var(--text-primary)}.student-status[data-v-9737a190]{font-size:.8rem;color:var(--text-secondary)}.activity-status[data-v-9737a190]{background:var(--bg-secondary);backdrop-filter:blur(10px);border-radius:16px;padding:3rem;margin-bottom:2rem;border:1px solid var(--border-color);text-align:center}.status-icon[data-v-9737a190]{width:64px;height:64px;margin:0 auto 1rem;color:var(--text-secondary)}.status-icon.active[data-v-9737a190]{color:#48bb78}.status-icon.completed[data-v-9737a190]{color:#667eea}.activity-status h3[data-v-9737a190]{font-size:1.5rem;font-weight:600;margin:0 0 .5rem 0;color:var(--text-primary)}.activity-status p[data-v-9737a190]{color:var(--text-secondary);margin-bottom:2rem}.activity-controls[data-v-9737a190]{margin-top:2rem}.btn[data-v-9737a190]{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.btn-primary[data-v-9737a190]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-9737a190]:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.3)}.btn-large[data-v-9737a190]{padding:1rem 2rem;font-size:1.1rem}.progress-section[data-v-9737a190]{margin-bottom:2rem}.progress-card[data-v-9737a190]{background:var(--bg-secondary);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;border:1px solid var(--border-color)}.progress-card h4[data-v-9737a190]{font-size:1.2rem;font-weight:600;margin:0 0 1.5rem 0;color:var(--text-primary)}.progress-stats[data-v-9737a190]{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:1.5rem}.stat-item[data-v-9737a190]{text-align:center}.stat-value[data-v-9737a190]{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-label[data-v-9737a190]{color:var(--text-secondary);font-size:.9rem}.progress-bar[data-v-9737a190]{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill[data-v-9737a190]{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease}.other-students-section[data-v-9737a190]{background:var(--bg-secondary);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;border:1px solid var(--border-color)}.other-students-section h4[data-v-9737a190]{font-size:1.2rem;font-weight:600;margin:0 0 1.5rem 0;color:var(--text-primary)}.students-list[data-v-9737a190]{display:grid;gap:1rem}.student-item[data-v-9737a190]{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-color)}.student-item .student-info[data-v-9737a190]{flex:1}.student-item .student-name[data-v-9737a190]{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.student-progress[data-v-9737a190]{font-size:.8rem;color:var(--text-secondary)}.student-stats[data-v-9737a190]{color:var(--text-secondary);font-size:.9rem}.exit-btn[data-v-9737a190]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:hsla(0,88%,68%,.1);color:#f56565;border:1px solid hsla(0,88%,68%,.3);border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.exit-btn[data-v-9737a190]:hover{background:hsla(0,88%,68%,.2);border-color:hsla(0,88%,68%,.5);transform:translateY(-1px)}.exit-btn svg[data-v-9737a190]{flex-shrink:0}.kick-modal-overlay[data-v-9737a190]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:9999}.kick-modal[data-v-9737a190]{background:var(--bg-secondary);border-radius:16px;padding:32px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.5);border:1px solid var(--border-color)}.kick-modal-header[data-v-9737a190]{margin-bottom:24px}.kick-icon[data-v-9737a190]{margin-bottom:16px;display:flex;justify-content:center}.kick-modal h2[data-v-9737a190]{color:#f56565;font-size:24px;font-weight:600;margin:0}.kick-modal-body[data-v-9737a190]{margin-bottom:32px}.kick-modal-body p[data-v-9737a190]{color:var(--text-secondary);font-size:16px;line-height:1.5;margin:0}.kick-modal-footer[data-v-9737a190]{display:flex;justify-content:center}.countdown-status[data-v-9737a190]{text-align:center;padding:3rem 2rem}.countdown-circle[data-v-9737a190]{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;box-shadow:0 10px 30px rgba(102,126,234,.3);animation:pulse-9737a190 1s ease-in-out infinite alternate}.countdown-number[data-v-9737a190]{font-size:3rem;font-weight:700;color:#fff}@keyframes pulse-9737a190{0%{transform:scale(1);box-shadow:0 10px 30px rgba(102,126,234,.3)}to{transform:scale(1.05);box-shadow:0 15px 40px rgba(102,126,234,.5)}}.countdown-status h3[data-v-9737a190]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.countdown-status p[data-v-9737a190]{color:var(--text-secondary);font-size:1.1rem}.kick-ok-btn[data-v-9737a190]{background:#f56565;color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.kick-ok-btn[data-v-9737a190]:hover{background:#e53e3e;transform:translateY(-1px)}.kick-ok-btn[data-v-9737a190]:active{transform:translateY(0)}@media (max-width:768px){.room-content[data-v-9737a190]{padding:1rem}.header-content[data-v-9737a190]{flex-direction:column;gap:1rem;text-align:center}.progress-stats[data-v-9737a190]{grid-template-columns:1fr;gap:1rem}.student-item[data-v-9737a190]{flex-direction:column;text-align:center}}.toast-container[data-v-9737a190]{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:12px}.toast[data-v-9737a190]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:500;animation:slideInRight-9737a190 .3s ease-out;min-width:250px}.toast.success[data-v-9737a190]{border-color:#48bb78;background:rgba(72,187,120,.1)}.toast.info[data-v-9737a190]{border-color:#667eea;background:rgba(102,126,234,.1)}.toast.error[data-v-9737a190]{border-color:#f56565;background:hsla(0,88%,68%,.1)}.toast-icon[data-v-9737a190]{color:currentColor}@keyframes slideInRight-9737a190{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.typing-test[data-v-2dfd76ac]{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column}.stats-header[data-v-2dfd76ac]{display:flex;justify-content:space-between;align-items:center;padding:2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.stats-container[data-v-2dfd76ac]{display:flex;gap:3rem}.stats-container.centered[data-v-2dfd76ac]{justify-content:center}.stat-item[data-v-2dfd76ac]{text-align:center}.stat-value[data-v-2dfd76ac]{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.stat-label[data-v-2dfd76ac]{font-size:.9rem;color:var(--text-secondary);margin-top:.25rem;text-transform:uppercase;letter-spacing:.5px}.timer-container[data-v-2dfd76ac]{display:flex;align-items:center;gap:.5rem;background:rgba(102,126,234,.2);padding:.75rem 1.5rem;border-radius:8px;font-size:1.1rem;font-weight:600}.no-time-limit[data-v-2dfd76ac]{color:#68d391;font-weight:700}.progress-container[data-v-2dfd76ac]{padding:1rem 2rem;background:var(--bg-tertiary)}.progress-bar[data-v-2dfd76ac]{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill[data-v-2dfd76ac]{height:100%;background:linear-gradient(135deg,#48bb78,#38a169);transition:width .3s ease}.progress-text[data-v-2dfd76ac]{text-align:center;font-size:.9rem;color:var(--text-secondary)}.typing-container[data-v-2dfd76ac]{flex:1;padding:2rem;display:flex;flex-direction:column;gap:2rem}.text-display[data-v-2dfd76ac]{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:3rem;font-family:Segoe UI,Arial,sans-serif;font-size:1.6rem;line-height:2.4;min-height:300px;margin:0 auto;outline:none;cursor:text;transition:all .3s ease;position:relative;color:var(--text-primary);letter-spacing:.3px;word-spacing:1px;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;box-shadow:0 8px 32px rgba(0,0,0,.3);backdrop-filter:blur(10px)}.text-display.focused[data-v-2dfd76ac],.text-display[data-v-2dfd76ac]:focus{border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.2),0 8px 32px rgba(0,0,0,.3);transform:translateY(-2px)}.cursor[data-v-2dfd76ac]{display:inline-block;width:3px;height:1.6em;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;margin-left:1px;vertical-align:text-top;box-shadow:0 0 8px rgba(102,126,234,.5)}.cursor.blink[data-v-2dfd76ac]{animation:cursorBlink-2dfd76ac 1.2s ease-in-out infinite}@keyframes cursorBlink-2dfd76ac{0%,50%{opacity:1;transform:scaleY(1)}51%,to{opacity:.3;transform:scaleY(.8)}}.typing-instructions[data-v-2dfd76ac]{margin:1.5rem 0;padding:1rem;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-color)}.typing-instructions p[data-v-2dfd76ac]{color:var(--text-secondary);font-size:1rem;font-weight:500}.char[data-v-2dfd76ac]{transition:all .2s ease}.char.correct[data-v-2dfd76ac]{color:#68d391;text-shadow:0 0 4px rgba(104,211,145,.3)}.char.incorrect[data-v-2dfd76ac]{color:#fc8181;text-shadow:0 0 4px hsla(0,95%,75%,.3);background:hsla(0,95%,75%,.1);border-radius:3px}.char.current[data-v-2dfd76ac]{color:var(--text-primary);background:rgba(102,126,234,.2);border-radius:3px}.char.pending[data-v-2dfd76ac]{color:var(--text-secondary)}.controls[data-v-2dfd76ac]{gap:1.5rem;margin-top:2rem}.auto-start-message[data-v-2dfd76ac],.loading-message[data-v-2dfd76ac]{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:rgba(102,126,234,.1);border:1px solid rgba(102,126,234,.2);border-radius:12px;color:#667eea;font-weight:600;font-size:1rem}.auto-start-message i[data-v-2dfd76ac],.loading-message i[data-v-2dfd76ac]{font-size:1.2rem}.typing-instructions[data-v-2dfd76ac]{text-align:center;margin:1rem 0}.typing-instructions p[data-v-2dfd76ac]{color:#a0aec0;font-size:.95rem;margin:0}.char[data-v-2dfd76ac]{position:relative;display:inline}.char.correct[data-v-2dfd76ac]{color:#48bb78}.char.incorrect[data-v-2dfd76ac]{color:#f56565}.char.current[data-v-2dfd76ac]{color:#2a394d}.char.pending[data-v-2dfd76ac]{color:#a0aec0}@keyframes blink-2dfd76ac{0%,50%{opacity:1}51%,to{opacity:.3}}.input-container[data-v-2dfd76ac]{position:relative}.typing-input[data-v-2dfd76ac]{width:100%;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;color:var(--text-primary);font-family:Courier New,monospace;font-size:1.1rem;line-height:1.6;resize:none;outline:none;transition:all .3s ease}.typing-input[data-v-2dfd76ac]:focus{border-color:rgba(102,126,234,.5);box-shadow:0 0 0 3px rgba(102,126,234,.1)}.typing-input[data-v-2dfd76ac]:disabled{opacity:.6;cursor:not-allowed}.typing-input[data-v-2dfd76ac]::-moz-placeholder{color:var(--text-secondary)}.typing-input[data-v-2dfd76ac]::placeholder{color:var(--text-secondary)}.controls[data-v-2dfd76ac]{display:flex;justify-content:center;gap:1rem}.reset-btn[data-v-2dfd76ac],.results-btn[data-v-2dfd76ac],.start-btn[data-v-2dfd76ac]{padding:.75rem 2rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.start-btn[data-v-2dfd76ac]{background:linear-gradient(135deg,#48bb78,#38a169);color:var(--text-primary)}.start-btn[data-v-2dfd76ac]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(72,187,120,.4)}.reset-btn[data-v-2dfd76ac]{background:linear-gradient(135deg,#ed8936,#dd6b20);color:var(--text-primary)}.reset-btn[data-v-2dfd76ac]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(237,137,54,.4)}.results-btn[data-v-2dfd76ac]{background:linear-gradient(135deg,#667eea,#764ba2);color:var(--text-primary)}.results-btn[data-v-2dfd76ac]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.completion-modal-overlay[data-v-2dfd76ac]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(4px)}.completion-modal[data-v-2dfd76ac]{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px rgba(0,0,0,.5);transform:scale(1);animation:modalAppear-2dfd76ac .3s ease-out}.modal-header[data-v-2dfd76ac]{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-2dfd76ac]{margin:0;font-size:1.5rem;font-weight:700}.close-btn[data-v-2dfd76ac]{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .3s ease}.close-btn[data-v-2dfd76ac]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body[data-v-2dfd76ac]{padding:2rem}.final-stats[data-v-2dfd76ac]{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:2rem}.final-stat[data-v-2dfd76ac]{text-align:center;padding:1.5rem;background:var(--bg-tertiary);border-radius:12px}.final-stat-value[data-v-2dfd76ac]{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.final-stat-label[data-v-2dfd76ac]{font-size:.9rem;color:var(--text-secondary)}.performance-message[data-v-2dfd76ac]{text-align:center;padding:1.5rem;background:rgba(102,126,234,.1);border-radius:12px;border:1px solid rgba(102,126,234,.2)}.performance-message p[data-v-2dfd76ac]{margin:0;font-size:1.1rem;font-weight:600;color:#667eea}.modal-footer[data-v-2dfd76ac]{padding:2rem;border-top:1px solid var(--border-color);text-align:center}.back-to-dashboard-btn[data-v-2dfd76ac]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:var(--text-primary);padding:.75rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.back-to-dashboard-btn[data-v-2dfd76ac]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.toast-container[data-v-2dfd76ac]{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:12px}.toast[data-v-2dfd76ac]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:500;animation:slideInRight-2dfd76ac .3s ease-out;min-width:250px}.toast.success[data-v-2dfd76ac]{border-color:#48bb78;background:rgba(72,187,120,.1)}.toast.info[data-v-2dfd76ac]{border-color:#667eea;background:rgba(102,126,234,.1)}.toast.error[data-v-2dfd76ac]{border-color:#f56565;background:hsla(0,88%,68%,.1)}.toast-icon[data-v-2dfd76ac]{color:currentColor}@keyframes slideInRight-2dfd76ac{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes modalAppear-2dfd76ac{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay[data-v-443350f8]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-overlay);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-443350f8 .3s ease-out}.modal-container[data-v-443350f8]{background:var(--bg-primary);border-radius:20px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px var(--shadow-dark);animation:slideUp-443350f8 .4s ease-out;font-family:DM Sans,sans-serif}.modal-header[data-v-443350f8]{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:1px solid var(--border-primary)}.modal-title[data-v-443350f8]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.btn-close[data-v-443350f8]{background:none;border:none;font-size:1.2rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease}.btn-close[data-v-443350f8]:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body[data-v-443350f8]{padding:1rem 2rem 2rem}.form-group[data-v-443350f8]{margin-bottom:1.5rem}.form-label[data-v-443350f8]{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem}.form-control[data-v-443350f8]{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:12px;font-size:1rem;transition:all .3s ease;background:var(--bg-secondary);color:var(--text-primary)}.form-control[data-v-443350f8]:focus{outline:none;border-color:var(--accent-color);background:var(--bg-primary);box-shadow:0 0 0 3px var(--accent-color-alpha)}.radio-group[data-v-443350f8]{display:flex;gap:1rem}.radio-item[data-v-443350f8]{flex:1}.radio-input[data-v-443350f8]{display:none}.radio-label[data-v-443350f8]{display:block;padding:1rem;border:2px solid var(--border-color);border-radius:12px;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--bg-secondary);color:var(--text-primary);font-weight:500}.radio-input:checked+.radio-label[data-v-443350f8]{border-color:var(--accent-color);background:var(--accent-color-alpha);color:var(--accent-color)}.radio-label[data-v-443350f8]:hover{border-color:var(--accent-color);background:var(--accent-color-alpha-light)}.difficulty-buttons[data-v-443350f8]{display:flex;gap:.75rem}.difficulty-btn[data-v-443350f8]{flex:1;padding:1rem;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:all .3s ease;font-weight:500;font-size:.9rem}.difficulty-easy[data-v-443350f8]{color:var(--success-color)}.difficulty-easy.active[data-v-443350f8]{border-color:var(--success-color);background:var(--success-color-alpha)}.difficulty-normal[data-v-443350f8]{color:var(--warning-color)}.difficulty-normal.active[data-v-443350f8]{border-color:var(--warning-color);background:var(--warning-color-alpha)}.difficulty-hard[data-v-443350f8]{color:var(--error-color)}.difficulty-hard.active[data-v-443350f8]{border-color:var(--error-color);background:var(--error-color-alpha)}.difficulty-btn[data-v-443350f8]:hover{transform:translateY(-2px);box-shadow:var(--shadow-light)}.modal-actions[data-v-443350f8]{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.btn[data-v-443350f8]{padding:.75rem 1.5rem;border:none;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.btn-secondary[data-v-443350f8]{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary[data-v-443350f8]:hover{background:var(--bg-secondary);transform:translateY(-2px)}.btn-primary[data-v-443350f8]{background:var(--accent-gradient);color:var(--text-on-accent);box-shadow:var(--shadow-accent)}.btn-primary[data-v-443350f8]:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.btn-primary[data-v-443350f8]:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn-443350f8{0%{opacity:0}to{opacity:1}}@keyframes slideUp-443350f8{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.error-message[data-v-443350f8]{width:100%;padding:.75rem 1rem;background:var(--error-color-alpha);border:1px solid var(--error-color);border-radius:8px;color:var(--error-color);font-size:.9rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.fa-spinner[data-v-443350f8]{animation:spin-443350f8 1s linear infinite}@keyframes spin-443350f8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.modal-container[data-v-443350f8]{width:95%;margin:1rem}.modal-body[data-v-443350f8],.modal-header[data-v-443350f8]{padding-left:1rem;padding-right:1rem}.difficulty-buttons[data-v-443350f8],.radio-group[data-v-443350f8]{flex-direction:column}.modal-actions[data-v-443350f8]{flex-direction:column-reverse}.btn[data-v-443350f8]{width:100%}}.form-control[data-v-443350f8]:invalid{border-color:var(--error-color)}.form-control[data-v-443350f8]:valid{border-color:var(--success-color)}.form-group[data-v-443350f8]{transition:all .3s ease}.modal-container[data-v-443350f8]::-webkit-scrollbar{width:6px}.modal-container[data-v-443350f8]::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:10px}.modal-container[data-v-443350f8]::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:10px}.modal-container[data-v-443350f8]::-webkit-scrollbar-thumb:hover{background:var(--accent-color-dark)}[data-theme=dark] .form-control option[data-v-443350f8],[data-theme=dark] .form-control select option[data-v-443350f8]{background:var(--bg-secondary);color:#fff}[data-theme=dark] .form-control[data-v-443350f8]{background:var(--bg-secondary);color:#fff;border-color:var(--border-primary)}[data-theme=dark] .form-control[data-v-443350f8]:focus{background:var(--bg-tertiary);color:#fff;border-color:var(--accent-primary)}[data-theme=dark] .form-control[data-v-443350f8]::-moz-placeholder{color:var(--text-secondary)}[data-theme=dark] .form-control[data-v-443350f8]::placeholder{color:var(--text-secondary)}[data-theme=dark] .radio-label[data-v-443350f8]{background:var(--bg-secondary);color:#fff;border-color:var(--border-primary)}[data-theme=dark] .radio-input:checked+.radio-label[data-v-443350f8]{background:var(--accent-gradient-alpha);color:var(--accent-primary);border-color:var(--accent-primary);font-weight:600}[data-theme=dark] .radio-label[data-v-443350f8]:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}[data-theme=light] .radio-label[data-v-443350f8]{background:#f8fafc;color:#334155;border-color:#e2e8f0}[data-theme=light] .radio-input:checked+.radio-label[data-v-443350f8]{background:#dbeafe;color:#1d4ed8;border-color:#3b82f6;font-weight:600;box-shadow:0 0 0 3px rgba(59,130,246,.1)}[data-theme=light] .radio-label[data-v-443350f8]:hover{background:#f1f5f9;border-color:#3b82f6;color:#1d4ed8}.modal-overlay[data-v-58cf3fe5]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-overlay);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-58cf3fe5 .3s ease-out}.modal-container[data-v-58cf3fe5]{background:var(--bg-primary);border-radius:20px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px var(--shadow-dark);animation:slideUp-58cf3fe5 .4s ease-out;font-family:DM Sans,sans-serif}.modal-header[data-v-58cf3fe5]{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:1px solid var(--border-primary)}.modal-title[data-v-58cf3fe5]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.btn-close[data-v-58cf3fe5]{background:none;border:none;font-size:1.2rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease}.btn-close[data-v-58cf3fe5]:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body[data-v-58cf3fe5]{padding:1rem 2rem 2rem}.selection-description[data-v-58cf3fe5]{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.room-type-options[data-v-58cf3fe5]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.room-type-card[data-v-58cf3fe5]{border:2px solid var(--border-color);border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s ease;background:var(--bg-secondary);position:relative;overflow:hidden}.room-type-card[data-v-58cf3fe5]:hover{border-color:var(--accent-color);transform:translateY(-4px);box-shadow:0 10px 30px var(--shadow-medium)}.room-type-card:hover .card-icon[data-v-58cf3fe5]{transform:scale(1.1)}.card-icon[data-v-58cf3fe5]{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:all .3s ease}.card-icon.typing-test[data-v-58cf3fe5]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.card-icon.ai-patient[data-v-58cf3fe5]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.card-icon i[data-v-58cf3fe5]{font-size:1.5rem}.card-content h4[data-v-58cf3fe5]{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.card-content p[data-v-58cf3fe5]{color:var(--text-secondary);font-size:.95rem;margin-bottom:1rem;line-height:1.5}.feature-list[data-v-58cf3fe5]{list-style:none;padding:0;margin:0}.feature-list li[data-v-58cf3fe5]{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.feature-list li i[data-v-58cf3fe5]{color:var(--accent-color);font-size:.8rem}@media (max-width:768px){.room-type-options[data-v-58cf3fe5]{grid-template-columns:1fr}.modal-container[data-v-58cf3fe5]{width:95%;margin:1rem}}@keyframes fadeIn-58cf3fe5{0%{opacity:0}to{opacity:1}}@keyframes slideUp-58cf3fe5{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}[data-v-58cf3fe5]:root{--modal-overlay:rgba(0,0,0,.5);--bg-primary:#fff;--bg-secondary:#f8f9fa;--text-primary:#2d3748;--text-secondary:#718096;--border-primary:#e2e8f0;--border-color:#e2e8f0;--accent-color:#667eea;--shadow-dark:rgba(0,0,0,.15);--shadow-medium:rgba(0,0,0,.1)}@media (prefers-color-scheme:dark){[data-v-58cf3fe5]:root{--bg-primary:#1a202c;--bg-secondary:#2d3748;--text-primary:#f7fafc;--text-secondary:#a0aec0;--border-primary:#4a5568;--border-color:#4a5568}}.modal-overlay[data-v-9c5e43ba]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-overlay);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-9c5e43ba .3s ease-out}.modal-container[data-v-9c5e43ba]{background:var(--bg-primary);border-radius:20px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px var(--shadow-dark);animation:slideUp-9c5e43ba .4s ease-out;font-family:DM Sans,sans-serif}.modal-header[data-v-9c5e43ba]{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:1px solid var(--border-primary)}.modal-title[data-v-9c5e43ba]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.btn-close[data-v-9c5e43ba]{background:none;border:none;font-size:1.2rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease}.btn-close[data-v-9c5e43ba]:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body[data-v-9c5e43ba]{padding:1rem 2rem 2rem}.form-group[data-v-9c5e43ba]{margin-bottom:1.5rem}.form-label[data-v-9c5e43ba]{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem}.form-control[data-v-9c5e43ba]{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:12px;font-size:1rem;transition:all .3s ease;background:var(--bg-secondary);color:var(--text-primary)}.form-control[data-v-9c5e43ba]:focus{outline:none;border-color:var(--accent-color);background:var(--bg-primary);box-shadow:0 0 0 3px var(--accent-color-alpha)}.info-box[data-v-9c5e43ba]{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;color:#fff;display:flex;gap:1rem}.info-box i[data-v-9c5e43ba]{font-size:1.5rem;margin-top:.25rem;flex-shrink:0}.info-content h5[data-v-9c5e43ba]{margin:0 0 .75rem 0;font-weight:600;font-size:1.1rem}.info-content ul[data-v-9c5e43ba]{margin:0;padding-left:1.25rem;list-style-type:disc}.info-content li[data-v-9c5e43ba]{margin-bottom:.5rem;font-size:.9rem;line-height:1.4}.modal-actions[data-v-9c5e43ba]{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;flex-wrap:wrap}.error-message[data-v-9c5e43ba]{background:#fee;color:#c53030;padding:.75rem 1rem;border-radius:8px;flex:1;margin-right:1rem}.btn[data-v-9c5e43ba],.error-message[data-v-9c5e43ba]{font-size:.9rem;display:flex;align-items:center;gap:.5rem}.btn[data-v-9c5e43ba]{padding:.75rem 1.5rem;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;justify-content:center}.btn-secondary[data-v-9c5e43ba]{background:var(--bg-secondary);color:var(--text-secondary);border:2px solid var(--border-color)}.btn-secondary[data-v-9c5e43ba]:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.btn-primary[data-v-9c5e43ba]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.btn-primary[data-v-9c5e43ba]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px rgba(240,147,251,.3)}.btn[data-v-9c5e43ba]:disabled{opacity:.6;cursor:not-allowed;transform:none!important}@keyframes fadeIn-9c5e43ba{0%{opacity:0}to{opacity:1}}@keyframes slideUp-9c5e43ba{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fa-spinner[data-v-9c5e43ba]{animation:spin-9c5e43ba 1s linear infinite}@keyframes spin-9c5e43ba{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-v-9c5e43ba]:root{--modal-overlay:rgba(0,0,0,.5);--bg-primary:#fff;--bg-secondary:#f8f9fa;--text-primary:#2d3748;--text-secondary:#718096;--border-primary:#e2e8f0;--border-color:#e2e8f0;--accent-color:#f5576c;--accent-color-alpha:rgba(245,87,108,.1);--shadow-dark:rgba(0,0,0,.15)}@media (prefers-color-scheme:dark){[data-v-9c5e43ba]:root{--bg-primary:#1a202c;--bg-secondary:#2d3748;--text-primary:#f7fafc;--text-secondary:#a0aec0;--border-primary:#4a5568;--border-color:#4a5568}}.modal-overlay[data-v-749fa19b]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-749fa19b]{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px rgba(0,0,0,.1)}.modal-header[data-v-749fa19b]{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-header h2[data-v-749fa19b]{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.close-btn[data-v-749fa19b]{background:none;border:none;font-size:1.25rem;color:#6b7280;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s}.close-btn[data-v-749fa19b]:hover{background:#f3f4f6;color:#374151}.modal-body[data-v-749fa19b]{flex:1;overflow-y:auto;padding:0 24px}.search-section[data-v-749fa19b]{margin-bottom:24px}.search-input-container[data-v-749fa19b]{position:relative;margin-bottom:16px}.search-icon[data-v-749fa19b]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6b7280;font-size:.875rem}.search-input[data-v-749fa19b]{width:100%;padding:12px 12px 12px 40px;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;transition:border-color .2s}.search-input[data-v-749fa19b]:focus{outline:none;border-color:#3b82f6}.search-input[data-v-749fa19b]:disabled{background:#f9fafb;cursor:not-allowed}.search-loading[data-v-749fa19b]{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#3b82f6}.search-results[data-v-749fa19b]{border:1px solid #e5e7eb;border-radius:8px;background:#fff}.results-header[data-v-749fa19b]{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:.875rem;color:#6b7280;font-weight:500}.results-list[data-v-749fa19b]{max-height:300px;overflow-y:auto}.result-item[data-v-749fa19b]{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .2s}.result-item[data-v-749fa19b]:hover{background:#f9fafb}.result-item[data-v-749fa19b]:last-child{border-bottom:none}.result-item.already-selected[data-v-749fa19b]{background:#eff6ff;border-left:3px solid #3b82f6}.student-avatar[data-v-749fa19b]{width:40px;height:40px;border-radius:50%;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;margin-right:12px;flex-shrink:0}.student-avatar.small[data-v-749fa19b]{width:32px;height:32px;font-size:.75rem}.student-info[data-v-749fa19b]{flex:1;min-width:0}.student-name[data-v-749fa19b]{font-weight:600;color:#1f2937;margin-bottom:2px}.student-email[data-v-749fa19b]{font-size:.875rem;color:#6b7280;margin-bottom:4px}.student-stats[data-v-749fa19b]{font-size:.75rem;color:#9ca3af}.selection-indicator[data-v-749fa19b]{margin-left:12px;font-size:1.25rem}.selection-indicator .selected[data-v-749fa19b]{color:#10b981}.selection-indicator .fa-plus-circle[data-v-749fa19b]{color:#6b7280}.empty-selection[data-v-749fa19b],.no-results[data-v-749fa19b],.search-instructions[data-v-749fa19b]{text-align:center;padding:40px 20px;color:#6b7280}.empty-selection i[data-v-749fa19b],.no-results i[data-v-749fa19b],.search-instructions i[data-v-749fa19b]{font-size:2rem;margin-bottom:12px;color:#d1d5db}.selected-section[data-v-749fa19b]{border-top:1px solid #e5e7eb;padding-top:24px}.section-header[data-v-749fa19b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3[data-v-749fa19b]{margin:0;color:#1f2937;font-size:1.125rem;font-weight:600}.clear-all-btn[data-v-749fa19b]{background:none;border:1px solid #e5e7eb;color:#6b7280;padding:6px 12px;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.clear-all-btn[data-v-749fa19b]:hover{background:#f3f4f6;border-color:#d1d5db}.selected-list[data-v-749fa19b]{display:flex;flex-direction:column;gap:8px}.selected-item[data-v-749fa19b]{display:flex;align-items:center;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.remove-btn[data-v-749fa19b]{background:none;border:none;color:#ef4444;padding:6px;border-radius:4px;cursor:pointer;margin-left:12px;transition:background-color .2s}.remove-btn[data-v-749fa19b]:hover{background:#fee2e2}.modal-footer[data-v-749fa19b]{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e5e7eb;margin-top:24px}.btn[data-v-749fa19b]{padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.875rem;display:flex;align-items:center;gap:8px}.btn-secondary[data-v-749fa19b]{background:#f3f4f6;color:#374151}.btn-secondary[data-v-749fa19b]:hover{background:#e5e7eb}.btn-primary[data-v-749fa19b]{background:#3b82f6;color:#fff}.btn-primary[data-v-749fa19b]:hover:not(:disabled){background:#2563eb}.btn-primary[data-v-749fa19b]:disabled{background:#9ca3af;cursor:not-allowed}.fa-spinner[data-v-749fa19b]{animation:spin-749fa19b 1s linear infinite}@keyframes spin-749fa19b{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-overlay[data-v-b150ab82]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px;animation:fadeIn-b150ab82 .3s ease-out}@keyframes fadeIn-b150ab82{0%{opacity:0}to{opacity:1}}.modal-container[data-v-b150ab82]{background:#fff;border-radius:16px;width:100%;max-width:400px;box-shadow:0 20px 40px rgba(0,0,0,.15);animation:slideUp-b150ab82 .3s ease-out}@keyframes slideUp-b150ab82{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content[data-v-b150ab82]{padding:40px 32px 32px;text-align:center}.success-icon[data-v-b150ab82]{margin-bottom:24px}.success-circle[data-v-b150ab82]{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;animation:bounceIn-b150ab82 .6s ease-out;box-shadow:0 8px 24px rgba(16,185,129,.3)}@keyframes bounceIn-b150ab82{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.success-circle i[data-v-b150ab82]{font-size:2rem;color:#fff;animation:checkMark-b150ab82 .8s ease-out .2s both}@keyframes checkMark-b150ab82{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.success-message[data-v-b150ab82]{margin-bottom:32px}.success-message h2[data-v-b150ab82]{margin:0 0 12px 0;color:#1f2937;font-size:1.5rem;font-weight:600}.success-message p[data-v-b150ab82]{margin:0;color:#6b7280;font-size:1rem;line-height:1.5}.btn[data-v-b150ab82],.modal-actions[data-v-b150ab82]{display:flex;justify-content:center}.btn[data-v-b150ab82]{padding:12px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.875rem;align-items:center;gap:8px;min-width:120px}.btn-primary[data-v-b150ab82]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px rgba(59,130,246,.3)}.btn-primary[data-v-b150ab82]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 6px 16px rgba(59,130,246,.4)}.btn-primary[data-v-b150ab82]:active{transform:translateY(0)}@media (max-width:480px){.modal-container[data-v-b150ab82]{margin:20px;max-width:none}.modal-content[data-v-b150ab82]{padding:32px 24px 24px}.success-circle[data-v-b150ab82]{width:64px;height:64px}.success-circle i[data-v-b150ab82]{font-size:1.5rem}.success-message h2[data-v-b150ab82]{font-size:1.25rem}}.teacher-dashboard[data-v-08393536]{display:flex;min-height:100vh;background:var(--bg-primary);font-family:DM Sans,sans-serif;color:var(--text-primary)}.sidebar[data-v-08393536]{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:1000}.sidebar-header[data-v-08393536]{padding:2rem 1.5rem;border-bottom:1px solid var(--border-color)}.logo-section[data-v-08393536]{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.logo-icon[data-v-08393536]{width:36px;height:36px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem}.logo-text[data-v-08393536]{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.logo-badge[data-v-08393536]{background:var(--accent-color);color:#fff;padding:.2rem .4rem;border-radius:5px;font-size:.7rem;font-weight:600}.teacher-badge[data-v-08393536]{background:var(--accent-gradient);color:var(--text-on-accent);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.sidebar-nav[data-v-08393536]{flex:1;padding:1rem 0}.nav-item[data-v-08393536]{display:flex;align-items:center;padding:1rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all .15s ease;border-left:3px solid transparent}.nav-item.active[data-v-08393536],.nav-item[data-v-08393536]:hover{background:var(--accent-gradient-alpha);color:var(--accent-primary);border-left-color:var(--accent-primary)}.nav-divider[data-v-08393536]{height:1px;background:var(--border-primary);margin:1rem 1.5rem}.logout-item[data-v-08393536]{margin-top:auto;border-top:1px solid var(--border-primary);padding-top:1rem}.nav-item i[data-v-08393536]{width:20px;margin-right:.75rem;font-size:1rem}.main-content[data-v-08393536]{flex:1;margin-left:280px;background:var(--bg-primary)}.top-header[data-v-08393536]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.page-title[data-v-08393536]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0}.header-right[data-v-08393536]{display:flex;align-items:center;gap:1.5rem}.create-room-btn[data-v-08393536]{background:var(--accent-gradient);border:none;padding:.75rem 1.5rem;border-radius:12px;color:#fff;font-weight:600;font-size:.9rem;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.create-room-btn[data-v-08393536]:hover{transform:translateY(-2px);box-shadow:0 10px 20px var(--accent-color-alpha)}.user-profile[data-v-08393536]{display:flex;align-items:center;gap:1rem}.user-info[data-v-08393536]{text-align:right}.user-name[data-v-08393536]{display:block;color:var(--text-primary);font-weight:600;font-size:.9rem}.user-email[data-v-08393536]{display:block;color:var(--text-secondary);font-size:.8rem}.user-avatar[data-v-08393536]{width:40px;height:40px;background:var(--accent-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.dashboard-content[data-v-08393536]{padding:2rem;display:flex;flex-direction:column;gap:2rem}.stats-grid[data-v-08393536]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.stat-card[data-v-08393536]{background:var(--bg-secondary);border-radius:16px;padding:1.5rem;border:1px solid var(--border-color);transition:all .3s ease}.stat-card[data-v-08393536]:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.stat-card.primary[data-v-08393536]{background:var(--accent-gradient);border:none}.stat-card.secondary[data-v-08393536],.stat-card.tertiary[data-v-08393536]{background:var(--bg-tertiary)}.stat-header[data-v-08393536]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.stat-header h3[data-v-08393536]{color:var(--text-primary);font-size:.9rem;font-weight:500;margin:0}.stat-trend[data-v-08393536]{display:flex;align-items:center;gap:.25rem;font-size:.8rem}.stat-trend.up[data-v-08393536]{color:var(--success-color)}.stat-number[data-v-08393536]{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-subtitle[data-v-08393536]{color:var(--text-secondary);font-size:.8rem}.difficulty-badges[data-v-08393536]{display:flex;gap:.25rem}.badge[data-v-08393536]{padding:.25rem .5rem;border-radius:8px;font-size:.7rem;font-weight:500}.badge.junior[data-v-08393536]{background:var(--success-color-alpha);color:var(--success-color)}.badge.middle[data-v-08393536]{background:var(--warning-color-alpha);color:var(--warning-color)}.badge.senior[data-v-08393536]{background:var(--error-color-alpha);color:var(--error-color)}.content-grid[data-v-08393536]{grid-template-columns:1fr 2fr;height:calc(100vh - 200px);min-height:600px}.card[data-v-08393536]{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;display:flex;flex-direction:column;min-height:300px;max-height:80vh}.card-header[data-v-08393536]{padding:1.5rem 1.5rem 1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.card-header h3[data-v-08393536]{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.btn-link[data-v-08393536]{font-size:.8rem;text-decoration:none}.performance-content[data-v-08393536]{padding:0 1.5rem 1.5rem 1.5rem;display:flex;align-items:center;gap:2rem}.circle-progress[data-v-08393536],.performance-circle[data-v-08393536]{position:relative;width:80px;height:80px}.circle-progress[data-v-08393536]{border-radius:50%;background:conic-gradient(var(--accent-color) 0deg,var(--accent-color) calc(var(--progress)*3.6deg),var(--border-color) calc(var(--progress)*3.6deg));display:flex;align-items:center;justify-content:center}.circle-progress[data-v-08393536]:before{content:"";position:absolute;width:60px;height:60px;background:var(--bg-secondary);border-radius:50%}.percentage[data-v-08393536]{position:relative;z-index:1;color:var(--text-primary);font-weight:700;font-size:.9rem}.performance-stats[data-v-08393536]{flex:1}.stat-item[data-v-08393536]{justify-content:space-between;margin-bottom:.5rem}.stat-item .label[data-v-08393536]{color:var(--text-secondary);font-size:.8rem}.stat-item .value[data-v-08393536]{color:var(--text-primary);font-weight:600;font-size:.8rem}.quick-actions[data-v-08393536]{padding:0 1.5rem 1.5rem 1.5rem}.action-item[data-v-08393536]{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;cursor:pointer;transition:all .3s ease;margin-bottom:.75rem}.action-item[data-v-08393536]:hover{background:var(--accent-color-alpha)}.action-icon[data-v-08393536]{width:40px;height:40px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.action-content h4[data-v-08393536]{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0 0 .25rem 0}.action-content p[data-v-08393536]{color:var(--text-secondary);font-size:.8rem;margin:0}.activities-card[data-v-08393536]{height:100%;background:var(--bg-secondary);border:1px solid var(--border-color)}.activities-card .card-header[data-v-08393536]{flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.activities-card .card-header h3[data-v-08393536]{color:var(--text-primary);font-weight:600}.activity-item[data-v-08393536]:hover{background:var(--bg-tertiary);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15);border-color:var(--accent-color)}.activity-icon[data-v-08393536]{width:40px;height:40px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem}.activity-content h5[data-v-08393536]{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .25rem 0}.activity-content p[data-v-08393536]{color:var(--text-secondary);font-size:.85rem;margin:0 0 .5rem 0;font-weight:500}.activity-stats[data-v-08393536]{align-items:center}.activity-time[data-v-08393536],.room-code[data-v-08393536],.student-count[data-v-08393536]{color:var(--text-primary);font-size:.75rem;display:flex;align-items:center;gap:.25rem;font-weight:500}.student-count i[data-v-08393536]{color:var(--accent-color)}.room-code[data-v-08393536]{background:var(--bg-tertiary);padding:.3rem .6rem;border-radius:8px;font-weight:600;color:var(--text-primary);border:1px solid var(--border-color)}.activity-status[data-v-08393536]{flex-shrink:0}.status-badge[data-v-08393536]{padding:.4rem .8rem;font-weight:600;border:1px solid transparent}.status-badge.active[data-v-08393536]{background:var(--success-color-alpha);color:var(--success-color);border-color:var(--success-color)}.status-badge.completed[data-v-08393536]{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}@media (min-width:1400px){.content-grid[data-v-08393536]{grid-template-columns:1fr 2.5fr;gap:2rem}.dashboard-content[data-v-08393536]{padding:2.5rem}.stats-grid[data-v-08393536]{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (max-width:1200px){.content-grid[data-v-08393536]{grid-template-columns:1fr 1.5fr;gap:1.25rem}.dashboard-content[data-v-08393536]{padding:1.5rem}.activities-card[data-v-08393536]{grid-column:1/-1}.stats-grid[data-v-08393536]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:992px){.content-grid[data-v-08393536]{grid-template-columns:1fr;gap:1rem;height:auto;min-height:auto}.dashboard-content[data-v-08393536]{padding:1.25rem;gap:1.5rem}.card[data-v-08393536]{min-height:300px}.activities-card[data-v-08393536],.top-wpm-card[data-v-08393536]{max-height:400px}}@media (max-width:768px){.sidebar[data-v-08393536]{width:70px}.main-content[data-v-08393536]{margin-left:70px}.sidebar-header[data-v-08393536]{padding:1rem .75rem}.logo-text[data-v-08393536]{font-size:1rem}.logo-badge[data-v-08393536],.nav-item span[data-v-08393536],.teacher-badge[data-v-08393536]{display:none}.nav-item[data-v-08393536]{justify-content:center;padding:1rem .75rem}.content-grid[data-v-08393536]{grid-template-columns:1fr;gap:1rem}.dashboard-content[data-v-08393536]{padding:1rem;gap:1rem}.stats-grid[data-v-08393536]{grid-template-columns:1fr;gap:1rem}.user-info[data-v-08393536]{display:none}.header-right[data-v-08393536]{flex-wrap:wrap;gap:.5rem}.add-students-btn[data-v-08393536],.create-room-btn[data-v-08393536]{font-size:.8rem;padding:.5rem .75rem}}@media (max-width:576px){.dashboard-content[data-v-08393536]{padding:.75rem;gap:.75rem}.card[data-v-08393536]{border-radius:12px;min-height:250px}.card-header[data-v-08393536]{padding:1rem;flex-direction:column;align-items:flex-start;gap:.5rem}.header-actions[data-v-08393536]{align-self:stretch;justify-content:flex-end}.activities-list[data-v-08393536],.top-wpm-list[data-v-08393536]{max-height:300px;padding:0 1rem 1rem 1rem}.activity-item[data-v-08393536],.wpm-item[data-v-08393536]{padding:.75rem;flex-direction:column;align-items:flex-start;gap:.75rem}.activity-stats[data-v-08393536],.wmp-stats[data-v-08393536]{flex-direction:column;gap:.25rem;align-items:flex-start}.page-title[data-v-08393536]{font-size:1.5rem}.header-right[data-v-08393536]{flex-direction:column;align-items:stretch;width:100%}.add-students-btn[data-v-08393536],.create-room-btn[data-v-08393536]{width:100%;margin-right:0;margin-bottom:.5rem}}@media (max-width:480px){.main-content[data-v-08393536]{margin-left:0}.sidebar[data-v-08393536]{display:none}.dashboard-content[data-v-08393536]{padding:.5rem}.card-header h3[data-v-08393536]{font-size:1rem}.student-item[data-v-08393536]{flex-direction:column;align-items:flex-start;gap:.5rem}.student-info h5[data-v-08393536]{font-size:.9rem}.student-stats[data-v-08393536]{flex-direction:column;gap:.25rem}}@keyframes fadeInUp-08393536{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card[data-v-08393536],.stat-card[data-v-08393536]{animation:fadeInUp-08393536 .6s ease-out}.stat-card[data-v-08393536]:nth-child(2){animation-delay:.1s}.stat-card[data-v-08393536]:nth-child(3){animation-delay:.2s}.wpm-item[data-v-08393536]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.rank-badge[data-v-08393536]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;flex-shrink:0}.rank-gold[data-v-08393536]{background:linear-gradient(135deg,gold,orange);box-shadow:0 2px 8px rgba(255,215,0,.3)}.rank-silver[data-v-08393536]{background:linear-gradient(135deg,silver,#a8a8a8);box-shadow:0 2px 8px hsla(0,0%,75%,.3)}.rank-bronze[data-v-08393536]{background:linear-gradient(135deg,#cd7f32,#b8860b);box-shadow:0 2px 8px rgba(205,127,50,.3)}.rank-default[data-v-08393536]{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 8px rgba(99,102,241,.3)}.student-info p[data-v-08393536]{margin:0 0 .25rem 0;font-size:.9rem}.session-time[data-v-08393536]{font-size:.8rem;color:var(--text-primary);opacity:.8;font-weight:500}.wpm-stats[data-v-08393536]{text-align:right}.wpm-value[data-v-08393536]{font-size:1.25rem;font-weight:700;color:var(--accent-primary);margin-bottom:.25rem}.accuracy-value[data-v-08393536],.errors-value[data-v-08393536]{font-size:.9rem;color:var(--text-primary);opacity:.9;font-weight:500}.empty-state[data-v-08393536],.loading-state[data-v-08393536]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-secondary);flex:1}.empty-state i[data-v-08393536],.loading-state i[data-v-08393536]{font-size:2rem;margin-bottom:1rem;color:var(--accent-color);opacity:.7}.empty-state p[data-v-08393536],.loading-state p[data-v-08393536]{margin:0;font-size:.9rem;color:var(--text-secondary)}.empty-state small[data-v-08393536]{color:var(--text-tertiary);font-size:.8rem;margin-top:.5rem}.btn-link[data-v-08393536]{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.btn-link[data-v-08393536]:hover{background:var(--primary-color-light);color:var(--primary-color-dark)}.btn-link i[data-v-08393536]{font-size:.9rem}.activity-stats span[data-v-08393536]{display:flex;align-items:center;gap:.25rem}.room-code[data-v-08393536]{background:var(--background-light);padding:.2rem .5rem;border-radius:4px;font-family:monospace;font-weight:500}.student-count i[data-v-08393536]{font-size:.7rem}.status-badge[data-v-08393536]{padding:.3rem .8rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.active[data-v-08393536]{background:#e8f5e8;color:#2d5a2d}.status-badge.waiting[data-v-08393536]{background:#fff3cd;color:#856404}.status-badge.completed[data-v-08393536]{background:#d1ecf1;color:#0c5460}.add-students-btn[data-v-08393536]{margin-right:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 15px rgba(102,126,234,.3);transition:all .3s ease}.add-students-btn[data-v-08393536]:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4);background:linear-gradient(135deg,#5a6fd8,#6a4190)}.btn-secondary[data-v-08393536]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-08393536]:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.student-list-card[data-v-08393536]{min-height:400px;flex:1;display:flex;flex-direction:column}.student-list[data-v-08393536]{display:flex;flex-direction:column;gap:.75rem;flex:1;overflow-y:auto;padding:0 1.5rem 1.5rem 1.5rem;max-height:calc(100vh - 300px)}.student-item[data-v-08393536]{display:flex;align-items:center;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease;min-height:80px;flex-wrap:wrap;gap:1rem}.student-item[data-v-08393536]:hover{border-color:var(--accent-color)}.student-info[data-v-08393536]{min-width:200px}.student-stats[data-v-08393536]{flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.student-actions[data-v-08393536]{flex-shrink:0}.header-actions[data-v-08393536]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.btn-sm[data-v-08393536]{padding:.5rem .75rem;font-size:.8rem}.top-wpm-card[data-v-08393536]{height:100%;display:flex;flex-direction:column;padding:1rem;min-height:400px;max-height:600px}.top-wpm-list[data-v-08393536]{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding-right:.5rem;flex:1}.wpm-item[data-v-08393536]{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color);transition:all .2s ease;min-height:80px;flex-wrap:wrap}.wpm-stats[data-v-08393536]{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0;min-width:120px}.activities-card[data-v-08393536]{display:flex;flex-direction:column;min-height:400px;max-height:600px}.activities-list[data-v-08393536]{padding:0 1.5rem 1.5rem 1.5rem;flex:1;overflow-y:auto;min-height:300px;max-height:500px}.activity-item[data-v-08393536]{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;margin-bottom:.75rem;transition:all .3s ease;background:var(--bg-primary);border:1px solid var(--border-color);min-height:80px;flex-wrap:wrap}.activity-content[data-v-08393536]{flex:1;min-width:200px}.activity-stats[data-v-08393536]{display:flex;gap:1rem;margin-top:.5rem;font-size:.8rem;color:var(--text-muted);flex-wrap:wrap}.student-avatar[data-v-08393536]{width:40px;height:40px;border-radius:50%;background:var(--accent-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;margin-right:.75rem;flex-shrink:0}.student-info[data-v-08393536]{flex:1;min-width:0}.student-info h5[data-v-08393536]{margin:0 0 .25rem 0;font-weight:600;color:var(--text-primary);font-size:.95rem}.student-info p[data-v-08393536]{margin:0 0 .5rem 0;color:var(--text-secondary);font-size:.85rem}.student-stats[data-v-08393536]{display:flex;gap:1rem;font-size:.75rem;color:var(--text-tertiary)}.stat-item[data-v-08393536]{display:flex;align-items:center;gap:.25rem}.stat-item i[data-v-08393536]{font-size:.7rem;opacity:.8}.student-actions[data-v-08393536]{display:flex;align-items:center;gap:.5rem}.btn-icon[data-v-08393536]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-icon[data-v-08393536]:hover{background:var(--error-color-light);color:var(--error-color)}.mt-3[data-v-08393536]{margin-top:1rem}.content-grid[data-v-08393536]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media (max-width:1200px){.content-grid[data-v-08393536]{grid-template-columns:1fr}}.fa-spinner[data-v-08393536]{animation:spin-08393536 1s linear infinite}@keyframes spin-08393536{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-overlay[data-v-4f6f7c0d]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-4f6f7c0d .3s ease-out}.modal-container[data-v-4f6f7c0d]{background:var(--bg-secondary);border-radius:20px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,.5);animation:slideUp-4f6f7c0d .4s ease-out;border:1px solid var(--border-primary)}.modal-header[data-v-4f6f7c0d]{padding:24px 32px;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.header-content[data-v-4f6f7c0d]{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.activity-info h2[data-v-4f6f7c0d]{color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:24px;font-weight:700;margin:0 0 12px 0}.activity-meta[data-v-4f6f7c0d]{display:flex;gap:12px;align-items:center}.section-badge[data-v-4f6f7c0d]{background:var(--accent-gradient);color:var(--text-white);font-weight:600}.date-badge[data-v-4f6f7c0d],.section-badge[data-v-4f6f7c0d]{padding:6px 12px;border-radius:20px;font-size:12px;font-family:DM Sans,sans-serif}.date-badge[data-v-4f6f7c0d]{font-weight:500}.close-btn[data-v-4f6f7c0d],.date-badge[data-v-4f6f7c0d]{background:var(--bg-tertiary);color:var(--text-secondary)}.close-btn[data-v-4f6f7c0d]{border:1px solid var(--border-color);border-radius:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;margin-left:auto}.close-btn[data-v-4f6f7c0d]:hover{background:var(--bg-secondary);color:var(--text-primary);transform:scale(1.05)}.stats-section[data-v-4f6f7c0d]{padding:24px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;border-bottom:1px solid var(--border-color)}.stat-card[data-v-4f6f7c0d]{background:var(--bg-gradient);padding:20px;border-radius:16px;display:flex;align-items:center;gap:16px;border:1px solid var(--border-color);transition:all .3s ease;animation:slideInUp-4f6f7c0d .6s ease-out}.stat-card[data-v-4f6f7c0d]:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent-light)}.stat-icon[data-v-4f6f7c0d]{background:var(--accent-gradient);width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-white)}.stat-info[data-v-4f6f7c0d]{display:flex;flex-direction:column}.stat-value[data-v-4f6f7c0d]{color:var(--text-primary);font-size:24px;font-weight:700;font-family:DM Sans,sans-serif;line-height:1}.stat-label[data-v-4f6f7c0d]{color:var(--text-secondary);font-size:14px;font-weight:500;font-family:DM Sans,sans-serif;margin-top:4px}.leaderboard-section[data-v-4f6f7c0d]{padding:24px 32px}.section-header[data-v-4f6f7c0d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h3[data-v-4f6f7c0d]{color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:20px;font-weight:600;margin:0}.sort-select[data-v-4f6f7c0d]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:8px 12px;font-family:DM Sans,sans-serif;font-size:14px;cursor:pointer}.leaderboard-table[data-v-4f6f7c0d]{background:var(--bg-secondary);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.table-header[data-v-4f6f7c0d]{display:grid;grid-template-columns:80px 1fr 80px 120px 80px 120px;gap:16px;padding:16px 20px;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-family:DM Sans,sans-serif}.table-body[data-v-4f6f7c0d]{max-height:400px;overflow-y:auto}.table-row[data-v-4f6f7c0d]{display:grid;grid-template-columns:80px 1fr 80px 120px 80px 120px;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-color);align-items:center;transition:all .3s ease;animation:slideInLeft-4f6f7c0d .5s ease-out;opacity:0;animation-fill-mode:forwards}.table-row[data-v-4f6f7c0d]:hover{background:var(--accent-color-alpha)}.table-row.top-performer[data-v-4f6f7c0d]{background:var(--accent-gradient-alpha)}.ai-patient-table .table-header[data-v-4f6f7c0d],.ai-patient-table .table-row[data-v-4f6f7c0d]{grid-template-columns:80px 1fr 100px 120px}.rank-badge[data-v-4f6f7c0d]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-primary);font-weight:600;font-size:14px;font-family:DM Sans,sans-serif}.rank-badge.rank-1[data-v-4f6f7c0d]{background:var(--gold-gradient);color:var(--text-dark)}.rank-badge.rank-2[data-v-4f6f7c0d]{background:var(--silver-gradient);color:var(--text-dark)}.rank-badge.rank-3[data-v-4f6f7c0d]{background:var(--bronze-gradient);color:var(--text-white)}.medal[data-v-4f6f7c0d]{font-size:16px}.student-info[data-v-4f6f7c0d]{display:flex;align-items:center;gap:12px}.avatar[data-v-4f6f7c0d]{width:36px;height:36px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:var(--text-white);font-weight:600;font-size:14px;font-family:DM Sans,sans-serif}.name[data-v-4f6f7c0d]{color:var(--text-primary);font-weight:500;font-family:DM Sans,sans-serif}.wpm-value[data-v-4f6f7c0d]{color:var(--success-color);font-weight:600;font-family:DM Sans,sans-serif}.accuracy-bar[data-v-4f6f7c0d]{position:relative;background:var(--bg-tertiary);height:20px;border-radius:10px;overflow:hidden}.accuracy-fill[data-v-4f6f7c0d]{height:100%;background:var(--success-gradient);transition:width .8s ease;border-radius:10px}.accuracy-text[data-v-4f6f7c0d]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-white);font-size:11px;font-weight:600;font-family:DM Sans,sans-serif}.score-value[data-v-4f6f7c0d]{color:var(--accent-color);font-weight:600;font-family:DM Sans,sans-serif}.modal-actions[data-v-4f6f7c0d]{padding:24px 32px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px;background:var(--bg-tertiary)}.close-action-btn[data-v-4f6f7c0d]{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);padding:12px 20px;border-radius:8px;font-family:DM Sans,sans-serif;font-weight:600;cursor:pointer;transition:all .3s ease}.close-action-btn[data-v-4f6f7c0d]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.errors-col[data-v-4f6f7c0d]{display:flex;align-items:center;justify-content:center}.errors-value[data-v-4f6f7c0d]{color:var(--text-primary);font-weight:600;font-family:DM Sans,sans-serif}.status-col[data-v-4f6f7c0d]{display:flex;align-items:center;justify-content:center}.status-badge[data-v-4f6f7c0d]{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.ready[data-v-4f6f7c0d]{background:var(--accent-color-alpha);color:var(--accent-color)}.status-badge.typing[data-v-4f6f7c0d]{background:var(--warning-color-alpha);color:var(--warning-color)}.status-badge.completed[data-v-4f6f7c0d]{background:var(--success-color-alpha);color:var(--success-color)}.empty-state[data-v-4f6f7c0d],.loading-state[data-v-4f6f7c0d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-secondary);font-family:DM Sans,sans-serif}.empty-state span[data-v-4f6f7c0d],.loading-state span[data-v-4f6f7c0d]{margin-top:16px;font-size:14px;font-weight:500}.loading-spinner[data-v-4f6f7c0d]{width:32px;height:32px;border:3px solid var(--bg-secondary);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin-4f6f7c0d 1s linear infinite}.empty-state svg[data-v-4f6f7c0d]{color:var(--text-tertiary)}@keyframes spin-4f6f7c0d{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn-4f6f7c0d{0%{opacity:0}to{opacity:1}}@keyframes slideUp-4f6f7c0d{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp-4f6f7c0d{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft-4f6f7c0d{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.student-number[data-v-4f6f7c0d]{color:var(--text-primary);font-weight:600;font-family:DM Sans,sans-serif}.view-feedback-btn[data-v-4f6f7c0d]{background:var(--accent-gradient);color:var(--text-white);border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:DM Sans,sans-serif}.view-feedback-btn[data-v-4f6f7c0d]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-accent)}.view-feedback-btn[data-v-4f6f7c0d]:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.feedback-modal[data-v-4f6f7c0d]{max-width:600px;width:90%}.feedback-content[data-v-4f6f7c0d]{padding:24px}.student-info-header[data-v-4f6f7c0d]{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:12px}.student-info-header .avatar[data-v-4f6f7c0d]{width:48px;height:48px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:var(--text-white);font-weight:600;font-size:18px;font-family:DM Sans,sans-serif}.student-details h3[data-v-4f6f7c0d]{margin:0;color:var(--text-primary);font-size:18px;font-weight:600;font-family:DM Sans,sans-serif}.student-details p[data-v-4f6f7c0d]{margin:4px 0 0 0;color:var(--text-secondary);font-size:14px;font-family:DM Sans,sans-serif}.feedback-text h4[data-v-4f6f7c0d]{margin:0 0 12px 0;color:var(--text-primary);font-size:16px;font-weight:600;font-family:DM Sans,sans-serif}.feedback-message[data-v-4f6f7c0d]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;color:var(--text-primary);font-size:14px;line-height:1.6;font-family:DM Sans,sans-serif;min-height:100px;white-space:pre-wrap}.feedback-actions[data-v-4f6f7c0d]{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.close-feedback-btn[data-v-4f6f7c0d]{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:DM Sans,sans-serif}.close-feedback-btn[data-v-4f6f7c0d]:hover{background:var(--bg-secondary);transform:translateY(-1px)}@media (max-width:768px){.modal-container[data-v-4f6f7c0d]{width:95%;margin:20px}.leaderboard-section[data-v-4f6f7c0d],.modal-actions[data-v-4f6f7c0d],.modal-header[data-v-4f6f7c0d],.stats-section[data-v-4f6f7c0d]{padding:16px 20px}.stats-section[data-v-4f6f7c0d]{grid-template-columns:1fr}.table-header[data-v-4f6f7c0d],.table-row[data-v-4f6f7c0d]{grid-template-columns:60px 1fr 60px 80px 80px;gap:8px;padding:12px 16px;font-size:12px}.ai-patient-table .table-header[data-v-4f6f7c0d],.ai-patient-table .table-row[data-v-4f6f7c0d]{grid-template-columns:50px 1fr 60px 100px}.student-info[data-v-4f6f7c0d]{flex-direction:column;gap:4px;text-align:center}.avatar[data-v-4f6f7c0d]{width:28px;height:28px;font-size:12px}.view-feedback-btn[data-v-4f6f7c0d]{font-size:10px;padding:4px 8px}}.typing-history[data-v-8aec2a84]{display:flex;min-height:100vh;background:var(--bg-primary);font-family:DM Sans,sans-serif;color:var(--text-primary)}.sidebar[data-v-8aec2a84]{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:1000}.sidebar-header[data-v-8aec2a84]{padding:2rem 1.5rem;border-bottom:1px solid var(--border-primary)}.logo-section[data-v-8aec2a84]{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.logo-icon[data-v-8aec2a84]{width:36px;height:36px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem}.logo-text[data-v-8aec2a84]{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.logo-badge[data-v-8aec2a84]{background:var(--accent-color);color:#fff;padding:.2rem .4rem;border-radius:5px;font-size:.7rem;font-weight:600}.teacher-badge[data-v-8aec2a84]{background:var(--accent-gradient);color:var(--text-on-accent);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.sidebar-nav[data-v-8aec2a84]{flex:1;padding:1rem 0}.nav-item[data-v-8aec2a84]{display:flex;align-items:center;padding:1rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all .15s ease;border-left:3px solid transparent}.nav-item.active[data-v-8aec2a84],.nav-item[data-v-8aec2a84]:hover{background:var(--accent-gradient-alpha);color:var(--accent-primary);border-left-color:var(--accent-primary)}.nav-divider[data-v-8aec2a84]{height:1px;background:var(--border-primary);margin:1rem 1.5rem}.logout-item[data-v-8aec2a84]{margin-top:auto;border-top:1px solid var(--border-primary);padding-top:1rem}.nav-item i[data-v-8aec2a84]{width:20px;margin-right:.75rem;font-size:1rem}.main-content[data-v-8aec2a84]{flex:1;margin-left:280px;background:var(--bg-primary)}.top-header[data-v-8aec2a84]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--bg-secondary);border-bottom:1px solid #2d3748}.page-title[data-v-8aec2a84]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .25rem 0}.page-subtitle[data-v-8aec2a84]{color:var(--text-secondary);font-size:.9rem;margin:0}.header-right[data-v-8aec2a84]{display:flex;align-items:center;gap:1rem}.search-box[data-v-8aec2a84]{position:relative;display:flex;align-items:center}.search-box i[data-v-8aec2a84]{position:absolute;left:1rem;color:var(--text-secondary);z-index:1}.search-input[data-v-8aec2a84]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:.75rem 1rem .75rem 2.5rem;color:var(--text-primary);font-size:.9rem;width:250px;transition:all .3s ease}.search-input[data-v-8aec2a84]:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-color-alpha)}.search-input[data-v-8aec2a84]::-moz-placeholder{color:var(--text-secondary)}.search-input[data-v-8aec2a84]::placeholder{color:var(--text-secondary)}.filter-select[data-v-8aec2a84]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:.75rem 1rem;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .3s ease}.filter-select[data-v-8aec2a84]:focus{outline:none;border-color:var(--accent-color)}.history-content[data-v-8aec2a84]{padding:2rem}.history-stats[data-v-8aec2a84]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-item[data-v-8aec2a84]{background:var(--bg-secondary);border-radius:16px;padding:1.5rem;border:1px solid var(--border-color);display:flex;align-items:center;gap:1rem;transition:all .3s ease}.stat-item[data-v-8aec2a84]:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.stat-icon[data-v-8aec2a84]{width:50px;height:50px;background:var(--accent-gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.stat-number[data-v-8aec2a84]{display:block;font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-label[data-v-8aec2a84]{display:block;color:var(--text-secondary);font-size:.8rem}.table-container[data-v-8aec2a84]{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.table-header[data-v-8aec2a84]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color)}.table-header h3[data-v-8aec2a84]{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0}.btn[data-v-8aec2a84]{padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.8rem;border:none;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-primary[data-v-8aec2a84]{background:var(--accent-gradient);color:#fff}.btn-secondary[data-v-8aec2a84]{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn[data-v-8aec2a84]:hover{transform:translateY(-1px)}.table-wrapper[data-v-8aec2a84]{overflow-x:auto}.activities-table[data-v-8aec2a84]{width:100%;border-collapse:collapse}.activities-table th[data-v-8aec2a84]{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--border-color)}.activities-table th.sortable[data-v-8aec2a84]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .3s ease}.activities-table th.sortable[data-v-8aec2a84]:hover{background:var(--bg-secondary)}.activities-table th i[data-v-8aec2a84]{margin-left:.5rem;opacity:.5}.table-row[data-v-8aec2a84]{border-bottom:1px solid var(--border-color);transition:all .3s ease;animation:fadeInUp-8aec2a84 .6s ease-out both}.table-row[data-v-8aec2a84]:hover{background:var(--accent-color-alpha)}.activities-table td[data-v-8aec2a84]{padding:1.5rem;vertical-align:middle}.activity-info[data-v-8aec2a84]{display:flex;align-items:center;gap:1rem}.activity-icon[data-v-8aec2a84]{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem}.activity-details .name[data-v-8aec2a84]{display:block;color:var(--text-primary);font-weight:600;font-size:.9rem;margin-bottom:.25rem}.activity-details .difficulty[data-v-8aec2a84]{display:block;color:var(--text-secondary);font-size:.8rem}.section-badge[data-v-8aec2a84]{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.section-badge.year-1[data-v-8aec2a84]{background:rgba(72,187,120,.2);color:#48bb78}.section-badge.year-2[data-v-8aec2a84]{background:rgba(237,137,54,.2);color:#ed8936}.section-badge.year-3[data-v-8aec2a84]{background:hsla(0,88%,68%,.2);color:#f56565}.date-info .date-text[data-v-8aec2a84]{display:block;color:var(--text-primary);font-weight:500;font-size:.9rem;margin-bottom:.25rem}.date-info .time-text[data-v-8aec2a84]{display:block;color:var(--text-secondary);font-size:.8rem}.participant-count[data-v-8aec2a84]{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.game-mode-badge[data-v-8aec2a84]{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.game-mode-badge.timed-mode[data-v-8aec2a84]{background:rgba(102,126,234,.2);color:#667eea}.game-mode-badge.word-count-mode[data-v-8aec2a84]{background:rgba(72,187,120,.2);color:#48bb78}.activity-icon.ai-patient-icon[data-v-8aec2a84],.game-mode-badge.ai-patient-mode[data-v-8aec2a84]{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.ai-score[data-v-8aec2a84]{display:block;font-size:.75rem;color:var(--accent-color);font-weight:500;margin-top:.25rem}.view-btn[data-v-8aec2a84]{font-size:.8rem;padding:.5rem 1rem}.empty-state[data-v-8aec2a84]{text-align:center;padding:4rem 2rem}.empty-icon[data-v-8aec2a84]{width:80px;height:80px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:var(--text-secondary);font-size:2rem}.empty-state h3[data-v-8aec2a84]{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.empty-state p[data-v-8aec2a84]{color:var(--text-secondary);font-size:.9rem}@keyframes fadeInUp-8aec2a84{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stat-item[data-v-8aec2a84]{animation:fadeInUp-8aec2a84 .6s ease-out}.stat-item[data-v-8aec2a84]:nth-child(2){animation-delay:.1s}.stat-item[data-v-8aec2a84]:nth-child(3){animation-delay:.2s}@media (max-width:768px){.sidebar[data-v-8aec2a84]{width:70px}.main-content[data-v-8aec2a84]{margin-left:70px}.nav-item span[data-v-8aec2a84]{display:none}.nav-item[data-v-8aec2a84]{justify-content:center;padding:1rem .75rem}.top-header[data-v-8aec2a84]{flex-direction:column;gap:1rem;align-items:flex-start}.header-right[data-v-8aec2a84]{width:100%;justify-content:space-between}.search-input[data-v-8aec2a84]{width:200px}.history-stats[data-v-8aec2a84]{grid-template-columns:1fr}.table-wrapper[data-v-8aec2a84]{overflow-x:scroll}.activities-table[data-v-8aec2a84]{min-width:800px}}.modal-overlay[data-v-42c3d734]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px)}.modal-container[data-v-42c3d734]{background:var(--bg-secondary);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.3);border:1px solid var(--border-color);max-height:90vh;width:1200px;overflow:hidden;transition:all .3s ease}.modal-header[data-v-42c3d734]{background:var(--bg-tertiary);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.header-left[data-v-42c3d734]{display:flex;align-items:center;gap:1rem}.room-info h3[data-v-42c3d734],.room-info h4[data-v-42c3d734]{margin:0;color:var(--text-primary);font-weight:600}.room-info p[data-v-42c3d734]{margin:.25rem 0 0 0;color:var(--text-secondary);font-size:.875rem}.header-right[data-v-42c3d734]{display:flex;align-items:center;gap:.75rem}.activity-timer[data-v-42c3d734]{display:flex;align-items:center;gap:.5rem;color:#68d391;font-weight:600;font-size:.875rem}.close-btn[data-v-42c3d734]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-42c3d734]:hover{background:var(--bg-secondary);transform:translateY(-1px)}.end-activity-btn[data-v-42c3d734]{background:linear-gradient(135deg,#e53e3e,#c53030);border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.end-activity-btn[data-v-42c3d734]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(229,62,62,.4)}.end-activity-btn[data-v-42c3d734]:disabled{opacity:.6;cursor:not-allowed}.modal-content[data-v-42c3d734]{padding:1.5rem;max-height:calc(90vh - 100px);overflow-y:auto;color:var(--text-primary)}.activity-status[data-v-42c3d734]{text-align:center;margin-bottom:1.5rem;padding:1.5rem;background:hsla(0,0%,100%,.05);border-radius:12px}.status-indicator[data-v-42c3d734]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-weight:600;margin-bottom:.5rem}.status-indicator.active[data-v-42c3d734]{background:rgba(72,187,120,.2);color:#68d391}.status-indicator.completed[data-v-42c3d734]{background:rgba(102,126,234,.2);color:#667eea}.status-indicator.preparing[data-v-42c3d734]{background:rgba(237,137,54,.2);color:#ed8936}.leaderboard-container[data-v-42c3d734]{background:hsla(0,0%,100%,.05);border-radius:12px;overflow:hidden;margin-bottom:1.5rem}.leaderboard-header-row[data-v-42c3d734]{display:grid;grid-template-columns:60px 1fr 80px 80px 80px 120px 100px;gap:1rem;padding:1rem 1.5rem;background:hsla(0,0%,100%,.1);font-weight:600;font-size:.875rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.leaderboard-body[data-v-42c3d734]{max-height:400px;overflow-y:auto}.leaderboard-row[data-v-42c3d734]{display:grid;grid-template-columns:60px 1fr 80px 80px 80px 120px 100px;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid hsla(0,0%,100%,.1);align-items:center;transition:background-color .2s ease}.leaderboard-row[data-v-42c3d734]:hover{background:hsla(0,0%,100%,.05)}.leaderboard-row.top-performer[data-v-42c3d734]{background:rgba(255,215,0,.1)}.rank-badge[data-v-42c3d734]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}.rank-badge.gold[data-v-42c3d734]{background:linear-gradient(135deg,gold,#ffed4e);color:#744210}.rank-badge.silver[data-v-42c3d734]{background:linear-gradient(135deg,silver,#e2e8f0);color:#2d3748}.rank-badge.bronze[data-v-42c3d734]{background:linear-gradient(135deg,#cd7f32,#d69e2e);color:#744210}.student-info[data-v-42c3d734]{display:flex;align-items:center;gap:.75rem}.student-avatar[data-v-42c3d734]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-inverse);font-size:.875rem}.student-name[data-v-42c3d734]{font-weight:500;color:var(--text-primary)}.accuracy-value[data-v-42c3d734],.wpm-value[data-v-42c3d734]{font-weight:600;color:#68d391}.errors-value[data-v-42c3d734]{font-weight:600;color:#f56565}.progress-bar[data-v-42c3d734]{width:80px;height:6px;background:hsla(0,0%,100%,.2);border-radius:3px;overflow:hidden;margin-bottom:.25rem}.progress-fill[data-v-42c3d734]{height:100%;background:linear-gradient(90deg,#68d391,#38b2ac);transition:width .3s ease}.progress-text[data-v-42c3d734]{font-size:.75rem;color:var(--text-tertiary)}.status-badge[data-v-42c3d734]{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.ready[data-v-42c3d734]{background:rgba(237,137,54,.2);color:#ed8936}.status-badge.typing[data-v-42c3d734]{background:rgba(72,187,120,.2);color:#68d391}.status-badge.completed[data-v-42c3d734]{background:rgba(102,126,234,.2);color:#667eea}.stats-container[data-v-42c3d734]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card[data-v-42c3d734]{background:hsla(0,0%,100%,.05);padding:1.5rem;border-radius:12px;display:flex;align-items:center;gap:1rem}.stat-icon[data-v-42c3d734]{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:var(--text-inverse);font-size:1.25rem}.stat-content[data-v-42c3d734]{flex:1}.stat-value[data-v-42c3d734]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-label[data-v-42c3d734]{font-size:.875rem;color:var(--text-tertiary)}.leaderboard-body[data-v-42c3d734]::-webkit-scrollbar,.modal-content[data-v-42c3d734]::-webkit-scrollbar{width:6px}.leaderboard-body[data-v-42c3d734]::-webkit-scrollbar-track,.modal-content[data-v-42c3d734]::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1);border-radius:3px}.leaderboard-body[data-v-42c3d734]::-webkit-scrollbar-thumb,.modal-content[data-v-42c3d734]::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.3);border-radius:3px}.leaderboard-body[data-v-42c3d734]::-webkit-scrollbar-thumb:hover,.modal-content[data-v-42c3d734]::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.5)}.room-interface[data-v-835ad8e4]{min-height:100vh;background:var(--bg-primary);font-family:DM Sans,sans-serif;color:var(--text-primary);padding:20px}.room-header[data-v-835ad8e4]{background:var(--bg-secondary);backdrop-filter:blur(10px);border-radius:16px;padding:24px;margin-bottom:24px;border:1px solid var(--border-primary)}.header-content[data-v-835ad8e4]{display:flex;justify-content:space-between;align-items:center}.room-title[data-v-835ad8e4]{font-size:28px;font-weight:700;margin:0 0 12px 0;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.room-meta[data-v-835ad8e4]{display:flex;gap:12px}.mode-badge[data-v-835ad8e4],.section-badge[data-v-835ad8e4]{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.section-badge[data-v-835ad8e4]{background:var(--accent-gradient);color:var(--text-on-accent)}.mode-badge[data-v-835ad8e4]{background:var(--bg-tertiary);color:var(--text-secondary)}.room-actions[data-v-835ad8e4]{display:flex;gap:12px}.copy-code-btn[data-v-835ad8e4],.end-btn[data-v-835ad8e4],.leaderboard-btn[data-v-835ad8e4],.start-btn[data-v-835ad8e4]{padding:12px 20px;border-radius:8px;border:none;font-family:DM Sans,sans-serif;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.copy-code-btn[data-v-835ad8e4]{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.copy-code-btn[data-v-835ad8e4]:hover{background:var(--bg-secondary);color:var(--text-primary)}.leaderboard-btn[data-v-835ad8e4]{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.leaderboard-btn[data-v-835ad8e4]:hover{background:var(--bg-secondary);color:var(--text-primary)}.leaderboard-btn.active[data-v-835ad8e4]{background:var(--accent-gradient);color:var(--text-on-accent);border-color:var(--accent-primary)}.leaderboard-btn.active[data-v-835ad8e4]:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-color-alpha)}.start-btn[data-v-835ad8e4]{background:var(--success-gradient);color:var(--text-on-accent)}.start-btn[data-v-835ad8e4]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px var(--success-color-alpha)}.start-btn[data-v-835ad8e4]:disabled{opacity:.5;cursor:not-allowed}.end-btn[data-v-835ad8e4]{background:var(--error-gradient);color:var(--text-on-accent)}.end-btn[data-v-835ad8e4]:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--error-color-alpha)}.complete-btn[data-v-835ad8e4]{background:var(--success-gradient);color:var(--text-on-accent)}.complete-btn[data-v-835ad8e4]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px var(--success-color-alpha)}.complete-btn[data-v-835ad8e4]:disabled{opacity:.5;cursor:not-allowed}.room-code-section[data-v-835ad8e4]{display:grid;grid-template-columns:1fr auto;gap:32px;background:var(--bg-secondary);backdrop-filter:blur(10px);border-radius:16px;padding:32px;margin-bottom:24px;border:1px solid var(--border-color);align-items:center}.room-code-container[data-v-835ad8e4]{text-align:center}.code-label[data-v-835ad8e4]{color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:8px}.room-code[data-v-835ad8e4]{font-size:48px;font-weight:700;color:var(--accent-color);letter-spacing:8px;margin-bottom:8px;text-shadow:0 0 20px var(--accent-color-alpha)}.code-instruction[data-v-835ad8e4]{color:var(--text-secondary);font-size:14px}.qr-code-container[data-v-835ad8e4]{text-align:center}.qr-placeholder[data-v-835ad8e4]{width:120px;height:120px;background:var(--bg-tertiary);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);margin-bottom:12px}.qr-label[data-v-835ad8e4]{color:var(--text-secondary);font-size:14px;font-weight:500}.main-content[data-v-835ad8e4]{display:grid;gap:24px;margin-bottom:24px}.leaderboard-section[data-v-835ad8e4],.students-section[data-v-835ad8e4]{background:var(--bg-secondary);backdrop-filter:blur(10px);border-radius:16px;padding:24px;border:1px solid var(--border-color)}.section-header[data-v-835ad8e4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3[data-v-835ad8e4]{font-size:18px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.student-counter[data-v-835ad8e4]{background:var(--bg-tertiary);padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:var(--text-secondary)}.students-grid[data-v-835ad8e4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:400px;overflow-y:auto}.student-card[data-v-835ad8e4]{background:var(--bg-tertiary);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;border:1px solid var(--border-color);transition:all .3s ease;animation:slideInUp-835ad8e4 .5s ease-out;animation-fill-mode:both}.student-card[data-v-835ad8e4]:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-color-alpha)}.student-card.empty-slot[data-v-835ad8e4]{background:#474a51;border:2px dashed var(--border-primary);justify-content:center;text-align:center;flex-direction:column;gap:8px}.student-avatar[data-v-835ad8e4]{width:40px;height:40px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:var(--text-on-accent);font-weight:600;font-size:16px}.student-avatar.small[data-v-835ad8e4]{width:32px;height:32px;font-size:14px}.empty-avatar[data-v-835ad8e4]{width:40px;height:40px;border-radius:50%;background:var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.student-info[data-v-835ad8e4]{flex:1}.student-name[data-v-835ad8e4]{font-weight:600;color:var(--text-primary);margin-bottom:4px}.student-status[data-v-835ad8e4]{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.student-status.ready[data-v-835ad8e4]{color:var(--success-color)}.student-status.waiting[data-v-835ad8e4]{color:var(--warning-color)}.status-dot[data-v-835ad8e4]{width:6px;height:6px;border-radius:50%;background:currentColor}.join-time[data-v-835ad8e4]{font-size:12px;color:var(--text-secondary)}.empty-text[data-v-835ad8e4]{color:var(--text-secondary);font-size:14px}.refresh-btn[data-v-835ad8e4]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.refresh-btn[data-v-835ad8e4]:hover{background:var(--bg-secondary);color:var(--text-primary);transform:rotate(180deg)}.leaderboard-content[data-v-835ad8e4]{min-height:300px}.leaderboard-list[data-v-835ad8e4]{display:flex;flex-direction:column;gap:12px}.leaderboard-item[data-v-835ad8e4]{background:var(--bg-tertiary);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;border:1px solid var(--border-color);transition:all .3s ease;animation:slideInRight-835ad8e4 .5s ease-out;animation-fill-mode:both}.leaderboard-item.top-three[data-v-835ad8e4]{background:var(--accent-gradient-alpha);border-color:var(--accent-color)}.rank[data-v-835ad8e4]{width:32px;text-align:center}.medal[data-v-835ad8e4]{font-size:20px}.rank-number[data-v-835ad8e4]{font-weight:700;color:var(--text-secondary)}.student-details[data-v-835ad8e4]{flex:1}.student-details .name[data-v-835ad8e4]{font-weight:600;color:var(--text-primary);margin-bottom:4px}.progress[data-v-835ad8e4]{font-size:12px;color:var(--text-secondary)}.stats[data-v-835ad8e4]{text-align:right}.wpm[data-v-835ad8e4]{font-weight:600;color:var(--success-color);margin-bottom:4px}.accuracy[data-v-835ad8e4]{font-size:12px;color:var(--text-secondary)}.leaderboard-placeholder[data-v-835ad8e4]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center}.placeholder-icon[data-v-835ad8e4]{color:var(--text-secondary);margin-bottom:16px}.placeholder-text[data-v-835ad8e4]{color:var(--text-secondary);font-size:16px}.stats-section[data-v-835ad8e4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card[data-v-835ad8e4]{background:var(--bg-secondary);backdrop-filter:blur(10px);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;border:1px solid var(--border-color);transition:all .3s ease}.stat-card[data-v-835ad8e4]:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-color-alpha)}.stat-icon[data-v-835ad8e4]{background:var(--accent-gradient);width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-white)}.stat-value[data-v-835ad8e4]{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label[data-v-835ad8e4]{font-size:14px;color:var(--text-secondary);font-weight:500}.toast-container[data-v-835ad8e4]{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:12px}.toast[data-v-835ad8e4]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:500;animation:slideInRight-835ad8e4 .3s ease-out;min-width:250px}.toast.success[data-v-835ad8e4]{border-color:var(--success-color);background:var(--success-color-alpha)}.toast.info[data-v-835ad8e4]{border-color:var(--accent-color);background:var(--accent-color-alpha)}.toast-icon[data-v-835ad8e4]{color:currentColor}@keyframes slideInRight-835ad8e4{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.leaderboard-modal[data-v-835ad8e4]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-overlay);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-835ad8e4 .3s ease}.leaderboard-modal-content[data-v-835ad8e4]{background:var(--bg-secondary);border-radius:20px;padding:0;width:90%;max-width:800px;max-height:80vh;overflow:hidden;border:1px solid var(--border-color);animation:slideInUp-835ad8e4 .3s ease}.modal-header[data-v-835ad8e4]{padding:24px;border-bottom:1px solid var(--border-color);background:var(--accent-gradient)}.modal-header h3[data-v-835ad8e4]{font-weight:700;color:var(--text-white);display:flex;align-items:center;gap:12px}.close-btn[data-v-835ad8e4]{background:var(--bg-overlay-light);border:none;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-white);cursor:pointer;transition:all .2s ease}.close-btn[data-v-835ad8e4]:hover{background:var(--bg-overlay-medium);transform:scale(1.1)}.leaderboard-content[data-v-835ad8e4]{padding:24px;max-height:60vh;overflow-y:auto}@keyframes fadeIn-835ad8e4{0%{opacity:0}to{opacity:1}}@keyframes slideInUp-835ad8e4{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-overlay[data-v-835ad8e4]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-835ad8e4 .3s ease}.confirmation-modal[data-v-835ad8e4]{background:var(--bg-secondary);border-radius:16px;box-shadow:0 20px 40px var(--shadow-dark);max-width:480px;width:90%;animation:slideInUp-835ad8e4 .3s ease;border:1px solid var(--border-color)}.modal-header[data-v-835ad8e4]{padding:24px 24px 0;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-835ad8e4]{color:var(--text-primary);font-size:24px;font-weight:600;margin:0}.modal-header .close-btn[data-v-835ad8e4]{background:transparent;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.modal-header .close-btn[data-v-835ad8e4]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body[data-v-835ad8e4]{padding:24px;text-align:center}.warning-icon[data-v-835ad8e4]{margin-bottom:16px}.warning-icon i[data-v-835ad8e4]{font-size:48px;color:var(--warning-color)}.modal-body p[data-v-835ad8e4]{color:var(--text-primary);font-size:16px;margin:8px 0;line-height:1.5}.warning-text[data-v-835ad8e4]{color:var(--text-secondary)!important;font-size:14px!important}.modal-footer[data-v-835ad8e4]{padding:0 24px 24px;display:flex;gap:12px;justify-content:flex-end}.cancel-btn[data-v-835ad8e4],.confirm-btn[data-v-835ad8e4]{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.cancel-btn[data-v-835ad8e4]{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.confirm-btn[data-v-835ad8e4]{background:var(--error-color);color:var(--text-white)}.confirm-btn[data-v-835ad8e4]:hover:not(:disabled){background:var(--error-color-dark);transform:translateY(-1px)}.confirm-btn[data-v-835ad8e4]:disabled{background:var(--text-secondary);cursor:not-allowed;transform:none}@media (max-width:1200px){.main-content[data-v-835ad8e4]{grid-template-columns:1fr}.room-code-section[data-v-835ad8e4]{grid-template-columns:1fr;text-align:center}}@media (max-width:768px){.room-interface[data-v-835ad8e4]{padding:12px}.header-content[data-v-835ad8e4]{flex-direction:column;gap:16px;text-align:center}.room-actions[data-v-835ad8e4]{flex-wrap:wrap;justify-content:center}.room-code[data-v-835ad8e4]{font-size:32px;letter-spacing:4px}.students-grid[data-v-835ad8e4]{grid-template-columns:1fr}.stats-section[data-v-835ad8e4]{grid-template-columns:repeat(2,1fr)}}.loading-modal[data-v-835ad8e4]{max-width:400px}.consultation-modal[data-v-835ad8e4],.loading-modal[data-v-835ad8e4]{background:var(--bg-secondary);border-radius:20px;box-shadow:0 25px 50px var(--shadow-dark);animation:slideInUp-835ad8e4 .3s ease;border:1px solid var(--border-primary)}.consultation-modal[data-v-835ad8e4]{max-width:800px;width:95%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.consultation-modal .modal-header[data-v-835ad8e4]{padding:24px 32px;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;background:var(--bg-tertiary);border-radius:20px 20px 0 0}.consultation-modal .modal-header h3[data-v-835ad8e4]{margin:0;font-size:20px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:12px}.consultation-modal .modal-header h3 i[data-v-835ad8e4]{color:var(--accent-primary);font-size:22px}.consultation-modal .close-btn[data-v-835ad8e4]{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.consultation-modal .close-btn[data-v-835ad8e4]:hover{background:var(--bg-primary);color:var(--text-primary)}.consultation-modal .modal-body[data-v-835ad8e4]{padding:24px 32px;overflow-y:auto;flex:1;max-height:calc(90vh - 200px)}.consultation-modal .modal-footer[data-v-835ad8e4]{padding:20px 32px;border-top:1px solid var(--border-primary);display:flex;gap:12px;justify-content:flex-end;background:var(--bg-tertiary);border-radius:0 0 20px 20px}.error-state[data-v-835ad8e4],.loading-state[data-v-835ad8e4],.no-consultation-state[data-v-835ad8e4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--text-secondary)}.error-state i[data-v-835ad8e4],.loading-state i[data-v-835ad8e4],.no-consultation-state i[data-v-835ad8e4]{font-size:48px;margin-bottom:16px}.loading-state i[data-v-835ad8e4]{color:var(--accent-primary)}.error-state i[data-v-835ad8e4]{color:var(--error-color)}.no-consultation-state i[data-v-835ad8e4]{color:var(--text-tertiary)}.no-consultation-state h4[data-v-835ad8e4]{margin:0 0 8px 0;color:var(--text-primary);font-size:18px}.no-consultation-state p[data-v-835ad8e4]{margin:0;font-size:14px}.consultation-content[data-v-835ad8e4]{display:flex;flex-direction:column;gap:24px}.consultation-section[data-v-835ad8e4]{background:var(--bg-primary);border-radius:12px;padding:20px;border:1px solid var(--border-primary)}.consultation-section.feedback-section[data-v-835ad8e4]{background:var(--bg-tertiary);border-color:var(--accent-primary)}.section-title[data-v-835ad8e4]{margin:0 0 16px 0;font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px}.section-title i[data-v-835ad8e4]{color:var(--accent-primary);font-size:18px}.info-grid[data-v-835ad8e4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item[data-v-835ad8e4]{display:flex;flex-direction:column;gap:4px}.info-item.full-width[data-v-835ad8e4]{grid-column:1/-1}.info-item label[data-v-835ad8e4]{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-item span[data-v-835ad8e4]{font-size:14px;color:var(--text-primary);background:var(--bg-secondary);padding:8px 12px;border-radius:6px;border:1px solid var(--border-primary)}.findings-content[data-v-835ad8e4]{display:flex;flex-direction:column;gap:16px}.finding-item[data-v-835ad8e4]{display:flex;flex-direction:column;gap:6px}.finding-item label[data-v-835ad8e4]{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.finding-item p[data-v-835ad8e4]{margin:0;font-size:14px;color:var(--text-primary);background:var(--bg-secondary);padding:12px;border-radius:6px;border:1px solid var(--border-primary);line-height:1.5;min-height:20px}.conversation-section[data-v-835ad8e4]{background:var(--bg-secondary);border-color:var(--accent-secondary)}.conversation-content[data-v-835ad8e4]{max-height:400px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary)}.conversation-messages[data-v-835ad8e4]{padding:12px;display:flex;flex-direction:column;gap:12px}.conversation-message[data-v-835ad8e4]{padding:12px;border-radius:8px;border:1px solid var(--border-primary)}.conversation-message.student-message[data-v-835ad8e4]{background:var(--bg-tertiary);border-color:var(--accent-primary);margin-left:20px}.conversation-message.ai-message[data-v-835ad8e4]{background:var(--bg-secondary);border-color:var(--border-secondary);margin-right:20px}.message-header[data-v-835ad8e4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-sender[data-v-835ad8e4]{font-size:12px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.message-sender i[data-v-835ad8e4]{font-size:14px}.student-message .message-sender[data-v-835ad8e4]{color:var(--accent-primary)}.ai-message .message-sender[data-v-835ad8e4]{color:var(--text-secondary)}.message-time[data-v-835ad8e4]{font-size:11px;color:var(--text-tertiary)}.message-content[data-v-835ad8e4]{font-size:14px;color:var(--text-primary);line-height:1.5;margin:0;white-space:pre-wrap;word-wrap:break-word}.existing-feedback[data-v-835ad8e4]{margin-bottom:16px}.feedback-item[data-v-835ad8e4]{background:var(--bg-secondary);border-radius:8px;padding:16px;border:1px solid var(--border-primary)}.feedback-header[data-v-835ad8e4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.feedback-author[data-v-835ad8e4]{font-weight:600;color:var(--accent-primary);font-size:14px}.feedback-date[data-v-835ad8e4]{font-size:12px;color:var(--text-secondary)}.feedback-content[data-v-835ad8e4]{margin:0;font-size:14px;color:var(--text-primary);line-height:1.5}.feedback-form[data-v-835ad8e4]{display:flex;flex-direction:column;gap:8px}.feedback-form label[data-v-835ad8e4]{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.feedback-textarea[data-v-835ad8e4]{width:100%;min-height:100px;padding:12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5;resize:vertical;transition:border-color .2s ease}.feedback-textarea[data-v-835ad8e4]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-color-alpha)}.feedback-textarea[data-v-835ad8e4]::-moz-placeholder{color:var(--text-tertiary)}.feedback-textarea[data-v-835ad8e4]::placeholder{color:var(--text-tertiary)}.cancel-btn[data-v-835ad8e4],.feedback-btn[data-v-835ad8e4]{padding:12px 20px;border-radius:8px;border:none;font-family:DM Sans,sans-serif;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;font-size:14px}.cancel-btn[data-v-835ad8e4]{background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-primary)}.cancel-btn[data-v-835ad8e4]:hover{background:var(--bg-secondary);color:var(--text-primary)}.feedback-btn[data-v-835ad8e4]{background:var(--accent-gradient);color:var(--text-on-accent);min-width:140px;justify-content:center}.feedback-btn[data-v-835ad8e4]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-color-alpha)}.feedback-btn[data-v-835ad8e4]:disabled{opacity:.5;cursor:not-allowed;transform:none}.student-card.clickable-card[data-v-835ad8e4]{cursor:pointer;transition:all .3s ease;position:relative}.student-card.clickable-card[data-v-835ad8e4]:hover{transform:translateY(-4px);box-shadow:0 12px 30px var(--shadow-medium);border-color:var(--accent-primary)}.student-card.clickable-card.has-consultation[data-v-835ad8e4]{border-left:4px solid var(--success-color)}.student-card.clickable-card.has-consultation[data-v-835ad8e4]:before{content:"";position:absolute;top:-2px;right:-2px;width:12px;height:12px;background:var(--success-color);border-radius:50%;border:2px solid var(--bg-secondary);z-index:2}.consultation-status[data-v-835ad8e4]{margin-top:8px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.5px}.consultation-status.submitted[data-v-835ad8e4]{background:var(--success-color-alpha);color:var(--success-color)}.consultation-status.pending[data-v-835ad8e4]{background:var(--warning-color-alpha);color:var(--warning-color)}@media (max-width:768px){.consultation-modal[data-v-835ad8e4]{max-width:95%;margin:20px;max-height:calc(100vh - 40px)}.consultation-modal .modal-body[data-v-835ad8e4],.consultation-modal .modal-footer[data-v-835ad8e4],.consultation-modal .modal-header[data-v-835ad8e4]{padding:16px 20px}.info-grid[data-v-835ad8e4]{grid-template-columns:1fr}.consultation-modal .modal-footer[data-v-835ad8e4]{flex-direction:column}.cancel-btn[data-v-835ad8e4],.feedback-btn[data-v-835ad8e4]{width:100%;justify-content:center}}.loading-content[data-v-835ad8e4]{padding:3rem 2rem;text-align:center}.loading-spinner[data-v-835ad8e4]{margin-bottom:1.5rem;background:var(--accent-gradient);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.loading-spinner i[data-v-835ad8e4]{font-size:2rem;color:var(--text-on-accent);animation:spin-835ad8e4 1s linear infinite}.loading-content h3[data-v-835ad8e4]{color:var(--text-primary);font-size:1.5rem;margin:0 0 .5rem 0}.loading-content p[data-v-835ad8e4]{color:var(--text-secondary);font-size:1rem;margin:0;line-height:1.5}@keyframes spin-835ad8e4{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-theme=dark] .copy-code-btn[data-v-835ad8e4],[data-theme=dark] .leaderboard-btn[data-v-835ad8e4]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}[data-theme=dark] .complete-btn[data-v-835ad8e4],[data-theme=dark] .start-btn[data-v-835ad8e4]{background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;border:none}[data-theme=dark] .end-btn[data-v-835ad8e4]{background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;border:none}[data-theme=dark] .copy-code-btn[data-v-835ad8e4]:hover,[data-theme=dark] .leaderboard-btn[data-v-835ad8e4]:hover{background:linear-gradient(135deg,#667eea,#764ba2);transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.3)}[data-theme=dark] .complete-btn[data-v-835ad8e4]:hover:not(:disabled),[data-theme=dark] .start-btn[data-v-835ad8e4]:hover:not(:disabled){background:linear-gradient(135deg,#22c55e,#15803d);transform:translateY(-2px);box-shadow:0 8px 25px rgba(34,197,94,.3)}[data-theme=dark] .end-btn[data-v-835ad8e4]:hover{background:linear-gradient(135deg,#ef4444,#b91c1c);transform:translateY(-2px);box-shadow:0 8px 25px rgba(239,68,68,.3)}[data-theme=light] .student-card.empty-slot[data-v-835ad8e4]{background:#e7e9eb}[data-theme=light] .copy-code-btn[data-v-835ad8e4],[data-theme=light] .leaderboard-btn[data-v-835ad8e4]{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;border:none}[data-theme=light] .complete-btn[data-v-835ad8e4],[data-theme=light] .start-btn[data-v-835ad8e4]{background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;border:none}[data-theme=light] .end-btn[data-v-835ad8e4]{background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;border:none}[data-theme=light] .copy-code-btn[data-v-835ad8e4]:hover,[data-theme=light] .leaderboard-btn[data-v-835ad8e4]:hover{background:linear-gradient(135deg,#3b82f6,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,.3)}[data-theme=light] .complete-btn[data-v-835ad8e4]:hover:not(:disabled),[data-theme=light] .start-btn[data-v-835ad8e4]:hover:not(:disabled){background:linear-gradient(135deg,#22c55e,#15803d);transform:translateY(-2px);box-shadow:0 8px 25px rgba(34,197,94,.3)}[data-theme=light] .end-btn[data-v-835ad8e4]:hover{background:linear-gradient(135deg,#ef4444,#b91c1c);transform:translateY(-2px);box-shadow:0 8px 25px rgba(239,68,68,.3)}.qr-code-container[data-v-835ad8e4]{display:none}.score-input-group[data-v-835ad8e4]{margin-bottom:15px}.score-input-group label[data-v-835ad8e4]{display:block;margin-bottom:5px;font-weight:600;color:#374151;font-size:14px}.score-input-wrapper[data-v-835ad8e4]{position:relative;display:inline-block;width:120px}.score-input[data-v-835ad8e4]{width:100%;padding:8px 25px 8px 10px;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;transition:border-color .2s ease}.score-input[data-v-835ad8e4]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.score-suffix[data-v-835ad8e4]{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#6b7280;font-size:14px;pointer-events:none}.score-input.invalid[data-v-835ad8e4]{border-color:#ef4444}.score-error[data-v-835ad8e4]{color:#ef4444;font-size:12px;margin-top:4px}.feedback-score[data-v-835ad8e4]{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;margin-left:10px}.feedback-score i[data-v-835ad8e4]{font-size:10px}[data-theme=dark] .score-input-group label[data-v-835ad8e4]{color:#d1d5db}[data-theme=dark] .score-input[data-v-835ad8e4]{background:#374151;border-color:#4b5563;color:#f9fafb}[data-theme=dark] .score-input[data-v-835ad8e4]:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.1)}[data-theme=dark] .score-suffix[data-v-835ad8e4]{color:#9ca3af}.loading-modal[data-v-835ad8e4]{background:#fff;border-radius:16px;padding:40px;max-width:500px;width:90%;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);text-align:center}.loading-content h3[data-v-835ad8e4]{margin:20px 0 10px 0;color:#1f2937;font-size:24px;font-weight:600}.loading-content p[data-v-835ad8e4]{color:#6b7280;margin-bottom:30px;font-size:16px}.loading-spinner[data-v-835ad8e4]{margin-bottom:20px}.loading-spinner i[data-v-835ad8e4]{font-size:48px;color:#3b82f6}.loading-steps[data-v-835ad8e4]{display:flex;flex-direction:column;gap:15px;text-align:left}.loading-steps .step[data-v-835ad8e4]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;background:#f9fafb;border:2px solid #e5e7eb;transition:all .3s ease;opacity:.5}.loading-steps .step.active[data-v-835ad8e4]{background:#eff6ff;border-color:#3b82f6;opacity:1}.loading-steps .step i[data-v-835ad8e4]{color:#9ca3af;font-size:16px;width:20px;text-align:center;transition:color .3s ease}.loading-steps .step.active i[data-v-835ad8e4]{color:#3b82f6}.loading-steps .step span[data-v-835ad8e4]{color:#6b7280;font-weight:500;transition:color .3s ease}.loading-steps .step.active span[data-v-835ad8e4]{color:#1f2937}[data-theme=dark] .loading-modal[data-v-835ad8e4]{background:#1f2937}[data-theme=dark] .loading-content h3[data-v-835ad8e4]{color:#f9fafb}[data-theme=dark] .loading-content p[data-v-835ad8e4]{color:#d1d5db}[data-theme=dark] .loading-steps .step[data-v-835ad8e4]{background:#374151;border-color:#4b5563}[data-theme=dark] .loading-steps .step.active[data-v-835ad8e4]{background:#1e3a8a;border-color:#60a5fa}[data-theme=dark] .loading-steps .step i[data-v-835ad8e4]{color:#6b7280}[data-theme=dark] .loading-steps .step.active i[data-v-835ad8e4]{color:#60a5fa}[data-theme=dark] .loading-steps .step span[data-v-835ad8e4]{color:#9ca3af}[data-theme=dark] .loading-steps .step.active span[data-v-835ad8e4]{color:#f9fafb}.leaderboards[data-v-6e4a739c]{display:flex;min-height:100vh;background:var(--bg-primary);font-family:DM Sans,sans-serif;color:var(--text-primary)}.sidebar[data-v-6e4a739c]{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:1000}.sidebar-header[data-v-6e4a739c]{padding:2rem 1.5rem;border-bottom:1px solid var(--border-primary)}.logo-section[data-v-6e4a739c]{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.logo-icon[data-v-6e4a739c]{width:36px;height:36px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem}.logo-text[data-v-6e4a739c]{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.logo-badge[data-v-6e4a739c]{background:var(--accent-color);color:#fff;padding:.2rem .4rem;border-radius:5px;font-size:.7rem;font-weight:600}.teacher-badge[data-v-6e4a739c]{background:var(--accent-gradient);color:var(--text-on-accent);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.sidebar-nav[data-v-6e4a739c]{flex:1;padding:1rem 0}.nav-item[data-v-6e4a739c]{display:flex;align-items:center;padding:1rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all .15s ease;border-left:3px solid transparent}.nav-item.active[data-v-6e4a739c],.nav-item[data-v-6e4a739c]:hover{background:var(--accent-gradient-alpha);color:var(--accent-primary);border-left-color:var(--accent-primary)}.nav-item i[data-v-6e4a739c]{width:20px;margin-right:.75rem;font-size:1rem}.nav-divider[data-v-6e4a739c]{height:1px;background:var(--border-primary);margin:1rem 1.5rem}.logout-item[data-v-6e4a739c]{margin-top:auto;border-top:1px solid var(--border-primary);padding-top:1rem;color:var(--text-secondary)!important}.logout-item[data-v-6e4a739c]:hover{background:var(--error-color-alpha)!important;color:var(--accent-error)!important;border-left-color:var(--accent-error)!important}.main-content[data-v-6e4a739c]{flex:1;margin-left:280px;background:var(--bg-primary)}.top-header[data-v-6e4a739c]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.page-title[data-v-6e4a739c]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0}.header-right[data-v-6e4a739c]{display:flex;align-items:center;gap:1.5rem}.btn[data-v-6e4a739c]{background:var(--accent-gradient);border:none;padding:.75rem 1.5rem;border-radius:12px;color:var(--text-white);font-weight:600;font-size:.9rem;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;cursor:pointer}.btn[data-v-6e4a739c]:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent)}.dashboard-content[data-v-6e4a739c]{padding:2rem;display:flex;flex-direction:column;gap:2rem}.controls-section[data-v-6e4a739c]{margin-bottom:2rem}.filter-controls[data-v-6e4a739c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:2rem}.filter-group[data-v-6e4a739c]{display:flex;align-items:center;gap:1rem}.filter-group label[data-v-6e4a739c]{color:var(--text-secondary);font-weight:500;white-space:nowrap}.module-select[data-v-6e4a739c]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;font-size:.875rem;min-width:250px}.search-group[data-v-6e4a739c]{flex:1;max-width:400px}.search-box[data-v-6e4a739c]{position:relative}.search-box i[data-v-6e4a739c]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.search-input[data-v-6e4a739c]{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem .75rem 2.5rem;border-radius:8px;font-size:.875rem}.search-input[data-v-6e4a739c]::-moz-placeholder{color:var(--text-secondary)}.search-input[data-v-6e4a739c]::placeholder{color:var(--text-secondary)}.stats-grid[data-v-6e4a739c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card[data-v-6e4a739c]{background:var(--bg-secondary);border-radius:16px;padding:1.5rem;border:1px solid var(--border-color);transition:all .3s ease;display:flex;align-items:center;gap:1rem}.stat-card[data-v-6e4a739c]:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.stat-icon[data-v-6e4a739c]{width:48px;height:48px;background:var(--bg-tertiary);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--accent-color);font-size:1.25rem;flex-shrink:0}.stat-info[data-v-6e4a739c]{flex:1}.stat-value[data-v-6e4a739c]{display:block;font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-label[data-v-6e4a739c]{display:block;font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.leaderboard-section[data-v-6e4a739c]{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.section-header[data-v-6e4a739c]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.section-header h3[data-v-6e4a739c]{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.results-count[data-v-6e4a739c]{color:var(--text-secondary);font-weight:400;font-size:.875rem}.sort-controls[data-v-6e4a739c]{display:flex;gap:1rem}.sort-select[data-v-6e4a739c]{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.875rem}.table-container[data-v-6e4a739c]{overflow-x:auto}.leaderboard-table[data-v-6e4a739c]{width:100%;border-collapse:collapse}.leaderboard-table th[data-v-6e4a739c]{background:var(--bg-primary);color:var(--text-secondary);font-weight:600;font-size:.875rem;text-align:left;padding:1rem;border-bottom:1px solid var(--border-color)}.table-row[data-v-6e4a739c]{border-bottom:1px solid var(--border-color);transition:all .3s ease;animation:slideInUp-6e4a739c .6s ease forwards;opacity:0;transform:translateY(20px)}.table-row[data-v-6e4a739c]:hover{background:var(--accent-color-alpha-light)}.table-row.top-performer[data-v-6e4a739c]{background:var(--gold-color-alpha)}.table-row td[data-v-6e4a739c]{padding:1rem;vertical-align:middle}.rank-badge[data-v-6e4a739c]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-weight:700}.rank-badge.rank-1[data-v-6e4a739c]{background:var(--gold-gradient);color:var(--text-dark)}.rank-badge.rank-2[data-v-6e4a739c]{background:var(--silver-gradient);color:var(--text-dark)}.rank-badge.rank-3[data-v-6e4a739c]{background:var(--bronze-gradient);color:var(--text-white)}.rank-number[data-v-6e4a739c]{color:var(--text-secondary);font-weight:600}.medal[data-v-6e4a739c]{font-size:1.25rem}.student-info[data-v-6e4a739c]{display:flex;align-items:center;gap:1rem}.student-avatar[data-v-6e4a739c]{width:40px;height:40px;background:var(--accent-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-white);font-weight:600;font-size:1rem}.student-details[data-v-6e4a739c]{flex:1}.student-name[data-v-6e4a739c]{font-weight:600;color:var(--text-white);margin-bottom:.25rem}.student-id[data-v-6e4a739c]{font-size:.75rem;color:var(--text-secondary)}.section-badge[data-v-6e4a739c]{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.section-badge.junior[data-v-6e4a739c]{background:var(--success-color-alpha);color:var(--success-color)}.section-badge.middle[data-v-6e4a739c]{background:var(--warning-color-alpha);color:var(--warning-color)}.section-badge.senior[data-v-6e4a739c]{background:var(--danger-color-alpha);color:var(--danger-color)}.module-badge[data-v-6e4a739c]{background:var(--accent-color-alpha);color:var(--accent-color);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.wpm-display[data-v-6e4a739c]{display:flex;flex-direction:column;align-items:center}.wpm-value[data-v-6e4a739c]{font-size:1.25rem;font-weight:700;color:var(--accent-color)}.wpm-label[data-v-6e4a739c]{font-size:.75rem;color:var(--text-secondary)}.accuracy-display[data-v-6e4a739c]{display:flex;align-items:center;gap:.75rem}.accuracy-bar[data-v-6e4a739c]{width:60px;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.accuracy-fill[data-v-6e4a739c]{height:100%;background:var(--success-gradient);transition:width .3s ease}.accuracy-value[data-v-6e4a739c]{font-weight:600;color:var(--success-color);min-width:40px}.errors-display[data-v-6e4a739c]{display:flex;flex-direction:column;align-items:center;gap:.25rem}.errors-value[data-v-6e4a739c]{font-weight:700;color:var(--error-color);font-size:1.1rem}.errors-label[data-v-6e4a739c]{font-size:.75rem;color:var(--text-secondary)}.score-value[data-v-6e4a739c]{font-weight:700;color:var(--warning-color)}.tests-count[data-v-6e4a739c]{color:var(--text-secondary);font-weight:500}.last-active[data-v-6e4a739c]{color:var(--text-secondary);font-size:.875rem}.pagination[data-v-6e4a739c]{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color)}.pagination-btn[data-v-6e4a739c]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-white);padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.pagination-btn[data-v-6e4a739c]:hover:not(:disabled){background:var(--bg-quaternary)}.pagination-btn[data-v-6e4a739c]:disabled{opacity:.5;cursor:not-allowed}.pagination-info[data-v-6e4a739c]{color:var(--text-secondary);font-size:.875rem}.loading-state[data-v-6e4a739c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner[data-v-6e4a739c]{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin-6e4a739c 1s linear infinite;margin-bottom:1rem}@keyframes spin-6e4a739c{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-state p[data-v-6e4a739c]{color:var(--text-secondary);font-size:1.1rem}.error-state[data-v-6e4a739c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.error-icon[data-v-6e4a739c]{font-size:3rem;color:var(--danger-color);margin-bottom:1rem}.error-state p[data-v-6e4a739c]{color:var(--text-secondary);font-size:1.1rem;margin-bottom:1.5rem}.retry-btn[data-v-6e4a739c]{background:var(--accent-gradient);color:var(--text-white);border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.retry-btn[data-v-6e4a739c]:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent)}.empty-state[data-v-6e4a739c]{text-align:center;padding:4rem 2rem}.empty-icon[data-v-6e4a739c]{font-size:3rem;color:var(--text-secondary);margin-bottom:1rem}.empty-state h3[data-v-6e4a739c]{color:var(--text-white);margin-bottom:.5rem}.empty-state p[data-v-6e4a739c]{color:var(--text-secondary)}@keyframes slideInUp-6e4a739c{to{opacity:1;transform:translateY(0)}}@media (max-width:1200px){.main-content[data-v-6e4a739c]{margin-left:0;padding:1rem}.sidebar[data-v-6e4a739c]{transform:translateX(-100%)}.stats-grid[data-v-6e4a739c]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:768px){.filter-controls[data-v-6e4a739c]{flex-direction:column;gap:1rem}.filter-group[data-v-6e4a739c]{width:100%}.module-select[data-v-6e4a739c]{min-width:auto;width:100%}.search-group[data-v-6e4a739c]{max-width:none;width:100%}.stats-grid[data-v-6e4a739c]{grid-template-columns:1fr}.section-header[data-v-6e4a739c]{flex-direction:column;gap:1rem;align-items:flex-start}.table-container[data-v-6e4a739c]{font-size:.875rem}.leaderboard-table td[data-v-6e4a739c],.leaderboard-table th[data-v-6e4a739c]{padding:.75rem .5rem}}.settings[data-v-05418f0b]{display:flex;min-height:100vh;background:var(--bg-primary);font-family:DM Sans,sans-serif;color:var(--text-primary)}.sidebar[data-v-05418f0b]{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:1000}.sidebar-header[data-v-05418f0b]{padding:2rem 1.5rem;border-bottom:1px solid var(--border-primary)}.logo-section[data-v-05418f0b]{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.logo-icon[data-v-05418f0b]{width:36px;height:36px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem}.logo-text[data-v-05418f0b]{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.logo-badge[data-v-05418f0b]{background:var(--accent-color);color:#fff;padding:.2rem .4rem;border-radius:5px;font-size:.7rem;font-weight:600}.teacher-badge[data-v-05418f0b]{background:var(--accent-gradient);color:var(--text-on-accent);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.sidebar-nav[data-v-05418f0b]{flex:1;padding:1rem 0}.nav-item[data-v-05418f0b]{display:flex;align-items:center;padding:1rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all .15s ease;border-left:3px solid transparent}.nav-item.active[data-v-05418f0b],.nav-item[data-v-05418f0b]:hover{background:var(--accent-gradient-alpha);color:var(--accent-primary);border-left-color:var(--accent-primary)}.nav-item i[data-v-05418f0b]{width:20px;margin-right:.75rem;font-size:1rem}.nav-divider[data-v-05418f0b]{height:1px;background:var(--border-primary);margin:1rem 1.5rem}.logout-item[data-v-05418f0b]{margin-top:auto;border-top:1px solid var(--border-primary);padding-top:1rem;color:var(--accent-error)!important}.logout-item[data-v-05418f0b]:hover{background:var(--error-color-alpha)!important;color:var(--accent-error)!important}.main-content[data-v-05418f0b]{flex:1;margin-left:280px;background:var(--bg-primary);min-height:100vh}.top-header[data-v-05418f0b]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.page-title[data-v-05418f0b]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0}.dashboard-content[data-v-05418f0b]{padding:2rem}.settings-container[data-v-05418f0b]{width:100%}.settings-section[data-v-05418f0b]{background:var(--bg-secondary);border-radius:16px;padding:2rem;margin-bottom:2rem;border:1px solid var(--border-color)}.section-title[data-v-05418f0b]{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 1.5rem 0}.setting-item[data-v-05418f0b]{margin-bottom:1.5rem}.setting-item[data-v-05418f0b]:last-child{margin-bottom:0}.setting-item label[data-v-05418f0b]{display:block;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem}.setting-input[data-v-05418f0b],.setting-select[data-v-05418f0b]{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;color:var(--text-primary);font-size:.875rem;transition:border-color .3s ease}.setting-input[data-v-05418f0b]:focus,.setting-select[data-v-05418f0b]:focus{outline:none;border-color:var(--accent-color)}.toggle-label[data-v-05418f0b]{display:flex!important;align-items:center;cursor:pointer;margin-bottom:0!important}.toggle-input[data-v-05418f0b]{display:none}.toggle-slider[data-v-05418f0b]{width:44px;height:24px;background:var(--bg-tertiary);border-radius:12px;position:relative;margin-right:.75rem;transition:background .3s ease}.toggle-slider[data-v-05418f0b]:before{content:"";position:absolute;width:20px;height:20px;background:var(--text-primary);border-radius:50%;top:2px;left:2px;transition:transform .3s ease}.toggle-input:checked+.toggle-slider[data-v-05418f0b]{background:var(--accent-color)}.toggle-input:checked+.toggle-slider[data-v-05418f0b]:before{transform:translateX(20px)}.settings-actions[data-v-05418f0b]{display:flex;justify-content:flex-end;margin-top:2rem}.btn[data-v-05418f0b]{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-primary[data-v-05418f0b]{background:var(--accent-gradient)}.btn-primary[data-v-05418f0b]:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent)}.loading-state[data-v-05418f0b]{color:var(--text-secondary)}.error-state[data-v-05418f0b],.loading-state[data-v-05418f0b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.error-state[data-v-05418f0b]{color:var(--danger-color);text-align:center}.error-state i[data-v-05418f0b]{font-size:2rem;margin-bottom:1rem}.spinner[data-v-05418f0b]{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin-05418f0b 1s linear infinite;margin-bottom:1rem}.spinner-small[data-v-05418f0b]{width:16px;height:16px;border:2px solid var(--text-white);border-top:2px solid transparent;border-radius:50%;animation:spin-05418f0b 1s linear infinite;display:inline-block;margin-right:.5rem}@keyframes spin-05418f0b{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.field-note[data-v-05418f0b]{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.875rem}.setting-input[data-v-05418f0b]:disabled{background-color:var(--bg-tertiary);opacity:.6;cursor:not-allowed}.btn[data-v-05418f0b]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-05418f0b]{background:var(--bg-tertiary);color:var(--text-white)}.btn-secondary[data-v-05418f0b]:hover{background:var(--bg-quaternary);transform:translateY(-1px)}.modal-overlay[data-v-05418f0b]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(4px)}.modal-container[data-v-05418f0b]{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-modal);max-width:500px;width:90%;max-height:90vh;overflow:hidden;animation:modalSlideIn-05418f0b .3s ease-out}@keyframes modalSlideIn-05418f0b{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header[data-v-05418f0b]{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-gradient)}.modal-title[data-v-05418f0b]{margin:0;color:var(--text-white);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:10px}.modal-title .fa-check-circle[data-v-05418f0b]{color:var(--success-color)}.modal-title .fa-exclamation-triangle[data-v-05418f0b]{color:var(--danger-color)}.modal-close[data-v-05418f0b]{background:none;border:none;color:var(--text-tertiary);font-size:1.2rem;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease}.modal-close[data-v-05418f0b]:hover{background:var(--bg-tertiary);color:var(--text-white)}.modal-body[data-v-05418f0b]{padding:24px;color:var(--text-secondary);line-height:1.6}.modal-body p[data-v-05418f0b]{margin:0;font-size:1rem}.modal-footer[data-v-05418f0b]{padding:20px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;background:var(--bg-tertiary)}.modal-footer .btn[data-v-05418f0b]{min-width:100px}@media (max-width:768px){.modal-container[data-v-05418f0b]{margin:20px;width:calc(100% - 40px)}.modal-body[data-v-05418f0b],.modal-footer[data-v-05418f0b],.modal-header[data-v-05418f0b]{padding:16px 20px}}.admin-dashboard[data-v-3b42b90d]{min-height:100vh;background-color:#f8f9fa}.admin-header[data-v-3b42b90d]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem 0}.admin-title[data-v-3b42b90d]{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.admin-subtitle[data-v-3b42b90d]{font-size:1.1rem;opacity:.9;margin-bottom:0}.stat-card[data-v-3b42b90d]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;align-items:center;margin-bottom:1rem}.stat-icon[data-v-3b42b90d]{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-right:1rem;font-size:1.5rem;color:#fff}.stat-content h3[data-v-3b42b90d]{font-size:2rem;font-weight:700;margin-bottom:.25rem;color:#2c3e50}.stat-content p[data-v-3b42b90d]{margin-bottom:0;color:#6c757d;font-weight:500}.card[data-v-3b42b90d]{border:none;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.card-header[data-v-3b42b90d]{background-color:#fff;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0!important;padding:1.25rem}.teacher-avatar[data-v-3b42b90d]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem}.table th[data-v-3b42b90d]{border-top:none;font-weight:600;color:#495057;background-color:#f8f9fa}.btn-group-sm .btn[data-v-3b42b90d]{padding:.25rem .5rem}.modal-content[data-v-3b42b90d]{border:none;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.modal-header[data-v-3b42b90d]{border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0}.form-label[data-v-3b42b90d]{font-weight:600;color:#495057}.form-control[data-v-3b42b90d]:focus{border-color:#667eea;box-shadow:0 0 0 .2rem rgba(102,126,234,.25)}.alert-warning[data-v-3b42b90d]{border-left:4px solid #ffc107}code[data-v-3b42b90d]{background-color:#f8f9fa;padding:.25rem .5rem;border-radius:4px;font-size:.9rem}.admin-panel[data-v-43a40356]{min-height:100vh}.admin-content[data-v-43a40356]{min-height:100vh;background-color:#f8f9fa}.admin-navbar[data-v-43a40356]{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:1rem 0;box-shadow:0 2px 10px rgba(0,0,0,.1);position:sticky;top:0;z-index:1000}.navbar-brand[data-v-43a40356]{font-size:1.25rem;font-weight:600;color:#fff}.admin-info[data-v-43a40356]{text-align:right}.admin-name[data-v-43a40356]{font-weight:600;color:#fff;font-size:.95rem}.admin-info small[data-v-43a40356]{font-size:.8rem;opacity:.8}.dropdown-toggle[data-v-43a40356]{border-color:hsla(0,0%,100%,.3);color:#fff}.dropdown-toggle[data-v-43a40356]:focus,.dropdown-toggle[data-v-43a40356]:hover{background-color:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.5);color:#fff}.dropdown-menu[data-v-43a40356]{border:none;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,.2);margin-top:.5rem}.dropdown-item[data-v-43a40356]{padding:.5rem 1rem;font-size:.9rem}.dropdown-item[data-v-43a40356]:hover{background-color:#f8f9fa}.dropdown-item.text-danger[data-v-43a40356]:hover{background-color:rgba(220,53,69,.1);color:#dc3545!important}.modal-content[data-v-43a40356]{border:none;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.modal-header[data-v-43a40356]{border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0}.alert-info[data-v-43a40356]{border-left:4px solid #0dcaf0;background-color:rgba(13,202,240,.1)}@media (max-width:768px){.admin-info[data-v-43a40356]{display:none}.navbar-brand[data-v-43a40356]{font-size:1.1rem}}.loading-container[data-v-43a40356]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.loading-content[data-v-43a40356]{text-align:center;padding:2rem;background:hsla(0,0%,100%,.1);border-radius:20px;backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 8px 32px rgba(0,0,0,.1)}.loading-content h4[data-v-43a40356]{color:#fff;font-weight:600;margin-bottom:.5rem}.loading-content p[data-v-43a40356]{color:hsla(0,0%,100%,.8);margin-bottom:0}.spinner-border[data-v-43a40356]{width:3rem;height:3rem;border-width:.3em}.admin-content[data-v-43a40356]{animation:fadeIn-43a40356 .5s ease-in-out}.loading-content[data-v-43a40356]{animation:fadeIn-43a40356 .3s ease-in-out}@keyframes fadeIn-43a40356{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}