*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}@media(max-width:968px){html,body{overflow:auto}}[data-theme=light]{--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-tertiary: #e8ecf1;--text-primary: #1a202c;--text-secondary: #4a5568;--text-tertiary: #718096;--border-color: #e2e8f0;--sidebar-bg: #ffffff;--sidebar-hover: #f7fafc;--sidebar-active: #edf2f7;--card-bg: #ffffff;--card-border: #e2e8f0;--accent-primary: #e67e22;--accent-secondary: #d35400;--success: #48bb78;--warning: #ed8936;--danger: #f56565;--info: #4299e1}[data-theme=dark]{--bg-primary: #0f1419;--bg-secondary: #1a1f2e;--bg-tertiary: #252d3d;--text-primary: #e2e8f0;--text-secondary: #cbd5e0;--text-tertiary: #a0aec0;--border-color: #2d3748;--sidebar-bg: #1a1f2e;--sidebar-hover: #252d3d;--sidebar-active: #2d3748;--card-bg: #1a1f2e;--card-border: #2d3748;--accent-primary: #e67e22;--accent-secondary: #d35400;--success: #48bb78;--warning: #ed8936;--danger: #f56565;--info: #4299e1}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{min-height:100vh;height:100vh;margin:0;padding:0;overflow:hidden}@media(max-width:968px){#root{overflow:auto}}.auth-right-panel{flex:1;position:relative;background:linear-gradient(135deg,#3a3a3a,#4a4a4a,#5a5a5a);display:flex;align-items:center;justify-content:center;overflow:hidden}.auth-right-panel .welcome-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:24px}.auth-right-panel .welcome-content h2{font-size:64px;font-weight:700;color:#fff;margin:0;text-shadow:0 4px 12px rgba(0,0,0,.3)}.auth-right-panel .welcome-logo{height:80px;width:auto;object-fit:contain}.auth-right-panel .decorative-lines{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1}.auth-right-panel .line{position:absolute;background:linear-gradient(135deg,#e67e224d,#f39c1233);transform:rotate(-45deg)}.auth-right-panel .line-1{width:300px;height:150px;top:10%;right:-50px}.auth-right-panel .line-2{width:400px;height:200px;top:40%;right:20%;opacity:.6}.auth-right-panel .line-3{width:350px;height:180px;bottom:10%;right:-80px;opacity:.8}.auth-right-panel .social-section{position:absolute;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:10}.auth-right-panel .social-label{color:#ffffffe6;font-size:16px;font-weight:600;letter-spacing:.5px;margin-bottom:4px}.auth-right-panel .social-group{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.auth-right-panel .social-group-name{color:#fffc;font-size:14px;font-weight:500}.auth-right-panel .social-icons{display:flex;gap:12px}.auth-right-panel .social-icons a{display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s ease}.auth-right-panel .social-icons a:hover{opacity:.8;transform:scale(1.1)}.auth-right-panel .social-icons svg{width:24px;height:24px}@media(max-width:900px){.auth-right-panel{min-height:300px}}@media(max-width:768px){.auth-right-panel{display:none}}@media(max-width:600px){.auth-right-panel .welcome-content h2{font-size:36px}}.register-container{height:100vh;display:flex;overflow:hidden}.register-left{flex:1;display:flex;align-items:flex-start;justify-content:center;background:var(--bg-secondary);padding:40px;overflow-y:auto;scrollbar-width:none}.register-left::-webkit-scrollbar{display:none}.register-form-wrapper{width:100%;max-width:500px;padding:20px 0}.register-logo{width:260px;height:auto;margin:0 auto 30px;display:block}.register-left h1{margin:0 0 8px;color:var(--text-primary);font-size:28px;text-align:center;font-weight:600}.register-right{flex:1;position:relative;background:linear-gradient(135deg,#3a3a3a,#4a4a4a,#5a5a5a);display:flex;align-items:center;justify-content:center;overflow:hidden}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alert-success{background-color:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.register-form-wrapper .email-hint{display:block;margin:-16px 0 24px;font-size:13px;color:#9ca3af;text-align:center}@media(max-width:968px){.register-container{flex-direction:column;height:auto;overflow:visible}.register-left,.register-right{flex:none;width:100%}.register-right{min-height:300px}.welcome-content h2{font-size:48px}}@media(max-width:600px){.register-left{padding:20px}.register-logo{width:140px;margin-bottom:20px}.register-left h1{font-size:24px}.form-row{grid-template-columns:1fr}.welcome-content h2{font-size:36px}}@media(max-height:800px){.register-logo{width:180px;margin-bottom:20px}.register-left h1{font-size:24px}.subtitle{margin-bottom:15px}.register-form-wrapper{padding:10px 0}.register-left .form-group{margin-bottom:12px}.register-left .form-group label{margin-bottom:4px;font-size:13px}.register-left .form-group input{padding:10px 14px}.terms-group{margin-top:.5rem;margin-bottom:.5rem}.form-footer{margin-top:15px}}.terms-group{margin-top:1rem;margin-bottom:1rem}.terms-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.terms-label input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--accent-primary);margin-right:.5rem}.terms-text{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.terms-group .error-message{margin-top:.5rem;display:block}.terms-link{color:var(--accent-primary);text-decoration:underline;cursor:pointer}.terms-link:hover{color:var(--accent-secondary)}.terms-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.terms-modal{background:var(--bg-secondary);border-radius:12px;max-width:500px;width:90%;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px #0000004d;border:1px solid var(--border-color)}.terms-modal-content{padding:1.5rem;overflow-y:auto;max-height:50vh}.terms-modal-content p{margin:0 0 1rem;color:var(--text-secondary);line-height:1.6}.login-container{height:100vh;display:flex;overflow:hidden}.login-left{flex:1;display:flex;align-items:flex-start;justify-content:center;background:var(--bg-secondary);padding:40px;overflow-y:auto;scrollbar-width:none}.login-left::-webkit-scrollbar{display:none}.login-form-wrapper{width:100%;max-width:450px;padding:20px 0}.login-logo{width:260px;height:auto;margin:0 auto 30px;display:block}.login-left h1{margin:0 0 8px;color:var(--text-primary);font-size:28px;text-align:center;font-weight:600}.subtitle{margin:0 0 25px;color:var(--text-secondary);text-align:center;font-size:14px}.login-right{flex:1;position:relative;background:linear-gradient(135deg,#3a3a3a,#4a4a4a,#5a5a5a);display:flex;align-items:center;justify-content:center;overflow:hidden}.line{position:absolute;background:linear-gradient(135deg,#e67e224d,#f39c1233);transform:rotate(-45deg)}.form-group input{width:100%;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);transition:all .3s ease;box-sizing:border-box}.form-group input::placeholder{color:var(--text-tertiary)}.form-group input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 3px #e67e2226}.form-group input.error{border-color:#ef4444}.form-group input:disabled{background-color:var(--bg-primary);cursor:not-allowed;opacity:.6}.error-message{display:block;color:#f87171;font-size:12px;margin-top:6px}.forgot-password-link{text-align:right;margin-bottom:16px;margin-top:-8px}.forgot-password-link a{color:#e67e22;text-decoration:none;font-size:14px;font-weight:500}.forgot-password-link a:hover{color:#f39c12;text-decoration:underline}.alert{padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.alert-error{background-color:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:10px;box-shadow:0 4px 12px #e67e2240}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#ba4a00);transform:translateY(-1px);box-shadow:0 6px 16px #e67e2259}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.form-footer{margin-top:32px;text-align:center;color:var(--text-secondary);font-size:14px}.form-footer a{color:#e67e22;text-decoration:none;font-weight:500}.form-footer a:hover{color:#f39c12;text-decoration:underline}@media(max-width:968px){.login-container{flex-direction:column;height:auto;overflow:visible}.login-left,.login-right{flex:none;width:100%}.login-right{min-height:300px}.welcome-content h2{font-size:48px}}@media(max-width:600px){.login-left{padding:20px}.login-logo{width:140px;margin-bottom:20px}.login-left h1{font-size:24px}.welcome-content h2{font-size:36px}}@media(max-height:800px){.login-logo{width:180px;margin-bottom:20px}.login-left h1{font-size:24px}.subtitle{margin-bottom:15px}.login-form-wrapper{padding:10px 0}.login-left .form-group{margin-bottom:12px}.login-left .form-group label{margin-bottom:4px;font-size:13px}.login-left .form-group input{padding:10px 14px}.form-footer{margin-top:15px}}.inspirit-login-container{height:100vh;display:flex;overflow:hidden}.inspirit-login-left{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:40px;overflow-y:auto;scrollbar-width:none}.inspirit-login-left::-webkit-scrollbar{display:none}.inspirit-login-form-wrapper{width:100%;max-width:450px;padding:20px 0;text-align:center}.inspirit-login-logo{width:260px;height:auto;margin:0 auto 30px;display:block}.inspirit-login-left h1{margin:0 0 8px;color:var(--text-primary);font-size:28px;text-align:center;font-weight:600}.inspirit-subtitle{margin:0 0 30px;color:var(--text-secondary);text-align:center;font-size:14px}.inspirit-microsoft-btn{width:100%;padding:14px 24px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:16px;font-weight:500;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s ease}.inspirit-microsoft-btn:hover:not(:disabled){background:var(--bg-primary);border-color:var(--accent-primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.inspirit-microsoft-btn:active:not(:disabled){transform:translateY(0)}.inspirit-microsoft-btn:disabled{opacity:.5;cursor:not-allowed}.inspirit-microsoft-icon{flex-shrink:0}.inspirit-loading-text{color:var(--text-secondary)}.inspirit-alert{padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px;text-align:left}.inspirit-alert-error{background-color:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.inspirit-alert-info{background-color:#3b82f626;color:var(--text-secondary);border:1px solid rgba(59,130,246,.3);text-align:center}.inspirit-form-footer{margin-top:32px;text-align:center;color:var(--text-secondary);font-size:14px}.inspirit-form-footer a{color:#e67e22;text-decoration:none;font-weight:500}.inspirit-form-footer a:hover{color:#f39c12;text-decoration:underline}@media(max-width:968px){.inspirit-login-container{flex-direction:column;height:auto;overflow:visible}.inspirit-login-left{flex:none;width:100%}}@media(max-width:600px){.inspirit-login-left{padding:20px}.inspirit-login-logo{width:140px;margin-bottom:20px}.inspirit-login-left h1{font-size:24px}}.verify-email-container{min-height:100vh;display:flex;overflow:hidden}.verify-email-left{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:40px}.verify-email-content-wrapper{width:100%;max-width:500px;text-align:center}.verify-email-logo{width:180px;height:auto;margin:0 auto 40px;display:block}.verify-email-left h1{margin:20px 0 12px;color:var(--text-primary);font-size:32px;font-weight:600}.message{color:var(--text-secondary);font-size:16px;margin-bottom:30px;line-height:1.5}.verify-email-right{flex:1;position:relative;background:linear-gradient(135deg,#3a3a3a,#4a4a4a,#5a5a5a);display:flex;align-items:center;justify-content:center;overflow:hidden}.spinner{width:60px;height:60px;margin:0 auto 20px;border:4px solid var(--border-color);border-top:4px solid #e67e22;border-radius:50%;animation:spin 1s linear infinite}.icon-success{width:80px;height:80px;margin:0 auto 20px;color:#10b981}.icon-success svg{width:100%;height:100%}.icon-error{width:80px;height:80px;margin:0 auto 20px;color:#ef4444}.icon-error svg{width:100%;height:100%}.btn-primary{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #e67e2240}.btn-primary:hover{background:linear-gradient(135deg,#d35400,#ba4a00);transform:translateY(-1px);box-shadow:0 6px 16px #e67e2259}.btn-secondary{display:inline-block;padding:14px 32px;background:var(--bg-tertiary);color:#e67e22;border:2px solid #e67e22;border-radius:8px;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease;margin-right:12px}.btn-secondary:hover{background:#e67e22;color:#fff}.btn-link{display:inline-block;padding:14px 32px;color:#e67e22;font-size:16px;font-weight:600;text-decoration:none;transition:color .2s ease}.btn-link:hover{color:#f39c12;text-decoration:underline}.action-links{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}@media(max-width:968px){.verify-email-container{flex-direction:column}.verify-email-left,.verify-email-right{flex:none;width:100%}.verify-email-left{min-height:100vh}.verify-email-right{min-height:300px}.welcome-content h2{font-size:48px}}@media(max-width:600px){.verify-email-left{padding:20px}.verify-email-logo{width:140px;margin-bottom:30px}.verify-email-left h1{font-size:28px}.action-links{flex-direction:column}.btn-secondary{margin-right:0;margin-bottom:12px}.welcome-content h2{font-size:36px}}.two-factor-container{height:100vh;display:flex;overflow:hidden}.two-factor-left{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:40px;overflow-y:auto;scrollbar-width:none;animation:fadeIn .3s ease-out}.two-factor-left::-webkit-scrollbar{display:none}.two-factor-form-wrapper{width:100%;max-width:450px}.two-factor-logo{width:180px;height:auto;margin:0 auto 40px;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.two-factor-right{flex:1;position:relative;background:linear-gradient(135deg,#3a3a3a,#4a4a4a,#5a5a5a);display:flex;align-items:center;justify-content:center;overflow:hidden}.welcome-content{position:relative;z-index:2}.welcome-content h2{font-size:64px;font-weight:700;color:#fff;margin:0;text-shadow:0 4px 12px rgba(0,0,0,.3)}.decorative-lines{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1}.line{position:absolute;background:linear-gradient(135deg,#e74c3c4d,#ff6b6b33);transform:rotate(-45deg)}.line-1{width:300px;height:150px;top:10%;right:-50px}.line-2{width:400px;height:200px;top:40%;right:20%;opacity:.6}.line-3{width:350px;height:180px;bottom:10%;right:-80px;opacity:.8}.two-factor-header{text-align:center;margin-bottom:40px}.two-factor-icon{font-size:56px;margin-bottom:20px}.two-factor-header h1{font-size:32px;color:var(--text-primary);margin-bottom:12px;font-weight:600}.two-factor-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.6}.two-factor-subtitle strong{color:#e67e22;font-weight:600}.two-factor-header .email-hint{margin-top:12px;font-size:12px;color:var(--text-tertiary)}.two-factor-form{margin-bottom:20px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-weight:500;font-size:14px}.code-input{width:100%;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:28px;font-weight:700;text-align:center;letter-spacing:12px;color:var(--text-primary);transition:all .3s ease;font-family:Courier New,monospace;box-sizing:border-box}.code-input::placeholder{color:var(--text-tertiary);letter-spacing:12px}.code-input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 3px #e67e2226}.code-input:disabled{background-color:var(--bg-primary);cursor:not-allowed;opacity:.6}.input-hint{margin-top:10px;font-size:12px;color:var(--text-tertiary);text-align:center}.error-message{background-color:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px;margin-bottom:20px;color:#f87171;font-size:14px;display:flex;align-items:center;gap:8px}.error-icon{font-size:18px}.btn-verify{width:100%;padding:16px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #e67e2240}.btn-verify:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#ba4a00);transform:translateY(-1px);box-shadow:0 6px 16px #e67e2259}.btn-verify:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;transform:none}.two-factor-footer{text-align:center;padding-top:24px;border-top:1px solid var(--border-color);margin-top:8px}.footer-text{font-size:13px;color:var(--text-tertiary);margin-bottom:15px}.btn-back-to-login{background:none;border:none;color:#e67e22;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;padding:8px 16px}.btn-back-to-login:hover:not(:disabled){color:#f39c12;text-decoration:underline}.btn-back-to-login:disabled{color:#444;cursor:not-allowed}@media(max-width:968px){.two-factor-container{flex-direction:column;height:auto;overflow:visible}.two-factor-left,.two-factor-right{flex:none;width:100%}.two-factor-right{min-height:300px}.welcome-content h2{font-size:48px}}@media(max-width:600px){.two-factor-left{padding:20px}.two-factor-logo{width:140px;margin-bottom:30px}.two-factor-header h1{font-size:28px}.welcome-content h2{font-size:36px}}.forgot-password-container{height:100vh;display:flex;overflow:hidden}.forgot-password-left{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:40px}.forgot-password-form-wrapper{width:100%;max-width:450px}.forgot-password-logo{width:260px;height:auto;margin:0 auto 40px;display:block}.forgot-password-left h1{margin:0 0 8px;color:var(--text-primary);font-size:32px;text-align:center;font-weight:600}.forgot-password-left .subtitle{margin:0 0 40px;color:var(--text-secondary);text-align:center;font-size:14px}.forgot-password-left .form-group{margin-bottom:24px}.forgot-password-left .form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-weight:500;font-size:14px}.forgot-password-left .form-group input{width:100%;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);transition:all .3s ease;box-sizing:border-box}.forgot-password-left .form-group input::placeholder{color:var(--text-tertiary)}.forgot-password-left .form-group input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 3px #e67e2226}.forgot-password-left .form-group input:disabled{background-color:var(--bg-primary);cursor:not-allowed;opacity:.6}.forgot-password-left .alert{padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.forgot-password-left .alert-error{background-color:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.forgot-password-left .alert-success{background-color:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.forgot-password-left .alert-success p{margin:8px 0 0;font-weight:400}.forgot-password-left .email-hint{margin:0 0 16px;font-size:12px;color:var(--text-tertiary);text-align:center}.forgot-password-left .btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:10px;box-shadow:0 4px 12px #e67e2240}.forgot-password-left .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#ba4a00);transform:translateY(-1px);box-shadow:0 6px 16px #e67e2259}.forgot-password-left .btn-primary:disabled{opacity:.5;cursor:not-allowed}.forgot-password-left .form-footer{margin-top:32px;text-align:center;color:var(--text-secondary);font-size:14px}.forgot-password-left .form-footer a{color:#e67e22;text-decoration:none;font-weight:500}.forgot-password-left .form-footer a:hover{color:#f39c12;text-decoration:underline}@media(max-width:968px){.forgot-password-container{flex-direction:column;height:auto;overflow:visible}.forgot-password-left{flex:none;width:100%}}@media(max-width:600px){.forgot-password-left{padding:20px}.forgot-password-logo{width:140px;margin-bottom:30px}.forgot-password-left h1{font-size:28px}}.reset-password-container{min-height:100vh;display:flex;overflow:hidden}.reset-password-left{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:40px}.reset-password-form-wrapper{width:100%;max-width:450px}.reset-password-logo{width:260px;height:auto;margin:0 auto 40px;display:block}.reset-password-left h1{margin:0 0 8px;color:var(--text-primary);font-size:32px;text-align:center;font-weight:600}.reset-password-left .subtitle{margin:0 0 40px;color:var(--text-secondary);text-align:center;font-size:14px}.reset-password-left .form-group{margin-bottom:24px}.reset-password-left .form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-weight:500;font-size:14px}.reset-password-left .form-group input{width:100%;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);transition:all .3s ease;box-sizing:border-box}.reset-password-left .form-group input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 3px #e67e2226}.reset-password-left .form-group input.error{border-color:#ef4444}.reset-password-left .form-group input:disabled{background-color:var(--bg-primary);cursor:not-allowed;opacity:.6}.reset-password-left .error-message{display:block;color:#f87171;font-size:12px;margin-top:6px}.reset-password-left .alert{padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.reset-password-left .alert-error{background-color:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.reset-password-left .alert-success{background-color:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.reset-password-left .alert-success p{margin:8px 0 0;font-weight:400}.reset-password-left .btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:10px;box-shadow:0 4px 12px #e67e2240}.reset-password-left .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#ba4a00);transform:translateY(-1px);box-shadow:0 6px 16px #e67e2259}.reset-password-left .btn-primary:disabled{opacity:.5;cursor:not-allowed}.reset-password-left .form-footer{margin-top:32px;text-align:center;color:var(--text-secondary);font-size:14px}.reset-password-left .form-footer a{color:#e67e22;text-decoration:none;font-weight:500}.reset-password-left .form-footer a:hover{color:#f39c12;text-decoration:underline}.success-container{text-align:center}@media(max-width:968px){.reset-password-container{flex-direction:column}.reset-password-left{flex:none;width:100%;min-height:100vh}}@media(max-width:600px){.reset-password-left{padding:20px}.reset-password-logo{width:140px;margin-bottom:30px}.reset-password-left h1{font-size:28px}}.dashboard-page{flex:1;padding:30px;overflow-y:auto}.dashboard-page::-webkit-scrollbar{width:8px}.dashboard-page::-webkit-scrollbar-track{background:var(--bg-primary)}.dashboard-page::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.dashboard-page::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.welcome-section{margin-bottom:30px;text-align:center;padding:40px 20px 20px}.welcome-section h1{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.subtitle{font-size:15px;color:var(--text-secondary);line-height:1.5}.dashboard-actions{display:flex;justify-content:center;align-items:center;margin-top:40px}.btn-video-library{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;padding:16px 40px;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-card-icon{color:var(--text-secondary);margin-bottom:12px}.stat-card-success .stat-card-icon{color:#27ae60}.stat-card-progress .stat-card-icon{color:#e67e22}.stat-card-value{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-card-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.dashboard-section{margin-bottom:32px}.section-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center}.recently-watched-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.recently-watched-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:16px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.recently-watched-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.rw-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rw-topic-badge{font-size:11px;font-weight:600;color:var(--accent-primary);background-color:var(--bg-tertiary);padding:3px 8px;border-radius:4px}.rw-completed-badge{font-size:11px;font-weight:600;color:#27ae60;background-color:#27ae601a;padding:3px 8px;border-radius:4px}.rw-video-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px;line-height:1.4}.rw-progress-bar{height:6px;background-color:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-bottom:8px}.rw-progress-fill{height:100%;background:linear-gradient(135deg,#e67e22,#d35400);border-radius:3px;transition:width .3s ease}.rw-progress-info{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.topic-progress-list{display:flex;flex-direction:column;gap:12px}.topic-progress-item{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:16px 20px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:8px 16px;align-items:center}.tp-header{display:flex;justify-content:space-between;align-items:center;grid-column:1 / -1}.tp-title{font-size:14px;font-weight:600;color:var(--text-primary)}.tp-count{font-size:12px;color:var(--text-secondary)}.tp-progress-bar{height:8px;background-color:var(--bg-tertiary);border-radius:4px;overflow:hidden;grid-column:1}.tp-progress-fill{height:100%;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:4px;transition:width .3s ease}.tp-percentage{font-size:13px;font-weight:600;color:var(--text-secondary);grid-column:2;min-width:36px;text-align:right}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-page{padding:20px}.stats-grid,.recently-watched-grid{grid-template-columns:1fr}}.email-list-modal{background:var(--bg-primary);border-radius:12px;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.email-list-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--border-color)}.email-list-header h2{margin:0;font-size:20px;color:var(--text-primary)}.email-list-topic-name{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}.btn-close-modal{background:transparent;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:4px 8px;border-radius:4px}.btn-close-modal:hover{background:var(--bg-tertiary);color:var(--text-primary)}.email-list-message{display:flex;justify-content:space-between;align-items:center;padding:10px 24px;font-size:13px}.email-list-message.error{background:#dc35451a;color:#dc3545}.email-list-message.success{background:#28a7451a;color:#28a745}.email-list-message button{background:transparent;border:none;cursor:pointer;color:inherit;font-size:14px}.email-add-section{padding:16px 24px;border-bottom:1px solid var(--border-color)}.add-mode-tabs{display:flex;gap:8px;margin-bottom:12px}.add-mode-tabs button{padding:6px 14px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all .2s ease}.add-mode-tabs button.active{background:#e67e22;color:#fff;border-color:#e67e22}.add-single-form{display:flex;gap:8px}.add-single-form input,.add-bulk-form textarea{flex:1;padding:10px 12px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary)}.add-single-form input:focus,.add-bulk-form textarea:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 3px #e67e221a}.add-bulk-form textarea{width:100%;resize:vertical;min-height:80px;margin-bottom:8px}.btn-add-email{padding:10px 20px;background:#e67e22;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:background .2s ease}.btn-add-email:hover{background:#d35400}.email-list-content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:0 24px 20px}.email-list-toolbar{display:flex;align-items:center;gap:12px;padding:16px 0 12px}.email-search-input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--bg-secondary);color:var(--text-primary)}.email-search-input:focus{outline:none;border-color:#e67e22}.email-count{font-size:13px;color:var(--text-secondary);white-space:nowrap}.btn-clear-all{padding:6px 12px;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap;transition:background .2s ease}.btn-clear-all:hover{background:#c82333}.email-list-loading,.email-list-empty{text-align:center;padding:40px 0;color:var(--text-secondary);font-size:14px}.email-list-table-container{flex:1;overflow-y:auto;max-height:350px}.email-list-table{width:100%;border-collapse:collapse}.email-list-table th{text-align:left;padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;border-bottom:2px solid var(--border-color);position:sticky;top:0;background:var(--bg-primary)}.email-list-table td{padding:8px 12px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.email-cell{font-family:monospace;font-size:13px}.btn-remove-email{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;padding:2px 8px;border-radius:4px;font-size:12px;transition:all .2s ease}.btn-remove-email:hover{background:#dc3545;color:#fff;border-color:#dc3545}.clear-confirm-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:10}.clear-confirm-box{background:var(--bg-primary);padding:24px;border-radius:8px;text-align:center;max-width:400px}.clear-confirm-box p{margin:0 0 16px;color:var(--text-primary);font-size:14px}.clear-confirm-actions{display:flex;gap:12px;justify-content:center}.btn-email-list{padding:8px 16px;border:1px solid #e67e22;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;background:transparent;color:#e67e22;transition:all .2s ease}.btn-email-list:hover{background:#e67e22;color:#fff}.btn-email-list:disabled{opacity:.5;cursor:not-allowed}.btn-add-email:disabled{opacity:.5;cursor:not-allowed}.csv-hint{font-size:13px;color:var(--text-secondary);margin:0 0 8px}.csv-file-input{font-size:14px;color:var(--text-primary)}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.email-editor-modal{background:var(--bg-primary);border-radius:12px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.email-editor-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--border-color)}.email-editor-header h2{margin:0;font-size:20px;color:var(--text-primary);display:flex;align-items:center;gap:8px}.email-editor-topic-name{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}.email-editor-message{padding:10px 24px;font-size:13px}.email-editor-message.error{background:#dc35451a;color:#dc3545}.email-editor-message.success{background:#28a7451a;color:#28a745}.email-editor-body{flex:1;overflow-y:auto;padding:16px 24px}.email-editor-body::-webkit-scrollbar{width:8px}.email-editor-body::-webkit-scrollbar-track{background:var(--bg-primary)}.email-editor-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.email-editor-body::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.email-editor-info{margin-bottom:12px}.badge-custom{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;background:#e67e2226;color:#e67e22}.badge-default{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;background:#6c757d26;color:#6c757d}.email-editor-placeholders{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;padding:10px 12px;background:var(--bg-secondary, #f8f9fa);border-radius:8px;border:1px solid var(--border-color)}.placeholders-label{font-size:12px;color:var(--text-secondary);font-weight:600;display:flex;align-items:center;gap:4px;margin-right:4px}.btn-placeholder{padding:3px 8px;font-size:11px;font-family:monospace;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-primary);transition:all .15s}.btn-placeholder:hover{background:#e67e22;color:#fff;border-color:#e67e22}.email-editor-body .ql-toolbar{border-radius:8px 8px 0 0;background:var(--bg-secondary)}.email-editor-body .ql-container{min-height:200px;font-size:15px;border-radius:0 0 8px 8px;background:#fff}.email-editor-body .ql-editor{min-height:200px;background:#fff;color:#333}.email-preview{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:#f4f4f4;max-height:400px;overflow-y:auto}.email-preview::-webkit-scrollbar{width:8px}.email-preview::-webkit-scrollbar-track{background:var(--bg-primary)}.email-preview::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.email-preview::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.email-preview-header{background:#e67e22;color:#fff;padding:20px;text-align:center;font-size:22px;font-weight:700}.email-preview-content{padding:30px 24px;background:#fff;color:#333;line-height:1.6}.email-preview-footer{background:#f8f9fa;padding:14px;text-align:center;color:#999;font-size:12px}.email-editor-actions{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--border-color)}.email-editor-actions-right{display:flex;gap:8px}.btn-preview,.btn-reset,.btn-save-email{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .15s}.btn-preview{background:var(--bg-secondary, #f0f0f0);color:var(--text-primary)}.btn-preview:hover{background:var(--border-color)}.btn-reset{background:#dc35451a;color:#dc3545}.btn-reset:hover{background:#dc354533}.btn-save-email{background:#e67e22;color:#fff}.btn-save-email:hover:not(:disabled){background:#d35400}.btn-save-email:disabled{opacity:.5;cursor:not-allowed}.btn-reset:disabled{opacity:.5;cursor:not-allowed}.materials-modal{background:var(--bg-primary);border-radius:12px;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.materials-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--border-color)}.materials-header h2{margin:0;font-size:20px;color:var(--text-primary)}.materials-topic-name{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}.materials-message{display:flex;justify-content:space-between;align-items:center;padding:10px 24px;font-size:13px}.materials-message.error{background:#dc35451a;color:#dc3545}.materials-message.success{background:#28a7451a;color:#28a745}.materials-message button{background:transparent;border:none;cursor:pointer;color:inherit;font-size:14px}.materials-upload-section{padding:16px 24px;border-bottom:1px solid var(--border-color)}.upload-form{display:flex;flex-direction:column;gap:10px}.drop-zone{border:2px dashed var(--border-color);border-radius:10px;padding:28px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:border-color .2s ease,background .2s ease;background:transparent}.drop-zone:hover{border-color:var(--text-tertiary);background:#ffffff05}.drop-zone-active{border-color:#3498db;background:#3498db0f}.drop-zone-input{display:none}.drop-zone-icon{color:var(--text-tertiary);opacity:.7}.drop-zone-active .drop-zone-icon{color:#3498db;opacity:1}.drop-zone-text{font-size:14px;font-weight:500;color:var(--text-secondary)}.drop-zone-active .drop-zone-text{color:#3498db}.drop-zone-hint{font-size:12px;color:var(--text-tertiary)}.selected-files{display:flex;flex-wrap:wrap;gap:6px}.selected-file-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:12px;color:var(--text-secondary)}.upload-title-input{padding:10px 12px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary)}.upload-title-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.btn-upload{padding:10px 20px;background:#3498db;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:background .2s ease;align-self:flex-end}.btn-upload:hover{background:#2980b9}.btn-upload:disabled{opacity:.5;cursor:not-allowed}.materials-list-content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:0 24px 20px}.materials-loading,.materials-empty{text-align:center;padding:40px 0;color:var(--text-secondary);font-size:14px}.materials-table-container{flex:1;overflow-y:auto;max-height:400px;margin-top:12px}.materials-table{width:100%;border-collapse:collapse}.materials-table th{text-align:left;padding:8px 10px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;border-bottom:2px solid var(--border-color);position:sticky;top:0;background:var(--bg-primary)}.materials-table td{padding:8px 10px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.file-icon-cell{display:flex;align-items:center;gap:6px}.file-icon{font-size:18px}.edit-title-inline{display:flex;gap:4px;align-items:center}.edit-title-inline input{padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:13px;background:var(--bg-secondary);color:var(--text-primary);width:160px}.btn-save-inline,.btn-cancel-inline{background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;padding:2px 6px;font-size:12px;color:var(--text-secondary)}.btn-save-inline:hover{background:#28a745;color:#fff;border-color:#28a745}.btn-cancel-inline:hover{background:var(--bg-tertiary)}.delete-confirm-inline{display:flex;gap:4px}.btn-confirm-delete{padding:2px 8px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.btn-remove-material{background:transparent;border:1px solid var(--border-color);cursor:pointer;padding:2px 8px;border-radius:4px;font-size:14px;transition:all .2s ease}.btn-remove-material:hover{background:#dc3545;border-color:#dc3545}.btn-materials{padding:8px 16px;border:1px solid #3498db;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;background:transparent;color:#3498db;transition:all .2s ease}.btn-materials:hover{background:#3498db;color:#fff}.btn-materials:disabled{opacity:.5;cursor:not-allowed}.file-name{font-family:monospace;font-size:12px;color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.size-cell{white-space:nowrap}.editable-title{cursor:pointer;border-bottom:1px dashed var(--border-color);white-space:nowrap}.editable-title:hover{color:#3498db}.materials-notify-section{display:flex;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.btn-customize-notify-email{display:inline-flex;align-items:center;padding:8px 18px;background:#6366f1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-customize-notify-email:hover{background:#4f46e5}.btn-notify-users{display:inline-flex;align-items:center;padding:8px 18px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-notify-users:hover:not(:disabled){background:#1d4ed8}.btn-notify-users:disabled{opacity:.6;cursor:not-allowed}.notify-hint{font-size:12px;color:var(--text-secondary)}.topics-management{padding:0 40px;max-width:100%;margin:0;width:100%}.topics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topics-header h2{margin:0;color:var(--text-primary);font-size:28px;font-weight:600;letter-spacing:-.5px}.btn-create{background:transparent;color:#e67e22;border:1px solid rgba(230,126,34,.3);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:4px}.btn-create:hover{background:#e67e221a}.btn-create:active{background:#e67e2226}.topics-search-bar{position:relative;margin-bottom:20px;max-width:400px;width:400px}.topics-search-input{width:100%;padding:12px 40px 12px 16px;border:2px solid var(--border-color);border-radius:10px;font-size:14px;background:var(--card-bg);color:var(--text-primary);transition:all .2s ease}.topics-search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.topics-search-input::placeholder{color:var(--text-tertiary)}.topics-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s}.topics-search-clear:hover{background:var(--border-color);color:var(--text-primary)}.topics-list-container{max-height:600px;overflow-y:auto;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);padding:8px}.topics-list-container::-webkit-scrollbar{width:8px}.topics-list-container::-webkit-scrollbar-track{background:var(--bg-primary)}.topics-list-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.topics-list-container::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.topic-item{padding:20px;margin-bottom:8px;border-radius:8px;border-left:3px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:default}.topic-item.even{background:var(--bg-secondary)}.topic-item.odd{background:var(--bg-tertiary)}.topic-item:hover{border-left-color:#e67e22;background:var(--sidebar-hover);box-shadow:0 2px 8px #00000014}.topic-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px}.topic-title{margin:0;color:var(--text-primary);font-size:18px;font-weight:600;flex:1;line-height:1.4}.video-count{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 2px 6px #e67e2240}.topic-description{color:var(--text-secondary);margin:12px 0;line-height:1.6;cursor:pointer;position:relative;padding:8px;border-radius:6px;transition:background .2s}.topic-description:hover{background:var(--bg-tertiary)}.topic-description p{margin:0;transition:all .3s ease}.topic-description.collapsed p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.topic-description.expanded p{display:block}.topic-description.no-description{cursor:default;font-style:italic;opacity:.6}.topic-description.no-description:hover{background:transparent}.expand-hint{display:inline-block;margin-left:8px;color:#667eea;font-size:12px;font-weight:500}.topic-item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.topic-dates{display:flex;flex-direction:column;gap:2px}.topic-date{color:var(--text-tertiary);font-size:13px}.topic-date.course-date{color:#e67e22;font-weight:500}.topic-actions{display:flex;gap:10px}.btn-edit,.btn-delete,.btn-welcome-email{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.btn-welcome-email{background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary)}.btn-welcome-email:hover{background:var(--accent-primary);color:#fff}.btn-welcome-email:disabled{opacity:.5;cursor:not-allowed}.btn-customize-email{padding:8px 16px;border:1px solid #8e44ad;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;background:transparent;color:#8e44ad;display:flex;align-items:center;gap:4px;transition:all .15s}.btn-customize-email:hover{background:#8e44ad;color:#fff}.btn-edit{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn-edit:hover{background:var(--bg-tertiary);border-color:var(--text-secondary);box-shadow:none}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#c82333;box-shadow:0 2px 6px #dc35454d}.btn-edit:disabled,.btn-delete:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-edit:active,.btn-delete:active{transform:translateY(0)}.topic-item.skeleton{pointer-events:none;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.skeleton-title{height:20px;width:60%;background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-tertiary) 50%,var(--border-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-badge{height:24px;width:80px;background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-tertiary) 50%,var(--border-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:20px}.skeleton-description{height:40px;width:100%;background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-tertiary) 50%,var(--border-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin:12px 0}.skeleton-date{height:16px;width:120px;background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-tertiary) 50%,var(--border-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-actions{height:32px;width:140px;background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-tertiary) 50%,var(--border-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state{text-align:center;padding:80px 20px;color:var(--text-secondary)}.empty-state-icon{font-size:64px;margin-bottom:20px;opacity:.5}.empty-state h3{margin:0 0 12px;color:var(--text-primary);font-size:22px;font-weight:600}.empty-state p{margin:0 0 24px;font-size:16px;color:var(--text-secondary)}.btn-create-empty{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;padding:12px 28px;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #e67e2240}.btn-create-empty:hover{box-shadow:0 6px 16px #667eea66}.error-message{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;padding:14px 18px;border-radius:10px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #dc3545;box-shadow:0 2px 8px #dc354526}.error-message button{background:none;border:none;color:#721c24;cursor:pointer;font-size:20px;padding:4px 8px;border-radius:4px;transition:background .2s}.error-message button:hover{background:#721c241a}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);border-radius:16px;padding:32px;max-width:540px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{margin:0 0 24px;color:var(--text-primary);font-size:24px;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500;font-size:14px}.form-group input,.form-group textarea{width:100%;padding:12px 14px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary);transition:all .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 3px #e67e221a}.form-group textarea{resize:vertical;min-height:100px}.form-group-row{display:flex;gap:16px;margin-bottom:20px}.form-group-row .form-group{flex:1;margin-bottom:0}.form-group-checkbox{margin-bottom:20px}.form-group-checkbox .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:var(--text-primary);font-size:14px}.form-group-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#e67e22;cursor:pointer}.checkbox-hint{font-size:12px;color:var(--text-secondary);font-weight:400;margin-left:4px}.topic-public-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:#4caf5026;color:#4caf50;margin-left:8px;vertical-align:middle}.topic-internal-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:#2196f326;color:#2196f3;margin-left:8px;vertical-align:middle}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:28px}.btn-cancel,.btn-submit{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease}.btn-cancel{background:var(--bg-tertiary);color:var(--text-primary)}.btn-cancel:hover{background:var(--border-color)}.btn-submit{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;box-shadow:0 2px 8px #e67e2240}.btn-submit:hover{box-shadow:0 4px 12px #667eea66}.btn-cancel:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.warning-text{color:#dc3545;font-weight:600;font-size:14px}@media(max-width:768px){.topics-management{padding:16px}.topics-header h2{font-size:22px}.btn-create{padding:10px 18px;font-size:13px}.topics-list-container{max-height:500px}.topic-item{padding:16px}.topic-item-header{flex-direction:column;align-items:flex-start;gap:8px}.topic-title{font-size:16px}.topic-item-footer{flex-direction:column;align-items:flex-start;gap:12px}.topic-actions{width:100%;justify-content:flex-end}.modal-content{padding:24px}}.videos-management{padding:20px}.videos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.videos-header h2{margin:0;color:var(--text-primary)}.alert{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:6px;margin-bottom:20px;position:relative}.alert-error{background:#fee;border:1px solid #fcc;color:#c33}.alert-success{background:#efe;border:1px solid #cfc;color:#3c3}.alert-icon{font-size:20px}.alert-close{position:absolute;right:12px;background:none;border:none;font-size:20px;cursor:pointer;color:inherit;opacity:.6}.alert-close:hover{opacity:1}.upload-container{display:grid;grid-template-columns:1fr 1fr;gap:30px}.upload-section,.info-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:24px}.upload-section h3,.info-section h3{margin:0 0 20px;color:var(--text-primary)}.file-upload-area{margin-bottom:24px}.file-upload-area input[type=file]{display:none}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;background:var(--input-bg)}.file-upload-label.disabled{opacity:.5;cursor:not-allowed}.file-upload-label:not(.disabled):hover{border-color:var(--primary-color);background:var(--hover-bg)}.upload-icon{font-size:48px;margin-bottom:12px}.upload-text{font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.upload-hint{font-size:13px;color:var(--text-secondary)}.file-info{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;padding:16px;margin-bottom:20px}.file-details{font-size:14px;color:var(--text-primary);line-height:1.8}.metadata-form{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:20px;margin-bottom:20px}.metadata-form h4{margin:0 0 20px;color:var(--text-primary);font-size:16px;font-weight:600}.metadata-form .form-group{margin-bottom:16px}.metadata-form label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-primary)}.metadata-form input,.metadata-form select,.metadata-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;background:var(--card-bg);color:var(--text-primary);transition:border-color .2s}.metadata-form input:focus,.metadata-form select:focus,.metadata-form textarea:focus{outline:none;border-color:var(--primary-color)}.metadata-form input:disabled,.metadata-form select:disabled,.metadata-form textarea:disabled{background:var(--hover-bg);cursor:not-allowed;opacity:.6}.metadata-form textarea{resize:vertical;min-height:80px}.upload-progress{margin:20px 0}.progress-bar{width:100%;height:24px;background:var(--border-color);border-radius:12px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),#4CAF50);transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.progress-text{text-align:center;font-size:14px;color:var(--text-primary);font-weight:500}.upload-result{background:#e8f5e9;border:2px solid #4CAF50;border-radius:8px;padding:20px;margin:20px 0}.upload-result h4{margin:0 0 16px;color:#2e7d32}.blob-info{background:#fff;border-radius:6px;padding:16px;margin-bottom:16px;font-size:13px;line-height:1.8;color:#333}.blob-info div{margin-bottom:8px}.blob-info div:last-child{margin-bottom:0}.blob-info strong{color:#2e7d32;display:inline-block;min-width:120px}.next-steps{margin:0;padding:12px;background:#fff9c4;border-radius:6px;color:#f57f17;font-size:14px;font-weight:500}.video-form .form-group{margin-bottom:20px}.video-form label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500}.video-form input,.video-form textarea,.video-form select{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text-primary)}.video-form input:disabled,.video-form textarea:disabled,.video-form select:disabled{opacity:.5;cursor:not-allowed}.video-form textarea{resize:vertical;font-family:inherit}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-clear,.btn-upload{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-clear{background:var(--border-color);color:var(--text-primary)}.btn-upload{background:var(--accent-primary);color:#fff}.btn-clear:disabled,.btn-upload:disabled{opacity:.5;cursor:not-allowed}.btn-clear:not(:disabled):hover{background:var(--hover-bg)}.btn-upload:not(:disabled):hover{opacity:.9}.info-content{color:var(--text-primary)}.info-content ol{margin:0 0 24px;padding-left:24px;line-height:1.8}.info-content li{margin-bottom:12px}.info-content strong{color:var(--primary-color)}.tech-info{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;padding:16px;margin-top:20px}.tech-info h4{margin:0 0 12px;color:var(--text-primary)}.tech-info ul{margin:0;padding-left:24px;line-height:1.8}.tech-info li{margin-bottom:8px;font-size:14px}.videos-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border-primary)}.tab-btn{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab-btn.active{color:#e67e22;border-bottom-color:#e67e22}.manage-videos-container{background:var(--bg-secondary);border-radius:12px;padding:20px}.manage-videos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.search-box{position:relative;flex:1;max-width:400px}.search-box input{width:100%;padding:10px 36px 10px 14px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.search-box input:focus{outline:none;border-color:#e67e22}.clear-search{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer}.btn-refresh{padding:10px 20px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.btn-refresh:hover{background:var(--bg-primary)}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.videos-list{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.videos-list::-webkit-scrollbar{width:8px}.videos-list::-webkit-scrollbar-track{background:var(--bg-primary)}.videos-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.videos-list::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.video-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;gap:16px}.video-info{flex:1;min-width:0}.video-title{margin:0 0 8px;color:var(--text-primary);font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-meta{display:flex;gap:16px;flex-wrap:wrap}.video-topic{color:#e67e22;font-size:13px;font-weight:500}.video-duration,.video-date{color:var(--text-secondary);font-size:13px}.video-actions{display:flex;gap:8px;flex-shrink:0}.video-item .btn-edit{padding:8px 16px;background:transparent;border:1px solid rgba(230,126,34,.4);border-radius:6px;color:#e67e22;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.video-item .btn-edit:hover{background:#e67e221a}.video-item .btn-edit:disabled{opacity:.6;cursor:not-allowed}.video-item .btn-delete{padding:8px 16px;background:transparent;border:1px solid rgba(220,53,69,.4);border-radius:6px;color:#dc3545;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.video-item .btn-delete:hover{background:#dc35451a}.video-item .btn-delete:disabled{opacity:.6;cursor:not-allowed}.loading-state,.empty-state{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.delete-modal{background:var(--bg-secondary);border-radius:12px;padding:24px;max-width:420px;width:90%}.delete-modal h3{margin:0 0 16px;color:var(--text-primary);font-size:18px}.delete-modal p{margin:0 0 12px;color:var(--text-secondary);font-size:14px;line-height:1.5}.warning-text{color:#dc3545!important;font-weight:500}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.btn-cancel{padding:10px 20px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer}.btn-cancel:hover{background:var(--bg-primary)}.btn-confirm-delete{padding:10px 20px;background:#dc3545;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.btn-confirm-delete:hover{background:#c82333}.btn-confirm-delete:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.edit-modal{background:var(--bg-secondary);border-radius:12px;padding:24px;max-width:500px;width:90%}.edit-modal h3{margin:0 0 20px;color:var(--text-primary);font-size:18px}.edit-form{display:flex;flex-direction:column;gap:16px}.edit-form .form-group{display:flex;flex-direction:column;gap:6px}.edit-form label{color:var(--text-secondary);font-size:13px;font-weight:500}.edit-form input,.edit-form textarea,.edit-form select{padding:10px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-family:inherit}.edit-form input:focus,.edit-form textarea:focus,.edit-form select:focus{outline:none;border-color:#e67e22}.edit-form input:disabled,.edit-form textarea:disabled,.edit-form select:disabled{opacity:.6;cursor:not-allowed}.edit-form textarea{resize:vertical;min-height:80px}.btn-save{padding:10px 20px;background:#e67e22;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.btn-save:hover{background:#d35400}.btn-save:disabled{opacity:.6;cursor:not-allowed}.user-access-management{padding:20px}.user-access-management h2{margin:0 0 8px;color:var(--text-primary)}.subtitle{color:var(--text-secondary);margin:0 0 30px}.access-layout{display:grid;grid-template-columns:350px 1fr;gap:20px;height:calc(100vh - 250px)}.users-panel,.topics-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:20px;overflow:hidden;display:flex;flex-direction:column}.users-panel h3,.topics-panel h3{margin:0 0 16px;color:var(--text-primary)}.user-access-search-input{width:100%;max-width:280px;padding:10px;border:1px solid var(--border-color);border-radius:6px;margin-bottom:16px;font-size:14px;background:var(--input-bg);color:var(--text-primary)}.users-list,.topics-list{flex:1;overflow-y:auto}.users-list::-webkit-scrollbar,.topics-list::-webkit-scrollbar{width:8px}.users-list::-webkit-scrollbar-track,.topics-list::-webkit-scrollbar-track{background:var(--bg-primary)}.users-list::-webkit-scrollbar-thumb,.topics-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.users-list::-webkit-scrollbar-thumb:hover,.topics-list::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.user-item{padding:12px;border:1px solid var(--border-color);border-radius:6px;margin-bottom:8px;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.user-item:hover{background:var(--hover-bg);border-color:var(--primary-color)}.user-item.selected{background:var(--accent-primary);border-color:var(--accent-primary)}.user-item.selected .user-name,.user-item.selected .user-email{color:#fff}.user-item.selected .role-badge{background:#fff;color:var(--accent-primary)}.user-info{flex:1}.user-name{font-weight:500;color:var(--text-primary);margin-bottom:4px}.user-email{font-size:13px;color:var(--text-secondary)}.role-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase}.role-badge.admin{background:#dc3545;color:#fff}.role-badge.user{background:#28a745;color:#fff}.topic-item{padding:16px;border:1px solid var(--border-color);border-radius:6px;margin-bottom:12px;transition:all .2s}.topic-item:hover{background:var(--hover-bg)}.checkbox-label{display:flex;align-items:start;cursor:pointer;gap:12px}.checkbox-label input[type=checkbox]{margin-top:4px;width:18px;height:18px;cursor:pointer}.topic-details{flex:1}.topic-title{font-weight:500;color:var(--text-primary);margin-bottom:4px;display:flex;align-items:center;gap:8px}.topic-badge.public{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;background:#4caf5026;color:#4caf50}.topic-badge.internal{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;background:#2196f326;color:#2196f3}.topic-description{font-size:13px;color:var(--text-secondary);line-height:1.4}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center}.no-results{text-align:center;padding:40px 20px;color:var(--text-secondary)}.error-message{background:#f8d7da;color:#721c24;padding:12px 16px;border-radius:6px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;color:#721c24;cursor:pointer;font-size:18px;padding:0;width:24px;height:24px}.loading{text-align:center;padding:40px;color:var(--text-secondary)}.save-changes-bar{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-tertiary);border:1px solid var(--accent-primary);border-radius:8px;margin-top:16px}.unsaved-indicator{color:var(--accent-primary);font-weight:500;font-size:14px}.save-changes-buttons{display:flex;gap:12px}.btn-cancel{padding:8px 20px;border:1px solid var(--border-color);background:transparent;color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-cancel:hover{background:var(--bg-tertiary)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-save{padding:8px 20px;border:none;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-save:hover{box-shadow:0 4px 12px #e67e224d}.btn-save:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog{background:var(--card-bg);border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 8px 32px #0000004d}.confirm-dialog h3{margin:0 0 12px;color:var(--text-primary);font-size:18px}.confirm-dialog p{margin:0 0 24px;color:var(--text-secondary);font-size:14px;line-height:1.5}.confirm-dialog-buttons{display:flex;justify-content:flex-end;gap:12px}.btn-confirm{padding:10px 24px;border:none;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-confirm:hover{box-shadow:0 4px 12px #e67e224d}.events-management{padding:0 40px;max-width:100%;margin:0;width:100%}.events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.events-header h2{margin:0;color:var(--text-primary);font-size:28px;font-weight:600;letter-spacing:-.5px}.events-management .btn-create{background:transparent;color:#e67e22;border:1px solid rgba(230,126,34,.3);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:4px}.events-management .btn-create:hover{background:#e67e221a}.events-management .btn-create-empty{background:transparent;color:#e67e22;border:1px solid rgba(230,126,34,.3);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease}.events-management .btn-create-empty:hover{background:#e67e221a}.events-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color, #e5e5e5);margin-bottom:20px}.events-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #666);font-size:14px;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease;margin-bottom:-1px}.events-tab:hover{color:var(--text-primary, #222)}.events-tab.active{color:#e67e22;border-bottom-color:#e67e22}.events-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:10px;background:#00000014;color:var(--text-primary, #333);font-size:12px;font-weight:600;line-height:1}.events-tab.active .events-tab-count{background:#e67e2226;color:#e67e22}.events-search-bar{position:relative;margin-bottom:20px;max-width:400px;width:400px}.events-search-input{width:100%;padding:12px 40px 12px 16px;border:2px solid var(--border-color);border-radius:10px;font-size:14px;background:var(--card-bg);color:var(--text-primary);transition:all .2s ease}.events-search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.events-search-input::placeholder{color:var(--text-tertiary)}.events-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s}.events-search-clear:hover{background:var(--border-color);color:var(--text-primary)}.events-list-container{max-height:600px;overflow-y:auto;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);padding:8px}.events-list-container::-webkit-scrollbar{width:8px}.events-list-container::-webkit-scrollbar-track{background:var(--bg-primary)}.events-list-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.events-list-container::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.event-item{padding:20px;margin-bottom:8px;border-radius:8px;border-left:3px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}.event-item.even{background:var(--bg-secondary)}.event-item.odd{background:var(--bg-tertiary)}.event-item:hover{border-left-color:#e67e22;background:var(--sidebar-hover);box-shadow:0 2px 8px #00000014}.event-item-header{margin-bottom:8px}.event-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.event-title{margin:0;color:var(--text-primary);font-size:18px;font-weight:600;flex:1}.event-status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.event-status-badge.active{background:#22c55e26;color:#22c55e}.event-status-badge.inactive{background:#ef444426;color:#ef4444}.event-stats{display:flex;gap:12px;flex-wrap:wrap}.stat-badge{font-size:13px;color:var(--text-secondary)}.stat-badge.materials.none{color:#f59e0b}.event-description{color:var(--text-secondary);margin:8px 0;line-height:1.5;font-size:14px}.event-item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:12px}.event-meta{display:flex;gap:16px;flex-wrap:wrap}.event-date,.event-code{color:var(--text-tertiary);font-size:13px}.event-deactivated-meta{color:#c0392b;font-size:13px;font-style:italic}.event-actions{display:flex;gap:8px;flex-wrap:wrap}.event-actions button,.event-actions .btn-upload{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease}.btn-copy{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)!important}.btn-copy:hover{background:var(--bg-tertiary)}.btn-qr{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)!important}.btn-qr:hover{background:var(--bg-tertiary)}.btn-edit{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)!important}.btn-edit:hover{background:var(--bg-tertiary)}.btn-toggle{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)!important}.btn-toggle:hover{background:var(--bg-tertiary)}.btn-toggle-disabled,.btn-toggle:disabled{opacity:.4;cursor:not-allowed;pointer-events:auto}.btn-toggle-disabled:hover,.btn-toggle:disabled:hover{background:transparent}.btn-download-materials{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)!important;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;gap:4px}.btn-download-materials:hover:not(:disabled){background:var(--bg-tertiary)}.btn-download-materials:disabled{opacity:.6;cursor:not-allowed}.btn-upload{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)!important;display:inline-flex;align-items:center}.btn-upload:hover{background:var(--bg-tertiary)}.btn-registrations{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)!important}.btn-registrations:hover{background:var(--bg-tertiary)}.registrations-panel{margin-top:16px;padding:16px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color);overflow-x:auto}.registrations-loading,.registrations-empty{color:var(--text-secondary);text-align:center;padding:16px;font-size:14px}.registrations-table{width:100%;border-collapse:collapse;font-size:13px}.registrations-table th,.registrations-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.registrations-table th{font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.token-status{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.token-status.valid{background:#22c55e26;color:#22c55e}.token-status.expired{background:#ef444426;color:#ef4444}.qr-modal{max-width:400px;text-align:center}.qr-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.qr-modal-header h2{margin:0!important}.qr-modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.qr-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.qr-modal-title{color:var(--text-secondary);font-size:14px;margin:0 0 20px}.qr-modal-canvas{display:flex;justify-content:center;padding:20px;background:#fff;border-radius:12px;margin-bottom:16px}.qr-modal-url{font-size:12px;color:var(--text-tertiary);word-break:break-all;margin:0 0 20px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;font-family:monospace}.qr-modal-actions{display:flex;gap:12px;justify-content:center}.qr-modal-actions .btn-submit,.qr-modal-actions .btn-cancel{display:inline-flex;align-items:center;gap:4px}.event-item.skeleton{pointer-events:none;animation:eventPulse 1.5s ease-in-out infinite}@keyframes eventPulse{0%,to{opacity:1}50%{opacity:.6}}@media(max-width:768px){.events-management{padding:16px}.events-header h2{font-size:22px}.events-list-container{max-height:500px}.event-item-footer{flex-direction:column;align-items:flex-start}.event-actions{width:100%}}.form-group-checkbox{display:flex;flex-direction:column;gap:4px}.form-group-checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.form-group-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.form-hint{color:var(--text-tertiary);font-size:.8rem;margin-left:24px}.credentials-panel{margin-top:12px;padding:16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.credentials-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.credentials-header h4{margin:0;color:var(--text-primary)}.credentials-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;color:var(--text-secondary)}.credentials-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.credentials-error{padding:8px 12px;background:#e74c3c1a;color:#e74c3c;border-radius:6px;margin-bottom:12px;font-size:.85rem}.credentials-upload-section{display:flex;align-items:center;gap:12px;margin-bottom:12px}.btn-upload-csv{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--text-primary);transition:all .2s ease}.btn-upload-csv:hover{border-color:#e67e22;color:#e67e22}.credentials-add-form{display:flex;gap:8px;align-items:center;margin-bottom:12px}.credentials-input{padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;background:var(--bg-primary);color:var(--text-primary);flex:1;max-width:220px}.credentials-input:focus{outline:none;border-color:#e67e22}.btn-add-credential{padding:6px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--text-primary);transition:all .2s ease;white-space:nowrap}.btn-add-credential:hover:not(:disabled){border-color:#27ae60;color:#27ae60}.btn-add-credential:disabled{opacity:.5;cursor:not-allowed}.credentials-upload-result{padding:10px 14px;background:#27ae6014;border-radius:6px;margin-bottom:12px;font-size:.85rem;color:var(--text-primary)}.credentials-upload-result details{margin-top:8px}.credentials-upload-result ul{margin:4px 0 0;padding-left:20px;font-size:.8rem}.credentials-stats{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:12px;padding:10px 14px;background:var(--bg-primary);border-radius:6px}.stat-item{display:flex;gap:6px;align-items:center;font-size:.85rem}.stat-label{color:var(--text-tertiary)}.stat-value{font-weight:600;color:var(--text-primary)}.stat-value.error{color:#e74c3c}.stat-value.warning{color:#f39c12}.credentials-progress-bar{flex:1;min-width:100px;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.credentials-progress-fill{height:100%;background:linear-gradient(135deg,#e67e22,#d35400);border-radius:4px;transition:width .3s ease}.credentials-table{width:100%;border-collapse:collapse;margin-bottom:12px;font-size:.82rem}.credentials-table th,.credentials-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-color)}.credentials-table th{background:var(--bg-primary);color:var(--text-secondary);font-weight:600;font-size:.78rem;text-transform:uppercase}.credentials-table tr.assigned{background:#e67e220a}.password-cell{display:flex;align-items:center;gap:6px;font-family:monospace}.btn-show-password{background:none;border:none;cursor:pointer;padding:2px;font-size:14px}.credential-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.credential-status.assigned{background:#e67e221f;color:#e67e22}.credential-status.available{background:#27ae601f;color:#27ae60}.credentials-actions{margin-top:12px}.btn-delete-all{padding:6px 14px;background:transparent;border:1px solid #e74c3c;color:#e74c3c;border-radius:6px;cursor:pointer;font-size:.82rem;transition:all .2s ease}.btn-delete-all:hover{background:#e74c3c14}.credentials-confirm-delete{margin-top:12px;padding:12px;background:#e74c3c0f;border:1px solid rgba(231,76,60,.2);border-radius:6px}.credentials-confirm-delete p{margin:0 0 10px;font-size:.85rem}.credentials-confirm-delete div{display:flex;gap:8px}.credentials-empty{color:var(--text-tertiary);font-size:.85rem;text-align:center;padding:16px}.btn-credentials{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.78rem;color:var(--text-primary);transition:all .15s ease}.btn-credentials:hover{border-color:#e67e22;color:#e67e22}.stat-badge.credentials{color:#3498db}.stat-badge.credentials.has{color:#27ae60}.stat-badge.credentials.warning{color:#f39c12}.stat-badge.credentials.error{color:#e74c3c}.stat-badge.credentials.none{color:var(--text-tertiary)}.vm-management{padding:0 40px;max-width:100%;margin:0;width:100%}.vm-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.vm-section-header h2{margin:0;color:var(--text-primary);font-size:28px;font-weight:600;letter-spacing:-.5px}.vm-search-bar{position:relative;margin-bottom:20px;max-width:400px;width:400px}.vm-search-input{width:100%;padding:12px 40px 12px 16px;border:2px solid var(--border-color);border-radius:10px;font-size:14px;background:var(--card-bg);color:var(--text-primary);transition:all .2s ease}.vm-search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.vm-search-input::placeholder{color:var(--text-tertiary)}.vm-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s}.vm-search-clear:hover{background:var(--border-color);color:var(--text-primary)}.vm-list-container{max-height:600px;overflow-y:auto;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);padding:8px}.vm-list-container::-webkit-scrollbar{width:8px}.vm-list-container::-webkit-scrollbar-track{background:var(--bg-primary)}.vm-list-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.vm-list-container::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.vm-template-item{padding:20px;margin-bottom:8px;border-radius:8px;border-left:3px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}.vm-template-item.even{background:var(--bg-secondary)}.vm-template-item.odd{background:var(--bg-tertiary)}.vm-template-item:hover{border-left-color:#667eea;background:var(--sidebar-hover);box-shadow:0 2px 8px #00000014}.vm-template-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.vm-template-name{margin:0;color:var(--text-primary);font-size:18px;font-weight:600;flex:1}.vm-template-prefix{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:#667eea26;color:#667eea;white-space:nowrap}.vm-template-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:12px}.vm-template-meta{display:flex;gap:16px;flex-wrap:wrap}.vm-template-date{color:var(--text-tertiary);font-size:13px}.vm-template-actions{display:flex;gap:8px;flex-wrap:wrap}.vm-template-actions button{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;background:transparent;color:var(--text-primary);border:1px solid var(--border-color)!important}.vm-template-actions button:hover{background:var(--bg-tertiary)}.vm-template-actions .btn-delete{color:#ef4444;border-color:#ef44444d!important}.vm-template-actions .btn-delete:hover{background:#ef44441a}.vm-template-json-preview{margin-top:8px;font-size:12px;color:var(--text-tertiary);font-family:monospace;background:var(--bg-primary);padding:8px 12px;border-radius:6px;max-height:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vm-empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.vm-empty-state-icon{margin-bottom:16px;color:var(--text-tertiary);opacity:.5}.vm-empty-state h3{margin:0 0 8px;color:var(--text-primary);font-size:18px}.vm-empty-state p{margin:0 0 20px;font-size:14px}.vm-management .btn-create{padding:8px 16px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #e67e2240}.vm-management .btn-create:hover{box-shadow:0 4px 12px #e67e2266}.vm-management .btn-create-empty{padding:8px 16px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #e67e2240}.vm-management .btn-create-empty:hover{box-shadow:0 4px 12px #e67e2266}.vm-template-item.skeleton{pointer-events:none;animation:vmPulse 1.5s ease-in-out infinite}@keyframes vmPulse{0%,to{opacity:1}50%{opacity:.6}}.vm-error-message{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;margin-bottom:16px;font-size:14px}.vm-error-message button{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px}.vm-modal-form{display:flex;flex-direction:column;gap:16px}.vm-form-group{display:flex;flex-direction:column;gap:6px}.vm-form-group label{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.vm-form-group input,.vm-form-group textarea{padding:10px 14px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.vm-form-group input:focus,.vm-form-group textarea:focus{outline:none;border-color:#667eea}.vm-form-group textarea{min-height:200px;font-family:monospace;font-size:12px;resize:vertical}.vm-form-group textarea::-webkit-scrollbar{width:8px}.vm-form-group textarea::-webkit-scrollbar-track{background:var(--bg-primary)}.vm-form-group textarea::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.vm-form-group textarea::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.vm-form-group .field-hint{font-size:11px;color:var(--text-tertiary)}.vm-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.vm-management .btn-submit{padding:10px 20px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #e67e2240}.vm-management .btn-submit:hover{box-shadow:0 4px 12px #e67e2266}.vm-management .btn-submit:disabled{opacity:.5;cursor:not-allowed}.vm-management .btn-cancel{padding:10px 20px;background:var(--bg-tertiary);color:var(--text-primary);border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.vm-management .btn-cancel:hover{background:var(--border-color)}.vm-delete-confirm-text{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 8px}.vm-delete-confirm-text strong{color:var(--text-primary)}.vm-management .btn-delete-confirm{padding:10px 20px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.vm-management .btn-delete-confirm:hover{background:#c82333}.vm-section-divider{margin:40px 0 24px;border-top:2px solid var(--border-color)}.vm-topic-selector{display:flex;align-items:center;gap:12px;margin-bottom:20px}.vm-topic-selector label{font-size:14px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.vm-topic-select{padding:10px 14px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--card-bg);color:var(--text-primary);min-width:300px;cursor:pointer;transition:border-color .2s}.vm-topic-select:focus{outline:none;border-color:#e67e22}.vm-bulk-actions{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.vm-bulk-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;background:transparent;transition:all .2s ease;display:flex;align-items:center;gap:4px}.vm-bulk-btn:disabled{opacity:.4;cursor:not-allowed}.vm-bulk-create{color:#e67e22;border-color:#e67e224d}.vm-bulk-create:not(:disabled):hover{background:#e67e221a}.vm-bulk-start{color:#16a34a;border-color:#22c55e4d}.vm-bulk-start:not(:disabled):hover{background:#22c55e1a}.vm-bulk-stop{color:#ca8a04;border-color:#eab3084d}.vm-bulk-stop:not(:disabled):hover{background:#eab3081a}.vm-bulk-delete{color:#ef4444;border-color:#ef44444d}.vm-bulk-delete:not(:disabled):hover{background:#ef44441a}.vm-users-container{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--card-bg)}.vm-users-loading,.vm-users-empty{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.vm-users-table{width:100%;border-collapse:collapse;font-size:13px}.vm-users-table thead{background:var(--bg-secondary)}.vm-users-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.vm-users-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}.vm-users-table tbody tr:hover{background:var(--sidebar-hover)}.vm-user-name{font-weight:600}.vm-user-email{color:var(--text-secondary)}.vm-ip{font-family:monospace;font-size:12px}.vm-status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.vm-status-running{background:#22c55e26;color:#16a34a}.vm-status-stopped{background:#9ca3af33;color:#6b7280}.vm-status-pending{background:#eab30826;color:#ca8a04;animation:vmPulse 1.5s ease-in-out infinite}.vm-status-failed{background:#ef444426;color:#ef4444}.vm-status-none{background:var(--bg-secondary);color:var(--text-tertiary)}.vm-status-unknown{background:var(--bg-secondary);color:var(--text-secondary)}.vm-actions-cell{display:flex;gap:4px;align-items:center}.vm-btn{padding:4px 10px;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:11px;font-weight:500;background:transparent;color:var(--text-primary);transition:all .2s ease;white-space:nowrap}.vm-btn:hover{background:var(--bg-tertiary)}.vm-btn-create{color:#e67e22;border-color:#e67e224d}.vm-btn-create:hover{background:#e67e221a}.vm-btn-start{color:#16a34a;border-color:#22c55e4d}.vm-btn-start:hover{background:#22c55e1a}.vm-btn-stop{color:#ca8a04;border-color:#eab3084d}.vm-btn-stop:hover{background:#eab3081a}.vm-btn-refresh{padding:4px 6px;color:var(--text-secondary)}.vm-btn-refresh:hover{color:#667eea}.vm-btn-delete{padding:4px 6px;color:#ef4444;border-color:#ef44444d}.vm-btn-delete:hover{background:#ef44441a}.vm-btn-rdp{color:#2563eb;border-color:#2563eb4d}.vm-btn-rdp:hover{background:#2563eb1a}.vm-action-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-color);border-top-color:#667eea;border-radius:50%;animation:vmSpin .8s linear infinite}@keyframes vmSpin{to{transform:rotate(360deg)}}.vm-instructor-section{margin-bottom:24px;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--card-bg)}.vm-instructor-title{margin:0;padding:14px 20px;font-size:15px;font-weight:700;color:var(--text-primary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);letter-spacing:.2px}.vm-instructor-create{display:flex;align-items:center;gap:12px;padding:16px 20px;flex-wrap:wrap}.vm-instructor-card{padding:0}.vm-instructor-reassign{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary);flex-wrap:wrap}.vm-instructor-reassign-label{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.vm-btn-schedule{background:transparent;border:1px solid rgba(230,126,34,.45);color:var(--accent-primary, #e67e22);padding:5px 10px;border-radius:6px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:background .15s,color .15s}.vm-btn-schedule:hover{background:#e67e221f}.vm-timezone-selector{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.vm-timezone-selector label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.vm-schedule-modal{max-width:560px;width:95vw}.vm-schedule-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.vm-schedule-modal-header h2{margin:0;font-size:20px;display:flex;align-items:center;gap:6px}.vm-schedule-close-btn{background:transparent;border:none;cursor:pointer;color:var(--text-secondary);font-size:18px;padding:4px;line-height:1;border-radius:4px}.vm-schedule-close-btn:hover{color:var(--text-primary)}.vm-schedule-subtitle{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.vm-schedule-grid{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.vm-schedule-grid-header{display:grid;grid-template-columns:120px 70px 1fr 1fr;gap:0;padding:8px 14px;background:var(--bg-tertiary);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.vm-schedule-row{display:grid;grid-template-columns:120px 70px 1fr 1fr;align-items:center;padding:10px 14px;border-top:1px solid var(--border-color);transition:background .15s}.vm-schedule-row.enabled{background:var(--card-bg)}.vm-schedule-row.disabled{background:var(--bg-secondary);opacity:.6}.vm-schedule-day-name{font-size:14px;font-weight:500;color:var(--text-primary)}.vm-schedule-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;width:38px;height:22px}.vm-schedule-toggle input{opacity:0;width:0;height:0;position:absolute}.vm-schedule-toggle-slider{position:absolute;inset:0;background:var(--border-color);border-radius:22px;transition:background .2s}.vm-schedule-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.vm-schedule-toggle input:checked+.vm-schedule-toggle-slider{background:var(--accent-primary, #e67e22)}.vm-schedule-toggle input:checked+.vm-schedule-toggle-slider:before{transform:translate(16px)}.vm-schedule-time-input{padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--bg-tertiary);color:var(--text-primary);width:110px;cursor:pointer;color-scheme:light}[data-theme=dark] .vm-schedule-time-input{color-scheme:dark}.vm-schedule-time-input:disabled{opacity:.4;cursor:not-allowed}.vm-schedule-time-input:focus{outline:none;border-color:var(--accent-primary, #e67e22)}@media(max-width:768px){.vm-management{padding:16px}.vm-section-header h2{font-size:22px}.vm-list-container{max-height:500px}.vm-template-footer{flex-direction:column;align-items:flex-start}.vm-template-actions{width:100%}}} .admin-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto;min-height:0}.admin-panel::-webkit-scrollbar{width:8px}.admin-panel::-webkit-scrollbar-track{background:var(--bg-primary)}.admin-panel::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.admin-panel::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.admin-panel-header{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);padding:40px;color:#fff;box-shadow:0 4px 12px #0000001a}.admin-panel-header h1{font-size:32px;font-weight:700;margin:0 0 8px;color:#fff}.admin-panel-header .subtitle{font-size:16px;margin:0;color:#ffffffe6}.admin-tabs{display:flex;gap:8px;padding:20px 40px 0;background:var(--bg-primary);border-bottom:2px solid var(--border-color)}.tab-button{padding:12px 24px;border:none;background:transparent;color:var(--text-secondary);font-size:15px;font-weight:500;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;position:relative;top:2px}.tab-button:hover{color:var(--text-primary);background:var(--hover-bg)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.admin-panel-content{padding:40px;max-width:100%;margin:0 auto;width:100%}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:16px 20px;border-radius:8px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;color:#c33;font-size:20px;cursor:pointer;padding:0 8px}.filters-section{margin-bottom:24px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:300px;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;background-color:var(--bg-secondary);color:var(--text-primary);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #667eea1a}.role-filter{display:flex;gap:8px}.role-filter button{padding:10px 20px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.role-filter button:hover,.role-filter button.active{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.users-table-container{background-color:var(--bg-secondary);border-radius:12px;overflow-y:auto;max-height:calc(100vh - 320px);box-shadow:0 2px 8px #0000001a}.users-table-container::-webkit-scrollbar{width:8px}.users-table-container::-webkit-scrollbar-track{background:var(--bg-primary)}.users-table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.users-table-container::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.users-table{width:100%;border-collapse:collapse}.users-table thead{background-color:var(--bg-tertiary)}.users-table th{padding:16px;text-align:left;font-weight:600;font-size:14px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.users-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.users-table tbody tr:hover{background-color:var(--bg-tertiary)}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:16px;font-size:15px;color:var(--text-primary)}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.role-badge.admin{background-color:#e3f2fd;color:#1976d2}.role-badge.user{background-color:#f3e5f5;color:#7b1fa2}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.verified{background-color:#e8f5e9;color:#2e7d32}.status-badge.unverified{background-color:#fff3e0;color:#e65100}.action-buttons{display:flex;gap:8px}.btn-promote,.btn-demote{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-promote{background:transparent;color:#4caf50;border:1px solid rgba(76,175,80,.4)}.btn-promote:hover:not(:disabled){background:#4caf501a}.btn-demote{background:transparent;color:#ff9800;border:1px solid rgba(255,152,0,.4)}.btn-demote:hover:not(:disabled){background:#ff98001a}.btn-promote:disabled,.btn-demote:disabled{opacity:.5;cursor:not-allowed}.btn-inspirit-toggle{padding:4px 12px;border:1px solid var(--border-color);border-radius:12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;background:var(--bg-tertiary);color:var(--text-secondary)}.btn-inspirit-toggle.active{background:#2196f326;color:#2196f3;border-color:#2196f3}.btn-inspirit-toggle:hover:not(:disabled){transform:translateY(-1px)}.btn-inspirit-toggle:disabled{opacity:.5;cursor:not-allowed}.current-user-label{color:var(--text-secondary);font-size:13px;font-style:italic}.no-results{text-align:center;padding:40px!important;color:var(--text-secondary);font-style:italic}.loading{text-align:center;padding:40px;color:var(--text-secondary);font-size:16px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--bg-secondary);padding:32px;border-radius:12px;max-width:500px;width:90%;box-shadow:0 8px 32px #0003}.modal-content h2{margin:0 0 16px;color:var(--text-primary);font-size:24px}.modal-content p{margin:0 0 24px;color:var(--text-secondary);font-size:15px;line-height:1.6}.modal-content p strong{color:var(--text-primary)}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn-cancel,.btn-confirm{padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-cancel:hover:not(:disabled){background-color:var(--border-color)}.btn-confirm{color:#fff}.btn-confirm.promote{background-color:#4caf50}.btn-confirm.promote:hover:not(:disabled){background-color:#45a049}.btn-confirm.demote{background-color:#ff9800}.btn-confirm.demote:hover:not(:disabled){background-color:#fb8c00}.btn-cancel:disabled,.btn-confirm:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.admin-panel-main{margin-left:0}.admin-panel-header,.admin-panel-content{padding:24px}.filters-section{flex-direction:column;align-items:stretch}.search-input{min-width:100%}.role-filter{flex-wrap:wrap}.users-table-container{overflow-x:auto}.users-table{min-width:800px}}.dashboard-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.video-player-container{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1.5rem 0;flex-shrink:0}.video-player-header{width:100%;padding:1rem 1.5rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:1rem;border-radius:12px 12px 0 0}.video-player-header h2{margin:0;font-size:1.3rem;font-weight:700;color:#fff;letter-spacing:-.3px;text-shadow:0 2px 4px rgba(0,0,0,.3);text-align:left}.video-player-description{width:100%;padding:1rem 1.5rem;text-align:left}.description-header{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 0;font-size:1rem;font-weight:600;color:var(--text-primary);-webkit-user-select:none;user-select:none;transition:color .2s ease}.description-header:hover{color:var(--accent-primary)}.description-toggle-icon{font-size:.75rem;transition:transform .2s ease}.description-content{max-height:300px;overflow-y:auto;padding-right:.5rem}.description-content::-webkit-scrollbar{width:8px}.description-content::-webkit-scrollbar-track{background:var(--bg-primary)}.description-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.description-content::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.video-player-description p{margin:.75rem 0 0;padding-left:1.25rem;font-size:1rem;color:var(--text-secondary);line-height:1.6}[data-theme=light] .video-player-description p,[data-theme=light] .video-player-description .description-header{color:#fff}.video-player-wrapper{width:100%;max-width:100%;aspect-ratio:16 / 9;max-height:calc(100vh - 250px);position:relative;background-color:#000;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006}.video-player{width:100%;height:100%;object-fit:contain}.video-player-placeholder{width:100%;aspect-ratio:16 / 9;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffffff0d,#ffffff05);color:#ffffffb3;font-size:1.2rem;font-weight:500;border-radius:12px;border:2px dashed rgba(255,255,255,.2)}.video-player-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ffffffe6;gap:1.5rem}.video-player-loading p{margin:0;font-size:1.1rem;font-weight:500}.spinner{border:4px solid rgba(255,255,255,.15);border-top:4px solid rgba(255,255,255,.9);border-radius:50%;width:48px;height:48px;animation:spin .8s linear infinite}.video-player-error{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ffffffe6;padding:3rem;text-align:center;gap:1.5rem}.video-player-error:before{content:"⚠️";font-size:3rem;opacity:.7}.video-player-error p{margin:0;font-size:1.1rem;font-weight:500;max-width:400px}.video-player-error button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #e67e2240}.video-player-error button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.speed-control{width:100%;padding:.5rem 1.5rem;display:flex;justify-content:flex-end;position:relative}.speed-control-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.speed-control-btn:hover{background:#ffffff26;color:var(--text-primary)}.speed-control-btn svg{opacity:.7}.speed-menu{position:absolute;bottom:100%;right:1.5rem;margin-bottom:.25rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:.35rem;display:flex;flex-direction:column;gap:.15rem;box-shadow:0 8px 24px #0000004d;z-index:10;min-width:100px}.speed-menu-item{padding:.45rem .75rem;background:none;border:none;border-radius:6px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;text-align:center;transition:all .15s ease}.speed-menu-item:hover{background:#ffffff1a;color:var(--text-primary)}.speed-menu-item.active{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;font-weight:700}[data-theme=light] .speed-control-btn{background:#0000000f;border-color:#0000001f;color:#fff}[data-theme=light] .speed-control-btn:hover{background:#0000001a;color:#fff}[data-theme=light] .speed-menu-item:hover{background:#0000000f}@media(max-width:768px){.video-player-header{padding:1rem 1.5rem}.video-player-header h2{font-size:1.3rem}.video-player-wrapper,.video-player{border-radius:12px}.video-player-placeholder{height:350px;font-size:1.1rem}}.video-list-panel{height:100%;display:flex;flex-direction:column;background-color:var(--bg-secondary);border-right:1px solid var(--border-color)}.video-list-sidebar-header{padding:1.25rem;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0;display:flex;flex-direction:column;gap:.75rem}.video-list-breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-tertiary)}.breadcrumb-link{cursor:pointer;color:var(--text-secondary);transition:color .2s ease}.breadcrumb-link:hover{color:var(--accent-primary)}.breadcrumb-separator{font-size:.7rem;color:var(--text-tertiary)}.breadcrumb-current{color:var(--text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-list-topic-selector{width:100%;padding:.5rem .75rem;font-size:.85rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-weight:500;transition:border-color .2s ease}.video-list-topic-selector:hover{border-color:var(--accent-primary)}.video-list-topic-selector:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #e67e2226}.video-list-topic-info{display:flex;flex-direction:column;gap:.5rem}.video-list-topic-title{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary);line-height:1.3}.video-list-progress-row{display:flex;align-items:center;gap:.6rem}.video-list-progress-percent{font-size:.85rem;font-weight:700;color:var(--accent-primary);min-width:32px}.video-list-progress-bar{flex:1;height:6px;background-color:#ffffff1a;border-radius:3px;overflow:hidden}[data-theme=light] .video-list-progress-bar{background-color:#0000001a}.video-list-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:3px;transition:width .4s ease}.video-list-progress-count{font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.video-list-back-link{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:color .2s ease;padding-top:.25rem}.video-list-back-link:hover{color:var(--accent-primary)}.video-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem;min-height:0}.video-list::-webkit-scrollbar{width:8px}.video-list::-webkit-scrollbar-track{background:var(--bg-primary)}.video-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.video-list::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.video-list-item{padding:.75rem;margin-bottom:.25rem;background-color:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:flex-start;gap:.65rem;position:relative}.video-list-item:hover{background-color:var(--bg-tertiary)}.video-list-item.selected{background-color:var(--bg-tertiary);border-left:3px solid var(--accent-primary)}.video-list-item-number{font-size:.8rem;font-weight:600;color:var(--text-tertiary);min-width:18px;text-align:center;padding-top:2px;flex-shrink:0}.video-list-item.selected .video-list-item-number{color:var(--accent-primary)}.video-list-item-content{flex:1;min-width:0}.video-list-item-title{font-weight:600;font-size:.85rem;color:var(--text-primary);margin-bottom:.35rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-list-item.completed .video-list-item-title{color:var(--text-secondary)}.video-list-item.selected .video-list-item-title{color:var(--accent-primary);font-weight:700}.video-list-item-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.video-list-item-duration{font-size:.75rem;font-weight:500;color:var(--text-tertiary)}.video-watched-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;color:#27ae60;background-color:#27ae601a;padding:.15rem .5rem;border-radius:10px}.video-watched-badge svg{flex-shrink:0}.video-in-progress-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;color:#f39c12;background-color:#f39c121a;padding:.15rem .5rem;border-radius:10px}.video-in-progress-badge svg{flex-shrink:0}.video-list-loading,.video-list-error,.video-list-empty{padding:3rem 2rem;text-align:center;color:var(--text-secondary)}.video-list-loading p,.video-list-error p,.video-list-empty p{font-size:.95rem;font-weight:500}.spinner-small{border:3px solid var(--bg-tertiary);border-top:3px solid var(--accent-primary);border-radius:50%;width:36px;height:36px;animation:spin .8s linear infinite;margin:0 auto 1rem}@media(max-width:768px){.video-list-panel{border-right:none;border-bottom:2px solid var(--border-color)}.video-list-sidebar-header{padding:1rem;gap:.5rem}.video-list{padding:.5rem}.video-list-item{padding:.65rem}.video-list-item-title{font-size:.8rem}}.topics-page{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.topics-page-content{flex:1;display:flex;overflow:hidden;gap:0;min-height:0}.video-list-section{width:300px;flex-shrink:0;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);overflow:hidden;height:100%;display:flex;flex-direction:column}.video-player-section{flex:1;min-width:0;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;position:relative;overflow-y:auto;overflow-x:hidden}.video-player-section::-webkit-scrollbar{width:8px}.video-player-section::-webkit-scrollbar-track{background:var(--bg-primary)}.video-player-section::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.video-player-section::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.stream-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ffffffe6;gap:1.5rem}.stream-loading p{margin:0;font-size:1.1rem;font-weight:500;letter-spacing:.3px}.topics-loading,.topics-error,.topics-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;flex:1}.topics-loading p,.topics-error p,.topics-empty p{margin:.5rem 0;color:var(--text-secondary);font-size:1rem}.topics-error button{margin-top:1rem;padding:.75rem 1.5rem;background-color:var(--accent-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.topics-error button:hover{background-color:var(--accent-secondary)}.spinner{border:4px solid rgba(255,255,255,.1);border-top:4px solid rgba(255,255,255,.8);border-radius:50%;width:48px;height:48px;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.topics-page-content{flex-direction:column}.video-list-section{width:100%;max-width:100%;height:300px;min-height:250px;max-height:400px;border-right:none;border-bottom:2px solid var(--border-color)}.video-player-section{flex:1;padding:1rem}}.topics-access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;flex:1}.access-denied-icon{font-size:4rem;margin-bottom:1.5rem}.topics-access-denied h2{color:var(--text-primary);font-size:1.75rem;margin:0 0 1rem}.topics-access-denied p{color:var(--text-secondary);margin:0 0 .5rem;font-size:1rem}.topics-access-denied .btn-back{margin-top:1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;border:none;padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.topics-access-denied .btn-back:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e67e224d}.all-topics-page{flex:1;overflow-y:auto;width:100%}.all-topics-page::-webkit-scrollbar{width:8px}.all-topics-page::-webkit-scrollbar-track{background:var(--bg-primary)}.all-topics-page::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.all-topics-page::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.all-topics-page-inner{padding:2rem;max-width:1400px;margin:0 auto}.topics-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary)}.topics-loading .spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.topics-error{background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:12px;padding:2rem;text-align:center;color:var(--text-primary)}.topics-error p{margin:0 0 1rem}.topics-error button{background:var(--accent-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;transition:background .2s}.topics-error button:hover{background:var(--accent-secondary)}.topics-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center}.topics-empty-icon{font-size:4rem;margin-bottom:1rem}.topics-empty h3{color:var(--text-primary);margin:0 0 .5rem}.topics-empty p{color:var(--text-secondary);margin:0}.topics-list{list-style:none;padding:0;margin:0}.topic-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1rem;margin-bottom:1rem;overflow:hidden}.topic-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.topic-info{flex:1}.topic-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.topic-badge{font-size:.75rem;padding:.2rem .7rem;border-radius:12px;font-weight:600;white-space:nowrap}.topic-badge-completed{background:#27ae6026;color:#27ae60}.topic-badge-in-progress{background:#e67e2226;color:var(--accent-primary)}.topic-progress{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.topic-progress-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.topic-progress-fill{height:100%;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-radius:3px;transition:width .3s ease}.topic-progress-text{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;font-weight:500}.topic-video-count{font-size:.9rem;color:var(--text-secondary)}.topic-actions{display:flex;gap:.75rem;flex-shrink:0}.btn-description{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:500}.btn-description:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.btn-view-videos{background:transparent;color:#e67e22;border:1px solid rgba(230,126,34,.3);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.btn-view-videos:hover{background:#e67e221a}.all-topics-page .topic-description{max-height:0;overflow:hidden;cursor:default;transition:none;padding:0;margin:0}.all-topics-page .topic-description:hover{background:transparent}.all-topics-page .topic-description.open{max-height:none}.all-topics-page .topic-description p{margin:0;margin-top:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px;font-size:.95rem;line-height:1.6;color:var(--text-secondary);transition:none}.all-topics-page .btn-materials{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:500;display:inline-flex;align-items:center}.all-topics-page .btn-materials:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.all-topics-page .btn-materials.active{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.topic-resources-container{margin:.75rem -1rem -1rem;background:var(--bg-tertiary);border-radius:0 0 12px 12px;overflow:hidden}.topic-resources-section-bar{padding:9px 20px;border-bottom:1px solid var(--border-color);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-tertiary);font-weight:500}.topic-resources-rows{display:flex;flex-direction:column}.resource-row{display:flex;align-items:center;gap:10px;padding:0 20px;height:44px;border-bottom:1px solid var(--border-color);transition:background .1s}.resource-row:hover{background:var(--bg-secondary)}.resource-row:last-child{border-bottom:none}.resource-row-icon{flex-shrink:0;opacity:.5}.resource-row-label{flex:1;font-size:13.5px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}.resource-row-size{font-size:12px;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.resource-row-dl{display:flex;align-items:center;gap:5px;padding:4px 12px;border-radius:6px;background:transparent;color:#3498db;font-size:12.5px;font-weight:600;font-family:inherit;border:1px solid rgba(52,152,219,.3);cursor:pointer;flex-shrink:0;white-space:nowrap;transition:all .2s ease}.resource-row-dl:hover{background:#3498db1a}.resource-row-empty{justify-content:center;color:var(--text-tertiary);font-size:13px}.resource-row-vm .vm-topic-label{font-size:13.5px;font-weight:500;text-transform:none;letter-spacing:0}.vm-test-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:4px;background:#e67e2226;color:#e67e22;border:1px solid rgba(230,126,34,.3);margin-left:8px;vertical-align:middle;line-height:1}.all-topics-page .materials-loading{display:flex;align-items:center;gap:.5rem;padding:12px 20px;color:var(--text-secondary);font-size:.9rem}.all-topics-page .spinner-small{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.vm-topic-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.vm-topic-info{display:flex;align-items:center;gap:8px}.vm-topic-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.vm-topic-status{display:flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;margin-left:8px}.vm-topic-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.vm-topic-status-running{color:#16a34a}.vm-topic-status-running .vm-topic-dot{background:#16a34a;box-shadow:0 0 6px #16a34a80}.vm-topic-status-stopped{color:#ca8a04}.vm-topic-status-stopped .vm-topic-dot{background:#ca8a04}.vm-topic-status-provisioning{color:#e67e22}.vm-topic-status-provisioning .vm-topic-dot{background:#e67e22;animation:vmTopicPulse 1.5s ease-in-out infinite}.vm-topic-status-failed{color:#ef4444}.vm-topic-status-failed .vm-topic-dot{background:#ef4444}@keyframes vmTopicPulse{0%,to{opacity:1}50%{opacity:.3}}.btn-rdp-download{display:flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;color:#e67e22;border:1px solid rgba(230,126,34,.3);border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-rdp-download:not(:disabled):hover{background:#e67e221a}.btn-rdp-download:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.all-topics-page{padding:1rem}.page-header h1{font-size:1.75rem}.topic-header{flex-direction:column;align-items:flex-start}.topic-actions{width:100%;margin-top:1rem}.btn-description,.btn-view-videos,.btn-materials{flex:1;text-align:center}.all-topics-page .material-item{flex-direction:column;align-items:flex-start;gap:.5rem}.all-topics-page .btn-download{margin-left:0;align-self:flex-end}}@media(prefers-reduced-motion:reduce){.topic-item,.topic-description,.spinner{animation:none;transition:none}}.internal-courses-page{flex:1;overflow-y:auto;width:100%}.internal-courses-page::-webkit-scrollbar{width:8px}.internal-courses-page::-webkit-scrollbar-track{background:var(--bg-primary)}.internal-courses-page::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.internal-courses-page::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.internal-courses-page-inner{padding:2rem;max-width:1400px;margin:0 auto}.internal-courses-page .topics-list{list-style:none;padding:0;margin:0}.internal-courses-page .topic-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1rem;margin-bottom:1rem;overflow:hidden}.internal-courses-page .topic-item.topic-locked{opacity:.75}.internal-courses-page .topic-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.internal-courses-page .topic-info{flex:1}.internal-courses-page .topic-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.internal-courses-page .topic-badge{font-size:.75rem;padding:.2rem .7rem;border-radius:12px;font-weight:600;white-space:nowrap}.internal-courses-page .topic-badge-completed{background:#27ae6026;color:#27ae60}.internal-courses-page .topic-badge-in-progress{background:#e67e2226;color:var(--accent-primary)}.internal-courses-page .topic-badge-locked{background:#e74c3c26;color:#e74c3c;display:inline-flex;align-items:center}.internal-courses-page .topic-video-count{font-size:.9rem;color:var(--text-secondary)}.internal-courses-page .topic-actions{display:flex;gap:.75rem;flex-shrink:0}.internal-courses-page .btn-description{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:500}.internal-courses-page .btn-description:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.internal-courses-page .btn-view-videos{background:transparent;color:#e67e22;border:1px solid rgba(230,126,34,.3);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.internal-courses-page .btn-view-videos:hover{background:#e67e221a}.internal-courses-page .btn-view-videos.btn-disabled{opacity:.4;color:var(--text-tertiary);border-color:var(--border-color);cursor:not-allowed}.internal-courses-page .btn-view-videos.btn-disabled:hover{background:transparent}.internal-courses-page .topic-progress{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.internal-courses-page .topic-progress-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.internal-courses-page .topic-progress-fill{height:100%;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-radius:3px;transition:width .3s ease}.internal-courses-page .topic-progress-text{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;font-weight:500}.internal-courses-page .topic-description{max-height:0;overflow:hidden;cursor:default;transition:none;padding:0;margin:0}.internal-courses-page .topic-description:hover{background:transparent}.internal-courses-page .topic-description.open{max-height:none}.internal-courses-page .topic-description p{margin:0;margin-top:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px;font-size:.95rem;line-height:1.6;color:var(--text-secondary);transition:none}.internal-courses-page .topics-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary)}.internal-courses-page .topics-loading .spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin-internal 1s linear infinite;margin-bottom:1rem}@keyframes spin-internal{to{transform:rotate(360deg)}}.internal-courses-page .topics-error{background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:12px;padding:2rem;text-align:center;color:var(--text-primary)}.internal-courses-page .topics-error p{margin:0 0 1rem}.internal-courses-page .topics-error button{background:var(--accent-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;transition:background .2s}.internal-courses-page .topics-error button:hover{background:var(--accent-secondary)}.internal-courses-page .topics-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center}.internal-courses-page .topics-empty h3{color:var(--text-primary);margin:0 0 .5rem}.internal-courses-page .topics-empty p{color:var(--text-secondary);margin:0}.internal-courses-page .btn-materials{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:500;display:inline-flex;align-items:center}.internal-courses-page .btn-materials:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.internal-courses-page .btn-materials.active{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.internal-courses-page .materials-loading{display:flex;align-items:center;gap:.5rem;padding:12px 20px;color:var(--text-secondary);font-size:.9rem}.internal-courses-page .spinner-small{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin-internal 1s linear infinite}@media(max-width:768px){.internal-courses-page-inner{padding:1rem}.internal-courses-page .topic-header{flex-direction:column;align-items:flex-start}.internal-courses-page .topic-actions{width:100%;margin-top:1rem}.internal-courses-page .btn-description,.internal-courses-page .btn-view-videos,.internal-courses-page .btn-materials{flex:1;text-align:center;justify-content:center}}.profile-page{flex:1;overflow-y:auto;padding:30px}.profile-page::-webkit-scrollbar{width:8px}.profile-page::-webkit-scrollbar-track{background:var(--bg-primary)}.profile-page::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.profile-page::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.profile-page-inner{max-width:700px;margin:0 auto}.profile-header{margin-bottom:30px;text-align:center;padding:20px 20px 10px}.profile-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.profile-subtitle{font-size:14px;color:var(--text-secondary)}.profile-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:24px;margin-bottom:20px}.profile-card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center}.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-info-item{display:flex;flex-direction:column;gap:4px}.profile-info-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.profile-info-value{font-size:15px;font-weight:500;color:var(--text-primary)}.profile-role-badge{display:inline-block;width:fit-content;font-size:11px;font-weight:600;padding:3px 10px;border-radius:4px;background-color:var(--bg-tertiary);color:var(--accent-primary)}.profile-password-form{display:flex;flex-direction:column;gap:16px}.profile-form-group{display:flex;flex-direction:column;gap:6px}.profile-form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.profile-form-group input{padding:10px 14px;border:1px solid var(--card-border);border-radius:8px;font-size:14px;background-color:var(--bg-primary);color:var(--text-primary);transition:border-color .2s ease}.profile-form-group input:focus{outline:none;border-color:var(--accent-primary)}.profile-password-hint{font-size:12px;color:var(--text-secondary);margin:0}.profile-btn-change{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;width:fit-content;transition:opacity .2s ease}.profile-btn-change:hover{opacity:.9}.profile-btn-change:disabled{opacity:.6;cursor:not-allowed}.profile-message{display:flex;align-items:center;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:12px}.profile-message-error{background-color:#e74c3c1a;color:#e74c3c}.profile-message-success{background-color:#27ae601a;color:#27ae60}@media(max-width:600px){.profile-page{padding:20px}.profile-info-grid{grid-template-columns:1fr}}.guide-page{flex:1;overflow-y:auto;padding:30px}.guide-page::-webkit-scrollbar{width:8px}.guide-page::-webkit-scrollbar-track{background:var(--bg-primary)}.guide-page::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.guide-page::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.guide-page-inner{max-width:750px;margin:0 auto}.guide-header{margin-bottom:30px;text-align:center;padding:20px 20px 10px}.guide-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.guide-subtitle{font-size:14px;color:var(--text-secondary)}.guide-sections{display:flex;flex-direction:column;gap:16px}.guide-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:20px 24px;display:flex;gap:16px;align-items:flex-start}.guide-card-icon{flex-shrink:0;width:44px;height:44px;border-radius:10px;background-color:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--accent-primary)}.guide-card-content{flex:1}.guide-card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.guide-card-description{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0}.guide-footer{margin-top:32px;text-align:center;padding:20px}.guide-footer p{font-size:13px;color:var(--text-secondary)}@media(max-width:600px){.guide-page{padding:20px}.guide-card{flex-direction:column;align-items:center;text-align:center}}.event-reg-container{height:100vh;display:flex;overflow:hidden}.event-reg-left{flex:1;display:flex;align-items:flex-start;justify-content:center;background:var(--bg-secondary);padding:40px;overflow-y:auto;scrollbar-width:none}.event-reg-left::-webkit-scrollbar{display:none}.event-reg-form-wrapper{width:100%;max-width:500px;padding:20px 0}.event-reg-logo{width:260px;height:auto;margin:0 auto 30px;display:block}.event-reg-left h1{margin:0 0 8px;color:var(--text-primary);font-size:28px;text-align:center;font-weight:600}.event-reg-description{margin:0 0 12px;color:var(--text-secondary);text-align:center;font-size:15px;line-height:1.5}.event-reg-date{margin:0 0 16px;color:var(--text-secondary);text-align:center;font-size:14px}.event-reg-loading{text-align:center;color:var(--text-secondary);padding:60px 0;font-size:16px}.event-reg-error-page{text-align:center;padding:40px 0}.event-reg-error-page h2{color:var(--text-primary);margin:0 0 12px;font-size:24px}.event-reg-error-page p{color:var(--text-secondary);font-size:16px}.event-reg-container .subtitle{margin:0 0 25px;color:var(--text-secondary);text-align:center;font-size:14px}.event-reg-container .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.event-reg-container .form-group{margin-bottom:24px}.event-reg-container .form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-weight:500;font-size:14px}.event-reg-container .form-group input{width:100%;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);transition:all .3s ease;box-sizing:border-box}.event-reg-container .form-group input::placeholder{color:var(--text-tertiary)}.event-reg-container .form-group input:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 3px #e67e2226}.event-reg-container .form-group input.error{border-color:#ef4444}.event-reg-container .form-group input:disabled{background-color:var(--bg-primary);cursor:not-allowed;opacity:.6}.event-reg-container .error-message{display:block;color:#f87171;font-size:12px;margin-top:6px}.event-reg-container .alert{padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.event-reg-container .alert-success{background-color:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.event-reg-container .alert-error{background-color:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.event-reg-form-wrapper .email-hint{display:block;margin:-16px 0 24px;font-size:13px;color:#9ca3af;text-align:center}.event-reg-container .form-group-checkbox{margin-bottom:20px}.event-reg-container .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8rem;color:var(--text-secondary);line-height:1.5}.event-reg-container .checkbox-label input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--accent-primary);margin-right:.5rem}.event-reg-container .terms-link{color:var(--accent-primary);text-decoration:underline;cursor:pointer}.event-reg-container .terms-link:hover{color:var(--accent-secondary)}.event-reg-container .form-group-checkbox .error-message{display:block;margin-top:.5rem}.terms-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.terms-modal{background:var(--bg-secondary);border-radius:12px;max-width:680px;width:90%;max-height:85vh;overflow:hidden;box-shadow:0 20px 40px #0000004d;border:1px solid var(--border-color);display:flex;flex-direction:column}.terms-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.terms-modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.terms-modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary);padding:.25rem;line-height:1}.terms-modal-close:hover{color:var(--text-primary)}.terms-modal-content{padding:1.5rem 2rem;overflow-y:auto;flex:1}.terms-modal-content::-webkit-scrollbar{width:8px}.terms-modal-content::-webkit-scrollbar-track{background:var(--bg-secondary)}.terms-modal-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.terms-modal-content::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.terms-modal-content h4{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-primary);text-align:center}.terms-modal-content h4:nth-of-type(2){margin-bottom:1rem}.terms-modal-content h5{margin:1.5rem 0 .5rem;font-size:.95rem;color:var(--text-primary)}.terms-modal-content p{margin:0 0 .75rem;color:var(--text-secondary);line-height:1.6;font-size:.875rem}.terms-modal-content p:last-child{margin-bottom:0}.terms-modal-content ul{margin:0 0 .75rem;padding-left:1.5rem;color:var(--text-secondary);font-size:.875rem;line-height:1.6}.terms-modal-content ul li{margin-bottom:.25rem}.terms-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.terms-modal-footer .btn-primary{padding:.5rem 1.5rem}.event-reg-container .btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:10px;box-shadow:0 4px 12px #e67e2240}.event-reg-container .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#ba4a00);transform:translateY(-1px);box-shadow:0 6px 16px #e67e2259}.event-reg-container .btn-primary:active:not(:disabled){transform:translateY(0)}.event-reg-container .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:968px){.event-reg-container{flex-direction:column;height:auto;overflow:visible}.event-reg-left{flex:none;width:100%}}@media(max-width:600px){.event-reg-left{padding:20px}.event-reg-logo{width:140px;margin-bottom:20px}.event-reg-left h1{font-size:24px}.event-reg-container .form-row{grid-template-columns:1fr}}.event-dl-container{min-height:100vh;display:flex;overflow:hidden}.event-dl-left{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:40px}.event-dl-wrapper{width:100%;max-width:500px;text-align:center}.event-dl-logo{width:260px;height:auto;margin:0 auto 40px;display:block}.event-dl-content{padding:20px 0}.event-dl-content h2{margin:16px 0 12px;color:var(--text-primary);font-size:24px;font-weight:600}.event-dl-content p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0 0 24px}.event-dl-icon{font-size:56px;margin-bottom:8px}.btn-download{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 12px #e67e2240}.btn-download:hover{background:linear-gradient(135deg,#d35400,#ba4a00);transform:translateY(-1px);box-shadow:0 6px 16px #e67e2259}.btn-download:active{transform:translateY(0)}.event-dl-buttons{display:flex;flex-direction:column;gap:12px;margin-top:16px;align-items:center}.btn-download-secondary{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 4px 12px #3498db40}.btn-download-secondary:hover{background:linear-gradient(135deg,#2980b9,#2471a3);box-shadow:0 6px 16px #3498db59}@media(max-width:968px){.event-dl-container{flex-direction:column}.event-dl-left{flex:none;width:100%;min-height:100vh}}@media(max-width:600px){.event-dl-left{padding:20px}.event-dl-logo{width:140px;margin-bottom:24px}.event-dl-content h2{font-size:20px}}.sidebar{width:250px;height:calc(100vh - 60px);background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;left:0;top:60px;transition:width .3s ease,background-color .3s ease;z-index:1001}.sidebar.collapsed{width:70px}.sidebar-nav{flex:1;overflow-y:auto;padding:20px 0}.nav-section{margin-bottom:24px}.nav-section-title{font-size:11px;font-weight:600;color:var(--text-tertiary);padding:0 20px 8px;letter-spacing:.5px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:var(--text-secondary);text-decoration:none;transition:all .2s ease;cursor:pointer;border-left:3px solid transparent;position:relative}.sidebar.collapsed .nav-item{justify-content:center;padding:12px 10px}.nav-item:hover{background-color:var(--sidebar-hover);color:var(--text-primary)}.nav-item.active{background-color:var(--sidebar-active);color:var(--accent-primary);border-left-color:var(--accent-primary);font-weight:600}.nav-icon{font-size:18px;width:24px;display:flex;align-items:center;justify-content:center}.nav-label{font-size:14px}.sidebar-footer{padding:20px;border-top:1px solid var(--border-color)}.logout-button{width:calc(100% + 40px);background:none;border:none;text-align:left;font-family:inherit;padding:12px 20px;margin:0 -20px;display:flex;align-items:center;gap:12px}.sidebar.collapsed .logout-button{width:calc(100% + 20px);padding:12px 10px;margin:0 -10px;justify-content:center}.logout-button:hover{background-color:#ef44441a;color:#ef4444}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-track{background:var(--bg-primary)}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}@media(max-width:768px){.sidebar{width:70px}.sidebar.collapsed{transform:translate(-100%)}.sidebar-header{flex-direction:column;gap:10px}.logo-text{display:none}.logo-image{height:28px}.status-badge,.nav-section-title,.nav-label{display:none}.nav-item{justify-content:center;padding:12px 10px}.sidebar-footer{padding:10px}.logout-button{justify-content:center;padding:12px 10px;margin:0 -10px}}.user-dropdown{position:relative}.user-menu{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background-color .2s ease}.user-menu:hover{background-color:var(--bg-tertiary)}.user-name{font-size:14px;font-weight:500;color:var(--text-primary)}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.dropdown-arrow{font-size:10px;color:var(--text-secondary);transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:8px 0;z-index:1100;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:12px 16px;border-bottom:1px solid var(--border-color)}.dropdown-user-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.dropdown-user-email{font-size:12px;color:var(--text-secondary)}.dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;color:var(--text-primary);font-size:14px;font-family:inherit;cursor:pointer;transition:background-color .2s ease;text-align:left}.dropdown-item:hover{background-color:var(--sidebar-hover)}.dropdown-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.dropdown-label{flex:1}.dropdown-divider{height:1px;background-color:var(--border-color);margin:8px 0}.logout-item:hover{background-color:#ef44441a;color:#ef4444}@media(max-width:768px){.user-name,.dropdown-arrow{display:none}.user-menu{padding:4px}}.app-layout{display:flex;flex-direction:column;height:100vh;background-color:var(--bg-primary);overflow:hidden}.app-header{height:60px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:fixed;top:0;left:0;right:0;z-index:1002}.app-container{display:flex;flex:1;margin-top:60px;overflow:hidden;min-height:0}.header-left{display:flex;align-items:center;gap:20px}.menu-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);width:40px;height:40px;border-radius:8px;font-size:20px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.menu-toggle:hover{background:var(--sidebar-hover);transform:scale(1.05)}.header-logo{display:flex;align-items:center;gap:44px}.logo-image{height:40px;width:auto;object-fit:contain}.logo-text{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.header-right{display:flex;align-items:center;gap:20px}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);width:40px;height:40px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:var(--text-primary)}.theme-toggle svg{transition:transform .3s ease}.theme-toggle:hover{background:var(--sidebar-hover);transform:scale(1.05)}.theme-toggle:hover svg{transform:rotate(20deg)}.theme-toggle:active svg{transform:rotate(180deg)}.app-main{flex:1;margin-left:250px;overflow-y:auto;display:flex;flex-direction:column;transition:margin-left .3s ease}.app-main::-webkit-scrollbar{width:8px}.app-main::-webkit-scrollbar-track{background:var(--bg-primary)}.app-main::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.app-main::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.app-layout.sidebar-collapsed .app-main{margin-left:70px}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:var(--text-secondary)}@media(max-width:768px){.app-main{margin-left:70px}.app-layout.sidebar-collapsed .app-main{margin-left:0}.app-header{padding-left:20px;padding-right:20px}.logo-text{display:none}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
