.app-layout[data-v-8ca32118]{min-height:100vh;display:flex;flex-direction:column}.app-header[data-v-8ca32118]{background:#667eea;color:#fff;padding:1rem 0;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.header-content[data-v-8ca32118]{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between}.logo h1[data-v-8ca32118]{margin:0;font-size:1.5rem;font-weight:600}.learner-switcher[data-v-8ca32118]{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.learner-btn[data-v-8ca32118]{padding:.4rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.4);background:#ffffff26;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.learner-btn[data-v-8ca32118]:hover{background:#ffffff40}.learner-btn--active[data-v-8ca32118]{background:#fff6;border-color:#ffffffb3}.header-nav[data-v-8ca32118]{display:flex;gap:2rem}.nav-link[data-v-8ca32118]{color:#fff;text-decoration:none;padding:.75rem 1.5rem;border-radius:8px;transition:all .2s ease;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);font-weight:500;font-size:1rem;display:inline-block;white-space:nowrap;flex-shrink:0;text-align:center;letter-spacing:.3px;touch-action:manipulation}.nav-link[data-v-8ca32118]:hover{background:#fff3;border-color:#fff6;box-shadow:0 2px 8px #0000001a}.nav-link.router-link-active[data-v-8ca32118]{background:#ffffff59;border-color:#fff9;font-weight:600;box-shadow:0 2px 4px #0000001a}.nav-link.router-link-active[data-v-8ca32118]:hover{background:#fff6;border-color:#ffffffb3;box-shadow:0 4px 12px #00000026}.test-link[data-v-8ca32118]{background:#ff6b6b;border:1px solid #ff5252}.test-link[data-v-8ca32118]:hover{background:#ff5252}.app-main[data-v-8ca32118]{flex:1;padding:2rem;background:#f8fafc}.app-main.app-main--no-padding[data-v-8ca32118]{padding:0;margin:0}@media (max-width: 768px){.header-content[data-v-8ca32118]{flex-direction:column;gap:1rem}.header-nav[data-v-8ca32118]{gap:.5rem;flex-wrap:nowrap;justify-content:center;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-link[data-v-8ca32118]{padding:.6rem 1rem;font-size:.85rem;flex:1;text-align:center;min-width:0;width:100%;white-space:nowrap;flex-shrink:0}.app-main[data-v-8ca32118]:not(.app-main--no-padding){padding:1rem}}@media (max-width: 480px){.header-nav[data-v-8ca32118]{gap:.25rem;padding:0 .5rem}.nav-link[data-v-8ca32118]{padding:.5rem .75rem;font-size:.8rem;min-width:fit-content}}.app-footer[data-v-7cf131de]{margin-top:auto;padding:1rem .5rem 1.5rem;text-align:center;font-size:.7rem;color:#666;border-top:1px solid #e2e8f0}.footer-links[data-v-7cf131de]{margin-bottom:.5rem}.footer-links a[data-v-7cf131de]{color:#667eea;text-decoration:none}.footer-links a[data-v-7cf131de]:hover{text-decoration:underline}.footer-sep[data-v-7cf131de]{margin:0 .4rem;color:#999}.footer-copyright[data-v-7cf131de]{margin:0;font-size:.65rem;color:#888}#app{display:flex;flex-direction:column;max-width:1280px!important;margin:0 auto!important;padding:.5rem;text-align:center!important;font-family:Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;min-height:100vh;overflow-x:hidden}.app-content{flex:1}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f8fafc}.auth-container[data-v-5e07f109]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.auth-card[data-v-5e07f109]{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;padding:1.5rem;width:100%;max-width:100%;margin:.5rem}.auth-title[data-v-5e07f109]{text-align:center;color:#333;margin-bottom:.35rem;font-size:1.3rem;font-weight:600}.auth-tagline[data-v-5e07f109]{text-align:center;color:#555;font-size:.95rem;margin:0 0 1.25rem;line-height:1.4}.login-block[data-v-5e07f109]{width:100%}.login-heading[data-v-5e07f109]{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#333}.login-to-signup[data-v-5e07f109]{margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid #e1e5e9;text-align:center}.btn-link-signup[data-v-5e07f109]{font-weight:600;font-size:.95rem}.signup-heading[data-v-5e07f109]{margin:0 0 .75rem;font-size:1.1rem;font-weight:600;color:#333;text-align:center}.auth-form[data-v-5e07f109]{display:flex;flex-direction:column;gap:1rem}.signup-section[data-v-5e07f109]{width:100%}.signup-form[data-v-5e07f109]{display:flex;flex-direction:column;gap:1.25rem;text-align:center}.signup-hero[data-v-5e07f109]{font-size:1.25rem;font-weight:600;color:#333;line-height:1.6;margin:0 0 .5rem}.signup-hero-accent[data-v-5e07f109]{color:#c53030;font-weight:700}.signup-form .signup-br[data-v-5e07f109]{display:block}.signup-lead[data-v-5e07f109]{font-size:.95rem;color:#555;line-height:1.7;margin:0 0 1rem;text-align:center}.signup-form .form-group[data-v-5e07f109]{text-align:left;margin-bottom:0}.signup-submit[data-v-5e07f109]{min-height:48px;font-size:1rem}.signup-success-panel[data-v-5e07f109]{background:linear-gradient(180deg,#ecfdf5,#d1fae5);border:2px solid #10b981;border-radius:12px;padding:1.5rem;margin-bottom:0;text-align:center}.signup-success-icon[data-v-5e07f109]{width:48px;height:48px;margin:0 auto 1rem;background:#10b981;color:#fff;font-size:1.5rem;font-weight:700;line-height:48px;border-radius:50%}.signup-success-title[data-v-5e07f109]{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:#065f46}.signup-success-body[data-v-5e07f109]{text-align:left;margin-bottom:1.25rem}.signup-success-body p[data-v-5e07f109]{margin:0 0 .75rem;font-size:.95rem;color:#047857;line-height:1.6}.signup-success-body p[data-v-5e07f109]:last-child{margin-bottom:0}.signup-success-note[data-v-5e07f109]{font-size:.85rem!important;color:#059669!important}.signup-success-actions[data-v-5e07f109]{display:flex;flex-direction:column;gap:.75rem;align-items:center}.btn-outline[data-v-5e07f109]{background:transparent;color:#10b981;border:2px solid #10b981;padding:.6rem 1.2rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-outline[data-v-5e07f109]:hover{background:#10b981;color:#fff}.signup-form .signup-note[data-v-5e07f109]{font-size:.8rem;color:#777;margin:0;line-height:1.5}@media (min-width: 480px){.signup-hero[data-v-5e07f109]{font-size:1.35rem}.signup-form .signup-br[data-v-5e07f109]{display:none}}.form-group[data-v-5e07f109]{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-group[data-v-5e07f109]:last-child{margin-bottom:0}.child-info-note[data-v-5e07f109]{margin-top:1rem;padding-top:1rem;border-top:1px solid #e1e5e9}.child-info-note p[data-v-5e07f109]{margin:0;font-size:.8rem;color:#888;line-height:1.4;text-align:center}.form-group label[data-v-5e07f109]{font-weight:500;color:#555;font-size:.9rem}.form-input[data-v-5e07f109]{padding:.6rem;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .2s;width:100%;box-sizing:border-box}.form-input[data-v-5e07f109]:focus{outline:none;border-color:#667eea}.btn[data-v-5e07f109]{padding:.8rem 1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.btn[data-v-5e07f109]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-5e07f109]{background:#667eea;color:#fff}.btn-primary[data-v-5e07f109]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px)}.auth-links[data-v-5e07f109]{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem;align-items:center}.btn-link[data-v-5e07f109]{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;text-decoration:underline}.btn-link[data-v-5e07f109]:hover{color:#5a6fd8}.error-message[data-v-5e07f109]{background:#fee;color:#c53030;padding:.75rem;border-radius:8px;margin-top:1rem;font-size:.9rem}.success-message[data-v-5e07f109]{background:#f0fff4;color:#22543d;padding:.75rem;border-radius:8px;margin-top:1rem;font-size:.9rem}.form-section[data-v-5e07f109]{border:1px solid #e1e5e9;border-radius:8px;padding:.8rem;margin-bottom:.8rem}.form-section h4[data-v-5e07f109]{margin:0 0 1rem;color:#333;font-size:1rem;font-weight:600}.section-header[data-v-5e07f109]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;position:relative;flex-wrap:wrap}.section-header h4[data-v-5e07f109]{margin:0;position:absolute;left:50%;transform:translate(-50%);width:100%}.section-title-center[data-v-5e07f109]{text-align:center}.security-badge-small[data-v-5e07f109]{display:flex;align-items:center;gap:.2rem;background:#10b981;color:#fff;padding:.2rem .4rem;border-radius:10px;font-size:.7rem;font-weight:600;white-space:nowrap}.security-icon-small[data-v-5e07f109]{font-size:.8rem}.security-text-small[data-v-5e07f109]{font-size:.7rem}.card-details[data-v-5e07f109]{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.card-details .form-group[data-v-5e07f109]{min-width:0;margin-bottom:0}.card-details .form-input[data-v-5e07f109]{width:100%;box-sizing:border-box}.trial-info[data-v-5e07f109]{background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;padding:1rem;margin:1rem 0}.trial-info p[data-v-5e07f109]{margin:.25rem 0;font-size:.9rem;color:#22543d}.free-trial[data-v-5e07f109]{color:#e53e3e;font-weight:700;font-size:1.1em}.payment-security-info[data-v-5e07f109]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin:.8rem 0}.trial-details h5[data-v-5e07f109]{margin:0 0 .75rem;color:#1f2937;font-size:1rem;font-weight:600}.payment-title-center[data-v-5e07f109]{text-align:center}.trial-details ul[data-v-5e07f109]{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;align-items:center}.trial-details li[data-v-5e07f109]{margin:.5rem 0;font-size:.9rem;color:#374151;line-height:1.5;width:100%;text-align:center}.trial-details li strong[data-v-5e07f109]{color:#1f2937;font-weight:600}.trial-highlight[data-v-5e07f109]{font-size:1rem;font-weight:600;color:#1f2937;background:#fef3c7;padding:.4rem .8rem;border-radius:6px;border-left:4px solid #f59e0b;margin:.4rem 0;text-align:center;width:100%;box-sizing:border-box}.trial-highlight strong[data-v-5e07f109]{color:#d97706;font-size:1.2rem}.learner-info[data-v-5e07f109]{background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;padding:1rem;margin:1rem 0}.learner-info p[data-v-5e07f109]{margin:.25rem 0;font-size:.9rem;color:#22543d}.form-help[data-v-5e07f109]{font-size:.8rem;color:#666;margin-top:.25rem}.checkbox-label[data-v-5e07f109]{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.checkbox-input[data-v-5e07f109]{margin-top:.25rem;cursor:pointer}.checkbox-text[data-v-5e07f109]{font-size:.9rem;line-height:1.4}.link[data-v-5e07f109]{color:#667eea;text-decoration:underline}.link[data-v-5e07f109]:hover{color:#5a6fd8}@media (max-width: 768px){.auth-container[data-v-5e07f109]{padding:.75rem;padding-top:max(1.5rem,env(safe-area-inset-top));padding-bottom:max(.75rem,env(safe-area-inset-bottom));align-items:flex-start}.auth-card[data-v-5e07f109]{padding:1.25rem;margin:.25rem;border-radius:12px;max-width:420px}.auth-title[data-v-5e07f109]{font-size:1.2rem;margin-bottom:1rem}.signup-section .signup-hero[data-v-5e07f109]{font-size:1.15rem;line-height:1.65}.signup-section .signup-lead[data-v-5e07f109]{font-size:.9rem}.signup-section .signup-note[data-v-5e07f109]{font-size:.75rem}.login-heading[data-v-5e07f109],.signup-heading[data-v-5e07f109]{font-size:1.05rem}.form-section h4[data-v-5e07f109]{font-size:.95rem;margin-bottom:.8rem}.form-group label[data-v-5e07f109]{font-size:.85rem}.btn[data-v-5e07f109]{padding:.7rem .8rem;font-size:.95rem}.trial-highlight[data-v-5e07f109]{font-size:1rem;padding:.4rem}.trial-highlight strong[data-v-5e07f109]{font-size:1.1rem}.security-badge-small[data-v-5e07f109]{padding:.2rem .4rem;font-size:.7rem}.security-text-small[data-v-5e07f109]{font-size:.65rem}}.auth-container[data-v-d3b6cfd0]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.auth-card[data-v-d3b6cfd0]{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;padding:2rem;width:100%;max-width:400px}.auth-title[data-v-d3b6cfd0]{text-align:center;color:#333;margin-bottom:2rem;font-size:1.5rem;font-weight:600}.auth-form[data-v-d3b6cfd0]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-d3b6cfd0]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-d3b6cfd0]{font-weight:500;color:#555;font-size:.9rem}.form-input[data-v-d3b6cfd0]{padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-input[data-v-d3b6cfd0]:focus{outline:none;border-color:#667eea}.btn[data-v-d3b6cfd0]{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn[data-v-d3b6cfd0]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-d3b6cfd0]{background:#667eea;color:#fff}.btn-primary[data-v-d3b6cfd0]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px)}.error-message[data-v-d3b6cfd0]{background:#fee;color:#c53030;padding:.75rem;border-radius:8px;margin-top:1rem;font-size:.9rem}.success-message[data-v-d3b6cfd0]{background:#f0fff4;color:#22543d;padding:.75rem;border-radius:8px;margin-top:1rem;font-size:.9rem}.success-links[data-v-d3b6cfd0]{margin-top:1rem;text-align:center}.btn-link[data-v-d3b6cfd0]{color:#667eea;text-decoration:underline;font-size:.9rem}.btn-link[data-v-d3b6cfd0]:hover{color:#5a6fd8}@media (max-width: 480px){.auth-card[data-v-d3b6cfd0]{padding:1.5rem;margin:1rem}}.top-page[data-v-43b1208f]{min-height:60vh;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;position:relative}.top-header[data-v-43b1208f]{width:100%;max-width:400px;margin-bottom:3rem}.day-label[data-v-43b1208f]{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0;text-align:center}.top-main[data-v-43b1208f]{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:420px}.buttons[data-v-43b1208f]{display:flex;flex-direction:column;gap:1.5rem;width:100%}.feedback-message[data-v-43b1208f]{margin:0;padding:.5rem 0;font-size:.9rem;color:#64748b;text-align:center}.btn[data-v-43b1208f]{width:100%;padding:1.25rem 1.5rem;font-size:1.125rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:transform .15s,box-shadow .15s}.btn[data-v-43b1208f]:active{transform:scale(.98)}.btn-primary[data-v-43b1208f]{background:#667eea;color:#fff;box-shadow:0 4px 14px #667eea66}.btn-primary[data-v-43b1208f]:hover{box-shadow:0 6px 20px #667eea80}.btn-secondary[data-v-43b1208f]{background:#f8fafc;color:#334155;border:2px solid #e2e8f0}.btn-secondary[data-v-43b1208f]:hover{background:#f1f5f9;border-color:#cbd5e1}.loading-cover[data-v-43b1208f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;font-size:.95rem;color:#64748b}.practice-page[data-v-a71ff0a1]{display:flex;flex-direction:row;width:100%;height:100vh;min-height:0;overflow:hidden;margin:0;padding:0;box-sizing:border-box}.video-area[data-v-a71ff0a1]{width:85%;min-width:0;height:100%;display:flex;align-items:center;justify-content:center;background:#111}.video-wrapper[data-v-a71ff0a1]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.video-player[data-v-a71ff0a1]{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.video-player[data-v-a71ff0a1]::-webkit-media-controls-fullscreen-button{display:none!important}.video-player[data-v-a71ff0a1]::-webkit-media-controls-download-button{display:none!important}.video-player[data-v-a71ff0a1]::-webkit-media-controls-playback-rate-button{display:none!important}.video-player[data-v-a71ff0a1]::-webkit-media-controls-picture-in-picture-button{display:none!important}.video-placeholder[data-v-a71ff0a1]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:120px;color:#64748b;font-size:1rem}.video-placeholder.video-error[data-v-a71ff0a1]{color:#dc2626}.button-area[data-v-a71ff0a1]{width:15%;min-width:120px;height:100%;display:flex;flex-direction:column;align-items:stretch;padding:1rem .75rem;gap:.75rem;background:#f1f5f9;border-left:1px solid #e2e8f0}.action-buttons[data-v-a71ff0a1]{display:flex;flex-direction:column;gap:.75rem}.btn[data-v-a71ff0a1]{width:100%;padding:.75rem .5rem;font-size:.9rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;white-space:nowrap}.btn-action[data-v-a71ff0a1]{background:#e2e8f0;color:#334155;border:1px solid #cbd5e1}.btn-action[data-v-a71ff0a1]:hover{background:#cbd5e1}.spacer[data-v-a71ff0a1]{flex:0 0 auto;min-height:.5rem}.btn-back[data-v-a71ff0a1]{flex-shrink:0;background:#64748b;color:#fff;margin-top:auto}.btn-back[data-v-a71ff0a1]:hover{background:#475569}.recording-status-inline[data-v-a71ff0a1]{display:flex;flex-direction:column;gap:.5rem;width:100%}.recording-status-inline .recording-label[data-v-a71ff0a1]{font-weight:600;color:#334155}.recording-status-inline .recording-time[data-v-a71ff0a1]{font-size:1.25rem;font-weight:700;color:#1e293b}.recording-status-inline .assignment-notice[data-v-a71ff0a1]{margin:0;padding:.5rem;font-size:.85rem;color:#0369a1;background:#e0f2fe;border-radius:6px;text-align:center}.btn-stop-recording[data-v-a71ff0a1]{background:#dc2626;color:#fff}.btn-stop-recording[data-v-a71ff0a1]:hover:not(:disabled){background:#b91c1c}.btn-stop-recording[data-v-a71ff0a1]:disabled{opacity:.6;cursor:not-allowed}.action-with-status[data-v-a71ff0a1]{display:flex;flex-direction:column;gap:.35rem;width:100%}.submitted-status[data-v-a71ff0a1]{margin:0;padding:.4rem .5rem;font-size:.8rem;color:#065f46;background:#d1fae5;border-radius:6px;display:flex;flex-direction:column;gap:.15rem}.submitted-badge[data-v-a71ff0a1]{font-weight:600}.submitted-meta[data-v-a71ff0a1]{font-size:.75rem;color:#047857}.production-upload-progress-overlay[data-v-a71ff0a1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000}.production-upload-progress-modal[data-v-a71ff0a1]{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 20px 40px #0000004d;min-width:320px;text-align:center}.production-upload-progress-modal .upload-message h3[data-v-a71ff0a1]{margin:0 0 .5rem;color:#1f2937;font-size:1.5rem;font-weight:700}.production-upload-progress-modal .upload-message p[data-v-a71ff0a1]{margin:0 0 1.5rem;color:#6b7280;font-size:1rem}.production-upload-progress-modal .progress-container[data-v-a71ff0a1]{margin-bottom:1.5rem}.production-upload-progress-modal .progress-bar[data-v-a71ff0a1]{width:100%;height:24px;background:#e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:.5rem}.production-upload-progress-modal .progress-fill[data-v-a71ff0a1]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transition:width .3s ease;border-radius:12px}.production-upload-progress-modal .progress-text[data-v-a71ff0a1]{color:#4b5563;font-size:.9rem;font-weight:500}.production-upload-progress-modal .completion-message[data-v-a71ff0a1]{color:#059669;font-size:1.2rem;font-weight:700}@media (orientation: portrait){.practice-page[data-v-a71ff0a1]{flex-direction:column;overflow-x:hidden;overflow-y:auto}.video-area[data-v-a71ff0a1]{width:100%;height:auto;flex:0 0 auto;align-items:flex-start;justify-content:center;margin:0;padding:0}.video-wrapper[data-v-a71ff0a1]{width:100%;height:auto;min-height:0;display:block;margin:0;padding:0}.video-player[data-v-a71ff0a1]{width:100%;max-width:100%;height:auto;max-height:none;display:block;vertical-align:top;margin:0}.button-area[data-v-a71ff0a1]{width:100%;min-width:0;height:auto;flex:1 1 auto;flex-direction:column;padding:1rem;gap:.75rem;border-left:none;border-top:1px solid #e2e8f0}.action-buttons[data-v-a71ff0a1]{flex:0 0 auto;min-height:0;overflow:visible;flex-direction:row;justify-content:center;gap:.5rem}.action-buttons .btn[data-v-a71ff0a1]{flex:1;min-width:0;font-size:.85rem;padding:.65rem .4rem}.spacer[data-v-a71ff0a1]{flex:1;min-height:.5rem}.btn-back[data-v-a71ff0a1]{margin-top:0;align-self:flex-start;width:auto;min-width:100px;margin-left:.5rem;margin-bottom:1.5rem}}.loading-modal-overlay[data-v-20a0f11a]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;animation:fadeIn-20a0f11a .3s ease-out forwards}.loading-modal[data-v-20a0f11a]{background:#fff;padding:2rem 3rem;border-radius:16px;box-shadow:0 20px 40px #0000004d;text-align:center;min-width:300px;transform:translateY(-20px);animation:slideIn-20a0f11a .3s ease-out forwards}.loading-spinner[data-v-20a0f11a]{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin-20a0f11a 1s linear infinite;margin:0 auto 1rem}.loading-modal h3[data-v-20a0f11a]{margin:0;color:#374151;font-size:1.1rem;font-weight:600}@keyframes fadeIn-20a0f11a{0%{opacity:0}to{opacity:1}}@keyframes slideIn-20a0f11a{0%{transform:translateY(-20px)}to{transform:translateY(0)}}@keyframes spin-20a0f11a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.loading-modal[data-v-20a0f11a]{padding:1.5rem 2rem;min-width:280px;margin:0 1rem}.loading-spinner[data-v-20a0f11a]{width:32px;height:32px;border-width:3px}.loading-modal h3[data-v-20a0f11a]{font-size:1rem}}.recording-container[data-v-baae21ef]{max-width:1200px;margin:0 auto;padding:.5rem .2rem}.header[data-v-baae21ef]{text-align:center;margin-bottom:.7rem}.header h1[data-v-baae21ef]{color:#333;margin-bottom:.5rem;font-size:2em;line-height:.2}.subtitle[data-v-baae21ef]{color:#666;font-size:1.1rem;margin:0;padding:0}.audio-preview[data-v-baae21ef]{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a;text-align:center}.audio-preview h4[data-v-baae21ef]{margin-bottom:1.5rem;color:#333}.audio-player[data-v-baae21ef]{width:100%;margin-bottom:1.5rem}.preview-actions[data-v-baae21ef]{display:flex;gap:1rem;justify-content:center}.btn[data-v-baae21ef]{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.btn[data-v-baae21ef]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn[data-v-baae21ef]:disabled{opacity:.6;cursor:not-allowed}.btn-submit[data-v-baae21ef]{background:#10b981;color:#fff}.btn-submit[data-v-baae21ef]:hover:not(:disabled){background:#059669}.btn-discard[data-v-baae21ef]{background:#6b7280;color:#fff}.btn-discard[data-v-baae21ef]:hover:not(:disabled){background:#4b5563}.progress-list[data-v-baae21ef]{background:#fff;border-radius:12px;padding:.5rem;box-shadow:0 4px 6px #0000001a}.progress-list h2[data-v-baae21ef]{text-align:center;margin-bottom:.2rem;color:#333}.days-container[data-v-baae21ef]{display:flex;flex-direction:column;gap:1.5rem}.day-item[data-v-baae21ef]{border:2px solid #e1e5e9;border-radius:12px;padding:1.5rem;transition:all .2s}.day-item[data-v-baae21ef]:hover{border-color:#3b82f6;box-shadow:0 4px 8px #3b82f626}.day-item.current-recording[data-v-baae21ef]{border-color:#f59e0b;background:#fef3c7;box-shadow:0 4px 12px #f59e0b4d}.day-item.completed[data-v-baae21ef]{border-color:#10b981;background:#f0fdf4}.day-header[data-v-baae21ef]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e1e5e9}.day-title[data-v-baae21ef]{margin:0;color:#333;font-size:1.5rem;font-weight:700}.submission-status[data-v-baae21ef]{display:flex;flex-direction:column;gap:.25rem;text-align:right;font-size:.9rem}.status-item[data-v-baae21ef]{display:flex;align-items:center;gap:.25rem}.status-label[data-v-baae21ef]{font-weight:600;color:#666}.status-value[data-v-baae21ef]{font-weight:500}.status-value.not-submitted[data-v-baae21ef]{color:#dc2626}.status-value.submitted[data-v-baae21ef]{color:#10b981}.recording-section[data-v-baae21ef]{margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.recording-section[data-v-baae21ef]:last-child{margin-bottom:0}.recording-section.completed[data-v-baae21ef]{background:#f0fdf4;border-color:#bbf7d0}.section-title[data-v-baae21ef]{margin:0 0 1rem;color:#333;font-size:1.1rem;font-weight:600}.completed-title[data-v-baae21ef]{color:#6b7280}.holiday-pill[data-v-baae21ef]{display:inline-block;padding:.35rem .6rem;border-radius:9999px;background:#e2e8f0;border:1px solid #cbd5e1;font-weight:700;color:#334155;margin-bottom:1rem;text-align:center;width:100%}.recording-buttons[data-v-baae21ef]{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:nowrap;min-height:60px}.btn-record-practice[data-v-baae21ef]{background:#f59e0b;color:#fff;font-size:1.1rem;padding:.75rem 1.5rem;white-space:nowrap;flex-shrink:0}.btn-record-practice[data-v-baae21ef]:hover:not(:disabled){background:#d97706}.btn-record-assignment[data-v-baae21ef]{background:#3b82f6;color:#fff;font-size:1.1rem;padding:.75rem 1.5rem;white-space:nowrap;flex-shrink:0}.btn-record-assignment[data-v-baae21ef]:hover:not(:disabled){background:#2563eb}.btn-stop-practice[data-v-baae21ef],.btn-stop-assignment[data-v-baae21ef]{background:#dc2626;color:#fff;font-size:1.1rem;padding:.75rem 1.5rem}.btn-stop-practice[data-v-baae21ef]:hover,.btn-stop-assignment[data-v-baae21ef]:hover{background:#b91c1c}.completed-status[data-v-baae21ef]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#d1fae5;color:#065f46;border-radius:8px;font-weight:700;font-size:1.1rem}.completed-icon[data-v-baae21ef]{font-size:1.2rem}.completed-text[data-v-baae21ef]{color:#6b7280}.recording-status-active[data-v-baae21ef]{background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;text-align:center;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:nowrap}.recording-indicator h4[data-v-baae21ef]{color:#92400e;margin:0;white-space:nowrap}.recording-time-display[data-v-baae21ef]{margin:0;white-space:nowrap}.time-display[data-v-baae21ef]{font-size:2.5rem;font-weight:700;color:#dc2626;font-family:monospace}.btn-stop-recording[data-v-baae21ef]{background:#dc2626;color:#fff;padding:1rem 2rem;font-size:1.2rem;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.btn-stop-recording[data-v-baae21ef]:hover:not(:disabled){background:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.btn-stop-recording[data-v-baae21ef]:disabled,.btn-stop-recording.btn-disabled[data-v-baae21ef]{background:#9ca3af;color:#6b7280;cursor:not-allowed;transform:none;box-shadow:none}.upload-progress-popup[data-v-baae21ef]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.upload-progress-content[data-v-baae21ef]{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 10px 25px #0003;min-width:300px;text-align:center}.upload-progress-content h3[data-v-baae21ef]{margin:0 0 1rem;color:#1f2937;font-size:1.2rem}.progress-info[data-v-baae21ef]{margin-bottom:1rem}.progress-info p[data-v-baae21ef]{margin:.5rem 0;font-size:1rem;color:#4b5563}.progress-bar[data-v-baae21ef]{width:100%;height:20px;background:#e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:1rem}.progress-fill[data-v-baae21ef]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transition:width .3s ease}.btn-close[data-v-baae21ef]{background:#6b7280;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-close[data-v-baae21ef]:hover{background:#4b5563}.production-upload-progress-overlay[data-v-baae21ef]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;pointer-events:auto;opacity:0;transition:opacity .3s ease}.production-upload-progress-overlay.active[data-v-baae21ef]{opacity:1}body.modal-open[data-v-baae21ef]{overflow:hidden}.production-upload-progress-modal[data-v-baae21ef]{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 20px 40px #0000004d;min-width:400px;text-align:center;animation:slideIn-baae21ef .3s ease-out}.upload-message h3[data-v-baae21ef]{margin:0 0 .5rem;color:#1f2937;font-size:1.5rem;font-weight:700}.upload-message p[data-v-baae21ef]{margin:0 0 2rem;color:#6b7280;font-size:1rem}.progress-container[data-v-baae21ef]{margin-bottom:2rem}.progress-bar[data-v-baae21ef]{width:100%;height:24px;background:#e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:1rem;box-shadow:inset 0 2px 4px #0000001a}.progress-fill[data-v-baae21ef]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transition:width .3s ease;border-radius:12px;position:relative}.progress-fill[data-v-baae21ef]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer-baae21ef 2s infinite}.progress-text[data-v-baae21ef]{color:#4b5563;font-size:.9rem;font-weight:500}.completion-message[data-v-baae21ef]{color:#059669;font-size:1.2rem;font-weight:700;animation:fadeIn-baae21ef .5s ease-in}@keyframes slideIn-baae21ef{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn-baae21ef{0%{opacity:0}to{opacity:1}}@keyframes shimmer-baae21ef{0%{transform:translate(-100%)}to{transform:translate(100%)}}.days-container[data-v-baae21ef]{max-height:70vh;overflow-y:auto;scroll-snap-type:y mandatory;padding-top:20px}.day-item[data-v-baae21ef]{scroll-snap-align:start;scroll-margin-top:20px;margin-bottom:20px}.day-title-section[data-v-baae21ef]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1}.btn-feedback-check[data-v-baae21ef]{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-feedback-check[data-v-baae21ef]:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-feedback-check[data-v-baae21ef]:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none}.feedback-modal-overlay[data-v-baae21ef]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.feedback-modal[data-v-baae21ef]{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header[data-v-baae21ef]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-baae21ef]{margin:0;color:#1f2937;font-size:1.25rem;font-weight:700}.btn-close[data-v-baae21ef]{background:#ef4444;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-content[data-v-baae21ef]{padding:1.5rem}.assignment-section[data-v-baae21ef]{margin-bottom:2rem}.assignment-section h4[data-v-baae21ef]{margin:0 0 1rem;color:#374151;font-size:1.1rem;font-weight:600}.assignment-text[data-v-baae21ef]{background:#f8fafc;padding:1rem;border-radius:8px;border-left:4px solid #3b82f6;line-height:1.6;color:#374151}.feedback-audio-section h4[data-v-baae21ef]{margin:0 0 1rem;color:#374151;font-size:1.1rem;font-weight:600}.audio-player-container[data-v-baae21ef]{text-align:center}.feedback-player[data-v-baae21ef]{width:100%;max-width:400px;margin:0 auto}@media (max-width: 768px){.day-header[data-v-baae21ef]{flex-direction:column;align-items:flex-start;gap:1rem}.day-title-section[data-v-baae21ef]{width:100%}.feedback-modal[data-v-baae21ef]{margin:.5rem;max-height:90vh}.modal-header[data-v-baae21ef],.modal-content[data-v-baae21ef]{padding:1rem}.recording-buttons[data-v-baae21ef]{flex-direction:row;gap:.5rem;min-height:50px}.btn-record-practice[data-v-baae21ef],.btn-record-assignment[data-v-baae21ef]{padding:.6rem 1.2rem;font-size:1rem}.recording-status-active[data-v-baae21ef]{gap:.5rem;padding:1rem}.recording-indicator h4[data-v-baae21ef]{font-size:.9rem}.time-display[data-v-baae21ef]{font-size:1.8rem}.btn-stop-recording[data-v-baae21ef]{padding:.8rem 1.5rem;font-size:1rem}.btn[data-v-baae21ef]{width:100%;text-align:center}}.line-integration[data-v-362d48ae]{max-width:600px;margin:0 auto;padding:20px}.integration-section[data-v-362d48ae]{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid #e9ecef}.section-title[data-v-362d48ae]{margin:0 0 16px;color:#495057;font-size:18px;font-weight:600}.link-code-container[data-v-362d48ae]{background:#fff;border-radius:8px;padding:16px;margin-bottom:16px;border:1px solid #dee2e6}.code-display[data-v-362d48ae]{display:flex;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.code-label[data-v-362d48ae]{font-weight:500;color:#6c757d;min-width:80px}.code-value[data-v-362d48ae]{font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace;font-size:18px;font-weight:600;color:#2c3e50;background:#f8f9fa;letter-spacing:.5px;padding:4px 8px;border-radius:4px;border:1px solid #dee2e6}.code-actions[data-v-362d48ae]{display:flex;gap:8px;flex-wrap:wrap}.btn-copy[data-v-362d48ae],.btn-share[data-v-362d48ae]{padding:6px 12px;border:1px solid #007bff;background:#fff;color:#007bff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-copy[data-v-362d48ae]:hover,.btn-share[data-v-362d48ae]:hover{background:#007bff;color:#fff}.friend-add-methods[data-v-362d48ae]{margin-bottom:16px}.instructions[data-v-362d48ae]{margin:0 0 8px;color:#6c757d;font-size:14px}.method-buttons[data-v-362d48ae]{display:flex;gap:8px;flex-wrap:wrap}.btn-method[data-v-362d48ae]{padding:10px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s;white-space:nowrap}.btn-method[data-v-362d48ae]:hover{background:#218838}.status-display[data-v-362d48ae]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-label[data-v-362d48ae]{font-weight:500;color:#6c757d}.status-value.connected[data-v-362d48ae]{color:#28a745;font-weight:600}.status-value.disconnected[data-v-362d48ae]{color:#dc3545;font-weight:600}.parent-list[data-v-362d48ae]{margin-top:12px;display:flex;flex-direction:column;gap:8px}.parent-item[data-v-362d48ae]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#fff;border:1px solid #dee2e6;border-radius:8px}.parent-name[data-v-362d48ae]{font-weight:600;color:#495057}.btn-unlink[data-v-362d48ae]{padding:4px 8px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-left:8px;transition:background-color .2s}.btn-unlink[data-v-362d48ae]:hover{background:#c82333}.message-section[data-v-362d48ae]{background:#e3f2fd;border-radius:8px;padding:16px;border-left:4px solid #2196f3;text-align:center}.integration-message[data-v-362d48ae]{margin:0;color:#1976d2;font-size:16px;font-weight:600;line-height:1.5}.learner-type-section[data-v-362d48ae]{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid #e9ecef}.radio-group[data-v-362d48ae]{display:flex;flex-direction:column;gap:12px;margin-top:16px}.radio-option[data-v-362d48ae]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s}.radio-option[data-v-362d48ae]:hover{background-color:#e9ecef}.radio-option input[type=radio][data-v-362d48ae]{margin:0;cursor:pointer}.radio-label[data-v-362d48ae]{font-size:14px;color:#495057;cursor:pointer;-webkit-user-select:none;user-select:none}.connection-guide[data-v-362d48ae]{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-radius:12px;padding:20px;margin:20px 0;border:2px solid #bbdefb;box-shadow:0 4px 12px #2196f326}.guide-content[data-v-362d48ae]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.guide-icon[data-v-362d48ae]{font-size:32px;flex-shrink:0}.guide-text[data-v-362d48ae]{flex:1;min-width:200px}.guide-text h3[data-v-362d48ae]{margin:0 0 8px;color:#1976d2;font-size:16px;font-weight:600}.guide-text p[data-v-362d48ae]{margin:0;color:#424242;font-size:14px;line-height:1.4}.btn-update-status[data-v-362d48ae]{padding:12px 20px;background:#1976d2;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;flex-shrink:0;box-shadow:0 2px 8px #1976d24d}.btn-update-status[data-v-362d48ae]:hover{background:#1565c0;transform:translateY(-1px);box-shadow:0 4px 12px #1976d266}.btn-update-status[data-v-362d48ae]:active{transform:translateY(0)}.individual-guide[data-v-362d48ae]{background:linear-gradient(135deg,#fff3e0,#fce4ec);border-radius:8px;padding:16px;margin:16px 0;border:1px solid #ffcc02;box-shadow:0 2px 8px #ffc10726}.individual-guide .guide-content[data-v-362d48ae]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.individual-guide .guide-icon[data-v-362d48ae]{font-size:24px;flex-shrink:0}.individual-guide .guide-text[data-v-362d48ae]{flex:1;min-width:150px}.individual-guide .guide-text p[data-v-362d48ae]{margin:0;color:#e65100;font-size:13px;font-weight:500;line-height:1.3}.btn-update-individual[data-v-362d48ae]{padding:8px 16px;background:#ff9800;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s;flex-shrink:0;box-shadow:0 2px 6px #ff98004d}.btn-update-individual[data-v-362d48ae]:hover{background:#f57c00;transform:translateY(-1px);box-shadow:0 3px 8px #ff980066}.btn-update-individual[data-v-362d48ae]:active{transform:translateY(0)}@media (max-width: 600px){.line-integration[data-v-362d48ae],.integration-section[data-v-362d48ae]{padding:15px}.code-display[data-v-362d48ae]{flex-direction:column;align-items:flex-start}.code-value[data-v-362d48ae]{font-size:16px;word-break:break-all;letter-spacing:.3px}.method-buttons[data-v-362d48ae]{flex-direction:column}.btn-method[data-v-362d48ae]{width:100%}.guide-content[data-v-362d48ae]{flex-direction:column;text-align:center}.guide-text[data-v-362d48ae]{min-width:auto}.btn-update-status[data-v-362d48ae]{width:100%;margin-top:12px}.individual-guide .guide-content[data-v-362d48ae]{flex-direction:column;text-align:center}.individual-guide .guide-text[data-v-362d48ae]{min-width:auto}.btn-update-individual[data-v-362d48ae]{width:100%;margin-top:8px}}.mypage[data-v-b170bb70]{max-width:100%;margin:0;padding:0 1rem 2rem;background:#f8fafc;min-height:100vh}.mypage-header-row[data-v-b170bb70]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;background:#fff;margin-left:-1rem;margin-right:-1rem;padding:1rem 1rem 1.5rem;box-shadow:0 2px 4px #0000000d}.mypage-header[data-v-b170bb70]{text-align:left;background:transparent;margin:0;padding:0;box-shadow:none}.mypage-header-actions[data-v-b170bb70]{flex-shrink:0}.add-sibling-header-btn[data-v-b170bb70]{white-space:nowrap}.mypage-tabs[data-v-b170bb70]{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.mypage-tab[data-v-b170bb70]{padding:.5rem 1rem;border:1px solid #e5e7eb;background:#f9fafb;border-radius:8px;cursor:pointer;font-size:.95rem}.mypage-tab[data-v-b170bb70]:hover{background:#f3f4f6}.mypage-tab.active[data-v-b170bb70]{background:#3b82f6;color:#fff;border-color:#3b82f6}.mypage-tab.add-tab[data-v-b170bb70]{background:#fef3c7;border-color:#f59e0b}.mypage-tab.add-tab.active[data-v-b170bb70]{background:#f59e0b;color:#fff;border-color:#f59e0b}.add-sibling-content[data-v-b170bb70]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1rem;border:1px solid #e5e7eb}.add-sibling-content .add-sibling-note[data-v-b170bb70]{font-size:.9rem;color:#6b7280;margin:0 0 1rem;line-height:1.5}.add-sibling-form .form-group[data-v-b170bb70]{margin-bottom:1rem}.add-sibling-form .form-actions[data-v-b170bb70]{margin-top:1.5rem;display:flex;gap:.75rem}.add-sibling-content .computed-grade[data-v-b170bb70]{margin-bottom:.5rem}.add-sibling-content .computed-grade-value[data-v-b170bb70]{font-weight:600;color:#111827}.mypage-header h1[data-v-b170bb70]{color:#1f2937;margin-bottom:.5rem;font-size:1.8rem}.mypage-header p[data-v-b170bb70]{color:#6b7280;font-size:1rem;margin:0}.collapsible-sections[data-v-b170bb70]{display:flex;flex-direction:column;gap:12px;margin-bottom:2rem}.section-container[data-v-b170bb70]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.section-header[data-v-b170bb70]{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border:none;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #f3f4f6}.section-header[data-v-b170bb70]:hover{background:#f9fafb}.section-header[data-v-b170bb70]:active{background:#f3f4f6}.section-title[data-v-b170bb70]{display:flex;align-items:center;gap:.75rem}.section-icon[data-v-b170bb70]{font-size:1.25rem}.section-text[data-v-b170bb70]{font-size:1.125rem;font-weight:600;color:#1f2937}.chevron[data-v-b170bb70]{font-size:.875rem;color:#6b7280;transition:transform .2s ease}.chevron.rotated[data-v-b170bb70]{transform:rotate(180deg)}.section-content[data-v-b170bb70]{padding:1.25rem;border-top:1px solid #f3f4f6}.info-row[data-v-b170bb70]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.info-row[data-v-b170bb70]:last-child{border-bottom:none}.slide-enter-active[data-v-b170bb70],.slide-leave-active[data-v-b170bb70]{transition:all .3s ease;overflow:hidden}.slide-enter-from[data-v-b170bb70],.slide-leave-to[data-v-b170bb70]{max-height:0;opacity:0;transform:translateY(-10px)}.slide-enter-to[data-v-b170bb70],.slide-leave-from[data-v-b170bb70]{max-height:1000px;opacity:1;transform:translateY(0)}.line-content[data-v-b170bb70]{padding:0}.payment-info[data-v-b170bb70]{display:flex;flex-direction:column;gap:.75rem}.alert[data-v-b170bb70]{padding:12px;border-radius:6px;margin-bottom:12px;font-weight:500}.alert-danger[data-v-b170bb70]{background-color:#fee;color:#c53030;border:1px solid #fed7d7}.alert-warning[data-v-b170bb70]{background-color:#fffaf0;color:#dd6b20;border:1px solid #fbd38d}.payment-method-details[data-v-b170bb70]{display:flex;flex-direction:column;gap:4px}.card-warning[data-v-b170bb70]{font-size:.9em;color:#dd6b20;font-weight:500}.plan-features[data-v-b170bb70]{border-top:1px solid #e2e8f0;padding-top:12px;margin-top:12px}.plan-features label[data-v-b170bb70]{margin-bottom:8px;display:block;font-weight:600;color:#2d3748}.features-list[data-v-b170bb70]{list-style:none;padding:0;margin:0}.features-list li[data-v-b170bb70]{padding:4px 0;color:#4a5568;font-size:.95em}.plan-name[data-v-b170bb70]{font-weight:600;color:#059669}.price[data-v-b170bb70]{font-weight:600;color:#dc2626;font-size:1.125rem}.trial-end[data-v-b170bb70]{font-weight:600;color:#0284c7}.status[data-v-b170bb70]{font-weight:600;padding:4px 8px;border-radius:4px;font-size:.9rem}.status.active[data-v-b170bb70]{color:#059669;background:#ecfdf5}.status.trialing[data-v-b170bb70]{color:#0284c7;background:#e0f2fe}.status.past_due[data-v-b170bb70],.status.unpaid[data-v-b170bb70]{color:#dc2626;background:#fef2f2}.status.canceled[data-v-b170bb70]{color:#6b7280;background:#f9fafb}.loading-payment[data-v-b170bb70]{text-align:center;padding:2rem;color:#6b7280}.test-note[data-v-b170bb70]{margin:1rem 0;padding:.75rem;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px}.test-info[data-v-b170bb70]{margin:0;color:#92400e;font-size:.9rem}.payment-actions[data-v-b170bb70]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}.logout-section-standalone[data-v-b170bb70]{text-align:center;padding:1.5rem 0;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:1rem}.logout-btn-standalone[data-v-b170bb70]{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;padding:.75rem 2rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s;font-weight:500}.logout-btn-standalone[data-v-b170bb70]:hover{background:#e5e7eb;color:#374151;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.info-row label[data-v-b170bb70]{font-weight:500;color:#374151}.info-row span[data-v-b170bb70]{color:#6b7280}.no-learner[data-v-b170bb70]{text-align:center;padding:2rem}.no-learner p[data-v-b170bb70]{color:#6b7280;margin-bottom:1rem}.learners-list-desc[data-v-b170bb70]{font-size:.9rem;color:#6b7280;margin-bottom:1rem}.learners-ul[data-v-b170bb70]{list-style:none;padding:0;margin:0 0 1rem}.learner-item[data-v-b170bb70]{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid #e5e7eb}.learner-item[data-v-b170bb70]:last-child{border-bottom:none}.learner-name[data-v-b170bb70]{font-weight:500}.btn-small[data-v-b170bb70]{padding:.35rem .75rem;font-size:.85rem}.add-sibling-btn[data-v-b170bb70]{margin-top:.5rem}.required[data-v-b170bb70]{color:#dc2626}.line-status[data-v-b170bb70]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem}.line-buttons[data-v-b170bb70]{display:flex;flex-direction:column;gap:.5rem;width:100%}.status-item h4[data-v-b170bb70]{margin:0 0 1rem;color:#1f2937;font-size:1rem}.linked[data-v-b170bb70],.not-linked[data-v-b170bb70]{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.status-badge[data-v-b170bb70]{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.status-badge.success[data-v-b170bb70]{background:#d1fae5;color:#065f46}.status-badge.warning[data-v-b170bb70]{background:#fef3c7;color:#92400e}.line-help[data-v-b170bb70]{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:1rem;margin-top:1rem}.line-help p[data-v-b170bb70]{margin:0;color:#0c4a6e;font-size:.9rem}.btn[data-v-b170bb70]{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn.small[data-v-b170bb70]{padding:.5rem 1rem;font-size:.9rem}.btn-primary[data-v-b170bb70]{background:#667eea;color:#fff}.btn-primary[data-v-b170bb70]:hover{background:#5a6fd8}.btn-secondary[data-v-b170bb70]{background:#6b7280;color:#fff}.btn-secondary[data-v-b170bb70]:hover{background:#4b5563}.btn-danger[data-v-b170bb70]{background:#ef4444;color:#fff}.btn-danger[data-v-b170bb70]:hover{background:#dc2626}.learner-form-modal[data-v-b170bb70]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-b170bb70]{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h3[data-v-b170bb70]{margin:0 0 1.5rem;color:#1f2937;text-align:center}.add-sibling-note[data-v-b170bb70]{font-size:.9rem;color:#6b7280;margin:-.5rem 0 1rem;line-height:1.5}.form-group[data-v-b170bb70]{margin-bottom:1.5rem}.form-group label[data-v-b170bb70]{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-input[data-v-b170bb70],.form-select[data-v-b170bb70]{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-input[data-v-b170bb70]:focus,.form-select[data-v-b170bb70]:focus{outline:none;border-color:#667eea}.form-actions[data-v-b170bb70]{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}@media (max-width: 768px){.line-status[data-v-b170bb70]{grid-template-columns:1fr}.form-actions[data-v-b170bb70]{flex-direction:column}.btn[data-v-b170bb70]{width:100%}}.payment-history-modal[data-v-b170bb70]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.payment-history-content[data-v-b170bb70]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;box-shadow:0 10px 25px #00000026}.payment-history-header[data-v-b170bb70]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.payment-history-header h3[data-v-b170bb70]{margin:0;color:#374151}.close-btn[data-v-b170bb70]{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-btn[data-v-b170bb70]:hover{background-color:#e5e7eb}.payment-history-body[data-v-b170bb70]{padding:20px;max-height:50vh;overflow-y:auto}.no-payment-history[data-v-b170bb70]{text-align:center;padding:40px 20px}.no-payment-history p[data-v-b170bb70]{margin:0 0 10px}.text-muted[data-v-b170bb70]{color:#6b7280;font-size:14px}.payment-history-list[data-v-b170bb70]{display:flex;flex-direction:column;gap:16px}.payment-history-item[data-v-b170bb70]{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background-color:#f9fafb}.payment-main-info[data-v-b170bb70]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.payment-date[data-v-b170bb70]{font-weight:500;color:#374151}.payment-amount[data-v-b170bb70]{font-weight:700;font-size:18px;color:#059669}.payment-status[data-v-b170bb70]{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.payment-status.succeeded[data-v-b170bb70],.payment-status.paid[data-v-b170bb70]{background-color:#d1fae5;color:#065f46}.payment-status.pending[data-v-b170bb70]{background-color:#fef3c7;color:#92400e}.payment-status.failed[data-v-b170bb70],.payment-status.canceled[data-v-b170bb70]{background-color:#fee2e2;color:#991b1b}.payment-status.refunded[data-v-b170bb70]{background-color:#dbeafe;color:#1e40af}.payment-details[data-v-b170bb70]{display:flex;flex-direction:column;gap:6px}.payment-description[data-v-b170bb70]{color:#6b7280;font-size:14px}.payment-period[data-v-b170bb70]{color:#6b7280;font-size:13px}.invoice-link[data-v-b170bb70]{color:#3b82f6;text-decoration:none;font-size:14px;font-weight:500}.invoice-link[data-v-b170bb70]:hover{text-decoration:underline}.payment-history-footer[data-v-b170bb70]{padding:20px;border-top:1px solid #e5e7eb;background-color:#f9fafb;text-align:center}@media (max-width: 768px){.payment-history-content[data-v-b170bb70]{width:95%;max-height:90vh}.payment-main-info[data-v-b170bb70]{flex-direction:column;align-items:flex-start}.payment-amount[data-v-b170bb70]{font-size:16px}}.plan-change-modal[data-v-b170bb70]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.plan-change-content[data-v-b170bb70]{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:85vh;overflow:hidden;box-shadow:0 10px 25px #00000026}.plan-change-header[data-v-b170bb70]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.plan-change-header h3[data-v-b170bb70]{margin:0;color:#374151}.plan-change-body[data-v-b170bb70]{padding:20px;max-height:60vh;overflow-y:auto}.loading-state[data-v-b170bb70],.no-plans[data-v-b170bb70]{text-align:center;padding:40px 20px;color:#6b7280}.plans-grid[data-v-b170bb70]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.plan-card[data-v-b170bb70]{border:2px solid #e5e7eb;border-radius:12px;padding:20px;background-color:#f9fafb;transition:border-color .2s,box-shadow .2s}.plan-card[data-v-b170bb70]:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.plan-header[data-v-b170bb70]{text-align:center;margin-bottom:20px}.plan-header h4[data-v-b170bb70]{margin:0 0 10px;color:#374151;font-size:20px;font-weight:600}.plan-price[data-v-b170bb70]{font-size:32px;font-weight:700;color:#059669}.price-period[data-v-b170bb70]{font-size:16px;color:#6b7280;font-weight:400}.plan-features[data-v-b170bb70]{margin:20px 0}.plan-features ul[data-v-b170bb70]{list-style:none;padding:0;margin:0}.plan-features li[data-v-b170bb70]{padding:6px 0;color:#374151;font-size:14px;border-bottom:1px solid #e5e7eb}.plan-features li[data-v-b170bb70]:last-child{border-bottom:none}.plan-actions[data-v-b170bb70]{text-align:center;margin-top:20px}.plan-actions .btn[data-v-b170bb70]{width:100%;padding:12px;font-weight:600}.plan-change-notice[data-v-b170bb70]{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:16px;margin-top:20px}.plan-change-notice p[data-v-b170bb70]{margin:0 0 8px;color:#92400e;font-weight:600}.plan-change-notice ul[data-v-b170bb70]{margin:0;padding-left:20px;color:#92400e}.plan-change-notice li[data-v-b170bb70]{margin-bottom:4px;font-size:14px}.plan-change-footer[data-v-b170bb70]{padding:20px;border-top:1px solid #e5e7eb;background-color:#f9fafb;text-align:center}@media (max-width: 768px){.plan-change-content[data-v-b170bb70]{width:95%;max-height:90vh}.plans-grid[data-v-b170bb70]{grid-template-columns:1fr;gap:15px}.plan-card[data-v-b170bb70]{padding:15px}.plan-price[data-v-b170bb70]{font-size:28px}}.cancel-modal[data-v-b170bb70]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.cancel-content[data-v-b170bb70]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:85vh;overflow:hidden;box-shadow:0 10px 25px #0003}.cancel-header[data-v-b170bb70]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb;background-color:#fef2f2}.cancel-header h3[data-v-b170bb70]{margin:0;color:#dc2626;font-weight:600}.cancel-body[data-v-b170bb70]{padding:20px;max-height:60vh;overflow-y:auto}.cancel-warning[data-v-b170bb70]{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:16px;margin-bottom:24px}.cancel-warning h4[data-v-b170bb70]{margin:0 0 12px;color:#92400e;font-size:16px;font-weight:600}.cancel-warning ul[data-v-b170bb70]{margin:0;padding-left:20px;color:#92400e}.cancel-warning li[data-v-b170bb70]{margin-bottom:6px;font-size:14px;line-height:1.5}.cancel-form[data-v-b170bb70]{margin-bottom:24px}.form-group[data-v-b170bb70]{margin-bottom:20px}.form-group label[data-v-b170bb70]{display:block;margin-bottom:6px;font-weight:500;color:#374151}.optional[data-v-b170bb70]{font-weight:400;color:#6b7280;font-size:12px}.form-control[data-v-b170bb70]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.form-control[data-v-b170bb70]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}textarea.form-control[data-v-b170bb70]{resize:vertical;min-height:80px}.cancel-actions[data-v-b170bb70]{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb}.cancel-actions .btn[data-v-b170bb70]{min-width:120px;padding:10px 16px;font-weight:500}.btn-danger[data-v-b170bb70]{background-color:#dc2626;color:#fff;border:1px solid #dc2626}.btn-danger[data-v-b170bb70]:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.btn-danger[data-v-b170bb70]:disabled{background-color:#9ca3af;border-color:#9ca3af;cursor:not-allowed}@media (max-width: 768px){.cancel-content[data-v-b170bb70]{width:95%;max-height:90vh}.cancel-body[data-v-b170bb70]{padding:16px}.cancel-actions[data-v-b170bb70]{flex-direction:column}.cancel-actions .btn[data-v-b170bb70]{width:100%}}.password-modal[data-v-b170bb70]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000}.password-content[data-v-b170bb70]{background:#fff;border-radius:12px;width:90%;max-width:450px;box-shadow:0 10px 25px #0003;border:2px solid #3b82f6}.password-header[data-v-b170bb70]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb;background-color:#eff6ff}.password-header h3[data-v-b170bb70]{margin:0;color:#1e40af;font-weight:600}.password-body[data-v-b170bb70]{padding:20px}.security-notice[data-v-b170bb70]{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:16px;margin-bottom:20px}.security-notice h4[data-v-b170bb70]{margin:0 0 8px;color:#92400e;font-size:16px;font-weight:600}.security-notice p[data-v-b170bb70]{margin:0;color:#92400e;font-size:14px;line-height:1.5}.password-form[data-v-b170bb70]{display:flex;flex-direction:column;gap:20px}.password-actions[data-v-b170bb70]{display:flex;gap:12px;justify-content:flex-end}.password-actions .btn[data-v-b170bb70]{min-width:80px;padding:10px 16px;font-weight:500}.btn-primary[data-v-b170bb70]{background-color:#3b82f6;color:#fff;border:1px solid #3b82f6}.btn-primary[data-v-b170bb70]:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.btn-primary[data-v-b170bb70]:disabled{background-color:#9ca3af;border-color:#9ca3af;cursor:not-allowed}@media (max-width: 768px){.password-content[data-v-b170bb70]{width:95%}.password-actions[data-v-b170bb70]{flex-direction:column}.password-actions .btn[data-v-b170bb70]{width:100%}}.calendar-page[data-v-8e425777]{min-height:100vh;background:#f8fafc;padding:1rem;padding-bottom:calc(2.5rem + env(safe-area-inset-bottom))}.calendar-page.admin-mode[data-v-8e425777]{background:#fff;padding:0}.calendar-page.admin-mode .calendar-container[data-v-8e425777]{background:#fff;border-radius:0;box-shadow:none}.admin-header[data-v-8e425777]{text-align:center;margin-bottom:2rem;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.admin-header h2[data-v-8e425777]{color:#1f2937;margin-bottom:.5rem;font-size:1.8rem}.admin-subtitle[data-v-8e425777]{color:#6b7280;margin:0;font-size:1rem}.calendar-header[data-v-8e425777]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.header-stats[data-v-8e425777]{display:flex;justify-content:center;gap:2rem;margin-bottom:1rem;flex-wrap:wrap}.ticket-info[data-v-8e425777]{display:flex;align-items:center;gap:.5rem;background:#f3f4f6;padding:.75rem 1rem;border-radius:8px;font-weight:600;color:#374151}.ticket-icon[data-v-8e425777]{font-size:1.2rem}.header-subtitle[data-v-8e425777]{text-align:center;color:#6b7280;font-size:.9rem;margin:0}.calendar-container[data-v-8e425777]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.month-calendar[data-v-8e425777]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1rem;margin-bottom:1.5rem}.month-calendar[data-v-8e425777]:last-child{margin-bottom:0}.month-header[data-v-8e425777]{text-align:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.month-title[data-v-8e425777]{font-size:1.2rem;font-weight:600;color:#1f2937;margin:0}.calendar-grid[data-v-8e425777]{display:flex;flex-direction:column;gap:.5rem}.weekday-header[data-v-8e425777]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:.5rem!important;margin-bottom:.5rem}.calendar-weekday[data-v-8e425777]{text-align:center;font-weight:600;color:#6b7280;padding:.5rem;font-size:.875rem;display:flex;align-items:center;justify-content:center;height:2.5rem}.calendar-weekday.sat[data-v-8e425777]{color:#3b82f6}.calendar-weekday.sun[data-v-8e425777]{color:#dc2626}.calendar-week[data-v-8e425777]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:.5rem!important}.calendar-day[data-v-8e425777]{aspect-ratio:1;border:1px solid #e5e7eb;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;background:#fff}.calendar-day[data-v-8e425777]:hover{background:#f3f4f6;border-color:#d1d5db}.calendar-day.other-month[data-v-8e425777]{opacity:.35;cursor:default}.calendar-day.other-month[data-v-8e425777]:hover{background:#fff;border-color:#e5e7eb}.calendar-day.submitted[data-v-8e425777]{background:#dcfce7;border-color:#22c55e}.calendar-day.excused[data-v-8e425777]{background:#dbeafe;border-color:#3b82f6}.calendar-day.unexcused[data-v-8e425777]{background:#f3f4f6;border-color:#9ca3af}.calendar-day.holiday[data-v-8e425777]{background:repeating-linear-gradient(-45deg,#fff1f2 0,#fff1f2 10px,#ffe4e6 10px,#ffe4e6 20px);border-color:#fb7185;opacity:1;cursor:default;position:relative;box-shadow:inset 0 0 0 2px #fb718559}.calendar-day.holiday[data-v-8e425777]:hover{background:repeating-linear-gradient(-45deg,#fff1f2 0,#fff1f2 10px,#ffe4e6 10px,#ffe4e6 20px);border-color:#fb7185}.calendar-day.holiday .day-number[data-v-8e425777]{color:#b91c1c!important;font-weight:700}.calendar-day.holiday.today[data-v-8e425777]{box-shadow:inset 0 0 0 2px #f59e0b,inset 0 0 0 4px #fed7aa}.calendar-page.admin-mode .calendar-day[data-v-8e425777]:not(.holiday){cursor:default}.calendar-page.admin-mode .calendar-day[data-v-8e425777]:not(.holiday):hover{background:#fff;border-color:#e5e7eb}.yearly-calendar[data-v-8e425777]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.admin-month[data-v-8e425777]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1rem;margin-bottom:1rem}.admin-month .month-header[data-v-8e425777]{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.admin-month .month-title[data-v-8e425777]{font-size:1.2rem;color:#1f2937;margin:0}@media (max-width: 1200px){.yearly-calendar[data-v-8e425777]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}}@media (max-width: 768px){.yearly-calendar[data-v-8e425777]{grid-template-columns:1fr;gap:.75rem}.admin-month[data-v-8e425777]{padding:.75rem}.admin-month .month-title[data-v-8e425777]{font-size:1.1rem}.header-stats[data-v-8e425777]{flex-wrap:nowrap;gap:1rem}.ticket-info[data-v-8e425777]{flex:1;min-width:0}.ticket-text[data-v-8e425777]{font-size:.9rem}}.calendar-day.today[data-v-8e425777]{box-shadow:0 0 0 2px #f59e0b inset}.day-number[data-v-8e425777]{font-size:.875rem;font-weight:500;color:#374151}.day-number.sun[data-v-8e425777]{color:#dc2626}.day-number.sat[data-v-8e425777]{color:#3b82f6}.legend[data-v-8e425777]{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;background:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.legend-item[data-v-8e425777]{display:flex;align-items:center;gap:.5rem;overflow:visible;min-height:1.6rem;padding:.25rem 0}.legend-indicator[data-v-8e425777]{width:24px;height:24px;border-radius:4px;border:2px solid;flex-shrink:0}.legend-indicator.submitted[data-v-8e425777]{background:#dcfce7;border-color:#22c55e}.legend-indicator.excused[data-v-8e425777]{background:#dbeafe;border-color:#3b82f6}.legend-indicator.unexcused[data-v-8e425777]{background:#f3f4f6;border-color:#9ca3af}.legend-indicator.today[data-v-8e425777]{background:#fff7ed;border-color:#f59e0b}.legend-indicator.holiday[data-v-8e425777]{background:repeating-linear-gradient(-45deg,#fff1f2 0,#fff1f2 6px,#ffe4e6 6px,#ffe4e6 12px);border-color:#ef4444}.legend-item span[data-v-8e425777]{color:#1e293b;font-size:.95rem;font-weight:500;line-height:1.4;white-space:nowrap;text-shadow:0 0 1px rgba(255,255,255,.8);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media (prefers-contrast: more){.legend-indicator.submitted[data-v-8e425777]{border-color:#15803d}.legend-indicator.excused[data-v-8e425777]{border-color:#1d4ed8}.legend-indicator.unexcused[data-v-8e425777]{border-color:#6b7280}.legend-indicator.today[data-v-8e425777]{border-color:#b45309}.legend-indicator.holiday[data-v-8e425777]{border-color:#64748b}}@media (prefers-contrast: more){.calendar-day.holiday[data-v-8e425777]{border-color:#ef4444;box-shadow:inset 0 0 0 2px #ef4444;background:#ffe4e6}.legend-indicator.holiday[data-v-8e425777]{background:#ffe4e6;border-color:#ef4444}}@media screen and (-webkit-min-device-pixel-ratio: 1){.legend-item span[data-v-8e425777]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}}.modal-overlay[data-v-8e425777]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-8e425777]{background:#fff;border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 10px 30px #0003}.modal-header[data-v-8e425777]{margin-bottom:1rem}.modal-header h3[data-v-8e425777]{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.modal-body[data-v-8e425777]{margin-bottom:1.5rem}.modal-body p[data-v-8e425777]{color:#6b7280;line-height:1.5;margin:0}.modal-actions[data-v-8e425777]{display:flex;gap:.75rem;justify-content:flex-end}.btn-cancel[data-v-8e425777],.btn-confirm[data-v-8e425777]{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel[data-v-8e425777]{background:#f3f4f6;color:#6b7280}.btn-cancel[data-v-8e425777]:hover{background:#e5e7eb}.btn-confirm[data-v-8e425777]{background:#3b82f6;color:#fff}.btn-confirm[data-v-8e425777]:hover:not(:disabled){background:#2563eb}.btn-confirm[data-v-8e425777]:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width: 480px){.calendar-page[data-v-8e425777]{padding:.75rem}.calendar-header[data-v-8e425777]{padding:1rem}.month-calendar[data-v-8e425777]{padding:.75rem}.calendar-day[data-v-8e425777],.day-number[data-v-8e425777]{font-size:.75rem}.legend[data-v-8e425777]{gap:1rem;padding:.75rem 1rem}.legend-item span[data-v-8e425777]{font-size:.8rem}.legend-indicator[data-v-8e425777]{width:18px;height:18px}}@media (max-width: 400px){.legend-item span[data-v-8e425777]{font-size:.75rem}.legend-indicator[data-v-8e425777]{width:16px;height:16px}}.cancel-subscription-page[data-v-911ec654]{min-height:100vh;background:linear-gradient(135deg,#fef2f2,#fff5f5);padding:20px;display:flex;align-items:center;justify-content:center}.cancel-container[data-v-911ec654]{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:600px;width:100%;overflow:hidden}.cancel-header[data-v-911ec654]{background:#fef2f2;padding:30px 20px;text-align:center;border-bottom:1px solid #fecaca}.cancel-header h1[data-v-911ec654]{margin:0 0 10px;color:#dc2626;font-size:28px;font-weight:600}.subtitle[data-v-911ec654]{margin:0;color:#7f1d1d;font-size:14px}.loading-state[data-v-911ec654],.error-state[data-v-911ec654]{padding:40px 20px;text-align:center}.error-state h3[data-v-911ec654]{color:#dc2626;margin-bottom:16px}.cancel-form-container[data-v-911ec654]{padding:30px}.user-info[data-v-911ec654]{margin-bottom:30px}.user-info h3[data-v-911ec654]{margin:0 0 16px;color:#374151;font-size:18px}.info-card[data-v-911ec654]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.info-card p[data-v-911ec654]{margin:0 0 8px;color:#374151;font-size:14px}.info-card p[data-v-911ec654]:last-child{margin-bottom:0}.cancel-warning[data-v-911ec654]{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:16px;margin-bottom:30px}.cancel-warning h4[data-v-911ec654]{margin:0 0 12px;color:#92400e;font-size:16px;font-weight:600}.cancel-warning ul[data-v-911ec654]{margin:0;padding-left:20px;color:#92400e}.cancel-warning li[data-v-911ec654]{margin-bottom:6px;font-size:14px;line-height:1.5}.form-group[data-v-911ec654]{margin-bottom:20px}.form-group label[data-v-911ec654]{display:block;margin-bottom:6px;font-weight:500;color:#374151}.optional[data-v-911ec654]{font-weight:400;color:#6b7280;font-size:12px}.form-control[data-v-911ec654]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.form-control[data-v-911ec654]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}textarea.form-control[data-v-911ec654]{resize:vertical;min-height:80px}.form-actions[data-v-911ec654]{display:flex;gap:12px;justify-content:flex-end;margin-top:30px}.btn[data-v-911ec654]{padding:12px 24px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent;text-decoration:none;min-width:120px}.btn-secondary[data-v-911ec654]{background:#f9fafb;color:#374151;border-color:#d1d5db}.btn-secondary[data-v-911ec654]:hover{background:#f3f4f6}.btn-danger[data-v-911ec654]{background:#dc2626;color:#fff;border-color:#dc2626}.btn-danger[data-v-911ec654]:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-danger[data-v-911ec654]:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed}.btn-primary[data-v-911ec654]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary[data-v-911ec654]:hover{background:#2563eb;border-color:#2563eb}@media (max-width: 768px){.cancel-subscription-page[data-v-911ec654]{padding:10px}.cancel-container[data-v-911ec654]{max-width:100%}.cancel-form-container[data-v-911ec654]{padding:20px}.form-actions[data-v-911ec654]{flex-direction:column}.btn[data-v-911ec654]{width:100%}}.instructor-login[data-v-63f18294]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-container[data-v-63f18294]{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px}.login-header[data-v-63f18294]{text-align:center;margin-bottom:2rem}.login-header h1[data-v-63f18294]{color:#1f2937;margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.login-header p[data-v-63f18294]{color:#6b7280;margin:0;font-size:1rem}.form-group[data-v-63f18294]{margin-bottom:1.5rem}.form-group label[data-v-63f18294]{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.9rem}.form-input[data-v-63f18294]{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-input[data-v-63f18294]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn[data-v-63f18294]{width:100%;padding:.875rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn[data-v-63f18294]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-63f18294]{background:#667eea;color:#fff}.btn-primary[data-v-63f18294]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px)}.auth-links[data-v-63f18294]{margin-top:1.5rem;text-align:center;padding:1rem;background:#f9fafb;border-radius:8px}.auth-links p[data-v-63f18294]{margin:0 0 .5rem;color:#6b7280;font-size:.875rem}.link[data-v-63f18294]{color:#667eea;text-decoration:none;font-weight:500;font-size:.9rem}.link[data-v-63f18294]:hover{text-decoration:underline}@media (max-width: 480px){.login-container[data-v-63f18294]{padding:2rem 1.5rem;margin:1rem}.login-header h1[data-v-63f18294]{font-size:1.6rem}}.instructor-signup[data-v-f53ee026]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f8fafc;padding:1rem}.signup-container[data-v-f53ee026]{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.signup-header[data-v-f53ee026]{text-align:center;margin-bottom:2rem}.signup-header h1[data-v-f53ee026]{color:#1f2937;margin-bottom:.5rem;font-size:1.8rem}.signup-header p[data-v-f53ee026]{color:#6b7280;margin:0}.signup-form[data-v-f53ee026]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-f53ee026]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-f53ee026]{font-weight:500;color:#374151;font-size:.9rem}.form-input[data-v-f53ee026]{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-input[data-v-f53ee026]:focus{outline:none;border-color:#3b82f6}.form-input[data-v-f53ee026]:disabled{background:#f9fafb;color:#6b7280}.btn[data-v-f53ee026]{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1rem}.btn-primary[data-v-f53ee026]{background:#3b82f6;color:#fff}.btn-primary[data-v-f53ee026]:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-primary[data-v-f53ee026]:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.error-message[data-v-f53ee026]{background:#fef2f2;color:#dc2626;padding:.75rem;border-radius:8px;border:1px solid #fecaca;margin-top:1rem;text-align:center;font-size:.9rem}.success-message[data-v-f53ee026]{background:#f0fdf4;color:#16a34a;padding:.75rem;border-radius:8px;border:1px solid #bbf7d0;margin-top:1rem;text-align:center;font-size:.9rem}.auth-links[data-v-f53ee026]{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.auth-links p[data-v-f53ee026]{color:#6b7280;margin:0 0 .5rem;font-size:.9rem}.link[data-v-f53ee026]{color:#3b82f6;text-decoration:none;font-weight:500}.link[data-v-f53ee026]:hover{text-decoration:underline}@media (max-width: 768px){.signup-container[data-v-f53ee026]{padding:1.5rem;margin:.5rem}.signup-header h1[data-v-f53ee026]{font-size:1.5rem}}.instructor-layout[data-v-c355555b]{min-height:100vh;background:#f8fafc}.instructor-header[data-v-c355555b]{background:#fff;border-bottom:2px solid #e5e7eb;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.header-content[data-v-c355555b]{max-width:1200px;margin:0 auto;padding:1rem;display:flex;justify-content:space-between;align-items:center}.header-left .logo[data-v-c355555b]{margin:0;color:#1f2937;font-size:1.5rem;font-weight:700}.header-right .user-info[data-v-c355555b]{display:flex;align-items:center;gap:1rem}.user-display[data-v-c355555b]{color:#6b7280;font-size:.9rem;font-weight:500}.instructor-main[data-v-c355555b]{max-width:1200px;margin:0 auto;padding:1rem}@media (max-width: 768px){.header-content[data-v-c355555b]{flex-direction:column;gap:1rem;text-align:center}.header-left .logo[data-v-c355555b]{font-size:1.3rem}.user-info[data-v-c355555b]{flex-direction:column;gap:.5rem}}.instructor-dashboard[data-v-c0dd4d3d]{width:100%}.dashboard-header[data-v-c0dd4d3d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.dashboard-header h1[data-v-c0dd4d3d]{color:#1f2937;margin:0;font-size:2rem}.header-actions[data-v-c0dd4d3d]{display:flex;gap:1rem}.stats-fixed[data-v-c0dd4d3d]{position:fixed;top:20px;right:20px;z-index:1000}.stat-card-fixed[data-v-c0dd4d3d]{background:#667eea;color:#fff;padding:.75rem 1rem;border-radius:8px;box-shadow:0 4px 12px #00000026;text-align:center;min-width:80px}.stat-number[data-v-c0dd4d3d]{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stat-label[data-v-c0dd4d3d]{font-size:.75rem;opacity:.9}.filters-section[data-v-c0dd4d3d]{margin-bottom:2rem;padding:1rem;background:#f9fafb;border-radius:8px}.filter-row[data-v-c0dd4d3d]{display:flex;gap:.5rem;margin-bottom:1rem}.filter-type-selector[data-v-c0dd4d3d],.status-selector[data-v-c0dd4d3d]{flex:1}.clear-filter-btn[data-v-c0dd4d3d]{flex-shrink:0}.btn-clear[data-v-c0dd4d3d]{background:#6b7280;color:#fff;padding:.75rem 1rem;font-size:.9rem;min-width:60px}.filter-value-selector[data-v-c0dd4d3d]{margin-bottom:1rem}.filter-input-group[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:.5rem}.filter-input-group label[data-v-c0dd4d3d]{font-size:.9rem;font-weight:600;color:#374151}.filter-actions[data-v-c0dd4d3d]{text-align:center}.form-select[data-v-c0dd4d3d],.search-input[data-v-c0dd4d3d]{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;box-sizing:border-box}.submitted-audio-section[data-v-c0dd4d3d]{padding:0}.audio-slot[data-v-c0dd4d3d],.audio-player-section[data-v-c0dd4d3d]{margin:0}.inline-audio-player[data-v-c0dd4d3d]{width:100%;height:40px;margin-bottom:.5rem}.player-actions[data-v-c0dd4d3d]{display:flex;gap:.5rem;justify-content:flex-end}.player-actions .btn[data-v-c0dd4d3d]{padding:.25rem .75rem;font-size:.85rem}.no-audio[data-v-c0dd4d3d]{margin:.75rem 0;padding:.5rem;background:#f3f4f6;border-radius:6px;text-align:center}.no-audio-text[data-v-c0dd4d3d]{color:#6b7280;font-size:.8rem;font-style:italic}.submissions-section h2[data-v-c0dd4d3d]{color:#1f2937;margin-bottom:1rem;font-size:1.5rem}.pool-info[data-v-c0dd4d3d]{background:#eff6ff;border:1px solid #3b82f6;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.pool-info .info-text[data-v-c0dd4d3d]{margin:0;color:#1e40af;font-size:.9rem;font-weight:600;text-align:center}.submissions-list[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:1rem}.submission-card[data-v-c0dd4d3d]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid #e5e7eb;text-align:left}.submission-card.needs-feedback[data-v-c0dd4d3d]{border-left-color:#f59e0b;background:#fffbeb}.submission-header[data-v-c0dd4d3d]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;position:relative}.submission-header-right[data-v-c0dd4d3d]{position:absolute;top:0;right:0}.btn-fb[data-v-c0dd4d3d]{background:#10b981;color:#fff;padding:.5rem 1rem;font-size:.8rem;border-radius:6px}.student-name-section[data-v-c0dd4d3d]{display:flex;align-items:baseline;gap:.25rem;flex-wrap:wrap}.student-info h3[data-v-c0dd4d3d]{margin:0;color:#1f2937;font-size:1.1rem}.student-kana-small[data-v-c0dd4d3d]{font-weight:400;color:#6b7280;font-size:.8rem}.submission-date[data-v-c0dd4d3d]{color:#6b7280;font-size:.8rem}.submission-meta[data-v-c0dd4d3d]{display:flex;gap:.5rem;flex-wrap:wrap}.day-badge[data-v-c0dd4d3d],.type-badge[data-v-c0dd4d3d],.status-badge[data-v-c0dd4d3d]{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.day-badge[data-v-c0dd4d3d]{background:#dbeafe;color:#1e40af}.type-badge.practice[data-v-c0dd4d3d]{background:#dcfce7;color:#166534}.type-badge.assignment[data-v-c0dd4d3d],.status-badge.submitted[data-v-c0dd4d3d]{background:#fef3c7;color:#92400e}.status-badge.feedback_completed[data-v-c0dd4d3d]{background:#dcfce7;color:#166534}.status-badge.no_reply_needed[data-v-c0dd4d3d]{background:#e5e7eb;color:#374151}.submission-details[data-v-c0dd4d3d]{margin-bottom:1rem}.detail-row[data-v-c0dd4d3d]{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;border-bottom:1px solid #f3f4f6}.detail-row[data-v-c0dd4d3d]:last-child{border-bottom:none}.detail-label[data-v-c0dd4d3d]{color:#6b7280;font-size:.9rem}.detail-value[data-v-c0dd4d3d]{color:#374151;font-weight:500;text-align:right}.practice-info-row[data-v-c0dd4d3d]{background:#f9fafb;margin:.25rem 0;padding:.375rem .5rem!important;border-radius:4px}.practice-indicator[data-v-c0dd4d3d]{font-weight:600;padding:.25rem .5rem;border-radius:4px;display:inline-block}.practice-indicator.has-practice[data-v-c0dd4d3d]{background:#dcfce7;color:#166534}.practice-indicator.no-practice[data-v-c0dd4d3d]{background:#fef3c7;color:#92400e;font-style:italic}.practice-indicator-inline[data-v-c0dd4d3d]{display:block;padding:.25rem .5rem;margin-top:.25rem;background:#f3f4f6;border-radius:4px;font-size:.75rem;font-weight:600}.practice-indicator-inline.has-practice[data-v-c0dd4d3d]{background:#dcfce7;color:#166534}.practice-indicator-inline.no-practice[data-v-c0dd4d3d]{background:#fef3c7;color:#92400e;font-style:italic}.submission-actions[data-v-c0dd4d3d]{display:flex;gap:.5rem;flex-wrap:wrap}.btn[data-v-c0dd4d3d]{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn.small[data-v-c0dd4d3d]{padding:.375rem .75rem;font-size:.8rem}.btn.large[data-v-c0dd4d3d]{padding:.75rem 1.5rem;font-size:1rem}.btn-primary[data-v-c0dd4d3d]{background:#667eea;color:#fff}.btn-secondary[data-v-c0dd4d3d]{background:#6b7280;color:#fff}.btn-success[data-v-c0dd4d3d]{background:#10b981;color:#fff}.btn-warning[data-v-c0dd4d3d]{background:#f59e0b;color:#fff}.btn-info[data-v-c0dd4d3d]{background:#0ea5e9;color:#fff}.btn-danger[data-v-c0dd4d3d]{background:#ef4444;color:#fff}.btn[data-v-c0dd4d3d]:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.loading[data-v-c0dd4d3d],.no-data[data-v-c0dd4d3d]{text-align:center;padding:2rem;color:#6b7280}.feedback-modal[data-v-c0dd4d3d]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.fullscreen-feedback-modal[data-v-c0dd4d3d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:2000;overflow:hidden}.fullscreen-modal-enter-active[data-v-c0dd4d3d]{transition:all .3s ease-out}.fullscreen-modal-leave-active[data-v-c0dd4d3d]{transition:all .2s ease-in}.fullscreen-modal-enter-from[data-v-c0dd4d3d]{transform:scale(.8);opacity:0}.fullscreen-modal-leave-to[data-v-c0dd4d3d]{transform:scale(.9);opacity:0}.fullscreen-modal-enter-to[data-v-c0dd4d3d],.fullscreen-modal-leave-from[data-v-c0dd4d3d]{transform:scale(1);opacity:1}.fullscreen-content[data-v-c0dd4d3d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#f8fafc;border:0;border-radius:0}.close-btn[data-v-c0dd4d3d]{position:absolute;top:1rem;right:1rem;background:#ef4444;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3000}.close-btn[data-v-c0dd4d3d]:hover{background:#dc2626}.close-btn[data-v-c0dd4d3d]:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.close-btn[data-v-c0dd4d3d]:disabled:hover{background:#9ca3af}.feedback-screen[data-v-c0dd4d3d]{flex:1 1 auto;overflow-y:auto;padding-bottom:0!important;max-width:1200px;margin:0 auto}.feedback-screen h2[data-v-c0dd4d3d]{color:#1f2937;margin-bottom:1rem;text-align:center}.feedback-header-mobile[data-v-c0dd4d3d]{padding:.5rem 72px 1rem .75rem;margin-bottom:1.5rem;border-bottom:2px solid #f3f4f6}.student-name-line[data-v-c0dd4d3d]{font-size:1.3rem;font-weight:700;color:#1f2937;line-height:1.2;margin-bottom:.25rem;text-align:left}.student-kana-line[data-v-c0dd4d3d]{font-size:1rem;color:#6b7280;line-height:1.2;margin-bottom:.25rem;text-align:left}.assignment-line[data-v-c0dd4d3d]{font-size:1.1rem;font-weight:700;color:#3b82f6;line-height:1.2;text-align:left}@media (min-width: 769px){.feedback-header-mobile[data-v-c0dd4d3d]{padding-right:80px}}.feedback-header[data-v-c0dd4d3d]{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;margin-bottom:2rem;border-bottom:2px solid #f3f4f6}.student-info[data-v-c0dd4d3d]{display:flex;align-items:baseline;gap:.25rem}.student-name[data-v-c0dd4d3d]{font-weight:700;color:#1f2937;font-size:1.1rem}.student-kana[data-v-c0dd4d3d]{font-weight:400;color:#6b7280;font-size:.9rem}.assignment-info[data-v-c0dd4d3d]{font-weight:700;color:#3b82f6;font-size:1.1rem}.feedback-sections[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:2rem}.feedback-section[data-v-c0dd4d3d]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.feedback-controls-section[data-v-c0dd4d3d]{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));z-index:2500;box-shadow:0 -2px 8px #0000001a;margin-bottom:0}.feedback-manual-section[data-v-c0dd4d3d],.feedback-assignment-section[data-v-c0dd4d3d]{padding:1.5rem}.feedback-audio-section[data-v-c0dd4d3d],.feedback-recording-section[data-v-c0dd4d3d]{margin:0;padding:0;border:none;box-shadow:none}@media (min-width: 769px){.fullscreen-content[data-v-c0dd4d3d]{top:1rem;right:1rem;bottom:1rem;left:1rem;border:2px solid #e5e7eb;border-radius:12px}.feedback-screen[data-v-c0dd4d3d]{padding-bottom:0!important}}.feedback-section h3[data-v-c0dd4d3d]{margin:0 0 1rem;color:#1f2937;font-size:1.1rem;border-bottom:2px solid #f3f4f6;padding-bottom:.5rem}.manual-content ul[data-v-c0dd4d3d]{margin:0;padding-left:1.5rem;color:#374151;line-height:1.6}.manual-content li[data-v-c0dd4d3d]{margin-bottom:.5rem}.assignment-content p[data-v-c0dd4d3d]{margin:.75rem 0;color:#374151;line-height:1.5}.fullscreen-audio-player[data-v-c0dd4d3d]{width:100%;height:50px;margin:0}.feedback-recording-section[data-v-c0dd4d3d]{text-align:center;margin:0;padding:0}.modal-content[data-v-c0dd4d3d]{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h3[data-v-c0dd4d3d]{margin:0 0 1.5rem;color:#1f2937;text-align:center}.feedback-info[data-v-c0dd4d3d]{background:#f9fafb;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.feedback-info p[data-v-c0dd4d3d]{margin:.5rem 0;color:#374151}.recording-section[data-v-c0dd4d3d]{margin-bottom:1.5rem}.recording-start[data-v-c0dd4d3d]{text-align:center;margin:0;padding:0}.recording-active[data-v-c0dd4d3d]{text-align:center}.recording-indicator[data-v-c0dd4d3d]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem;color:#ef4444;font-weight:600}.recording-dot[data-v-c0dd4d3d]{width:12px;height:12px;background:#ef4444;border-radius:50%;animation:pulse-c0dd4d3d 1s infinite}@keyframes pulse-c0dd4d3d{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.recording-time[data-v-c0dd4d3d]{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.recording-preview[data-v-c0dd4d3d]{text-align:center}.audio-player[data-v-c0dd4d3d]{width:100%;margin-bottom:1rem}.recording-actions[data-v-c0dd4d3d]{display:flex;gap:1rem;justify-content:center}.upload-progress-section[data-v-c0dd4d3d]{text-align:center;padding:1rem;background:#f8fafc;border-radius:8px;margin:1rem 0}.upload-indicator[data-v-c0dd4d3d]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:#374151}.upload-spinner[data-v-c0dd4d3d]{animation:spin-c0dd4d3d 1s linear infinite}@keyframes spin-c0dd4d3d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-bar[data-v-c0dd4d3d]{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill[data-v-c0dd4d3d]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;transition:width .3s ease}.progress-text[data-v-c0dd4d3d]{font-size:.875rem;color:#6b7280}.recording-completed[data-v-c0dd4d3d]{text-align:center;padding:1rem;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0;margin:1rem 0}.completed-message[data-v-c0dd4d3d]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem;font-weight:600;color:#166534}.success-icon[data-v-c0dd4d3d]{font-size:1.2rem}.audio-player-section[data-v-c0dd4d3d]{margin:0;text-align:center}.feedback-audio-player[data-v-c0dd4d3d]{width:100%;max-width:400px;margin:0 auto;border-radius:8px;background:#f8fafc}@media (max-width: 768px){.feedback-audio-player[data-v-c0dd4d3d]{max-width:100%}}.btn-disabled[data-v-c0dd4d3d]{background-color:#d1d5db!important;color:#9ca3af!important;cursor:not-allowed!important;opacity:.6}.btn-disabled[data-v-c0dd4d3d]:hover{background-color:#d1d5db!important;transform:none!important}.modal-actions[data-v-c0dd4d3d]{display:flex;justify-content:center;margin-top:1.5rem}.view-mode-toggle[data-v-c0dd4d3d]{display:flex;gap:.5rem;margin-right:1rem}.btn-mode[data-v-c0dd4d3d]{background:#e5e7eb;color:#374151;border:2px solid transparent}.btn-mode.active[data-v-c0dd4d3d]{background:#667eea;color:#fff;border-color:#667eea}.students-section h2[data-v-c0dd4d3d]{color:#1f2937;margin-bottom:1rem;font-size:1.5rem}.students-list[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:1rem}.student-card[data-v-c0dd4d3d]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.student-header[data-v-c0dd4d3d]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#f9fafb;cursor:pointer;transition:background-color .2s}.student-header[data-v-c0dd4d3d]:hover{background:#f3f4f6}.student-info h3[data-v-c0dd4d3d]{margin:0 0 .5rem;color:#1f2937;font-size:1.2rem}.student-status[data-v-c0dd4d3d]{display:flex;gap:.5rem;flex-wrap:wrap}.unread-badge[data-v-c0dd4d3d]{background:#fef3c7;color:#92400e;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.unread-badge.small[data-v-c0dd4d3d]{padding:.125rem .375rem;font-size:.7rem}.loading-badge[data-v-c0dd4d3d]{background:#dbeafe;color:#1e40af;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;animation:pulse-loading-c0dd4d3d 1.5s ease-in-out infinite}@keyframes pulse-loading-c0dd4d3d{0%,to{opacity:1}50%{opacity:.5}}.student-toggle[data-v-c0dd4d3d]{color:#6b7280;font-size:1.2rem}.student-days[data-v-c0dd4d3d]{padding:1rem;background:#fff}.days-list[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:.5rem}.day-card[data-v-c0dd4d3d]{border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;overflow:hidden}.day-card.has-unread[data-v-c0dd4d3d]{border-color:#f59e0b;background:#fffbeb}.day-header[data-v-c0dd4d3d]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f3f4f6;cursor:pointer;transition:background-color .2s}.day-header[data-v-c0dd4d3d]:hover{background:#e5e7eb}.day-info[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:.25rem}.day-number[data-v-c0dd4d3d]{font-weight:600;color:#374151;font-size:1rem}.day-status[data-v-c0dd4d3d]{display:flex;gap:.25rem;flex-wrap:wrap}.day-toggle[data-v-c0dd4d3d]{color:#6b7280;font-size:1rem}.day-details[data-v-c0dd4d3d]{padding:1rem;background:#fff;border-top:1px solid #e5e7eb}.submissions-detail[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:1rem}.submission-detail[data-v-c0dd4d3d]{border:1px solid #e5e7eb;border-radius:6px;padding:1rem;background:#f9fafb}.submission-detail.practice[data-v-c0dd4d3d]{border-left:4px solid #10b981}.submission-detail.assignment[data-v-c0dd4d3d]{border-left:4px solid #f59e0b}.submission-header[data-v-c0dd4d3d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.type-label[data-v-c0dd4d3d]{color:#374151;font-weight:600;font-size:.9rem}.status[data-v-c0dd4d3d]{padding:.25rem .5rem;border-radius:6px;font-weight:500;font-size:.8rem}.status.submitted[data-v-c0dd4d3d]{background:#fef3c7;color:#92400e}.status.feedback_completed[data-v-c0dd4d3d]{background:#dcfce7;color:#166534}.status.no_reply_needed[data-v-c0dd4d3d]{background:#e5e7eb;color:#374151}.status.not-submitted[data-v-c0dd4d3d]{color:#9ca3af}.submission-info[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:.5rem}.info-item[data-v-c0dd4d3d]{color:#6b7280;font-size:.8rem}.submission-count[data-v-c0dd4d3d]{color:#6b7280;font-size:.8rem;font-weight:500}.submissions-list[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:.75rem}.submission-item[data-v-c0dd4d3d]{border:1px solid #e5e7eb;border-radius:6px;padding:.75rem;background:#fff}.submission-item-header[data-v-c0dd4d3d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.submission-number[data-v-c0dd4d3d]{color:#6b7280;font-size:.75rem;font-weight:600;background:#f3f4f6;padding:.125rem .375rem;border-radius:4px}.submission-item-info[data-v-c0dd4d3d]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.submission-item-actions[data-v-c0dd4d3d]{display:flex;gap:.5rem;flex-wrap:wrap}.no-submissions[data-v-c0dd4d3d]{text-align:center;padding:1rem;color:#9ca3af}@media (max-width: 768px){.dashboard-header[data-v-c0dd4d3d]{flex-direction:column;gap:1rem;align-items:stretch}.header-actions[data-v-c0dd4d3d]{justify-content:center}.header-actions .btn[data-v-c0dd4d3d],.header-actions .btn-mode[data-v-c0dd4d3d]{display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;height:60px;padding:0 12px;line-height:1;border:2px solid transparent;box-sizing:border-box}.view-mode-toggle[data-v-c0dd4d3d]{width:100%;display:flex;gap:.5rem}.view-mode-toggle .btn-mode[data-v-c0dd4d3d]{flex:1}.view-mode-toggle[data-v-c0dd4d3d]{margin-right:0;margin-bottom:1rem;justify-content:center}.filters-section[data-v-c0dd4d3d]{flex-direction:column}.filter-actions[data-v-c0dd4d3d]{margin-left:0;justify-content:center;margin-top:1rem}.submission-header[data-v-c0dd4d3d]{flex-direction:column;gap:1rem;align-items:flex-start}.submission-meta[data-v-c0dd4d3d]{justify-content:flex-start}}.buddy-toggles[data-v-c0dd4d3d]{display:flex;gap:.75rem;align-items:center}.buddy-toggles .toggle[data-v-c0dd4d3d]{display:flex;gap:.375rem;align-items:center;font-weight:600}.badge-role[data-v-c0dd4d3d]{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700}.badge-role.assigned[data-v-c0dd4d3d]{background:#e0f2fe;color:#075985}.badge-role.buddy[data-v-c0dd4d3d]{background:#ecfccb;color:#3f6212}.badge-role.pool[data-v-c0dd4d3d]{background:#f3e8ff;color:#6b21a8}.deadline-indicator[data-v-c0dd4d3d]{font-weight:700}.deadline-indicator.safe[data-v-c0dd4d3d]{color:#059669}.deadline-indicator.overdue[data-v-c0dd4d3d]{color:#dc2626}.deadline-badge[data-v-c0dd4d3d]{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700}.deadline-badge.small[data-v-c0dd4d3d]{padding:.125rem .375rem;font-size:.7rem}.deadline-badge.safe[data-v-c0dd4d3d]{background:#dcfce7;color:#166534}.deadline-badge.overdue[data-v-c0dd4d3d]{background:#fee2e2;color:#dc2626}@media (max-width: 768px){.days-list[data-v-c0dd4d3d]{gap:.25rem}.day-header[data-v-c0dd4d3d],.day-details[data-v-c0dd4d3d],.submission-detail[data-v-c0dd4d3d]{padding:.75rem}.submission-item[data-v-c0dd4d3d]{padding:.5rem}.submission-item-actions[data-v-c0dd4d3d]{justify-content:center}}.fullscreen-feedback-modal .feedback-manual-section .manual-title[data-v-c0dd4d3d],.fullscreen-feedback-modal .feedback-manual-section .manual-content[data-v-c0dd4d3d],.fullscreen-feedback-modal .feedback-manual-section .manual-content .manual-steps[data-v-c0dd4d3d],.fullscreen-feedback-modal .feedback-manual-section .manual-content .manual-steps p[data-v-c0dd4d3d]{text-align:left!important}.instructor-navigation[data-v-fedc93fc]{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #e5e7eb;box-shadow:0 -2px 8px #0000001a;display:flex;justify-content:space-around;align-items:center;padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));z-index:1000}.nav-item[data-v-fedc93fc]{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;text-decoration:none;color:#6b7280;font-size:.85rem;font-weight:500;transition:all .2s;position:relative;flex:1;max-width:120px}.nav-item[data-v-fedc93fc]:hover{color:#3b82f6;background:#f3f4f6;border-radius:8px}.nav-item.active[data-v-fedc93fc]{color:#3b82f6;font-weight:700}.nav-icon[data-v-fedc93fc]{font-size:1.5rem}.nav-label[data-v-fedc93fc]{font-size:.75rem}.nav-badge[data-v-fedc93fc]{position:absolute;top:0;right:.5rem;background:#ef4444;color:#fff;border-radius:10px;padding:.125rem .375rem;font-size:.7rem;font-weight:700;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}@media (max-width: 768px){.nav-item[data-v-fedc93fc]{padding:.5rem .75rem;font-size:.8rem}.nav-icon[data-v-fedc93fc]{font-size:1.3rem}.nav-label[data-v-fedc93fc]{font-size:.7rem}}.instructor-home[data-v-e71d0146]{width:100%;max-width:800px;margin:0 auto;padding:1rem}.motivation-header[data-v-e71d0146]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a}.motivation-stats[data-v-e71d0146]{display:flex;flex-direction:column;gap:1rem}.stat-item[data-v-e71d0146]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.stat-icon[data-v-e71d0146]{font-size:1.5rem}.stat-label[data-v-e71d0146]{font-size:.9rem;color:#6b7280;font-weight:500}.stat-value[data-v-e71d0146]{font-size:1.2rem;font-weight:700;color:#1f2937}.info-section[data-v-e71d0146]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a}.info-message[data-v-e71d0146]{text-align:center;font-size:1.1rem;color:#374151;line-height:1.6}.info-message strong[data-v-e71d0146]{color:#ef4444;font-size:1.3rem}.info-message.success[data-v-e71d0146]{color:#059669;font-size:1.2rem}.tasks-section[data-v-e71d0146]{margin-bottom:1.5rem}.loading[data-v-e71d0146],.no-tasks[data-v-e71d0146]{text-align:center;padding:3rem 1rem;color:#6b7280;background:#fff;border-radius:12px}.task-cards[data-v-e71d0146]{display:flex;flex-direction:column;gap:1.5rem}.task-card[data-v-e71d0146]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid #10b981}.task-card.waiting-long[data-v-e71d0146]{border-left-color:#ef4444;background:#fef2f2}.student-info[data-v-e71d0146]{margin-bottom:1.5rem}.student-name[data-v-e71d0146]{font-size:1.3rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.student-grade[data-v-e71d0146]{font-size:1rem;font-weight:500;color:#6b7280}.assignment-info[data-v-e71d0146]{margin-bottom:1rem;color:#374151}.day-label[data-v-e71d0146]{font-weight:600;color:#3b82f6}.assignment-title[data-v-e71d0146]{color:#6b7280;font-size:.9rem}.submission-count-badge[data-v-e71d0146]{margin-left:.5rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600;color:#047857;background:#d1fae5;border-radius:9999px}.metrics[data-v-e71d0146]{display:flex;flex-direction:column;gap:.5rem}.metric-item[data-v-e71d0146]{display:flex;align-items:center;gap:.5rem}.metric-icon[data-v-e71d0146]{font-size:1rem}.metric-label[data-v-e71d0146]{font-size:.9rem;color:#6b7280;min-width:50px}.metric-value[data-v-e71d0146]{font-weight:600;color:#1f2937}.metric-value.waiting-long[data-v-e71d0146]{color:#ef4444;font-weight:700}.order-terms[data-v-e71d0146]{border-top:1px solid #e5e7eb;padding-top:1rem;margin-bottom:1.5rem;color:#6b7280}.terms-row[data-v-e71d0146]{display:flex;gap:.5rem;margin-bottom:.25rem;flex-wrap:wrap}.terms-row-fixed[data-v-e71d0146]{display:flex;flex-wrap:nowrap;line-height:1.8;width:100%;min-width:0;font-size:clamp(.7rem,2.5vw,.85rem)}.term-item[data-v-e71d0146]{display:inline-flex;align-items:center;gap:.25rem;flex:0 1 auto;min-width:0;white-space:nowrap}.term-item[data-v-e71d0146]:first-child{margin-right:1rem}.term-label[data-v-e71d0146]{font-weight:600;white-space:nowrap;flex-shrink:0}.term-value[data-v-e71d0146]{white-space:nowrap}.terms-agreement[data-v-e71d0146]{margin-top:.5rem;font-size:.8rem;font-style:italic}.task-actions[data-v-e71d0146]{text-align:center}.btn-accept[data-v-e71d0146]{width:100%;background:#ef4444;color:#fff;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-accept[data-v-e71d0146]:hover:not(:disabled){background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn-accept[data-v-e71d0146]:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.list-actions[data-v-e71d0146]{text-align:center;margin-bottom:1.5rem}.btn-refresh[data-v-e71d0146]{background:#6b7280;color:#fff;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-refresh[data-v-e71d0146]:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}.btn-refresh[data-v-e71d0146]:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.conflict-message[data-v-e71d0146]{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:1rem;margin-bottom:1rem;text-align:center;color:#92400e;font-weight:600}@media (max-width: 768px){.instructor-home[data-v-e71d0146]{padding:.5rem}.motivation-stats[data-v-e71d0146]{gap:.75rem}.stat-item[data-v-e71d0146]{flex-wrap:nowrap}.task-card[data-v-e71d0146]{padding:1rem}.student-name[data-v-e71d0146]{font-size:1.1rem}.btn-accept[data-v-e71d0146]{padding:.875rem 1.5rem;font-size:1rem}}.fullscreen-feedback-modal[data-v-e71d0146]{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:2000;overflow:hidden}.fullscreen-modal-enter-active[data-v-e71d0146]{transition:all .3s ease-out}.fullscreen-modal-leave-active[data-v-e71d0146]{transition:all .2s ease-in}.fullscreen-modal-enter-from[data-v-e71d0146]{transform:scale(.8);opacity:0}.fullscreen-modal-leave-to[data-v-e71d0146]{transform:scale(.9);opacity:0}.fullscreen-modal-enter-to[data-v-e71d0146],.fullscreen-modal-leave-from[data-v-e71d0146]{transform:scale(1);opacity:1}.fullscreen-content[data-v-e71d0146]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#f8fafc;border:0;border-radius:0}.close-btn[data-v-e71d0146]{position:absolute;top:1rem;right:1rem;background:#ef4444;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3000}.close-btn[data-v-e71d0146]:hover{background:#dc2626}.close-btn[data-v-e71d0146]:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.close-btn[data-v-e71d0146]:disabled:hover{background:#9ca3af}.lock-timer-bar[data-v-e71d0146]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin:0 1rem;border-radius:8px;font-weight:600;flex-shrink:0}.lock-timer-bar.timer-normal[data-v-e71d0146]{background:#dcfce7;color:#166534}.lock-timer-bar.timer-warning[data-v-e71d0146]{background:#fef3c7;color:#92400e}.lock-timer-bar.timer-danger[data-v-e71d0146]{background:#fee2e2;color:#991b1b}.lock-timer-label[data-v-e71d0146]{font-size:.875rem}.lock-timer-value[data-v-e71d0146]{font-size:1.125rem;font-variant-numeric:tabular-nums}.lock-timer-warning[data-v-e71d0146]{font-size:.8125rem;margin-left:auto}.feedback-screen[data-v-e71d0146]{flex:1 1 auto;overflow-y:auto;padding-bottom:0!important;max-width:1200px;margin:0 auto}.feedback-screen h2[data-v-e71d0146]{color:#1f2937;margin-bottom:1rem;text-align:center}.feedback-header-mobile[data-v-e71d0146]{padding:.5rem 72px 1rem .75rem;margin-bottom:1.5rem;border-bottom:2px solid #f3f4f6}.student-name-line[data-v-e71d0146]{font-size:1.3rem;font-weight:700;color:#1f2937;line-height:1.2;margin-bottom:.25rem;text-align:left}.student-kana-line[data-v-e71d0146]{font-size:1rem;color:#6b7280;line-height:1.2;margin-bottom:.25rem;text-align:left}.assignment-line[data-v-e71d0146]{font-size:1.1rem;font-weight:700;color:#3b82f6;line-height:1.2;text-align:left}@media (min-width: 769px){.feedback-header-mobile[data-v-e71d0146]{padding-right:80px}}.feedback-sections[data-v-e71d0146]{display:flex;flex-direction:column;gap:2rem}.feedback-section[data-v-e71d0146]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.feedback-controls-section[data-v-e71d0146]{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));z-index:2500;box-shadow:0 -2px 8px #0000001a;margin-bottom:0}.feedback-manual-section[data-v-e71d0146],.feedback-assignment-section[data-v-e71d0146]{padding:1.5rem}.feedback-audio-section[data-v-e71d0146],.feedback-recording-section[data-v-e71d0146]{margin:0;padding:0;border:none;box-shadow:none}@media (min-width: 769px){.fullscreen-content[data-v-e71d0146]{top:1rem;right:1rem;bottom:1rem;left:1rem;border:2px solid #e5e7eb;border-radius:12px}.feedback-screen[data-v-e71d0146]{padding-bottom:0!important}}.feedback-section h3[data-v-e71d0146]{margin:0 0 1rem;color:#1f2937;font-size:1.1rem;border-bottom:2px solid #f3f4f6;padding-bottom:.5rem}.manual-content ul[data-v-e71d0146]{margin:0;padding-left:1.5rem;color:#374151;line-height:1.6}.manual-content li[data-v-e71d0146]{margin-bottom:.5rem}.assignment-content p[data-v-e71d0146]{margin:.75rem 0;color:#374151;line-height:1.5}.fullscreen-audio-player[data-v-e71d0146]{width:100%;height:50px;margin:0}.submitted-audio-title[data-v-e71d0146]{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:#374151}.submitted-audio-section[data-v-e71d0146]{padding:0;display:flex;flex-direction:column;gap:.75rem}.audio-slot[data-v-e71d0146]{margin:0;padding:.5rem 0;border-bottom:1px solid #e5e7eb}.audio-slot[data-v-e71d0146]:last-child{border-bottom:none}.audio-slot-label[data-v-e71d0146]{font-size:.85rem;font-weight:600;color:#6b7280;margin-bottom:.35rem}.audio-player-section[data-v-e71d0146]{margin:0}.recording-start[data-v-e71d0146]{text-align:center;margin:0;padding:0}.recording-active[data-v-e71d0146]{text-align:center}.recording-indicator[data-v-e71d0146]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem;color:#ef4444;font-weight:600}.recording-dot[data-v-e71d0146]{width:12px;height:12px;background:#ef4444;border-radius:50%;animation:pulse-e71d0146 1s infinite}@keyframes pulse-e71d0146{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.recording-time[data-v-e71d0146]{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.upload-progress-section[data-v-e71d0146]{text-align:center;padding:1rem;background:#f8fafc;border-radius:8px;margin:1rem 0}.upload-indicator[data-v-e71d0146]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:#374151}.upload-spinner[data-v-e71d0146]{animation:spin-e71d0146 1s linear infinite}@keyframes spin-e71d0146{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-bar[data-v-e71d0146]{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill[data-v-e71d0146]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;transition:width .3s ease}.progress-text[data-v-e71d0146]{font-size:.875rem;color:#6b7280}.recording-completed[data-v-e71d0146]{text-align:center;padding:1rem;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0;margin:1rem 0}.completed-message[data-v-e71d0146]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem;font-weight:600;color:#166534}.success-icon[data-v-e71d0146]{font-size:1.2rem}.feedback-audio-player[data-v-e71d0146]{width:100%;max-width:400px;margin:0 auto;border-radius:8px;background:#f8fafc}.recording-actions[data-v-e71d0146]{display:flex;gap:1rem;justify-content:center}.btn-disabled[data-v-e71d0146]{background-color:#d1d5db!important;color:#9ca3af!important;cursor:not-allowed!important;opacity:.6}.btn-disabled[data-v-e71d0146]:hover{background-color:#d1d5db!important;transform:none!important}.btn[data-v-e71d0146]{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-e71d0146]{background:#667eea;color:#fff}.btn-primary[data-v-e71d0146]:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.btn-secondary[data-v-e71d0146]{background:#6b7280;color:#fff}.btn-secondary[data-v-e71d0146]:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}.btn-success[data-v-e71d0146]{background:#10b981;color:#fff}.btn-success[data-v-e71d0146]:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.btn-danger[data-v-e71d0146]{background:#ef4444;color:#fff}.btn-danger[data-v-e71d0146]:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn.large[data-v-e71d0146]{padding:.75rem 1.5rem;font-size:1rem}.fullscreen-feedback-modal .feedback-manual-section .manual-title[data-v-e71d0146],.fullscreen-feedback-modal .feedback-manual-section .manual-content[data-v-e71d0146],.fullscreen-feedback-modal .feedback-manual-section .manual-content .manual-steps[data-v-e71d0146],.fullscreen-feedback-modal .feedback-manual-section .manual-content .manual-steps p[data-v-e71d0146]{text-align:left!important}.notification-settings-page[data-v-8e382db3]{max-width:1000px;margin:0 auto;padding:2rem}.page-header[data-v-8e382db3]{text-align:center;margin-bottom:3rem}.page-header h1[data-v-8e382db3]{color:#1f2937;margin-bottom:.5rem;font-size:2.5rem}.page-header p[data-v-8e382db3]{color:#6b7280;font-size:1.1rem;margin-bottom:1.5rem}.settings-description[data-v-8e382db3]{margin-bottom:3rem}.info-card[data-v-8e382db3]{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:12px;padding:2rem}.info-card h3[data-v-8e382db3]{color:#0c4a6e;margin-bottom:1rem;font-size:1.3rem}.info-card ul[data-v-8e382db3]{margin:1rem 0;padding-left:1.5rem}.info-card li[data-v-8e382db3]{color:#0c4a6e;margin-bottom:.5rem;line-height:1.5}.info-card .note[data-v-8e382db3]{color:#0c4a6e;font-style:italic;margin-top:1rem;padding:1rem;background:#ffffff80;border-radius:8px}.students-settings h2[data-v-8e382db3]{color:#1f2937;margin-bottom:2rem;font-size:1.8rem;text-align:center}.students-list[data-v-8e382db3]{display:flex;flex-direction:column;gap:2rem}.student-settings-item[data-v-8e382db3]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.student-header[data-v-8e382db3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6}.student-header h3[data-v-8e382db3]{margin:0;color:#1f2937;font-size:1.4rem}.current-setting[data-v-8e382db3]{color:#6b7280;font-size:.9rem;font-weight:600;background:#e5e7eb;padding:.5rem 1rem;border-radius:20px}.notification-options[data-v-8e382db3]{display:flex;flex-direction:column;gap:1rem}.radio-option[data-v-8e382db3]{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;transition:all .2s;background:#f9fafb}.radio-option[data-v-8e382db3]:hover{border-color:#667eea;background:#f8fafc}.radio-option input[type=radio][data-v-8e382db3]{margin-top:.25rem;width:1.2rem;height:1.2rem}.radio-label[data-v-8e382db3]{flex:1;line-height:1.5}.radio-label strong[data-v-8e382db3]{color:#1f2937;font-size:1rem}.radio-label small[data-v-8e382db3]{color:#6b7280;font-size:.85rem}.loading[data-v-8e382db3],.no-data[data-v-8e382db3]{text-align:center;padding:3rem;color:#6b7280;font-size:1.1rem}.btn[data-v-8e382db3]{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary[data-v-8e382db3]{background:#6b7280;color:#fff}.btn-secondary[data-v-8e382db3]:hover{background:#4b5563;transform:translateY(-1px)}@media (max-width: 768px){.notification-settings-page[data-v-8e382db3]{padding:1rem}.page-header h1[data-v-8e382db3]{font-size:2rem}.student-header[data-v-8e382db3]{flex-direction:column;gap:1rem;align-items:flex-start}.notification-options[data-v-8e382db3]{gap:.75rem}.radio-option[data-v-8e382db3]{padding:.75rem}.info-card[data-v-8e382db3]{padding:1.5rem}}.month-card[data-v-482e8666]{--sun-fg: #b91c1c;--sun-bg: #fee2e2;--sun-br: #fecaca;--sat-fg: #1d4ed8;--sat-bg: #dbeafe;--sat-br: #bfdbfe;--planned-fg: #6d28d9;--planned-bg: #ede9fe;--planned-br: #a78bfa;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px 12px 10px;box-shadow:0 1px 3px #0000000d}.month-title[data-v-482e8666]{font-weight:700;margin-bottom:8px;color:#1f2937;text-align:center;position:sticky;top:0;background:#fff;padding:6px 0;z-index:1;border-bottom:1px solid #f3f4f6}.weekdays[data-v-482e8666]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}.wd[data-v-482e8666]{font-size:.85rem;color:#6b7280;text-align:center;font-weight:600}.wd.sun[data-v-482e8666]{color:var(--sun-fg);font-weight:700}.wd.sat[data-v-482e8666]{color:var(--sat-fg);font-weight:700}.grid[data-v-482e8666]{display:grid;grid-template-columns:repeat(7,minmax(36px,1fr));gap:6px}.cell[data-v-482e8666]{min-height:44px;aspect-ratio:1 / 1;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1rem}.cell[data-v-482e8666]:hover:not(:disabled):not(.empty):not(.planned){filter:brightness(.97)}.cell.sun[data-v-482e8666]:not(.empty){background:var(--sun-bg);border-color:var(--sun-br);color:var(--sun-fg)}.cell.sat[data-v-482e8666]:not(.empty){background:var(--sat-bg);border-color:var(--sat-br);color:var(--sat-fg)}.cell.sun[data-v-482e8666]:not(.planned){border-style:dashed}.cell.sat[data-v-482e8666]:not(.planned){border-style:dashed}.cell.empty[data-v-482e8666]{background:transparent;border:none;cursor:default}.cell.blocked[data-v-482e8666]{opacity:.55;cursor:not-allowed}.cell.planned[data-v-482e8666]{background:var(--planned-bg)!important;border-color:var(--planned-br)!important;color:var(--planned-fg)!important;font-weight:700;border-style:solid!important;position:relative}.cell[data-v-482e8666]:disabled{cursor:not-allowed;opacity:.5}.legend[data-v-482e8666]{margin-top:8px;font-size:.85rem;color:#6b7280;display:flex;align-items:center;gap:6px}.dot[data-v-482e8666]{width:10px;height:10px;border-radius:50%}.dot.planned[data-v-482e8666]{background:var(--planned-bg);border:1px solid var(--planned-br)}.dot.sun[data-v-482e8666]{background:var(--sun-br);border:1px solid var(--sun-fg)}.dot.sat[data-v-482e8666]{background:var(--sat-br);border:1px solid var(--sat-fg)}.vacation-settings[data-v-536b03ae]{max-width:1100px;margin:0 auto;padding:16px 16px 24px;display:grid;gap:20px}h1[data-v-536b03ae]{color:#1f2937;font-size:clamp(1.25rem,2.5vw + .5rem,1.5rem);line-height:1.25;margin-bottom:.5rem;font-weight:700}h2[data-v-536b03ae]{color:#374151;font-size:clamp(1.125rem,1.5vw + .75rem,1.25rem);line-height:1.3;margin:0 0 1rem}.actions[data-v-536b03ae]{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.hint[data-v-536b03ae]{color:#6b7280;font-size:.9rem;line-height:1.4}.calendar-row[data-v-536b03ae]{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 640px){.calendar-row[data-v-536b03ae]{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1100px){.calendar-row[data-v-536b03ae]{grid-template-columns:repeat(3,1fr)}}.card[data-v-536b03ae]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;box-shadow:0 1px 3px #0000000d}.form-row[data-v-536b03ae]{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}@media (min-width: 720px){.form-row[data-v-536b03ae]{grid-template-columns:repeat(2,1fr)}}.form-row label[data-v-536b03ae]{flex:1;display:flex;flex-direction:column;gap:4px;font-weight:600;color:#374151}form label[data-v-536b03ae]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-weight:600;color:#374151}.form-input[data-v-536b03ae]{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;line-height:1.25}input[type=date][data-v-536b03ae]{min-height:44px}input[type=text][data-v-536b03ae]{min-height:44px;autocomplete:off;autocapitalize:none}.btn[data-v-536b03ae]{padding:8px 16px;min-height:44px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-weight:600;transition:all .2s}.btn[data-v-536b03ae]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn[data-v-536b03ae]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-536b03ae]{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn.danger[data-v-536b03ae]{background:#ef4444;border-color:#ef4444;color:#fff;font-size:.85rem;padding:6px 12px}.muted[data-v-536b03ae]{color:#6b7280;text-align:center;padding:2rem}.list[data-v-536b03ae]{display:grid;gap:8px}.row[data-v-536b03ae]{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#f9fafb}@media (max-width: 480px){.row[data-v-536b03ae]{grid-template-columns:1fr;gap:10px}}.reason-text[data-v-536b03ae]{color:#6b7280;font-size:.9rem;font-style:italic;margin-left:8px}.tag[data-v-536b03ae]{margin-left:8px;background:#e5e7eb;color:#374151;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:600}.row-actions[data-v-536b03ae]{display:flex;gap:8px}.skeleton-months[data-v-536b03ae]{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width: 640px){.skeleton-months[data-v-536b03ae]{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1100px){.skeleton-months[data-v-536b03ae]{grid-template-columns:repeat(3,1fr)}}.skeleton-month[data-v-536b03ae]{border:1px solid #eee;border-radius:12px;padding:12px}.skeleton-title[data-v-536b03ae]{height:16px;background:#eee;border-radius:6px;margin:0 auto 8px;width:60%;animation:skeleton-pulse-536b03ae 1.5s ease-in-out infinite}.skeleton-grid[data-v-536b03ae]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.skeleton-cell[data-v-536b03ae]{aspect-ratio:1 / 1;min-height:44px;background:#f2f2f2;border-radius:8px;animation:skeleton-pulse-536b03ae 1.5s ease-in-out infinite}@keyframes skeleton-pulse-536b03ae{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 960px){.vacation-settings[data-v-536b03ae]{padding:12px}}.toast[data-v-536b03ae]{position:fixed;top:80px;right:20px;max-width:400px;padding:14px 18px;border-radius:8px;box-shadow:0 4px 12px #00000026;font-weight:600;z-index:9999;animation:toast-slide-in-536b03ae .3s ease-out}@keyframes toast-slide-in-536b03ae{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast.info[data-v-536b03ae]{background:#dbeafe;color:#1e40af;border-left:4px solid #3b82f6}.toast.success[data-v-536b03ae]{background:#dcfce7;color:#166534;border-left:4px solid #059669}.toast.error[data-v-536b03ae]{background:#fee2e2;color:#991b1b;border-left:4px solid #dc2626}@media (max-width: 480px){.toast[data-v-536b03ae]{top:60px;right:10px;left:10px;max-width:none}}.instructor-history[data-v-80f44342]{max-width:900px;margin:0 auto;padding:1rem 1rem 5rem}h1[data-v-80f44342]{font-size:1.5rem;margin-bottom:.5rem;color:#1f2937}.page-description[data-v-80f44342]{color:#6b7280;font-size:.9rem;margin-bottom:1.5rem}.loading[data-v-80f44342]{text-align:center;padding:2rem;color:#6b7280}.summary-cards[data-v-80f44342]{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.summary-card[data-v-80f44342]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem 1.5rem;min-width:140px;box-shadow:0 1px 3px #0000000d}.summary-label[data-v-80f44342]{display:block;font-size:.8rem;color:#6b7280;margin-bottom:.25rem}.summary-value[data-v-80f44342]{font-size:1.25rem;font-weight:700;color:#1f2937}.filters[data-v-80f44342]{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.filter-item[data-v-80f44342]{display:flex;align-items:center;gap:.5rem}.filter-label[data-v-80f44342]{font-size:.9rem;color:#374151}.filter-select[data-v-80f44342]{padding:.4rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff}.history-table-wrap[data-v-80f44342]{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d}.history-table[data-v-80f44342]{width:100%;border-collapse:collapse;font-size:.95rem}.history-table th[data-v-80f44342],.history-table td[data-v-80f44342]{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #f3f4f6}.history-table th[data-v-80f44342]{background:#f9fafb;color:#374151;font-weight:600}.history-table th.num[data-v-80f44342],.history-table td.num[data-v-80f44342]{text-align:right}.history-table tbody tr[data-v-80f44342]:hover{background:#f9fafb}.history-table .empty[data-v-80f44342]{text-align:center;color:#9ca3af;padding:2rem}.data-row td[data-v-80f44342]:first-child{white-space:nowrap}.instructor-mypage[data-v-842375a6]{max-width:560px;margin:0 auto;padding:1rem 1rem 5rem}h1[data-v-842375a6]{font-size:1.5rem;margin-bottom:1.5rem;color:#1f2937}.error-banner[data-v-842375a6]{background:#fef2f2;color:#b91c1c;padding:1rem;border-radius:8px;margin-bottom:1rem}.card[data-v-842375a6]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000d}.card h2[data-v-842375a6]{font-size:1.1rem;margin:0 0 .5rem;color:#374151}.section-desc[data-v-842375a6]{font-size:.875rem;color:#6b7280;margin:0 0 1rem;line-height:1.5}.form[data-v-842375a6]{margin-top:.5rem}.form-label[data-v-842375a6]{display:block;margin-bottom:.75rem}.form-label span[data-v-842375a6]{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.form-input[data-v-842375a6]{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;box-sizing:border-box}.form-input[data-v-842375a6]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.btn[data-v-842375a6]{padding:.6rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;border:none}.btn[data-v-842375a6]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-842375a6]{background:#3b82f6;color:#fff}.btn-primary[data-v-842375a6]:hover:not(:disabled){background:#2563eb}.btn-secondary[data-v-842375a6]{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary[data-v-842375a6]:hover:not(:disabled){background:#e5e7eb}.btn-danger[data-v-842375a6]{background:#ef4444;color:#fff}.btn-danger[data-v-842375a6]:hover{background:#dc2626}.logout-section[data-v-842375a6]{margin-bottom:1.5rem}.logout-btn[data-v-842375a6]{width:100%;padding:.75rem}.form-message[data-v-842375a6]{margin:.75rem 0 0;font-size:.875rem}.form-message.success[data-v-842375a6]{color:#059669}.form-message.error[data-v-842375a6]{color:#dc2626}.billing-page[data-v-a94ffb77]{max-width:640px;margin:2rem auto;padding:0 1rem;text-align:left}.desc[data-v-a94ffb77]{color:#556}.card[data-v-a94ffb77]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;margin-top:1rem;box-shadow:0 1px 2px #0000000f}.price[data-v-a94ffb77]{font-weight:600;margin:.25rem 0 1rem}.promo-note[data-v-a94ffb77]{color:#667085;font-size:.9rem;margin:0 0 .5rem}.btn[data-v-a94ffb77]{background:#635bff;color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer}.btn[data-v-a94ffb77]:disabled{opacity:.6;cursor:not-allowed}.note[data-v-a94ffb77]{color:#667085;font-size:.85rem;margin-top:.75rem}.signup-success[data-v-169a0d1e]{max-width:640px;margin:2rem auto;padding:0 1rem;text-align:center}.actions[data-v-169a0d1e]{margin-top:1rem}a[data-v-169a0d1e]{color:#635bff;text-decoration:underline}.signup-complete[data-v-97f05c7e]{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1.5rem}.card[data-v-97f05c7e]{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;padding:1.5rem;width:100%;max-width:520px}.title[data-v-97f05c7e]{font-size:1.2rem;color:#333;margin-bottom:1rem;font-weight:600}.step-desc[data-v-97f05c7e]{font-size:.9rem;color:#555;margin-bottom:1rem;line-height:1.5}.form-section[data-v-97f05c7e]{margin-bottom:1.25rem}.form-section h4[data-v-97f05c7e]{font-size:1rem;color:#333;margin-bottom:.6rem}.form-group[data-v-97f05c7e]{margin-bottom:.75rem}.form-group label[data-v-97f05c7e]{display:block;font-weight:500;color:#555;font-size:.9rem;margin-bottom:.25rem}.required[data-v-97f05c7e]{color:#c00}.form-input[data-v-97f05c7e]{width:100%;padding:.6rem;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;box-sizing:border-box}.form-input[data-v-97f05c7e]:focus{outline:none;border-color:#667eea}.hint[data-v-97f05c7e]{font-size:.85rem;color:#666;margin-bottom:.5rem}.validation-error[data-v-97f05c7e]{font-size:.85rem;color:#c00;margin-top:-.25rem;margin-bottom:.5rem}.payment-info ul[data-v-97f05c7e]{margin:0;padding-left:1.2rem;font-size:.9rem;color:#555;line-height:1.6}.checkbox-label[data-v-97f05c7e]{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.checkbox-input[data-v-97f05c7e]{margin-top:.2rem}.checkbox-text[data-v-97f05c7e]{font-size:.9rem;color:#555}.link[data-v-97f05c7e]{color:#2563eb;text-decoration:underline;font-weight:500}.link[data-v-97f05c7e]:hover{color:#1d4ed8}.btn[data-v-97f05c7e]{width:100%;padding:.8rem 1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.btn[data-v-97f05c7e]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-97f05c7e]{background:#667eea;color:#fff}.btn-primary[data-v-97f05c7e]:hover:not(:disabled){background:#5a6fd8}.message-box[data-v-97f05c7e]{padding:1rem;border-radius:8px;margin-bottom:1rem;font-size:.95rem;line-height:1.5}.message-box.error[data-v-97f05c7e]{background:#fee;color:#c00;border:1px solid #fcc}.message-box.info[data-v-97f05c7e]{background:#e8f4fd;color:#055;border:1px solid #b8daff}.message-box p[data-v-97f05c7e]{margin:0}.group-creator[data-v-f925d5d5]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-top:2rem;box-shadow:0 2px 4px #0000001a}.creator-header[data-v-f925d5d5]{margin-bottom:1.5rem;text-align:center}.creator-header h3[data-v-f925d5d5]{color:#1f2937;font-size:1.25rem;margin-bottom:.5rem}.creator-subtitle[data-v-f925d5d5]{color:#6b7280;font-size:.9rem}.creator-form[data-v-f925d5d5]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-f925d5d5]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-f925d5d5]{font-weight:500;color:#374151;font-size:.9rem}.form-input[data-v-f925d5d5],.form-textarea[data-v-f925d5d5]{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-input[data-v-f925d5d5]:focus,.form-textarea[data-v-f925d5d5]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input[data-v-f925d5d5]:disabled,.form-textarea[data-v-f925d5d5]:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.form-textarea[data-v-f925d5d5]{resize:vertical;min-height:80px}.form-actions[data-v-f925d5d5]{display:flex;gap:.75rem;justify-content:center;margin-top:.5rem}.btn[data-v-f925d5d5]{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:120px}.btn[data-v-f925d5d5]:disabled{opacity:.5;cursor:not-allowed}.btn-create[data-v-f925d5d5]{background:#10b981;color:#fff}.btn-create[data-v-f925d5d5]:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.btn-cancel[data-v-f925d5d5]{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-cancel[data-v-f925d5d5]:hover:not(:disabled){background:#e5e7eb}.btn-dismiss[data-v-f925d5d5]{background:#ef4444;color:#fff;padding:.5rem 1rem;font-size:.8rem;min-width:auto}.btn-dismiss[data-v-f925d5d5]:hover{background:#dc2626}.success-message[data-v-f925d5d5],.error-message[data-v-f925d5d5]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:6px;margin-top:1rem;animation:slideIn-f925d5d5 .3s ease-out}.success-message[data-v-f925d5d5]{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.error-message[data-v-f925d5d5]{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.success-icon[data-v-f925d5d5],.error-icon[data-v-f925d5d5]{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}.success-text[data-v-f925d5d5],.error-text[data-v-f925d5d5]{flex:1}.success-text strong[data-v-f925d5d5],.error-text strong[data-v-f925d5d5]{display:block;margin-bottom:.25rem}.success-text p[data-v-f925d5d5],.error-text p[data-v-f925d5d5]{margin:0;font-size:.9rem;opacity:.8}@keyframes slideIn-f925d5d5{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.group-creator[data-v-f925d5d5]{padding:1rem}.form-actions[data-v-f925d5d5]{flex-direction:column}.btn[data-v-f925d5d5]{width:100%}}.admin-assignments[data-v-541bd982]{max-width:1400px;margin:0 auto;padding:2rem}.header[data-v-541bd982]{margin-bottom:2rem;text-align:center}.header h1[data-v-541bd982]{color:#1f2937;font-size:2rem;margin-bottom:.5rem}.subtitle[data-v-541bd982]{color:#6b7280;font-size:1rem}.filters-section[data-v-541bd982]{background:#f9fafb;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.filter-row[data-v-541bd982]{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.search-input[data-v-541bd982],.page-size-selector[data-v-541bd982]{flex:1;min-width:200px}.filter-toggle[data-v-541bd982]{flex-shrink:0}.checkbox-label[data-v-541bd982]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.stats-section[data-v-541bd982]{display:flex;gap:1rem;margin-bottom:2rem}.stat-card[data-v-541bd982]{flex:1;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-number[data-v-541bd982]{font-size:2rem;font-weight:700;color:#3b82f6;margin-bottom:.5rem}.stat-label[data-v-541bd982]{color:#6b7280;font-size:.9rem}.table-section[data-v-541bd982]{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;margin-bottom:2rem}.loading[data-v-541bd982],.no-data[data-v-541bd982]{padding:3rem;text-align:center;color:#6b7280}.spinner[data-v-541bd982]{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #3b82f6;border-radius:50%;animation:spin-541bd982 1s linear infinite;margin:0 auto 1rem}@keyframes spin-541bd982{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-container[data-v-541bd982]{overflow-x:auto}.assignments-table[data-v-541bd982]{width:100%;border-collapse:collapse}.assignments-table th[data-v-541bd982]{background:#f9fafb;padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.assignments-table td[data-v-541bd982]{padding:1rem;border-bottom:1px solid #e5e7eb;vertical-align:top}.table-row[data-v-541bd982]:hover{background:#f9fafb}.col-index[data-v-541bd982]{width:60px}.col-student[data-v-541bd982]{width:200px}.col-instructor[data-v-541bd982]{width:250px}.col-group[data-v-541bd982]{width:150px}.col-note[data-v-541bd982]{width:200px}.col-actions[data-v-541bd982]{width:120px}.student-info[data-v-541bd982]{line-height:1.4}.student-name[data-v-541bd982]{font-weight:600;color:#1f2937}.student-kana[data-v-541bd982]{font-size:.8rem;color:#6b7280;margin-top:.25rem}.student-id[data-v-541bd982]{font-size:.7rem;color:#9ca3af;margin-top:.25rem}.form-input[data-v-541bd982],.form-select[data-v-541bd982]{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.9rem}.form-input[data-v-541bd982]:focus,.form-select[data-v-541bd982]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.instructor-select.required[data-v-541bd982]{border-color:#ef4444}.note-input[data-v-541bd982]{font-size:.8rem}.btn[data-v-541bd982]{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn[data-v-541bd982]:disabled{opacity:.5;cursor:not-allowed}.btn-save[data-v-541bd982]{background:#10b981;color:#fff}.btn-save[data-v-541bd982]:hover:not(:disabled){background:#059669}.pagination-section[data-v-541bd982]{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.pagination-info[data-v-541bd982]{color:#6b7280;font-size:.9rem}.pagination-controls[data-v-541bd982]{display:flex;align-items:center;gap:.5rem}.btn-pagination[data-v-541bd982]{background:#f3f4f6;color:#374151;padding:.5rem 1rem}.btn-pagination[data-v-541bd982]:hover:not(:disabled){background:#e5e7eb}.page-numbers[data-v-541bd982]{display:flex;gap:.25rem}.btn-page[data-v-541bd982]{background:#f3f4f6;color:#374151;padding:.5rem .75rem;min-width:40px}.btn-page[data-v-541bd982]:hover{background:#e5e7eb}.btn-page.active[data-v-541bd982]{background:#3b82f6;color:#fff}.page-ellipsis[data-v-541bd982]{padding:.5rem .75rem;min-width:40px;text-align:center;color:#9ca3af;-webkit-user-select:none;user-select:none}.bulk-bar[data-v-541bd982]{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.bulk-info[data-v-541bd982]{font-weight:600;color:#92400e}.btn-danger[data-v-541bd982]{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500}.btn-danger[data-v-541bd982]:hover:not(:disabled){background:#b91c1c}.btn-danger[data-v-541bd982]:disabled{background:#9ca3af;cursor:not-allowed}.col-select[data-v-541bd982]{width:40px;text-align:center}.col-select input[type=checkbox][data-v-541bd982]{transform:scale(1.2)}.disabled-label[data-v-541bd982]{color:#9ca3af;cursor:not-allowed}.action-buttons[data-v-541bd982]{display:flex;gap:.5rem;align-items:center}.action-buttons .btn[data-v-541bd982]{padding:.375rem .75rem;font-size:.875rem}.student-info.row-assigned[data-v-541bd982]{background:#f9fafb;border-radius:6px;padding:.25rem .5rem}.assignment-badge[data-v-541bd982]{display:inline-block;margin-top:.25rem;padding:.1rem .4rem;border-radius:9999px;font-size:.75rem}.assignment-badge.assigned[data-v-541bd982]{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}.assignment-badge.unassigned[data-v-541bd982]{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn-page.ellipsis[data-v-541bd982]:hover{background:transparent;transform:none}@media (max-width: 768px){.admin-assignments[data-v-541bd982]{padding:1rem}.filter-row[data-v-541bd982]{flex-direction:column;align-items:stretch}.stats-section[data-v-541bd982]{flex-direction:column}.pagination-section[data-v-541bd982]{flex-direction:column;gap:1rem}.pagination-controls[data-v-541bd982]{justify-content:center}}.holiday-admin[data-v-9201e202]{max-width:1400px;margin:0 auto;padding:1rem;background:#f8fafc;min-height:100vh}.admin-header[data-v-9201e202]{text-align:center;margin-bottom:2rem;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.admin-header h2[data-v-9201e202]{color:#1f2937;margin-bottom:1rem;font-size:1.8rem}.year-selector-container[data-v-9201e202]{display:flex;align-items:center;justify-content:center;gap:.75rem}.year-selector-container label[data-v-9201e202]{font-weight:600;color:#374151;font-size:1rem}.year-selector[data-v-9201e202]{font-size:1rem;padding:.5rem 1rem;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;transition:all .2s ease}.year-selector[data-v-9201e202]:hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.year-selector[data-v-9201e202]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width: 768px){.holiday-admin[data-v-9201e202]{padding:.5rem}.admin-header[data-v-9201e202]{padding:1.5rem 1rem}.admin-header h2[data-v-9201e202]{font-size:1.5rem}.year-selector-container[data-v-9201e202]{flex-direction:column;gap:.5rem}}.manager-layout[data-v-8e649367]{min-height:100vh;background:#f1f5f9}.manager-header[data-v-8e649367]{background:#1e293b;color:#f8fafc;border-bottom:2px solid #334155;box-shadow:0 2px 4px #0003;position:sticky;top:0;z-index:100}.header-content[data-v-8e649367]{max-width:1200px;margin:0 auto;padding:1rem;display:flex;justify-content:space-between;align-items:center}.header-left[data-v-8e649367]{display:flex;align-items:center;gap:1.5rem}.header-left .logo[data-v-8e649367]{margin:0;font-size:1.25rem;font-weight:700}.manager-nav[data-v-8e649367]{display:flex;gap:.5rem}.manager-nav .nav-link[data-v-8e649367]{color:#94a3b8;text-decoration:none;padding:.35rem .75rem;border-radius:6px;font-size:.9rem}.manager-nav .nav-link[data-v-8e649367]:hover{color:#f1f5f9}.manager-nav .nav-link.active[data-v-8e649367]{color:#f1f5f9;background:#ffffff1a}.header-right .user-info[data-v-8e649367]{display:flex;align-items:center;gap:1rem}.user-display[data-v-8e649367]{font-size:.9rem;font-weight:500;color:#cbd5e1}.manager-main[data-v-8e649367]{max-width:1200px;margin:0 auto;padding:1.5rem}@media (max-width: 768px){.header-content[data-v-8e649367]{flex-direction:column;gap:1rem;text-align:center}.header-left .logo[data-v-8e649367]{font-size:1.1rem}}.manager-dashboard[data-v-bd7b065d]{padding:0}.page-title[data-v-bd7b065d]{margin:0 0 .5rem;font-size:1.5rem;color:#1e293b}.dashboard-links[data-v-bd7b065d]{margin:0 0 1.5rem}.dashboard-links .link[data-v-bd7b065d]{color:#2563eb;text-decoration:none}.dashboard-links .link[data-v-bd7b065d]:hover{text-decoration:underline}.quick-links-section[data-v-bd7b065d],.holidays-section[data-v-bd7b065d]{margin-bottom:2rem}.quick-links-card[data-v-bd7b065d]{padding:1rem 1.25rem}.quick-links-list[data-v-bd7b065d]{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.quick-link[data-v-bd7b065d]{color:#2563eb;text-decoration:none;font-size:1rem}.quick-link[data-v-bd7b065d]:hover{text-decoration:underline}.holidays-card[data-v-bd7b065d]{padding:1.25rem}.holidays-desc[data-v-bd7b065d]{margin:0 0 1rem;color:#64748b;font-size:.9rem;line-height:1.5}.holidays-desc code[data-v-bd7b065d]{background:#f1f5f9;padding:.15rem .4rem;border-radius:4px;font-size:.85em}.holidays-link-row[data-v-bd7b065d]{margin:0}.holidays-link-row .btn[data-v-bd7b065d]{display:inline-block;padding:.5rem 1rem;border-radius:6px;background:#e2e8f0;color:#334155;text-decoration:none;font-size:.9rem;border:1px solid #cbd5e1}.holidays-link-row .btn[data-v-bd7b065d]:hover{background:#cbd5e1}.summary-section[data-v-bd7b065d]{margin-bottom:2rem}.summary-loading[data-v-bd7b065d]{padding:1.5rem;text-align:center;color:#64748b}.summary-cards[data-v-bd7b065d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.summary-card[data-v-bd7b065d]{background:#fff;border-radius:8px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:.25rem}.summary-card .summary-label[data-v-bd7b065d]{font-size:.8rem;color:#64748b}.summary-card .summary-value[data-v-bd7b065d]{font-size:1.75rem;font-weight:700;color:#1e293b}.summary-card .summary-unit[data-v-bd7b065d]{font-size:.85rem;color:#475569}.summary-card .summary-meta[data-v-bd7b065d]{font-size:.75rem;color:#94a3b8}.summary-note[data-v-bd7b065d]{margin-top:.5rem;font-size:.8rem;color:#94a3b8}.manager-section[data-v-bd7b065d]{margin-bottom:2rem}.section-title[data-v-bd7b065d]{margin:0 0 .5rem;font-size:1.25rem;color:#334155}.section-desc[data-v-bd7b065d]{margin:0 0 1rem;color:#64748b;font-size:.9rem}.card[data-v-bd7b065d]{background:#fff;border-radius:8px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.card h4[data-v-bd7b065d]{margin:0 0 1rem;font-size:1rem;color:#475569}.form-row[data-v-bd7b065d]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.form-group[data-v-bd7b065d]{margin-bottom:1rem}.form-group label[data-v-bd7b065d]{display:block;margin-bottom:.25rem;font-size:.875rem;color:#64748b}.form-input[data-v-bd7b065d]{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;min-width:200px}.form-message[data-v-bd7b065d]{margin:.75rem 0 0;font-size:.875rem;color:#059669}.form-message.error[data-v-bd7b065d]{color:#dc2626}.btn[data-v-bd7b065d]{padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;border:1px solid transparent}.btn[data-v-bd7b065d]:disabled{opacity:.6;cursor:not-allowed}.btn-sm[data-v-bd7b065d]{padding:.35rem .75rem;font-size:.875rem}.btn-primary[data-v-bd7b065d]{background:#2563eb;color:#fff}.btn-secondary[data-v-bd7b065d]{background:#e2e8f0;color:#475569}.btn-danger[data-v-bd7b065d]{background:#dc2626;color:#fff}.empty-state[data-v-bd7b065d]{color:#94a3b8;font-size:.9rem;padding:1rem 0}.bypass-list[data-v-bd7b065d]{list-style:none;margin:1rem 0 0;padding:0}.bypass-item[data-v-bd7b065d]{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.bypass-item[data-v-bd7b065d]:last-child{border-bottom:none}.bypass-email[data-v-bd7b065d]{font-weight:500;min-width:200px}.bypass-name[data-v-bd7b065d]{color:#64748b;font-size:.9rem}@media (max-width: 768px){.form-row[data-v-bd7b065d]{flex-direction:column;align-items:stretch}.form-input[data-v-bd7b065d]{min-width:0}}.manager-instructors[data-v-83f640a9]{padding:0}.page-title[data-v-83f640a9]{margin:0 0 .5rem;font-size:1.5rem;color:#1e293b}.page-desc[data-v-83f640a9]{margin:0 0 1.5rem;color:#64748b;font-size:.9rem}.manager-section[data-v-83f640a9]{margin-bottom:2rem}.section-title[data-v-83f640a9]{margin:0 0 .75rem;font-size:1.25rem;color:#334155}.card[data-v-83f640a9]{background:#fff;border-radius:8px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.card h4[data-v-83f640a9]{margin:0 0 .75rem;font-size:1rem;color:#475569}.export-card .filters[data-v-83f640a9]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.export-card .filter-item[data-v-83f640a9]{display:flex;flex-direction:column;gap:.25rem}.export-card .filter-label[data-v-83f640a9]{font-size:.85rem;color:#64748b;font-weight:500}.export-card .form-input[data-v-83f640a9]{padding:.4rem .6rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem;width:100px}.export-note[data-v-83f640a9]{margin:.75rem 0 0;font-size:.85rem;color:#64748b}.btn-primary[data-v-83f640a9]{background:#3b82f6;color:#fff;border:1px solid #3b82f6;padding:.4rem .9rem;border-radius:6px;font-size:.9rem;cursor:pointer}.btn-primary[data-v-83f640a9]:disabled{opacity:.6;cursor:not-allowed}.toolbar[data-v-83f640a9]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.rate-note[data-v-83f640a9]{font-size:.875rem;color:#64748b}.loading-state[data-v-83f640a9],.empty-state[data-v-83f640a9]{padding:1.5rem;text-align:center;color:#64748b}.table-wrap[data-v-83f640a9]{overflow-x:auto}.data-table[data-v-83f640a9]{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th[data-v-83f640a9],.data-table td[data-v-83f640a9]{padding:.5rem .75rem;border-bottom:1px solid #e2e8f0;text-align:left}.data-table th.num[data-v-83f640a9],.data-table td.num[data-v-83f640a9]{text-align:right}.data-table thead th[data-v-83f640a9]{background:#f8fafc;color:#475569;font-weight:600}.data-row[data-v-83f640a9]:hover{background:#f8fafc}.profile-card .profile-email[data-v-83f640a9]{margin:.25rem 0 0;font-size:.9rem;color:#64748b}.detail-section .card[data-v-83f640a9]{margin-bottom:1.5rem}.btn-play[data-v-83f640a9]{font-size:.8rem}.btn.active[data-v-83f640a9]{background:#334155;color:#f1f5f9}.no-audio[data-v-83f640a9]{color:#94a3b8}.feedback-audio-player[data-v-83f640a9]{margin-top:1rem;width:100%;max-width:400px}.feedback-list-wrap[data-v-83f640a9]{max-height:400px;overflow-y:auto}.manager-submissions[data-v-d7d64520]{padding:0}.page-title[data-v-d7d64520]{margin:0 0 .5rem;font-size:1.5rem;color:#1e293b}.page-desc[data-v-d7d64520]{margin:0 0 1.5rem;color:#64748b;font-size:.9rem}.manager-section[data-v-d7d64520]{margin-bottom:2rem}.section-title[data-v-d7d64520]{margin:0 0 .75rem;font-size:1.1rem;color:#334155}.card[data-v-d7d64520]{background:#fff;border-radius:8px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.filters[data-v-d7d64520]{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-item[data-v-d7d64520]{display:flex;flex-direction:column;gap:.25rem}.filter-label[data-v-d7d64520]{font-size:.8rem;color:#64748b}.form-select[data-v-d7d64520],.form-input[data-v-d7d64520]{padding:.4rem .6rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem}.toolbar[data-v-d7d64520]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.total-note[data-v-d7d64520]{font-size:.9rem;color:#64748b}.loading-state[data-v-d7d64520],.empty-state[data-v-d7d64520]{padding:2rem;text-align:center;color:#64748b}.table-wrap[data-v-d7d64520]{overflow-x:auto}.submissions-table-wrap[data-v-d7d64520]{max-height:70vh;overflow-y:auto}.data-table[data-v-d7d64520]{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th[data-v-d7d64520],.data-table td[data-v-d7d64520]{padding:.5rem .6rem;border-bottom:1px solid #e2e8f0;text-align:left}.data-table th.num[data-v-d7d64520],.data-table td.num[data-v-d7d64520]{text-align:right}.data-table thead th[data-v-d7d64520]{background:#f8fafc;color:#475569;font-weight:600;position:sticky;top:0;z-index:1}.data-row[data-v-d7d64520]:hover{background:#f8fafc}.type-badge[data-v-d7d64520],.status-badge[data-v-d7d64520]{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem}.type-badge.assignment[data-v-d7d64520]{background:#dbeafe;color:#1e40af}.type-badge.practice[data-v-d7d64520]{background:#dcfce7;color:#166534}.status-badge.submitted[data-v-d7d64520]{background:#fef3c7;color:#92400e}.status-badge.feedback_pending[data-v-d7d64520]{background:#e0e7ff;color:#3730a3}.status-badge.feedback_completed[data-v-d7d64520]{background:#d1fae5;color:#065f46}.btn-play[data-v-d7d64520]{font-size:.8rem}.no-audio[data-v-d7d64520]{color:#94a3b8}.load-more[data-v-d7d64520]{margin-top:1rem;text-align:center}.feedback-audio-player[data-v-d7d64520]{margin-top:1rem;width:100%;max-width:400px}.data-table th.action[data-v-d7d64520],.data-table td.action[data-v-d7d64520]{white-space:nowrap}.btn-reply[data-v-d7d64520]{font-size:.8rem}.no-action[data-v-d7d64520]{color:#94a3b8}.fullscreen-feedback-modal[data-v-d7d64520]{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:2000;overflow:hidden}.fullscreen-modal-enter-active[data-v-d7d64520]{transition:all .3s ease-out}.fullscreen-modal-leave-active[data-v-d7d64520]{transition:all .2s ease-in}.fullscreen-modal-enter-from[data-v-d7d64520]{transform:scale(.8);opacity:0}.fullscreen-modal-leave-to[data-v-d7d64520]{transform:scale(.9);opacity:0}.fullscreen-content[data-v-d7d64520]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#f8fafc}.close-btn[data-v-d7d64520]{position:absolute;top:1rem;right:1rem;background:#ef4444;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;z-index:3000}.close-btn[data-v-d7d64520]:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.lock-timer-bar[data-v-d7d64520]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin:0 1rem;border-radius:8px;font-weight:600;flex-shrink:0}.lock-timer-bar.timer-normal[data-v-d7d64520]{background:#dcfce7;color:#166534}.lock-timer-bar.timer-warning[data-v-d7d64520]{background:#fef3c7;color:#92400e}.lock-timer-bar.timer-danger[data-v-d7d64520]{background:#fee2e2;color:#991b1b}.lock-timer-value[data-v-d7d64520]{font-variant-numeric:tabular-nums}.lock-timer-warning[data-v-d7d64520]{font-size:.8125rem;margin-left:auto}.feedback-screen[data-v-d7d64520]{flex:1 1 auto;overflow-y:auto;padding:0 1rem 1rem;max-width:1200px;margin:0 auto;width:100%}.feedback-header-mobile[data-v-d7d64520]{padding:.5rem 72px 1rem .75rem;margin-bottom:1rem;border-bottom:2px solid #f3f4f6}.student-name-line[data-v-d7d64520]{font-size:1.3rem;font-weight:700;color:#1f2937}.assignment-line[data-v-d7d64520]{font-size:1.1rem;font-weight:700;color:#3b82f6}.feedback-sections[data-v-d7d64520]{display:flex;flex-direction:column;gap:1.5rem}.manual-title[data-v-d7d64520]{margin:0 0 .5rem;font-size:1rem}.manual-content .manual-steps[data-v-d7d64520]{margin:0}.manual-content .manual-steps p[data-v-d7d64520]{margin:.5rem 0;font-size:.9rem;color:#475569}.feedback-section[data-v-d7d64520]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.feedback-controls-section[data-v-d7d64520]{margin-top:.5rem}.submitted-audio-title[data-v-d7d64520]{margin:0 0 .5rem;font-size:1rem}.submitted-audio-section[data-v-d7d64520]{margin-top:.5rem}.audio-slot[data-v-d7d64520]{padding:.5rem 0;color:#64748b}.audio-player-section[data-v-d7d64520]{margin-top:.5rem}.fullscreen-audio-player[data-v-d7d64520]{width:100%;max-width:400px}.recording-start[data-v-d7d64520]{margin-top:1rem}.recording-active[data-v-d7d64520]{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.recording-indicator[data-v-d7d64520]{display:flex;align-items:center;gap:.5rem}.recording-dot[data-v-d7d64520]{width:10px;height:10px;background:#ef4444;border-radius:50%;animation:pulse-d7d64520 1s infinite}@keyframes pulse-d7d64520{50%{opacity:.5}}.upload-progress-section[data-v-d7d64520]{margin-top:1rem}.upload-indicator[data-v-d7d64520]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.progress-bar[data-v-d7d64520]{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill[data-v-d7d64520]{height:100%;background:#3b82f6;transition:width .2s}.progress-text[data-v-d7d64520]{font-size:.85rem;color:#64748b;margin-top:.25rem}.recording-completed[data-v-d7d64520]{margin-top:1rem}.completed-message[data-v-d7d64520]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.success-icon[data-v-d7d64520]{font-size:1.25rem}.recording-actions[data-v-d7d64520]{display:flex;gap:1rem;margin-top:1rem}.btn.large[data-v-d7d64520]{padding:.75rem 1.5rem;font-size:1rem}.manager-feedback-playbacks[data-v-e4f893dc]{padding:0}.page-title[data-v-e4f893dc]{margin:0 0 .5rem;font-size:1.5rem;color:#1e293b}.page-desc[data-v-e4f893dc]{margin:0 0 1.5rem;color:#64748b;font-size:.9rem}.manager-section[data-v-e4f893dc]{margin-bottom:2rem}.section-title[data-v-e4f893dc]{margin:0 0 .75rem;font-size:1.25rem;color:#334155}.card[data-v-e4f893dc]{background:#fff;border-radius:8px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.filters[data-v-e4f893dc]{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-item[data-v-e4f893dc]{display:flex;flex-direction:column;gap:.25rem}.filter-label[data-v-e4f893dc]{font-size:.8rem;color:#64748b}.form-input[data-v-e4f893dc]{padding:.4rem .6rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem}.toolbar[data-v-e4f893dc]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.note[data-v-e4f893dc],.total-note[data-v-e4f893dc]{font-size:.9rem;color:#64748b}.loading-state[data-v-e4f893dc],.empty-state[data-v-e4f893dc]{padding:2rem;text-align:center;color:#64748b}.table-wrap[data-v-e4f893dc]{overflow-x:auto}.events-table-wrap[data-v-e4f893dc]{max-height:50vh;overflow-y:auto}.data-table[data-v-e4f893dc]{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th[data-v-e4f893dc],.data-table td[data-v-e4f893dc]{padding:.5rem .6rem;border-bottom:1px solid #e2e8f0;text-align:left}.data-table th.num[data-v-e4f893dc],.data-table td.num[data-v-e4f893dc]{text-align:right}.data-table thead th[data-v-e4f893dc]{background:#f8fafc;color:#475569;font-weight:600;position:sticky;top:0;z-index:1}.data-row[data-v-e4f893dc]:hover{background:#f8fafc}.event-badge[data-v-e4f893dc]{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem}.event-badge.play_started[data-v-e4f893dc]{background:#dbeafe;color:#1e40af}.event-badge.play_ended[data-v-e4f893dc]{background:#d1fae5;color:#065f46}.load-more[data-v-e4f893dc]{margin-top:1rem;text-align:center}.manager-users[data-v-9dc54c06]{padding:0}.page-title[data-v-9dc54c06]{margin:0 0 .5rem;font-size:1.5rem;color:#1e293b}.page-desc[data-v-9dc54c06]{margin:0 0 1.5rem;color:#64748b;font-size:.9rem}.manager-section[data-v-9dc54c06]{margin-bottom:2rem}.section-title[data-v-9dc54c06]{margin:0 0 .75rem;font-size:1.1rem;color:#334155}.card[data-v-9dc54c06]{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.filters[data-v-9dc54c06]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.filter-item[data-v-9dc54c06]{display:flex;flex-direction:column;gap:.25rem}.filter-label[data-v-9dc54c06]{font-size:.85rem;color:#64748b;font-weight:500}.filter-search .form-input[data-v-9dc54c06]{min-width:200px}.form-select[data-v-9dc54c06],.form-input[data-v-9dc54c06]{padding:.4rem .6rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem}.toolbar[data-v-9dc54c06]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.total-note[data-v-9dc54c06]{font-size:.9rem;color:#64748b}.btn[data-v-9dc54c06]{padding:.4rem .9rem;border-radius:6px;font-size:.9rem;cursor:pointer;border:1px solid transparent}.btn-primary[data-v-9dc54c06]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary[data-v-9dc54c06]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-9dc54c06]{background:#e2e8f0;color:#334155;border-color:#cbd5e1}.btn-sm[data-v-9dc54c06]{padding:.25rem .5rem;font-size:.85rem}.loading-state[data-v-9dc54c06],.empty-state[data-v-9dc54c06]{padding:2rem;text-align:center;color:#64748b}.table-wrap[data-v-9dc54c06]{overflow-x:auto}.data-table[data-v-9dc54c06]{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th[data-v-9dc54c06],.data-table td[data-v-9dc54c06]{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.data-table th[data-v-9dc54c06]{background:#f8fafc;color:#475569;font-weight:600}.data-table th.num[data-v-9dc54c06],.data-table td.num[data-v-9dc54c06]{text-align:right}.data-table th.action[data-v-9dc54c06],.data-table td.action[data-v-9dc54c06]{white-space:nowrap}.btn-outline[data-v-9dc54c06]{background:transparent;border:1px solid #94a3b8;color:#475569}.btn-outline[data-v-9dc54c06]:hover:not(:disabled){background:#f1f5f9}.role-badge[data-v-9dc54c06]{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.85rem}.role-badge.adult[data-v-9dc54c06]{background:#dbeafe;color:#1e40af}.role-badge.instructor[data-v-9dc54c06]{background:#dcfce7;color:#166534}.role-badge.manager[data-v-9dc54c06]{background:#fef3c7;color:#92400e}.bypass-badge[data-v-9dc54c06]{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.85rem;background:#fce7f3;color:#9d174d}.load-more[data-v-9dc54c06]{margin-top:1rem;text-align:center}.modal-overlay[data-v-9dc54c06]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card[data-v-9dc54c06]{background:#fff;border-radius:8px;padding:1.5rem;min-width:320px;max-width:90vw;box-shadow:0 4px 12px #00000026}.modal-title[data-v-9dc54c06]{margin:0 0 .5rem;font-size:1.2rem;color:#334155}.modal-desc[data-v-9dc54c06]{margin:0 0 1rem;font-size:.9rem;color:#64748b}.modal-note[data-v-9dc54c06]{margin:0 0 1rem;font-size:.85rem;color:#b45309;background:#fffbeb;padding:.5rem .75rem;border-radius:6px}.day-source[data-v-9dc54c06]{font-size:.8rem;color:#64748b;margin-left:.25rem}.modal-form[data-v-9dc54c06]{margin-bottom:1rem}.modal-form .form-label[data-v-9dc54c06]{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#475569}.modal-form .num-input[data-v-9dc54c06]{width:6rem}.modal-actions[data-v-9dc54c06]{display:flex;justify-content:flex-end;gap:.75rem}.manager-processing[data-v-8a41edb3]{padding:0}.page-title[data-v-8a41edb3]{margin:0 0 .5rem;font-size:1.5rem;color:#1e293b}.page-desc[data-v-8a41edb3]{margin:0 0 1.5rem;color:#64748b;font-size:.9rem}.manager-section[data-v-8a41edb3]{margin-bottom:2rem}.section-title[data-v-8a41edb3]{margin:0 0 .75rem;font-size:1.1rem;color:#334155}.summary-loading[data-v-8a41edb3]{padding:1rem;color:#64748b}.summary-cards[data-v-8a41edb3]{display:flex;flex-direction:column;gap:1.5rem}.summary-group-title[data-v-8a41edb3]{margin:0 0 .5rem;font-size:1rem;color:#475569}.summary-row[data-v-8a41edb3]{display:flex;flex-wrap:wrap;gap:.75rem}.summary-card[data-v-8a41edb3]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;min-width:100px;box-shadow:0 1px 2px #0000000d}.summary-card.failed[data-v-8a41edb3]{border-color:#fecaca;background:#fef2f2}.summary-card.danger[data-v-8a41edb3]{border-color:#f87171;background:#fee2e2}.summary-label[data-v-8a41edb3]{display:block;font-size:.8rem;color:#64748b;margin-bottom:.25rem}.summary-value[data-v-8a41edb3]{font-size:1.25rem;font-weight:700;color:#1e293b}.summary-unit[data-v-8a41edb3]{font-size:.85rem;color:#64748b;margin-left:.25rem}.card[data-v-8a41edb3]{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.filters[data-v-8a41edb3]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem}.filter-item[data-v-8a41edb3]{display:flex;flex-direction:column;gap:.25rem}.filter-label[data-v-8a41edb3]{font-size:.85rem;color:#64748b;font-weight:500}.form-select[data-v-8a41edb3]{padding:.4rem .6rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem}.toolbar[data-v-8a41edb3]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.total-note[data-v-8a41edb3]{font-size:.9rem;color:#64748b}.btn[data-v-8a41edb3]{padding:.4rem .9rem;border-radius:6px;font-size:.9rem;cursor:pointer;border:1px solid transparent}.btn-primary[data-v-8a41edb3]{background:#3b82f6;color:#fff}.btn-primary[data-v-8a41edb3]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-8a41edb3]{background:#e2e8f0;color:#334155}.btn-sm[data-v-8a41edb3]{padding:.25rem .5rem;font-size:.85rem}.loading-state[data-v-8a41edb3],.empty-state[data-v-8a41edb3]{padding:2rem;text-align:center;color:#64748b}.table-wrap[data-v-8a41edb3]{overflow-x:auto}.data-table[data-v-8a41edb3]{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th[data-v-8a41edb3],.data-table td[data-v-8a41edb3]{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.data-table th[data-v-8a41edb3]{background:#f8fafc;color:#475569;font-weight:600}.id-cell[data-v-8a41edb3]{font-size:.8rem;background:#f1f5f9;padding:.2rem .4rem;border-radius:4px}.error-cell[data-v-8a41edb3]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:#64748b}.status-badge[data-v-8a41edb3]{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.85rem}.status-badge.pending[data-v-8a41edb3]{background:#fef3c7;color:#92400e}.status-badge.processing[data-v-8a41edb3]{background:#dbeafe;color:#1e40af}.status-badge.failed[data-v-8a41edb3]{background:#fee2e2;color:#991b1b}.status-badge.pending_retry[data-v-8a41edb3]{background:#fef3c7;color:#92400e}.status-badge.retrying[data-v-8a41edb3]{background:#dbeafe;color:#1e40af}.status-badge.permanent_failure[data-v-8a41edb3]{background:#fee2e2;color:#991b1b}.status-badge.completed[data-v-8a41edb3]{background:#dcfce7;color:#166534}.load-more[data-v-8a41edb3]{margin-top:1rem;text-align:center}.manager-billing[data-v-60727074]{padding:0}.page-title[data-v-60727074]{margin:0 0 .5rem;font-size:1.5rem;color:#1e293b}.page-desc[data-v-60727074]{margin:0 0 1.5rem;color:#64748b;font-size:.9rem}.manager-section[data-v-60727074]{margin-bottom:2rem}.section-title[data-v-60727074]{margin:0 0 .75rem;font-size:1.1rem;color:#334155}.section-note[data-v-60727074]{margin:0 0 .75rem;font-size:.85rem;color:#64748b}.summary-loading[data-v-60727074]{padding:1rem;color:#64748b}.summary-row.counts-row[data-v-60727074]{display:flex;flex-wrap:wrap;gap:.75rem}.summary-card[data-v-60727074]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;min-width:100px;box-shadow:0 1px 2px #0000000d}.summary-card.status-active[data-v-60727074]{border-color:#86efac;background:#f0fdf4}.summary-card.status-trialing[data-v-60727074]{border-color:#93c5fd;background:#eff6ff}.summary-card.status-canceled[data-v-60727074]{border-color:#cbd5e1;background:#f8fafc}.summary-card.status-past_due[data-v-60727074]{border-color:#fcd34d;background:#fefce8}.summary-card.status-unpaid[data-v-60727074]{border-color:#fca5a5;background:#fef2f2}.summary-card.status-other[data-v-60727074]{border-color:#e2e8f0;background:#f8fafc}.summary-label[data-v-60727074]{display:block;font-size:.8rem;color:#64748b;margin-bottom:.25rem}.summary-value[data-v-60727074]{font-size:1.25rem;font-weight:700;color:#1e293b}.summary-unit[data-v-60727074]{font-size:.85rem;color:#64748b;margin-left:.25rem}.card[data-v-60727074]{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.toolbar[data-v-60727074]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.total-note[data-v-60727074]{font-size:.9rem;color:#64748b}.btn[data-v-60727074]{padding:.4rem .9rem;border-radius:6px;font-size:.9rem;cursor:pointer;border:1px solid transparent}.btn-secondary[data-v-60727074]{background:#e2e8f0;color:#334155}.btn-sm[data-v-60727074]{padding:.25rem .5rem;font-size:.85rem}.loading-state[data-v-60727074],.empty-state[data-v-60727074]{padding:2rem;text-align:center;color:#64748b}.table-wrap[data-v-60727074]{overflow-x:auto}.data-table[data-v-60727074]{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th[data-v-60727074],.data-table td[data-v-60727074]{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.data-table th[data-v-60727074]{background:#f8fafc;color:#475569;font-weight:600}.data-table th.num[data-v-60727074],.data-table td.num[data-v-60727074]{text-align:right}.desc-cell[data-v-60727074]{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email[data-v-60727074]{font-size:.85rem;color:#64748b}.manager-learners[data-v-902ddf2e]{padding:0}.page-title[data-v-902ddf2e]{margin:0 0 .5rem;font-size:1.5rem;color:#1e293b}.page-desc[data-v-902ddf2e]{margin:0 0 1.5rem;color:#64748b;font-size:.9rem}.manager-section[data-v-902ddf2e]{margin-bottom:2rem}.section-title[data-v-902ddf2e]{margin:0 0 .75rem;font-size:1.1rem;color:#334155}.card[data-v-902ddf2e]{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.filters[data-v-902ddf2e]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.filter-item[data-v-902ddf2e]{display:flex;flex-direction:column;gap:.25rem}.filter-label[data-v-902ddf2e]{font-size:.85rem;color:#64748b;font-weight:500}.filter-search .form-input[data-v-902ddf2e]{min-width:200px}.form-input[data-v-902ddf2e]{padding:.4rem .6rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem}.toolbar[data-v-902ddf2e]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.total-note[data-v-902ddf2e]{font-size:.9rem;color:#64748b}.btn[data-v-902ddf2e]{padding:.4rem .9rem;border-radius:6px;font-size:.9rem;cursor:pointer;border:1px solid transparent}.btn-primary[data-v-902ddf2e]{background:#3b82f6;color:#fff}.btn-primary[data-v-902ddf2e]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-902ddf2e]{background:#e2e8f0;color:#334155}.btn-sm[data-v-902ddf2e]{padding:.25rem .5rem;font-size:.85rem}.loading-state[data-v-902ddf2e],.empty-state[data-v-902ddf2e]{padding:2rem;text-align:center;color:#64748b}.table-wrap[data-v-902ddf2e]{overflow-x:auto}.data-table[data-v-902ddf2e]{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th[data-v-902ddf2e],.data-table td[data-v-902ddf2e]{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.data-table th[data-v-902ddf2e]{background:#f8fafc;color:#475569;font-weight:600}.data-table th.num[data-v-902ddf2e],.data-table td.num[data-v-902ddf2e]{text-align:right}.data-table th.action[data-v-902ddf2e],.data-table td.action[data-v-902ddf2e]{white-space:nowrap}.btn-outline[data-v-902ddf2e]{background:transparent;border:1px solid #94a3b8;color:#475569}.btn-outline[data-v-902ddf2e]:hover:not(:disabled){background:#f1f5f9}.btn-primary[data-v-902ddf2e]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-danger[data-v-902ddf2e]{background:#dc2626;color:#fff;border-color:#dc2626}.bypass-badge[data-v-902ddf2e]{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.85rem;background:#fce7f3;color:#9d174d}.load-more[data-v-902ddf2e]{margin-top:1rem;text-align:center}.modal-overlay[data-v-902ddf2e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card[data-v-902ddf2e]{background:#fff;border-radius:8px;padding:1.5rem;min-width:320px;max-width:90vw;box-shadow:0 4px 12px #00000026}.modal-title[data-v-902ddf2e]{margin:0 0 .5rem;font-size:1.2rem;color:#334155}.modal-desc[data-v-902ddf2e]{margin:0 0 1rem;font-size:.9rem;color:#64748b}.modal-form[data-v-902ddf2e]{margin-bottom:1rem}.form-label[data-v-902ddf2e]{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#475569}.num-input[data-v-902ddf2e]{width:6rem}.modal-actions[data-v-902ddf2e]{display:flex;justify-content:flex-end;gap:.75rem}.training-page[data-v-03eeb95c]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.page-header[data-v-03eeb95c]{text-align:center;margin-bottom:3rem;color:#fff}.page-header h1[data-v-03eeb95c]{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.page-header p[data-v-03eeb95c]{font-size:1.1rem;opacity:.9}.loading-container[data-v-03eeb95c]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#fff}.spinner[data-v-03eeb95c]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin-03eeb95c 1s linear infinite;margin-bottom:1rem}@keyframes spin-03eeb95c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container[data-v-03eeb95c]{text-align:center;color:#fff;background:#ef44441a;padding:2rem;border-radius:12px;border:1px solid rgba(239,68,68,.3)}.retry-button[data-v-03eeb95c]{background:#ef4444;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;margin-top:1rem}.retry-button[data-v-03eeb95c]:hover{background:#dc2626}.mode-selection-container[data-v-03eeb95c]{max-width:800px;margin:2rem auto;text-align:center}.mode-selection-container label[data-v-03eeb95c]{color:#fff;font-size:1.2rem;display:block;margin-bottom:1rem}.mode-selection-container select[data-v-03eeb95c]{padding:1rem 2rem;border-radius:8px;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:1.1rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.9%205.4s9.3-1.8%2012.9-5.4l128-127.9c3.6-3.6%205.4-7.8%205.4-12.9%200-5-1.8-9.3-5.4-12.9z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 1rem top 50%,0 0;background-size:.65em auto,100%}.mode-selection-container select[data-v-03eeb95c]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f180}.mode-selection-container select option[data-v-03eeb95c],.mode-selection-container select optgroup[data-v-03eeb95c]{color:#111;background:#fff}.day-accordion-container[data-v-03eeb95c]{max-width:800px;margin:2rem auto;background:#ffffff1a;border-radius:12px;overflow:hidden}.day-group[data-v-03eeb95c]{border-bottom:2px solid rgba(255,255,255,.2);margin-bottom:1rem}.day-group[data-v-03eeb95c]:last-child{border-bottom:none}.day-group-header[data-v-03eeb95c]{background:#6366f133;padding:1rem 1.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.day-group-header[data-v-03eeb95c]:hover{background:#6366f14d}.day-group-header h2[data-v-03eeb95c]{margin:0;color:#fff;font-size:1.3rem;font-weight:600}.day-group-content[data-v-03eeb95c]{padding:.5rem;background:#ffffff0d}.day-accordion-item[data-v-03eeb95c]{border-bottom:1px solid rgba(255,255,255,.1)}.day-accordion-item[data-v-03eeb95c]:last-child{border-bottom:none}.day-accordion-header[data-v-03eeb95c]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;cursor:pointer;color:#fff;font-size:1.2rem;font-weight:700;transition:background-color .2s}.day-header-content[data-v-03eeb95c]{display:flex;align-items:center;gap:1rem;flex:1}.day-header-content h3[data-v-03eeb95c]{margin:0}.day-stats[data-v-03eeb95c]{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.stat-badge[data-v-03eeb95c]{font-size:.85rem;padding:.25rem .6rem;border-radius:12px;font-weight:600;white-space:nowrap}.stat-badge.gold[data-v-03eeb95c]{background:#ffd70033;border:1px solid rgba(255,215,0,.4);color:gold}.stat-badge.silver[data-v-03eeb95c]{background:#c0c0c033;border:1px solid rgba(192,192,192,.4);color:silver}.stat-badge.bronze[data-v-03eeb95c]{background:#cd7f3233;border:1px solid rgba(205,127,50,.4);color:#cd7f32}.stat-badge.not-done[data-v-03eeb95c]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3}.day-header-right[data-v-03eeb95c]{display:flex;align-items:center;gap:1rem}.day-accordion-item.locked .day-accordion-header[data-v-03eeb95c]{background-color:#ffffff0d;cursor:not-allowed;opacity:.6}.day-accordion-header[data-v-03eeb95c]:hover:not(.day-accordion-item.locked .day-accordion-header){background-color:#ffffff26}.lock-badge[data-v-03eeb95c],.unlock-badge[data-v-03eeb95c]{font-size:.8rem;padding:.3rem .8rem;border-radius:8px;margin-right:1rem}.lock-badge[data-v-03eeb95c]{background-color:#ef4444;color:#fff}.unlock-badge[data-v-03eeb95c]{background-color:#22c55e;color:#fff}.accordion-icon[data-v-03eeb95c]{font-size:.9rem;margin-left:.5rem}.day-accordion-content[data-v-03eeb95c]{padding:1.5rem 2rem;background-color:#0000001a;color:#fff;border-top:1px solid rgba(255,255,255,.05)}.day-accordion-content.loading[data-v-03eeb95c],.day-accordion-content.locked-message[data-v-03eeb95c]{text-align:center;font-style:italic;color:#ffffffb3}.task-list[data-v-03eeb95c]{display:flex;flex-direction:column;gap:1rem}.task-item[data-v-03eeb95c]{background:#ffffff1a;padding:1rem;border-radius:8px}.task-content[data-v-03eeb95c]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.task-text[data-v-03eeb95c]{flex:1;min-width:0}.task-actions[data-v-03eeb95c]{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.task-score[data-v-03eeb95c]{display:flex;align-items:center}.rank-badge[data-v-03eeb95c]{font-size:.9rem;padding:.4rem .8rem;border-radius:8px;font-weight:600;white-space:nowrap}.rank-badge.gold[data-v-03eeb95c]{background:#ffd70033;border:1px solid rgba(255,215,0,.4);color:gold}.rank-badge.silver[data-v-03eeb95c]{background:#c0c0c033;border:1px solid rgba(192,192,192,.4);color:silver}.rank-badge.bronze[data-v-03eeb95c]{background:#cd7f3233;border:1px solid rgba(205,127,50,.4);color:#cd7f32}.score-value[data-v-03eeb95c]{font-size:.9rem;padding:.4rem .8rem;border-radius:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:600}.task-sentence[data-v-03eeb95c]{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.task-highlight[data-v-03eeb95c]{box-shadow:0 0 0 2px #fff9;animation:highlight-pulse-03eeb95c 1.2s ease}@keyframes highlight-pulse-03eeb95c{0%{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}to{transform:scale(1);opacity:1}}.task-translation[data-v-03eeb95c]{font-size:.9rem;color:#ffffffb3;margin-bottom:1rem}.practice-button[data-v-03eeb95c]{background:#3b82f6;color:#fff;border:none;padding:clamp(.5rem,2vw,.75rem) clamp(1rem,4vw,1.25rem);border-radius:6px;cursor:pointer;font-size:clamp(.85rem,3vw,1rem);transition:all .2s;white-space:nowrap;min-width:6rem}.practice-button[data-v-03eeb95c]:hover{background:#2563eb;transform:translateY(-1px)}@media (max-width: 768px){.training-page[data-v-03eeb95c]{padding:1rem}.page-header h1[data-v-03eeb95c]{font-size:2rem}.day-accordion-header[data-v-03eeb95c]{padding:1rem 1.5rem;font-size:1rem}.task-item[data-v-03eeb95c]{padding:.75rem}.task-content[data-v-03eeb95c]{flex-direction:column;align-items:flex-start;gap:.75rem}.task-actions[data-v-03eeb95c]{width:100%;justify-content:space-between}.day-header-content[data-v-03eeb95c]{flex-direction:column;align-items:flex-start;gap:.5rem}.day-stats[data-v-03eeb95c]{font-size:.75rem}.stat-badge[data-v-03eeb95c]{font-size:.7rem;padding:.2rem .5rem}}.training-day-page[data-v-26b8852e]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.page-header[data-v-26b8852e]{margin-bottom:3rem}.header-content[data-v-26b8852e]{display:flex;align-items:center;gap:1rem}.back-button[data-v-26b8852e]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:700}.back-button[data-v-26b8852e]:hover{background:#ffffff4d}.header-info h1[data-v-26b8852e]{color:#fff;font-size:2.5rem;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.header-info p[data-v-26b8852e]{color:#ffffffe6;font-size:1.1rem;margin:0}.loading-container[data-v-26b8852e]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#fff}.spinner[data-v-26b8852e]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin-26b8852e 1s linear infinite;margin-bottom:1rem}@keyframes spin-26b8852e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container[data-v-26b8852e]{text-align:center;color:#fff;background:#ef44441a;padding:2rem;border-radius:12px;border:1px solid rgba(239,68,68,.3)}.retry-button[data-v-26b8852e]{background:#ef4444;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;margin-top:1rem}.tasks-container[data-v-26b8852e]{max-width:1200px;margin:0 auto}.day-stats[data-v-26b8852e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card[data-v-26b8852e]{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 6px #0000001a}.stat-icon[data-v-26b8852e]{font-size:2rem}.stat-content[data-v-26b8852e]{display:flex;flex-direction:column}.stat-value[data-v-26b8852e]{font-size:1.5rem;font-weight:700;color:#1f2937}.stat-label[data-v-26b8852e]{font-size:.9rem;color:#6b7280}.progress-section[data-v-26b8852e]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a}.progress-header[data-v-26b8852e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.progress-header h3[data-v-26b8852e]{color:#1f2937;margin:0}.progress-percentage[data-v-26b8852e]{font-size:1.2rem;font-weight:700;color:#3b82f6}.progress-bar[data-v-26b8852e]{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.progress-fill[data-v-26b8852e]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transition:width .3s ease}.tasks-grid[data-v-26b8852e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.task-card[data-v-26b8852e]{background:#fff;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;border:2px solid transparent}.task-card[data-v-26b8852e]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.task-card.perfect[data-v-26b8852e]{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.task-card.completed[data-v-26b8852e]{border-color:#3b82f6;background:linear-gradient(135deg,#fff,#eff6ff)}.task-card.not-started[data-v-26b8852e]{border-color:#e5e7eb}.task-header[data-v-26b8852e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.task-number[data-v-26b8852e]{background:#f3f4f6;color:#6b7280;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.task-status[data-v-26b8852e]{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:700}.task-status.perfect[data-v-26b8852e]{background:#d1fae5;color:#065f46}.task-status.completed[data-v-26b8852e]{background:#dbeafe;color:#1e40af}.task-status.not-started[data-v-26b8852e]{background:#f3f4f6;color:#6b7280}.task-content[data-v-26b8852e]{margin-bottom:1rem}.task-sentence[data-v-26b8852e]{font-size:1.1rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.task-translation[data-v-26b8852e]{color:#6b7280;margin-bottom:1rem}.task-stats[data-v-26b8852e]{display:flex;gap:1rem}.task-stat[data-v-26b8852e]{display:flex;flex-direction:column;align-items:center}.task-stat .stat-label[data-v-26b8852e]{font-size:.8rem;color:#6b7280;margin-bottom:.25rem}.task-stat .stat-value[data-v-26b8852e]{font-size:1rem;font-weight:700;color:#1f2937}.task-stat .stat-value.excellent[data-v-26b8852e]{color:#10b981}.task-stat .stat-value.good[data-v-26b8852e]{color:#f59e0b}.task-stat .stat-value.needs-improvement[data-v-26b8852e]{color:#ef4444}.task-actions[data-v-26b8852e]{text-align:center}.start-button[data-v-26b8852e]{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s;width:100%}.start-button[data-v-26b8852e]:hover{background:#2563eb;transform:translateY(-1px)}.start-button.perfect[data-v-26b8852e]{background:#10b981}.start-button.perfect[data-v-26b8852e]:hover{background:#059669}.start-button.retry[data-v-26b8852e]{background:#f59e0b}.start-button.retry[data-v-26b8852e]:hover{background:#d97706}.completion-message[data-v-26b8852e]{text-align:center;background:#fff;border-radius:12px;padding:3rem;margin-top:2rem;box-shadow:0 4px 6px #0000001a}.completion-icon[data-v-26b8852e]{font-size:4rem;margin-bottom:1rem}.completion-message h3[data-v-26b8852e]{color:#1f2937;font-size:2rem;margin-bottom:.5rem}.completion-message p[data-v-26b8852e]{color:#6b7280;font-size:1.1rem;margin-bottom:1.5rem}.completion-stats[data-v-26b8852e]{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;color:#6b7280}.next-day-button[data-v-26b8852e]{background:#10b981;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.next-day-button[data-v-26b8852e]:hover{background:#059669;transform:translateY(-1px)}@media (max-width: 768px){.training-day-page[data-v-26b8852e]{padding:1rem}.header-content[data-v-26b8852e]{flex-direction:column;align-items:flex-start}.header-info h1[data-v-26b8852e]{font-size:2rem}.day-stats[data-v-26b8852e]{grid-template-columns:repeat(2,1fr)}.tasks-grid[data-v-26b8852e]{grid-template-columns:1fr}.completion-stats[data-v-26b8852e]{flex-direction:column;gap:1rem}}.diff-text-container[data-v-cebc55db]{padding:1rem;background:#fff;border-radius:8px;margin-bottom:1rem}.reference-text[data-v-cebc55db]{margin-bottom:.75rem;font-size:.9rem}.reference-text .label[data-v-cebc55db]{font-weight:700;color:#6b7280;margin-right:.5rem}.reference-segments[data-v-cebc55db]{display:inline-flex;flex-wrap:wrap;align-items:flex-end;gap:.25rem;margin-left:.25rem}.reference-segment[data-v-cebc55db]{display:inline-flex;flex-direction:column;align-items:center;gap:0}.segment-score[data-v-cebc55db]{font-size:.75rem;font-weight:600;color:#6b7280;line-height:1}.segment-score.score-neutral[data-v-cebc55db]{color:#9ca3af}.score-animated[data-v-cebc55db]{animation:scoreFlash-cebc55db .35s ease-out}@keyframes scoreFlash-cebc55db{0%{transform:translateY(4px);opacity:0}50%{transform:translateY(-2px);opacity:1}to{transform:translateY(0);opacity:1}}.segment-score.score-high[data-v-cebc55db]{color:#16a34a}.segment-score.score-mid[data-v-cebc55db]{color:#f59e0b}.segment-score.score-low[data-v-cebc55db]{color:#ef4444}.reference-word[data-v-cebc55db]{-webkit-user-select:none;user-select:none;transition:color .2s ease;color:#111827}.reference-word.clickable[data-v-cebc55db]{cursor:pointer}.reference-word.clickable[data-v-cebc55db]:hover{color:#3b82f6}@media (max-width: 768px){.reference-segments[data-v-cebc55db]{gap:.2rem}}.timeline-overlay-container[data-v-a2c42db6]{padding:1rem;background:#fafafa;border-radius:8px;border-left:4px solid #6366f1}.timeline-title[data-v-a2c42db6]{margin:0 0 1rem;color:#1f2937;font-size:1.1rem}.timeline-track[data-v-a2c42db6]{position:relative;height:60px;background:#e5e7eb;border-radius:4px;margin-bottom:1rem;overflow:hidden}.timeline-segment[data-v-a2c42db6]{position:absolute;height:100%;background:#3b82f64d;border:1px solid rgba(59,130,246,.5);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#1f2937;overflow:visible;cursor:pointer;transition:all .2s}.timeline-segment[data-v-a2c42db6]:hover{background:#3b82f666;transform:translateY(-2px);box-shadow:0 2px 8px #00000026}.timeline-segment.has-breaks[data-v-a2c42db6]{border-color:#ef4444;background:#ef444433}.timeline-segment.is-monotone[data-v-a2c42db6]{border-color:#f59e0b;background:#f59e0b33}.timeline-segment.is-target[data-v-a2c42db6]{border:2px solid #ea580c;box-shadow:0 0 8px #ea580c66}.segment-word[data-v-a2c42db6]{z-index:2;text-align:center;padding:.2rem;background:#ffffffe6;border-radius:4px}.timeline-break[data-v-a2c42db6]{position:absolute;width:3px;height:100%;z-index:3;top:0;pointer-events:none}.timeline-break.break-unexpected[data-v-a2c42db6]{background:#ef4444}.timeline-break.break-missing[data-v-a2c42db6]{background:#f59e0b}.timeline-syllable[data-v-a2c42db6]{position:absolute;height:8px;bottom:0;background:#10b98180;border-radius:2px;z-index:1;pointer-events:none}.timeline-syllable.stress-primary[data-v-a2c42db6]{background:#10b981cc;height:12px;border:2px solid #10b981}.timeline-syllable.stress-secondary[data-v-a2c42db6]{background:#3b82f699;height:10px}.timeline-monotone[data-v-a2c42db6]{position:relative;height:20px;background:#f59e0b1a;border-radius:4px;margin-bottom:1rem;overflow:visible}.monotone-label[data-v-a2c42db6]{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);font-size:.85rem;color:#92400e;font-weight:700;z-index:2}.monotone-segment[data-v-a2c42db6]{position:absolute;height:100%;background:#f59e0b66;border-left:2px solid #f59e0b;border-right:2px solid #f59e0b}.timeline-legend[data-v-a2c42db6]{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:#6b7280;margin-bottom:.5rem}.legend-item[data-v-a2c42db6]{display:flex;align-items:center;gap:.5rem}.legend-color[data-v-a2c42db6]{width:16px;height:16px;border-radius:2px}.legend-color.break-unexpected[data-v-a2c42db6]{background:#ef4444}.legend-color.break-missing[data-v-a2c42db6]{background:#f59e0b}.legend-color.stress-primary[data-v-a2c42db6]{background:#10b981}.legend-color.monotone-segment[data-v-a2c42db6]{background:#f59e0b66}.timeline-scrub[data-v-a2c42db6]{margin-top:1rem}.scrub-slider[data-v-a2c42db6]{width:100%;height:6px;border-radius:3px;background:#e5e7eb;outline:none;-webkit-appearance:none}.scrub-slider[data-v-a2c42db6]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#3b82f6;cursor:pointer}.scrub-slider[data-v-a2c42db6]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#3b82f6;cursor:pointer;border:none}@media (max-width: 768px){.timeline-track[data-v-a2c42db6]{height:50px}.segment-word[data-v-a2c42db6]{font-size:.75rem}.timeline-legend[data-v-a2c42db6]{flex-direction:column;gap:.5rem}}.quick-drill-modal[data-v-56aa74ba]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.drill-content[data-v-56aa74ba]{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.drill-header[data-v-56aa74ba]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.drill-header h3[data-v-56aa74ba]{margin:0;font-size:1.25rem;color:#1f2937}.close-button[data-v-56aa74ba]{background:transparent;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button[data-v-56aa74ba]:hover{background:#f3f4f6;color:#1f2937}.drill-body[data-v-56aa74ba]{padding:1.5rem}.drill-description[data-v-56aa74ba]{margin-bottom:1.5rem;color:#6b7280;line-height:1.6}.reference-audio[data-v-56aa74ba]{margin:1rem 0}.stress-indicator[data-v-56aa74ba]{display:flex;gap:.5rem;justify-content:center;margin:1.5rem 0;flex-wrap:wrap}.stress-point[data-v-56aa74ba]{padding:.5rem 1rem;background:#f3f4f6;border-radius:6px;font-weight:700;transition:all .3s}.stress-point.active[data-v-56aa74ba]{background:#10b981;color:#fff;transform:scale(1.1);box-shadow:0 4px 8px #10b9814d}.minimal-pairs-list[data-v-56aa74ba]{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.pair-item[data-v-56aa74ba]{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.pair-word[data-v-56aa74ba]{font-size:1.25rem;font-weight:700;color:#1f2937}.pair-phoneme[data-v-56aa74ba]{font-size:1rem;color:#6b7280;font-family:Times New Roman,serif}.link-examples[data-v-56aa74ba]{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.link-example-item[data-v-56aa74ba]{padding:1rem;background:#f9fafb;border-radius:8px}.example-label[data-v-56aa74ba]{font-weight:700;color:#6b7280;margin-right:.5rem}.example-text[data-v-56aa74ba]{font-size:1.1rem;color:#1f2937}.drill-record-button[data-v-56aa74ba]{width:100%;background:#3b82f6;color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:1rem}.drill-record-button[data-v-56aa74ba]:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.drill-record-button[data-v-56aa74ba]:disabled{background:#9ca3af;cursor:not-allowed}.drill-result[data-v-56aa74ba]{margin-top:1.5rem;padding:1rem;background:#f9fafb;border-radius:8px;text-align:center}.success-message[data-v-56aa74ba]{color:#10b981;font-weight:700;margin-top:.5rem}.retry-message[data-v-56aa74ba]{color:#f59e0b;margin-top:.5rem}.drill-footer[data-v-56aa74ba]{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem}.progress-info[data-v-56aa74ba]{text-align:center;color:#6b7280;font-size:.9rem}.drill-navigation[data-v-56aa74ba]{display:flex;gap:1rem;justify-content:center}.nav-button[data-v-56aa74ba],.success-button[data-v-56aa74ba]{padding:.75rem 1.5rem;border-radius:6px;font-weight:700;cursor:pointer;transition:all .2s;border:none}.nav-button[data-v-56aa74ba]{background:#e5e7eb;color:#1f2937}.nav-button[data-v-56aa74ba]:hover{background:#d1d5db}.success-button[data-v-56aa74ba]{background:#10b981;color:#fff}.success-button[data-v-56aa74ba]:hover{background:#059669}@media (max-width: 768px){.drill-content[data-v-56aa74ba]{max-width:100%;margin:0;border-radius:0;max-height:100vh}.stress-indicator[data-v-56aa74ba]{gap:.25rem}.stress-point[data-v-56aa74ba]{padding:.4rem .75rem;font-size:.9rem}}.word-practice-modal-overlay[data-v-f300288f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.word-practice-modal[data-v-f300288f]{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #0000001a}.modal-header[data-v-f300288f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2[data-v-f300288f]{margin:0;color:#1f2937;font-size:1.5rem}.close-button[data-v-f300288f]{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button[data-v-f300288f]:hover{background:#f3f4f6;color:#1f2937}.modal-content[data-v-f300288f]{display:flex;flex-direction:column;gap:1.5rem}.pronunciation-comparison[data-v-f300288f]{padding:1rem;background:#fff7ed;border-radius:8px;border:2px solid #fed7aa;margin-bottom:1rem}.comparison-row[data-v-f300288f]{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.comparison-row[data-v-f300288f]:last-child{margin-bottom:0}.comparison-label[data-v-f300288f]{font-weight:700;font-size:.9rem;color:#92400e;min-width:140px}.comparison-value[data-v-f300288f]{font-weight:700;font-size:1.1rem;padding:.5rem 1rem;border-radius:6px;flex:1}.comparison-value.expected[data-v-f300288f]{background:#dbeafe;color:#1e40af;border:2px solid #93c5fd}.comparison-value.recognized[data-v-f300288f]{background:#fef3c7;color:#92400e;border:2px solid #fcd34d}.phoneme-details[data-v-f300288f]{padding:1rem;background:#f9fafb;border-radius:8px}.phoneme-row[data-v-f300288f]{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.phoneme-inline-card[data-v-f300288f]{display:inline-flex;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .45rem;border-radius:12px;border:1px solid #e5e7eb;background:#fff;font-size:.82rem}.phoneme-inline-symbol[data-v-f300288f]{font-weight:600;color:#1f2937}.phoneme-inline-score[data-v-f300288f]{font-weight:600;font-size:.78rem}.session-status[data-v-f300288f]{padding:1rem;background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;gap:.75rem}.status-indicator[data-v-f300288f]{font-weight:700;font-size:1.1rem;text-align:center;padding:.75rem;border-radius:8px;background:#fff;border:2px solid #e5e7eb}.status-indicator.idle[data-v-f300288f]{color:#6b7280;background:#f3f4f6}.status-indicator.recording[data-v-f300288f]{color:#2563eb;background:#dbeafe;border-color:#93c5fd;animation:pulse-f300288f 2s infinite}.status-indicator.evaluating[data-v-f300288f]{color:#f59e0b;background:#fef3c7;border-color:#fcd34d;animation:pulse-f300288f 1s infinite}.status-indicator.playing[data-v-f300288f]{color:#059669;background:#d1fae5;border-color:#6ee7b7;animation:pulse-f300288f 1.5s infinite}@keyframes pulse-f300288f{0%,to{opacity:1}50%{opacity:.7}}.session-timer[data-v-f300288f]{font-size:.9rem;color:#6b7280;text-align:center}.session-controls[data-v-f300288f]{display:flex;justify-content:center;gap:1rem}.control-button[data-v-f300288f]{padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:8px;border:none;cursor:pointer;transition:all .2s}.start-button[data-v-f300288f]{background:#2563eb;color:#fff}.start-button[data-v-f300288f]:hover{background:#1d4ed8;transform:scale(1.05)}.stop-button[data-v-f300288f]{background:#dc2626;color:#fff}.stop-button[data-v-f300288f]:hover{background:#b91c1c;transform:scale(1.05)}.phoneme-inline-score.phoneme-good[data-v-f300288f]{color:#10b981}.phoneme-inline-score.phoneme-fair[data-v-f300288f]{color:#f59e0b}.phoneme-inline-score.phoneme-poor[data-v-f300288f]{color:#ef4444}.phoneme-inline-score.phoneme-no-score[data-v-f300288f]{color:#6b7280}.recording-controls[data-v-f300288f]{display:flex;flex-direction:column;align-items:center;gap:1rem}.record-button[data-v-f300288f]{padding:1rem 2rem;font-size:1.2rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s;background:#3b82f6;color:#fff}.record-button[data-v-f300288f]:hover:not(:disabled){background:#2563eb}.record-button.recording[data-v-f300288f]{background:#ef4444}.record-button.recording[data-v-f300288f]:hover{background:#dc2626}.record-button[data-v-f300288f]:disabled{background:#9ca3af;cursor:not-allowed}.recording-timer[data-v-f300288f]{font-size:1.5rem;font-weight:700;color:#6b7280}.score-cards[data-v-f300288f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.score-card[data-v-f300288f]{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center}.score-card span[data-v-f300288f]{color:#6b7280;font-weight:600}.score-card strong[data-v-f300288f]{font-size:1.25rem;color:#111827}.lamp[data-v-7609c7fb]{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2px #0000000d inset,0 0 6px #0000002e;transition:background-color .18s ease,filter .18s ease}.lamp.on[data-v-7609c7fb]{background:#13c27a;filter:saturate(1.1) brightness(1.02)}.lamp.off[data-v-7609c7fb]{background:#a9abb2;filter:saturate(.8) brightness(.98)}.prosody-practice-card[data-v-1fcfe8de]{max-width:800px;margin:0 auto;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.score-section[data-v-1fcfe8de],.text-section[data-v-1fcfe8de],.timeline-section[data-v-1fcfe8de]{margin-bottom:1.5rem}.control-section[data-v-1fcfe8de]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.control-left[data-v-1fcfe8de],.control-right[data-v-1fcfe8de]{flex:0 0 auto}.control-center[data-v-1fcfe8de]{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.record-controls[data-v-1fcfe8de]{display:flex;align-items:center;gap:.6rem}.record-button[data-v-1fcfe8de]{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;min-width:140px}.record-button.connecting[data-v-1fcfe8de]{background:#6b7280;color:#f9fafb;transform:translateY(1px);box-shadow:inset 0 2px 4px #0000002e;cursor:wait}.record-button.connecting[data-v-1fcfe8de]:disabled{background:#6b7280;color:#f9fafb;opacity:1}.record-button[data-v-1fcfe8de]:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.record-button.recording[data-v-1fcfe8de]{background:#ef4444}.record-button.recording[data-v-1fcfe8de]:hover{background:#dc2626}.record-button.available[data-v-1fcfe8de]{background:#3b82f6}.record-button[data-v-1fcfe8de]:disabled{background:#9ca3af;cursor:not-allowed}.recording-timer[data-v-1fcfe8de]{font-size:.9rem;color:#6b7280;font-weight:700}.wait-hint[data-v-1fcfe8de]{font-size:.85rem;color:#6b7280}.share-button[data-v-1fcfe8de]{background:#3b82f6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;margin-right:.5rem}.share-button[data-v-1fcfe8de]:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.share-button[data-v-1fcfe8de]:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.quick-drill-button[data-v-1fcfe8de]{background:#10b981;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s}.quick-drill-button[data-v-1fcfe8de]:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.quick-drill-button[data-v-1fcfe8de]:disabled{background:#9ca3af;cursor:not-allowed}.details-panel[data-v-1fcfe8de]{margin-top:1.5rem;padding:1rem;background:#f9fafb;border-radius:8px}.collapse-button[data-v-1fcfe8de],.expand-button[data-v-1fcfe8de]{background:transparent;border:1px solid #d1d5db;color:#6b7280;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem}.collapse-button[data-v-1fcfe8de]:hover,.expand-button[data-v-1fcfe8de]:hover{background:#e5e7eb}.details-toggle[data-v-1fcfe8de]{margin-top:1rem;text-align:center}@media (max-width: 768px){.prosody-practice-card[data-v-1fcfe8de]{padding:1rem}.control-section[data-v-1fcfe8de]{flex-direction:column;gap:.75rem}.control-left[data-v-1fcfe8de],.control-right[data-v-1fcfe8de],.quick-drill-button[data-v-1fcfe8de]{width:100%}}.training-task-page[data-v-de3ac69d]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.page-header[data-v-de3ac69d]{margin-bottom:2rem}.header-content[data-v-de3ac69d]{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.4rem 1rem;background:#ffffff1a;padding:1rem 1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-info[data-v-de3ac69d]{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.4rem;grid-column:1 / 2;grid-row:1 / 3;min-width:0}.header-primary[data-v-de3ac69d]{color:#fff;font-size:clamp(1rem,4vw,1.4rem);font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);white-space:nowrap}.header-secondary[data-v-de3ac69d]{display:flex;gap:.4rem;flex-wrap:nowrap;color:#fffffff2;font-weight:600;font-size:clamp(.65rem,2.8vw,.9rem);overflow:hidden;justify-content:center}.header-secondary-item[data-v-de3ac69d]{background:#ffffff2e;border-radius:999px;padding:clamp(.15rem,.6vw,.25rem) clamp(.5rem,2vw,.85rem);white-space:nowrap;flex-shrink:1;min-width:0;display:flex;justify-content:center}.back-button[data-v-de3ac69d]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:700;min-width:120px;text-align:center;grid-column:2 / 3;grid-row:1 / 3;align-self:center;justify-self:end}.back-button[data-v-de3ac69d]:hover{background:#ffffff4d}.loading-container[data-v-de3ac69d]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#fff}.spinner[data-v-de3ac69d]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin-de3ac69d 1s linear infinite;margin-bottom:1rem}@keyframes spin-de3ac69d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container[data-v-de3ac69d]{text-align:center;color:#fff;background:#ef44441a;padding:2rem;border-radius:12px;border:1px solid rgba(239,68,68,.3)}.retry-button[data-v-de3ac69d]{background:#ef4444;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;margin-top:1rem}.training-content[data-v-de3ac69d]{max-width:1000px;margin:0 auto}.score-summary[data-v-de3ac69d]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.score-row[data-v-de3ac69d]{display:flex;gap:.75rem;flex-wrap:nowrap;justify-content:space-between;overflow:hidden;padding-bottom:.25rem}.score-row.top-row .score-chip[data-v-de3ac69d]{flex:1 1 0;min-width:0}.score-chip.tier-0[data-v-de3ac69d]{background:#10b98140;border-color:#10b98180}.score-chip.tier-1[data-v-de3ac69d]{background:#f59e0b40;border-color:#f59e0b80}.score-chip.tier-2[data-v-de3ac69d]{background:#ef444440;border-color:#ef444480}.score-chip[data-v-de3ac69d],.score-current[data-v-de3ac69d],.score-meta[data-v-de3ac69d]{border-radius:12px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);padding:.6rem clamp(.5rem,2vw,.9rem);color:#fff;text-align:center;box-shadow:0 10px 20px #00000014;flex:0 1 calc(33.33% - .5rem);min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.score-chip-label[data-v-de3ac69d]{font-size:clamp(.65rem,2.2vw,.9rem);opacity:.9;margin-bottom:.15rem;white-space:nowrap}.score-chip-value[data-v-de3ac69d]{font-size:clamp(1rem,3vw,1.2rem);font-weight:700;white-space:nowrap}.score-current[data-v-de3ac69d]{display:flex;justify-content:center;align-items:center;gap:.4rem;margin:0 auto;max-width:480px;width:100%}.score-current .score-label[data-v-de3ac69d]{font-size:clamp(.75rem,2.5vw,.95rem);opacity:.85;white-space:nowrap;text-align:center}.score-current .score-value[data-v-de3ac69d]{font-size:clamp(1.1rem,4vw,1.5rem);font-weight:700;white-space:nowrap;text-align:center}.score-row.meta-row[data-v-de3ac69d]{justify-content:space-between}.score-meta[data-v-de3ac69d]{flex:0 1 calc(33.33% - .5rem);min-width:0}.score-meta-label[data-v-de3ac69d]{font-size:clamp(.7rem,2.4vw,.9rem);opacity:.85;margin-bottom:.15rem;white-space:nowrap}.score-meta-value[data-v-de3ac69d]{font-size:clamp(1rem,3vw,1.3rem);font-weight:700;white-space:nowrap}.rank-emoji[data-v-de3ac69d]{margin-right:.35rem}.score-chip.jump[data-v-de3ac69d],.score-current.jump[data-v-de3ac69d],.score-meta.jump[data-v-de3ac69d]{animation:scoreJump-de3ac69d .4s ease}@keyframes scoreJump-de3ac69d{0%{transform:scale(1)}25%{transform:scale(1.08)}to{transform:scale(1)}}.hi-score-banner[data-v-de3ac69d]{text-align:center;background:#10b9812e;border:1px solid rgba(16,185,129,.45);color:#d1fae5;padding:.6rem 1rem;border-radius:999px;font-weight:600}.hi-score-enter-active[data-v-de3ac69d],.hi-score-leave-active[data-v-de3ac69d]{transition:opacity .3s ease,transform .3s ease}.hi-score-enter-from[data-v-de3ac69d],.hi-score-leave-to[data-v-de3ac69d]{opacity:0;transform:translateY(-8px)}.tts-controls[data-v-de3ac69d]{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 1rem}.tts-label[data-v-de3ac69d]{color:#fff;opacity:.9;margin-right:.25rem}.tts-btn[data-v-de3ac69d]{padding:.4rem .75rem;border-radius:6px;border:none;cursor:pointer}.completion-overlay[data-v-de3ac69d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.completion-modal[data-v-de3ac69d]{background:#fff;border-radius:16px;padding:3rem;text-align:center;max-width:500px;width:90%;box-shadow:0 20px 25px #0000001a;animation:modalSlideIn-de3ac69d .3s ease-out}@keyframes modalSlideIn-de3ac69d{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.completion-icon[data-v-de3ac69d]{font-size:4rem;margin-bottom:1rem}.completion-modal h2[data-v-de3ac69d]{color:#1f2937;font-size:2rem;margin-bottom:.5rem}.completion-modal p[data-v-de3ac69d]{color:#6b7280;font-size:1.1rem;margin-bottom:2rem}.completion-stats[data-v-de3ac69d]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.stat-item[data-v-de3ac69d]{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#f9fafb;border-radius:8px}.stat-label[data-v-de3ac69d]{font-size:.9rem;color:#6b7280;margin-bottom:.5rem}.completion-actions[data-v-de3ac69d]{display:flex;gap:1rem;justify-content:center}.action-button[data-v-de3ac69d]{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}.action-button.retry[data-v-de3ac69d]{background:#f59e0b;color:#fff}.action-button.retry[data-v-de3ac69d]:hover{background:#d97706}.action-button.next[data-v-de3ac69d]{background:#3b82f6;color:#fff}.action-button.next[data-v-de3ac69d]:hover{background:#2563eb}.action-button.back[data-v-de3ac69d]{background:#6b7280;color:#fff}.action-button.back[data-v-de3ac69d]:hover{background:#4b5563}.task-navigation[data-v-de3ac69d]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;margin-top:1rem}.nav-button[data-v-de3ac69d]{padding:.75rem 1.5rem;border-radius:6px;border:none;font-weight:700;cursor:pointer;transition:all .2s}.nav-button.prev[data-v-de3ac69d]{background:#e5e7eb;color:#1f2937}.nav-button.prev[data-v-de3ac69d]:hover:not(:disabled){background:#d1d5db}.nav-button.next[data-v-de3ac69d]{background:#3b82f6;color:#fff}.nav-button.next[data-v-de3ac69d]:hover:not(:disabled){background:#2563eb}.nav-button[data-v-de3ac69d]:disabled{background:#9ca3af;color:#fff;cursor:not-allowed}.progress-info[data-v-de3ac69d]{font-size:.9rem;color:#6b7280;font-weight:700}@media (max-width: 768px){.training-task-page[data-v-de3ac69d]{padding:1rem}.header-content[data-v-de3ac69d]{flex-direction:column;align-items:flex-start;gap:.5rem}.header-info h1[data-v-de3ac69d]{font-size:1.25rem}.completion-modal[data-v-de3ac69d]{padding:2rem}.completion-stats[data-v-de3ac69d]{grid-template-columns:1fr}.completion-actions[data-v-de3ac69d]{flex-direction:column}}.challenge-card[data-v-de3ac69d]{background:#fffffff2;border-radius:12px;padding:1.5rem;margin-top:2rem;box-shadow:0 4px 6px #0000001a}.challenge-header[data-v-de3ac69d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.challenge-header h3[data-v-de3ac69d]{margin:0;color:#1f2937;font-size:1.25rem}.challenge-actions[data-v-de3ac69d]{display:flex;gap:.75rem}.challenge-button[data-v-de3ac69d]{padding:.75rem 1.5rem;border-radius:8px;border:none;font-weight:700;cursor:pointer;transition:all .2s}.challenge-button.start[data-v-de3ac69d]{background:#3b82f6;color:#fff}.challenge-button.start[data-v-de3ac69d]:hover:not(:disabled){background:#2563eb}.challenge-button.start.connecting[data-v-de3ac69d]{background:#6b7280;color:#f3f4f6;transform:translateY(2px);box-shadow:inset 0 2px 4px #0003}.challenge-button.start.active[data-v-de3ac69d]{background:#dc2626;color:#fff;cursor:default}.challenge-button.stop[data-v-de3ac69d]{background:#dc2626;color:#fff}.challenge-button.stop[data-v-de3ac69d]:hover:not(:disabled){background:#b91c1c}.challenge-button[data-v-de3ac69d]:disabled{background:#9ca3af;color:#fff;cursor:not-allowed}.challenge-status[data-v-de3ac69d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.challenge-stat[data-v-de3ac69d]{display:flex;flex-direction:column;align-items:center}.stat-label[data-v-de3ac69d]{font-size:.875rem;color:#6b7280;margin-bottom:.25rem}.stat-value[data-v-de3ac69d]{font-size:1.5rem;font-weight:700;color:#1f2937}.stat-value.excellent[data-v-de3ac69d]{color:#10b981}.stat-value.good[data-v-de3ac69d]{color:#f59e0b}.stat-value.needs-improvement[data-v-de3ac69d]{color:#ef4444}.stat-value.badge[data-v-de3ac69d]{font-size:1.25rem}.badge-gold[data-v-de3ac69d]{color:#fbbf24}.badge-silver[data-v-de3ac69d]{color:#9ca3af}.badge-bronze[data-v-de3ac69d]{color:#d97706}.challenge-clip[data-v-de3ac69d]{margin-top:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.challenge-clip audio[data-v-de3ac69d]{width:100%}.challenge-share[data-v-de3ac69d]{margin-top:1rem;text-align:center}.share-button[data-v-de3ac69d]{padding:.75rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}.share-button[data-v-de3ac69d]:hover{background:#059669;transform:scale(1.05)}.gallery-page[data-v-65d2b83f]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.page-header[data-v-65d2b83f]{text-align:center;margin-bottom:3rem;color:#fff}.page-header h1[data-v-65d2b83f]{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.page-header p[data-v-65d2b83f]{font-size:1.1rem;opacity:.9}.search-section[data-v-65d2b83f]{max-width:1200px;margin:0 auto 3rem;background:#ffffff1a;padding:2rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-bar[data-v-65d2b83f]{position:relative;margin-bottom:1.5rem}.search-input[data-v-65d2b83f]{width:100%;padding:1rem 3rem 1rem 1rem;border:none;border-radius:8px;font-size:1rem;background:#fff;box-shadow:0 2px 4px #0000001a}.search-input[data-v-65d2b83f]:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d}.search-icon[data-v-65d2b83f]{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem;color:#6b7280}.filters[data-v-65d2b83f]{display:flex;gap:1rem;flex-wrap:wrap}.filter-select[data-v-65d2b83f]{padding:.75rem 1rem;border:none;border-radius:6px;background:#fff;color:#1f2937;font-size:.9rem;cursor:pointer;box-shadow:0 2px 4px #0000001a}.filter-select[data-v-65d2b83f]:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d}.loading-container[data-v-65d2b83f]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#fff}.spinner[data-v-65d2b83f]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin-65d2b83f 1s linear infinite;margin-bottom:1rem}@keyframes spin-65d2b83f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container[data-v-65d2b83f]{text-align:center;color:#fff;background:#ef44441a;padding:2rem;border-radius:12px;border:1px solid rgba(239,68,68,.3)}.retry-button[data-v-65d2b83f]{background:#ef4444;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;margin-top:1rem}.gallery-content[data-v-65d2b83f]{max-width:1200px;margin:0 auto}.results-stats[data-v-65d2b83f]{color:#fff;margin-bottom:2rem;font-size:1.1rem;opacity:.9}.gallery-grid[data-v-65d2b83f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.gallery-card[data-v-65d2b83f]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:all .3s ease}.gallery-card[data-v-65d2b83f]:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.card-header[data-v-65d2b83f]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center}.card-header h3[data-v-65d2b83f]{margin:0;font-size:1.1rem;flex:1}.perfect-badge[data-v-65d2b83f]{background:#fff3;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:700}.card-content[data-v-65d2b83f]{padding:1.5rem}.audio-player[data-v-65d2b83f]{width:100%;margin-bottom:1rem}.card-meta[data-v-65d2b83f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.9rem;color:#6b7280}.user-info[data-v-65d2b83f]{display:flex;gap:1rem}.nickname[data-v-65d2b83f]{font-weight:700;color:#1f2937}.stats[data-v-65d2b83f]{display:flex;gap:1rem}.ai-comment[data-v-65d2b83f]{font-style:italic;color:#4b5563;margin-bottom:1.5rem;line-height:1.5}.card-actions[data-v-65d2b83f]{display:flex;gap:1rem}.action-button[data-v-65d2b83f]{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;flex:1;transition:all .2s}.action-button[data-v-65d2b83f]:hover{background:#2563eb}.report-button[data-v-65d2b83f]{background:#6b7280;color:#fff;border:none;padding:.75rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.report-button[data-v-65d2b83f]:hover{background:#4b5563}.empty-state[data-v-65d2b83f]{text-align:center;color:#fff;padding:4rem 2rem}.empty-icon[data-v-65d2b83f]{font-size:4rem;margin-bottom:1rem}.empty-state h3[data-v-65d2b83f]{font-size:1.5rem;margin-bottom:.5rem}.empty-state p[data-v-65d2b83f]{opacity:.9;margin-bottom:2rem}.go-training-button[data-v-65d2b83f]{background:#10b981;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.go-training-button[data-v-65d2b83f]:hover{background:#059669}.pagination[data-v-65d2b83f]{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:3rem}.page-button[data-v-65d2b83f]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .2s}.page-button[data-v-65d2b83f]:hover:not(:disabled){background:#ffffff4d}.page-button[data-v-65d2b83f]:disabled{opacity:.5;cursor:not-allowed}.page-numbers[data-v-65d2b83f]{display:flex;gap:.5rem}.page-number[data-v-65d2b83f]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s;min-width:44px}.page-number[data-v-65d2b83f]:hover{background:#ffffff4d}.page-number.active[data-v-65d2b83f]{background:#fff;color:#1f2937}@media (max-width: 768px){.gallery-page[data-v-65d2b83f]{padding:1rem}.page-header h1[data-v-65d2b83f]{font-size:2rem}.search-section[data-v-65d2b83f]{padding:1rem}.filters[data-v-65d2b83f]{flex-direction:column}.gallery-grid[data-v-65d2b83f]{grid-template-columns:1fr}.card-meta[data-v-65d2b83f]{flex-direction:column;align-items:flex-start;gap:.5rem}.card-actions[data-v-65d2b83f]{flex-direction:column}.pagination[data-v-65d2b83f]{flex-wrap:wrap}}html,body{margin:0;padding:0}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:0;text-align:center}div#app.app--no-padding,[data-v-app].app--no-padding{padding:0!important;margin:0!important;max-width:none!important}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
