*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:#f5f7fa;min-height:100vh;color:var(--text-color);line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-color);font-weight:600;line-height:1.3}a{color:var(--primary-color);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-dark)}button{font-family:Inter,sans-serif}.section-title{font-size:1.5rem;margin-bottom:var(--spacing-lg);color:var(--text-color)}.text-primary{color:var(--primary-color)}body.login{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:#060756;min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(to bottom right,#060756,#1e3a8a,#2563eb)}.login-card{width:100%;max-width:400px;padding:2.5rem;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a}.login-logo{width:80px;height:auto;margin:0 auto 2rem;display:block;transition:transform .3s ease}.login-logo:hover{transform:scale(1.05)}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:#1a1a1a;font-size:1.75rem;margin-bottom:.5rem;font-weight:600}.login-header p{color:#666;font-size:.95rem;margin-bottom:1rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-size:.9rem}.form-group input{width:100%;padding:.75rem 1rem;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.95rem;color:#333;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#4b186f;box-shadow:0 0 0 3px #4b186f1a}.form-group input::placeholder{color:#999}.password-input-container{position:relative}.toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;color:#666;font-size:1rem}.login-button{width:100%;padding:.75rem;background:#3232ff;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.login-button:hover{background:#3c25c0}.login-button:disabled{background:#999;cursor:not-allowed}.login-button i{margin-right:.5rem}.forgot-password{text-align:right;margin-bottom:1.25rem}.forgot-password a{color:#6a2aff;text-decoration:none;font-size:.9rem;transition:color .2s ease}.forgot-password a:hover{color:#3f21b9;text-decoration:underline}.login-footer{margin-top:2rem;text-align:center;color:#666;font-size:.9rem}.login-footer a{color:#4b186f;text-decoration:none;font-weight:500}.login-footer a:hover{text-decoration:underline}.error-alert{background-color:#fde8e8;border:1px solid #f8d7da;color:#721c24;padding:.75rem;border-radius:8px;margin-bottom:1.25rem;display:flex;align-items:center}.error-alert i{margin-right:.5rem}@media (max-width: 480px){.login-card{padding:1.5rem}.login-header h1{font-size:1.5rem}}.register-container{display:flex;flex-direction:column;align-items:center;padding:20px}.register-options{display:flex;gap:1rem;margin-bottom:2rem;width:100%;max-width:400px}.option-btn{flex:1;padding:1rem;border:2px solid #4b186f;background:transparent;color:#4b186f;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500}.option-btn:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.register-form{background:#fffffff2;padding:2.5rem;border-radius:15px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px;transition:all .3s ease;animation:fadeIn .5s ease-out}.register-form h2{color:#2d3748;text-align:center;margin-bottom:2rem;font-size:1.8rem;font-weight:600}.form-group{margin-bottom:1.5rem;position:relative}.form-group input,.form-group select{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .3s ease;background-color:#fff;color:#2d3748}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.role-select{width:100%;padding:12px 40px 12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;color:#2d3748;background-color:#fff;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234b186f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.role-select:hover{border-color:#4b186f}.role-select:focus{outline:none;border-color:#4b186f;box-shadow:0 0 0 3px #4b186f1a}.role-select option{padding:12px;font-size:1rem}button{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:1rem}button:hover{transform:translateY(-1px);box-shadow:0 7px 14px #0000001a}.toggle-button{display:block;width:100%;padding:12px;background:transparent;color:#667eea;border:2px solid #667eea;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center;text-decoration:none}.toggle-button:hover{background:#667eea1a}.message{padding:10px;margin-bottom:1rem;border-radius:8px;text-align:center;font-size:.9rem;background-color:#e9ecef;color:#2d3748;animation:fadeIn .3s ease-out}@media (max-width: 480px){.register-form{padding:2rem}.register-form h2{font-size:1.5rem}}.registro-masivo{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.template-download{margin:2rem 0;text-align:center}.download-btn{background:#4b186f;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.file-upload-container{border:2px dashed #4b186f;border-radius:8px;padding:2rem;text-align:center;position:relative;margin:2rem 0}.upload-label{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-label i{font-size:2rem;color:#4b186f}.progreso-container{margin-top:2rem}.barra-progreso{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progreso{height:100%;background:#4b186f;transition:width .3s ease}.registro-masivo-container{padding:20px;max-width:800px;margin:0 auto;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a}.btn-descargar-plantilla{background:linear-gradient(90deg,#67288f,#9b59b6);color:#fff;padding:12px 24px;border:none;border-radius:4px;cursor:pointer;display:block;width:100%;text-align:center;margin-bottom:20px}.btn-descargar-plantilla i{font-size:1.2em}.upload-area{border:2px dashed #ccc;border-radius:10px;padding:2rem;text-align:center;transition:all .3s ease;background:#f8f9fa;cursor:pointer;position:relative}.upload-area.drag-active{border-color:#673ab7;background:#673ab71a}.upload-box{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-box i{font-size:3rem;color:#673ab7}.upload-box p{margin:0;font-size:1.1rem;color:#444}.formatos-texto{font-size:.9rem;color:#666}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.progreso{margin-top:1rem;text-align:center}.progreso progress{width:100%;height:10px;border-radius:5px}.progreso span{margin-top:.5rem;display:block;color:#666}.role-selection{margin:1.5rem 0}.role-selection label{display:block;margin-bottom:.5rem;color:#4b186f;font-weight:500}.role-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:.5rem}.role-option{display:flex;flex-direction:column;align-items:center;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .3s ease}.role-option:hover{border-color:#4b186f;background-color:#f8fafc;transform:translateY(-2px)}.role-option.selected{border-color:#4b186f;background-color:#4b186f1a}.role-option i{font-size:1.5rem;margin-bottom:.5rem;color:#4b186f}.role-option span{font-size:.9rem;color:#4b186f;text-align:center}button[type=submit]{width:100%;padding:12px 24px;background:linear-gradient(135deg,#4b186f,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 2px 4px #4b186f1a}button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #4b186f33;background:linear-gradient(135deg,#5c1d87,#8755bd)}button[type=submit]:active{transform:translateY(0);box-shadow:0 2px 4px #4b186f1a}button[type=submit]:disabled{background:#e2e8f0;cursor:not-allowed;transform:none;box-shadow:none}button[type=submit] i{font-size:1.1rem;transition:transform .3s ease}button[type=submit]:hover i{transform:translate(2px)}@media (max-width: 480px){.role-options{grid-template-columns:repeat(2,1fr)}.role-option{padding:.75rem}}:root{--sidebar-width: 250px;--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #3498db;--success-color: #27ae60;--warning-color: #f39c12;--danger-color: #e74c3c;--light-gray: #f5f6fa;--border-color: #dcdde1;--shadow-color: rgba(0,0,0,.1)}.estudiante-dashboard{display:flex;flex-direction:row;min-height:100vh;width:100%;position:relative;padding:20px}.sidebar{width:var(--sidebar-width);background:var(--primary-color);height:100vh;position:fixed;left:0;top:0;overflow-y:auto;z-index:1000}.logo{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.logo h2{color:#fff;margin:0;font-size:1.5rem;font-weight:500}.nav-links{padding:1rem 0}.nav-item{display:flex;align-items:center;padding:.75rem 1.5rem;color:#fff;cursor:pointer;transition:all .3s ease;gap:12px}.nav-item:hover{background:#ffffff1a}.nav-item.active{background:#ffffff26;border-left:3px solid var(--accent-color)}.nav-item i{width:20px;text-align:center;font-size:1.1rem}.submenu{background:#00000026;margin:.25rem 0}.submenu-item{padding:.6rem 1rem .6rem 3.5rem;display:flex;align-items:center;gap:10px;color:#fff;cursor:pointer;transition:all .3s ease}.submenu-item:hover{background:#ffffff1a}.logout-container{position:absolute;bottom:0;width:100%;padding:20px;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{width:100%;padding:12px;display:flex;align-items:center;gap:10px;color:#fff;background:#f003;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:#ff00004d}.main-content{flex:1;margin-left:250px;padding:2rem;width:calc(100% - 250px);min-height:100vh;background:#f8f9fa}.submenu-icon{margin-left:auto;font-size:.8rem}.nav-item span,.submenu-item span{font-size:.95rem}.cursos-section{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 1px 3px #0000000d}.cursos-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.cursos-header h2{font-size:1.75rem;font-weight:600;color:#1f2937;margin:0}.cursos-filtros{display:flex;gap:1rem;margin-bottom:2rem}.filtro-btn{padding:.5rem 1rem;border:none;border-radius:20px;background:#f5f5f5;color:#666;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.filtro-btn:hover{background:#eee}.filtro-btn.active{background:#673ab7;color:#fff}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.course-card{background:#fff;border-radius:10px;border:1px solid #e5e7eb;overflow:hidden;transition:all .2s ease;cursor:pointer}.course-card:hover{transform:translateY(-3px);box-shadow:0 8px 16px -6px #0000001a}.course-header{padding:1rem;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:.75rem}.course-icon{width:40px;height:40px;background:#4f46e5;border-radius:8px;display:flex;align-items:center;justify-content:center}.course-icon i{color:#fff;font-size:1.25rem}.course-progress{flex:1;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.course-body{padding:1rem}.course-body h3{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:.5rem;line-height:1.4}.course-body p{color:#6b7280;font-size:.875rem;line-height:1.4;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-meta{display:flex;gap:1rem;margin-top:.75rem}.course-meta span{display:flex;align-items:center;gap:.375rem;color:#6b7280;font-size:.75rem}.course-footer{padding:.75rem 1rem;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.continue-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.continue-btn:hover{background:#4338ca;transform:translate(2px)}.continue-btn i{transition:transform .2s ease}.continue-btn:hover i{transform:translate(3px)}.empty-state{text-align:center;padding:4rem 2rem;background:#f8fafc;border-radius:12px;border:2px dashed #e5e7eb}.empty-state i{font-size:3rem;color:#9ca3af;margin-bottom:1.5rem}.empty-state h3{color:#374151;font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.empty-state p{color:#6b7280;font-size:1rem}@media (max-width: 768px){.courses-grid{grid-template-columns:1fr}.cursos-filtros{gap:.75rem}.filtro-btn{flex:1;justify-content:center}}@media (max-width: 640px){.cursos-header{flex-direction:column;align-items:flex-start;gap:1rem}.cursos-filtros{width:100%;justify-content:space-between}.filtro-btn{flex:1;justify-content:center}}.dashboard-container{padding:2rem;background:#f8f9fa}.enrolled-courses-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.view-all{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:8px;color:#4f46e5;background:transparent;font-size:.875rem;cursor:pointer;transition:all .2s ease}.view-all:hover{background:#f5f5ff;border-color:#4f46e5}.view-all i{font-size:.75rem;transition:transform .2s ease}.view-all:hover i{transform:translate(2px)}@media (max-width: 768px){.dashboard-container{padding:1rem}.welcome-section,.enrolled-courses-section{padding:1.5rem}}.mensajes-section{padding:20px;height:100%;overflow-y:auto}.mensajes-section .mensajes-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:100%}.tareas-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000001a}.tareas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.tareas-header h2{font-size:1.5rem;color:#1f2937;margin:0}.tareas-filters{display:flex;gap:12px}.filter-btn{padding:8px 16px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.filter-btn:hover{border-color:#4f46e5;color:#4f46e5}.filter-btn.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.tareas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.tarea-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s ease}.tarea-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.tarea-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.tarea-title{font-size:1.1rem;color:#1f2937;margin:0;font-weight:500}.tarea-status{padding:4px 12px;border-radius:9999px;font-size:.875rem;font-weight:500}.status-pendiente{background:#fef3c7;color:#d97706}.status-completada{background:#d1fae5;color:#059669}.status-vencida{background:#fee2e2;color:#dc2626}.tarea-info{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.tarea-meta{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:.875rem}.tarea-meta i{width:16px}.tarea-actions{display:flex;justify-content:flex-end;gap:8px}.tarea-btn{padding:8px 16px;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-ver{background:#4f46e5;color:#fff;border:none}.btn-ver:hover{background:#4338ca}.empty-state{text-align:center;padding:48px 24px;background:#f9fafb;border-radius:8px;border:2px dashed #e5e7eb}.empty-state i{font-size:3rem;color:#9ca3af;margin-bottom:16px}.empty-state h3{color:#374151;margin:0 0 8px}.empty-state p{color:#6b7280;margin:0}@media (max-width: 768px){.tareas-header{flex-direction:column;gap:16px;align-items:flex-start}.tareas-filters{width:100%;overflow-x:auto;padding-bottom:8px}.tareas-grid{grid-template-columns:1fr}}.nav-group{width:100%}.nav-item-with-submenu{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;color:#fff;text-decoration:none;cursor:pointer;transition:all .3s ease;border:none;background:transparent}.nav-item-content{display:flex;align-items:center;gap:10px}.nav-item-content span{font-size:16px}.submenu-icon{font-size:12px;transition:transform .3s ease}.nav-item-with-submenu.active .submenu-icon{transform:rotate(180deg)}.sub-menu{background-color:#0003;overflow:hidden;max-height:0;transition:max-height .3s ease-out}.sub-menu.active{max-height:200px}.sub-menu a{padding:10px 20px 10px 50px;color:#fffc;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:14px;transition:all .3s ease}.sub-menu a:hover{background-color:#ffffff1a;color:#fff}.sub-menu a.active{background-color:#ffffff26;color:#fff;border-left:4px solid #4CAF50}.skeleton{animation:pulse 1.5s infinite;background:#f0f0f0}.skeleton-text{height:1rem;width:80%;background:#e0e0e0;margin:.5rem 0;border-radius:4px}@keyframes pulse{0%{opacity:.6}50%{opacity:.8}to{opacity:.6}}.stat-card.skeleton .stat-icon{background:#e0e0e0;width:48px;height:48px}.stat-card.skeleton .stat-info{flex:1}.welcome-section{padding:2rem;background:#fff;border-radius:12px;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.welcome-section h1{font-size:1.8rem;color:#2c3e50;margin-bottom:.5rem}.welcome-section p{color:#6c757d;font-size:1.1rem}.estudiante-dashboard{display:flex;flex-direction:row;align-items:stretch;width:100%}.stat-card:nth-child(n){position:relative;float:none}.dashboard-inicio{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.dashboard-inicio h2{color:#2c3e50;margin-bottom:.5rem}.dashboard-inicio .subtitulo{color:#666;margin-bottom:2rem}.stats-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem}.mensajes-container,.cursos-container,.calificaciones-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}@media (max-width: 768px){.sidebar{width:100%;height:auto;position:relative}.main-content{margin-left:0;width:100%}.stats-overview{grid-template-columns:1fr}}.estado-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;display:inline-block;margin-bottom:8px}.estado-badge.no_iniciado{background-color:#e2e8f0;color:#4a5568}.estado-badge.en_progreso{background-color:#ebf8ff;color:#3182ce}.estado-badge.completado{background-color:#f0fff4;color:#38a169}.btn-curso{border:none;border-radius:4px;padding:8px 16px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;width:100%}.btn-iniciar{background-color:#4c51bf;color:#fff}.btn-iniciar:hover{background-color:#434190}.btn-continuar{background-color:#3182ce;color:#fff}.btn-continuar:hover{background-color:#2c5282}.curso-status{margin-bottom:10px}@media (min-width: 768px){.curso-card{flex-direction:row;align-items:center;gap:16px}.curso-status{align-items:flex-end}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.dashboard-header h1{font-size:1.8rem;color:#333;margin:0}.filtros{display:flex;gap:10px}.filtro-btn{background-color:#f5f5f5;border:none;border-radius:5px;padding:8px 15px;font-size:.9rem;color:#555;cursor:pointer;transition:all .2s ease;display:flex;align-items:center}.filtro-btn i{margin-right:8px}.filtro-btn:hover{background-color:#e0e0e0}.filtro-btn.active{background-color:#6c63ff;color:#fff}.cursos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px}.curso-card{background-color:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease;height:100%;display:flex;flex-direction:column}.curso-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.curso-header{height:140px;position:relative;background-color:#6c63ff;background-image:linear-gradient(135deg,#6c63ff,#4834d4)}.curso-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center}.curso-icon{width:60px;height:60px;background-color:#ffffffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0003}.curso-icon i{font-size:24px;color:#6c63ff}.curso-body{padding:20px;flex-grow:1;display:flex;flex-direction:column}.curso-title{font-size:1.2rem;margin-bottom:10px;color:#333;font-weight:600}.curso-description{color:#666;font-size:.9rem;margin-bottom:15px;flex-grow:1}.curso-meta{display:flex;justify-content:space-between;margin-bottom:15px;font-size:.85rem;color:#777}.curso-code i,.curso-date i{margin-right:5px;color:#6c63ff}.curso-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500}.status-badge.en-progreso{background-color:#e6f7ff;color:#0070f3}.status-badge.completado{background-color:#e6f7ee;color:#00a854}.status-badge.no-iniciado{background-color:#f5f5f5;color:#888}.btn-continuar{padding:8px 15px;background-color:#6c63ff;color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:500;transition:background-color .2s ease;display:flex;align-items:center}.btn-continuar i{margin-left:8px}.btn-continuar:hover{background-color:#5a52cc}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px}.spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #6c63ff;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:15px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#d32f2f}.error-container i{font-size:48px;margin-bottom:15px}.error-container button{margin-top:15px;padding:8px 20px;background-color:#6c63ff;color:#fff;border:none;border-radius:5px;cursor:pointer}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#757575;text-align:center}.empty-state i{font-size:48px;margin-bottom:15px;color:#bdbdbd}.empty-state h2{margin-bottom:10px;color:#555}.contenido-fullscreen{padding:20px;background:#f8f9fa;min-height:100vh}.contenido-wrapper{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:24px}.curso-info-panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.btn-volver{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f8f9fa;border:none;border-radius:8px;color:#6c757d;font-size:.9rem;margin-bottom:20px;cursor:pointer}.btn-volver:hover{background:#e9ecef}.info-section h3{color:#495057;font-size:1.1rem;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e9ecef}.info-item{display:flex;align-items:flex-start;gap:15px;padding:15px;background:#fff;border-radius:8px;margin-bottom:15px;box-shadow:0 1px 3px #0000000d;transition:transform .2s ease}.info-item:hover{transform:translateY(-2px);box-shadow:0 2px 5px #0000001a}.info-item i{font-size:1.5rem;padding:12px;border-radius:8px;min-width:45px;text-align:center}.info-item i.fa-user-tie{color:#3498db;background:#ebf5ff}.info-item i.fa-code{color:#2ecc71;background:#edfff5}.info-item i.fa-calendar-alt{color:#e74c3c;background:#fff5f5}.info-item i.fa-flag-checkered{color:#f39c12;background:#fff9eb}.info-item i.fa-info-circle{color:#9b59b6;background:#f8f0ff}.info-item div{flex-grow:1}.info-item label{display:block;color:#6c757d;font-size:.85rem;margin-bottom:4px;font-weight:500}.info-item span{display:block;color:#2c3e50;font-size:1rem;font-weight:500}.contenido-main{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.contenido-main h2{color:#212529;font-size:1.5rem;margin-bottom:20px}.estado-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500;background:#e8f5e9;color:#2e7d32}.estado-badge i{font-size:.8rem}.info-item{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.contenido-wrapper{grid-template-columns:1fr}}.container-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:20px;box-shadow:0 2px 4px #0000000d}.container-title{font-size:1.25rem;color:#2d3748;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #e2e8f0}.lessons-list{display:flex;flex-direction:column;gap:10px}.lesson-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:15px;transition:all .2s}.lesson-item:hover{background:#f1f5f9;transform:translate(5px)}.lesson-content{display:flex;gap:15px;align-items:flex-start}.lesson-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#6366f1;color:#fff;border-radius:8px;flex-shrink:0}.lesson-icon i{font-size:1.2rem;color:#fff}.lesson-info h3{margin:0;font-size:1rem;color:#212529}.lesson-description{font-size:.9rem;color:#6c757d;margin-top:5px}.lesson-files{color:#4a90e2;font-size:.85rem;margin-top:5px}.lesson-meta{font-size:.85rem;color:#6c757d}.info-item.profesores .profesores-list{display:flex;flex-direction:column;gap:4px}.profesor-item{display:inline-flex;align-items:center;font-size:1rem;color:#2c3e50}.profesor-item .separator{margin:0 4px;color:#6c757d;font-size:.5rem;align-self:center}.info-item i.fa-user-tie{color:#3498db;background:#ebf5ff;margin-top:4px}.info-item.profesores label{margin-bottom:8px}.profesor-item{background:none;border:none;padding:0}.profesor-item{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.info-item.profesores .profesores-list{flex-direction:column;align-items:flex-start}.profesor-item .separator{display:none}}.quiz-item{border-left:4px solid #4b186f}.quiz-info{padding:10px 0}.quiz-details{display:flex;gap:20px;margin-bottom:15px}.quiz-details span{display:flex;align-items:center;gap:5px;color:#666;font-size:.9rem}.quiz-details i{color:#4b186f}.btn-iniciar-quiz{background-color:#4b186f;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.btn-iniciar-quiz:hover{background-color:#3a1256}.quiz-item:hover{background-color:#f8f4fb}.leccion-video-container{padding:20px;max-width:900px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.leccion-titulo{font-size:24px;font-weight:600;color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e9ecef}.video-container{margin:20px auto;width:90%;max-width:720px;background:#f8f9fa;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.leccion-descripcion{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.leccion-descripcion h3{font-size:18px;font-weight:600;color:#444;margin-bottom:10px}.leccion-descripcion p{font-size:16px;line-height:1.6;color:#666}.video-container{animation:fadeIn .3s ease-in-out}.video-container:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px);transition:all .3s ease}@media (max-width: 768px){.leccion-video-container{padding:15px;margin:10px;max-width:100%}.video-container{width:95%;margin:15px auto}.leccion-titulo{font-size:20px}.leccion-descripcion{padding:15px;margin:15px 0}}@media (max-width: 480px){.video-container{width:100%;margin:10px auto}.leccion-titulo{font-size:18px}}.video-loading{background:#f8f9fa;height:400px;display:flex;align-items:center;justify-content:center;border-radius:8px}.video-loading i{font-size:24px;color:#666;animation:spin 1s linear infinite}.lesson-item.video-lesson{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:12px}.video-preview-container{width:100%;cursor:pointer;transition:transform .2s ease}.video-preview-container:hover{transform:translateY(-2px)}.video-preview-content{display:flex;align-items:flex-start;gap:16px;padding:12px}.video-thumbnail{position:relative;width:180px;min-width:180px;height:100px;border-radius:6px;overflow:hidden;background:#f1f5f9}.video-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.play-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0003;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.video-preview-container:hover .play-overlay{opacity:1}.play-overlay i{color:#fff;font-size:24px;width:48px;height:48px;background:#00000080;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:4px}.video-info{flex:1;min-width:0}.video-info h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#1a202c;line-height:1.4}.video-description{font-size:14px;color:#64748b;margin:0;line-height:1.5;max-height:42px;overflow:hidden;text-overflow:ellipsis;position:relative}.video-description:after{content:"";position:absolute;bottom:0;right:0;width:30%;height:1.5em;background:linear-gradient(to right,transparent,#ffffff 50%)}@media (max-width: 768px){.video-preview-content{flex-direction:column;gap:12px}.video-thumbnail{width:100%;height:180px;min-width:unset}.video-info h3{font-size:15px}}@media (max-width: 480px){.video-thumbnail{height:160px}.video-preview-content{padding:8px}}.virtual-meeting-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px;transition:transform .2s ease,box-shadow .2s ease}.virtual-meeting-item:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.meeting-content{display:flex;align-items:center;gap:16px}.meeting-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.meeting-icon.meet{background-color:#e8f5e9;color:#0f9d58}.meeting-icon.zoom{background-color:#e3f2fd;color:#2d8cff}.meeting-info{flex:1}.meeting-info h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#1a202c}.meeting-description{font-size:14px;color:#64748b;margin:0 0 12px}.meeting-link{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s ease}.meeting-link.meet{background-color:#e8f5e9;color:#0f9d58}.meeting-link.meet:hover{background-color:#c8e6c9}.meeting-link.zoom{background-color:#e3f2fd;color:#2d8cff}.meeting-link.zoom:hover{background-color:#bbdefb}.quiz-container{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.quiz-metadata{display:flex;gap:20px;margin:15px 0}.quiz-info{display:flex;align-items:center;gap:8px;color:#666}.quiz-info i{color:#4a90e2}.quiz-description{margin:15px 0;color:#555}.btn-iniciar{background-color:#4a90e2;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:8px}.btn-iniciar:hover{background-color:#357abd}.btn-iniciar i{font-size:16px}.archivos-adjuntos-section{margin-top:1.5rem;padding:1.25rem;background:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0}.archivos-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:#1e293b;margin-bottom:1rem;font-weight:500}.archivos-title i{color:#6366f1}.archivos-grid{display:grid;gap:.75rem}.archivo-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;transition:all .2s ease}.archivo-card:hover{background:#f1f5f9;transform:translate(4px);box-shadow:0 2px 4px #0000000d}.archivo-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:.375rem;flex-shrink:0}.archivo-icon i{font-size:1rem}.archivo-icon i.fa-file-pdf{color:#dc2626}.archivo-icon i.fa-file-word{color:#2563eb}.archivo-icon i.fa-file-excel{color:#16a34a}.archivo-icon i.fa-file-powerpoint{color:#ea580c}.archivo-icon i.fa-file-image{color:#7c3aed}.archivo-icon i.fa-file-archive{color:#9333ea}.archivo-icon i.fa-file-alt{color:#6b7280}.archivo-info{flex:1;min-width:0}.archivo-nombre{display:block;font-size:.875rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archivo-download{background:transparent;border:none;color:#6366f1;width:28px;height:28px;border-radius:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.archivo-download:hover{background:#6366f1;color:#fff;transform:scale(1.05)}.archivo-download i{font-size:.875rem}@media (min-width: 640px){.archivos-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.survey-container{background:#fff8f5;border-radius:8px;padding:20px;margin-bottom:15px;border-left:4px solid #f97316}.survey-header{display:flex;align-items:flex-start;gap:15px;margin-bottom:15px}.survey-icon{background-color:#f97316;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.survey-icon i{font-size:18px}.survey-title{flex-grow:1}.survey-title h3{margin:0 0 5px;color:#1f2937}.survey-description{color:#6b7280;margin:0;font-size:.9em}.survey-actions{margin-top:15px}.btn-survey{background-color:#f97316;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:500;transition:background-color .2s}.btn-survey:hover{background-color:#ea580c}.btn-survey i{font-size:16px}.quiz-container{background:#f0f7ff;border-radius:8px;padding:20px;margin-bottom:15px;border-left:4px solid #4a90e2}.progreso-curso-section{background-color:#fff;border-radius:10px;padding:20px;margin-top:20px;box-shadow:0 3px 10px #0000000d}.progreso-stats{display:flex;align-items:center;gap:20px;margin-top:15px}.progreso-circular{width:80px;height:80px;flex-shrink:0}.progreso-detalles{flex-grow:1}.progreso-item{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.9rem;color:#555}.progreso-item i{color:#4e54c8}.progreso-bar-container{height:8px;background-color:#f0f0f0;border-radius:10px;overflow:hidden;margin-top:10px}.progreso-bar{height:100%;background:linear-gradient(90deg,#4e54c8,#8f94fb);border-radius:10px;transition:width .5s ease}.lesson-item{position:relative;border-left:3px solid #eee}.lesson-item.completada{border-left-color:#27ae60}.lesson-item.pendiente{border-left-color:#f39c12}.estado-leccion{display:flex;align-items:center;gap:5px;font-size:.8rem;margin-bottom:8px}.estado-leccion.completada{color:#27ae60}.estado-leccion.pendiente{color:#f39c12}.progress-circle{width:100%;height:100%;transform:rotate(-90deg)}.progress-text{fill:#333;font-size:10px;font-weight:700;text-anchor:middle;transform:rotate(90deg)}.btn-marcar-completada{margin-top:12px;background:#1976d2;color:#fff;border:none;padding:8px 18px;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.btn-marcar-completada:hover{background:#125ea2}.leccion-detalle{padding:24px;max-width:1200px;margin:0 auto}.leccion-titulo{font-size:24px;font-weight:600;color:#1a202c;margin-bottom:16px}.leccion-descripcion{font-size:16px;color:#4a5568;margin-bottom:24px;line-height:1.5}.leccion-video-container{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;box-shadow:0 2px 4px #0000001a}.leccion-video-frame{position:absolute;top:0;left:0;width:100%;height:100%}.leccion-meeting-container{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000000d;text-align:center;max-width:600px;margin:0 auto}.meeting-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.meeting-icon{font-size:24px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.meeting-instructions{font-size:16px;color:#4a5568;margin-bottom:24px}.meeting-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;text-decoration:none;transition:all .2s ease}.meeting-button.meet{background-color:#e8f5e9;color:#0f9d58}.meeting-button.meet:hover{background-color:#c8e6c9}.meeting-button.zoom{background-color:#e3f2fd;color:#2d8cff}.meeting-button.zoom:hover{background-color:#bbdefb}.meeting-button.unknown{background-color:#f1f5f9;color:#475569}.meeting-button.unknown:hover{background-color:#e2e8f0}@media (max-width: 640px){.leccion-detalle{padding:16px}.leccion-meeting-container{padding:24px 16px}.meeting-button{width:100%}}.leccion-header{background:#fff;border-radius:1rem;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.leccion-header h2{font-size:2rem;color:#1e293b;margin:1rem 0;font-weight:600;line-height:1.2}.leccion-meta{display:flex;align-items:center;gap:1rem;color:#64748b;font-size:.875rem}.leccion-meta i{color:#6366f1}.btn-volver{display:inline-flex;align-items:center;gap:.5rem;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;transition:all .2s ease;font-size:.875rem}.btn-volver:hover{background:#e2e8f0;color:#1e293b;transform:translateY(-1px)}.btn-volver i{font-size:1rem}.leccion-contenido{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2.5rem}.leccion-description{color:#475569;line-height:1.8;margin-bottom:2.5rem;font-size:1.1rem}.leccion-content{color:#334155;line-height:1.8;font-size:1.1rem}.leccion-content h1,.leccion-content h2,.leccion-content h3{color:#1e293b;margin:2rem 0 1rem;font-weight:600}.leccion-content p{margin-bottom:1.5rem}.leccion-content img{max-width:100%;height:auto;border-radius:.75rem;margin:2rem 0;box-shadow:0 4px 6px -1px #0000001a}.leccion-files{margin-top:2rem;padding:1.5rem;background:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0}.leccion-files h3{display:flex;align-items:center;gap:.75rem;color:#1e293b;font-size:1.25rem;margin-bottom:1.5rem}.leccion-files h3 i{color:#6366f1}.files-container{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.file-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;transition:all .2s ease;cursor:pointer}.file-item:hover{background:#f1f5f9;transform:translateY(-2px);box-shadow:0 2px 4px #0000000d}.file-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:.5rem;flex-shrink:0}.file-icon i{font-size:1.25rem;color:#6366f1}.file-info{flex:1;min-width:0}.file-name{display:block;font-size:.875rem;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.download-btn{background:#6366f1;color:#fff;border:none;width:32px;height:32px;border-radius:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.download-btn:hover{background:#4f46e5;transform:scale(1.05)}.download-btn i{font-size:.875rem}.fa-file-pdf{color:#dc2626}.fa-file-word{color:#2563eb}.fa-file-excel{color:#16a34a}.fa-file-powerpoint{color:#ea580c}.fa-file-image{color:#7c3aed}.fa-file-archive{color:#9333ea}.fa-file-alt{color:#6b7280}@keyframes downloadPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.downloading .download-btn{animation:downloadPulse 1s infinite;background:#9333ea}.leccion-detalle{animation:fadeIn .3s ease-in-out}@media (max-width: 768px){.leccion-detalle{padding:1rem}.leccion-header,.leccion-contenido{padding:1.5rem}.leccion-header h2{font-size:1.5rem}.files-container{grid-template-columns:1fr}}.archivo-item{display:flex;align-items:center;padding:12px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;width:100%;text-align:left;transition:all .2s ease}.archivo-item:hover{background-color:#e9ecef;transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.archivo-item i{font-size:1.5em;margin-right:12px;color:#0056b3}.archivo-nombre{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.quiz-container{max-width:800px;margin:2rem auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a}.quiz-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.quiz-header h2{color:#1a1a1a;font-size:1.8rem;font-weight:600;margin:0 0 .5rem}.quiz-description{color:#4b5563;font-size:1rem;line-height:1.6;margin-bottom:2rem}.quiz-info{display:flex;gap:2rem;padding:1rem;background:#f8fafc;border-radius:8px;margin-bottom:2rem}.quiz-info p{display:flex;align-items:center;gap:.5rem;color:#4b5563;font-size:.95rem;margin:0}.quiz-info p:before{content:"•";color:#4f46e5;font-size:1.5rem}.quiz-access{text-align:center;padding:2rem;background:#f8fafc;border-radius:8px;margin-top:2rem}.quiz-access p{color:#4b5563;font-size:1rem;margin-bottom:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;font-size:1rem;transition:all .2s ease;cursor:pointer;border:none;text-decoration:none}.btn-primary{background-color:#4f46e5;color:#fff}.btn-primary:hover{background-color:#4338ca;transform:translateY(-1px);box-shadow:0 4px 6px #4f46e51a}.btn-secondary{background-color:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.btn-secondary:hover{background-color:#e5e7eb;transform:translateY(-1px)}.btn-primary svg,.btn-secondary svg{margin-right:.5rem;width:1.25rem;height:1.25rem}.quiz-completed{background:#f0fdf4;border:1px solid #86efac;padding:1rem;border-radius:8px;margin-top:1rem}.quiz-completed p{color:#166534;display:flex;align-items:center;gap:.5rem;margin:0}@media (max-width: 768px){.quiz-container{margin:1rem;padding:1.5rem}.quiz-info{flex-direction:column;gap:1rem}.quiz-access{padding:1.5rem}.btn{width:100%;margin:.5rem 0}}.quiz-container{animation:fadeIn .3s ease-out}.mensajes-container{padding:20px;max-width:1200px;margin:0 auto}.mensajes-container h2{color:#2c3e50;margin-bottom:24px;font-size:1.8rem}.nuevo-mensaje-form{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:30px;box-shadow:0 2px 4px #0000001a}.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group textarea{resize:vertical;min-height:100px}.btn-enviar{background-color:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px}.btn-enviar:disabled{background-color:#ccc;cursor:not-allowed}.btn-enviar:hover:not(:disabled){background-color:#0056b3}.filtro-mensajes{margin:20px 0}.mensajes-lista{display:flex;flex-direction:column;gap:15px}.mensaje-item{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:15px;cursor:pointer;transition:all .3s ease}.mensaje-item.no-leido{background-color:#f0f7ff;border-left:4px solid #007bff}.mensaje-item.enviado{border-left:4px solid #4CAF50}.mensaje-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mensaje-info{display:flex;align-items:center;gap:15px}.remitente-nombre{font-weight:700;margin:0}.curso-nombre{color:#666}.mensaje-fecha{color:#888;font-size:.9em}.badge-no-leido{background-color:#007bff;color:#fff;padding:3px 8px;border-radius:12px;font-size:.8em}.badge-leido{background-color:#4caf50;color:#fff;padding:2px 8px;border-radius:12px;font-size:.8em}.badge-editado{font-style:italic;color:#6c757d;font-size:.9em}.mensaje-contenido{color:#333;line-height:1.5}.loading,.error,.no-mensajes{text-align:center;padding:20px;color:#666}.error{color:#dc3545}.mensaje-contenido img{max-width:100%;height:auto;border-radius:4px;margin:8px 0}.mensaje-contenido a{color:#3498db;text-decoration:none}.mensaje-contenido a:hover{text-decoration:underline}.filtro-curso{margin-bottom:20px}.select-curso{width:100%;max-width:300px;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;color:#2c3e50;background-color:#fff;cursor:pointer;transition:all .3s ease}.select-curso option{padding:8px}.tab-btn{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:16px;color:#666;border-radius:4px 4px 0 0;transition:all .3s ease}.tab-btn.active{color:#007bff;border-bottom:3px solid #007bff;font-weight:700}.destinatario-nombre{color:#2196f3;margin:0}.editar-mensaje-form{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:20px;margin-top:20px;border:1px solid #e0e0e0}.editar-mensaje-form h3{font-size:18px;margin-bottom:20px;color:#333;border-bottom:1px solid #eee;padding-bottom:10px}.buttons-group{display:flex;gap:10px;margin-top:20px}.mensaje-acciones{display:flex;justify-content:flex-end;margin-top:3px;padding-top:3px;border-top:1px solid #eee}.mensajes-lista .mensaje-item .mensaje-acciones .btn-editar{background-color:#3498db;color:#fff;border:none;padding:2px 8px!important;border-radius:3px;cursor:pointer;font-size:9px!important;transition:background-color .3s;display:inline-flex;align-items:center;justify-content:center;font-weight:400;box-shadow:none!important;min-height:18px!important;line-height:1;margin:0!important;text-transform:none;width:auto!important;min-width:40px!important}.mensajes-lista .mensaje-item .mensaje-acciones .btn-editar:hover{background-color:#2980b9}.mensajes-lista .mensaje-item .mensaje-acciones .btn-editar i{margin-right:3px;font-size:8px}.profile-section{max-width:1000px;margin:2rem auto;padding:2rem;background:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a}.profile-header{text-align:center;margin-bottom:3rem}.profile-header h1{color:#2d3748;font-size:2.2rem;margin-bottom:.5rem}.subtitle{color:#718096;font-size:1.1rem}.profile-avatar-section{margin:2rem 0}.profile-img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #6b46c1;box-shadow:0 2px 4px #0000001a}.avatar-placeholder{width:120px;height:120px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;margin:0 auto}.avatar-placeholder i{font-size:3rem;color:#a0aec0}.avatar-upload{margin-top:1rem}.avatar-upload-btn{background:#6b46c1;color:#fff;padding:.5rem 1.5rem;border-radius:25px;cursor:pointer;transition:all .3s ease;display:inline-block}.avatar-upload-btn:hover{background:#553c9a;transform:translateY(-1px)}.profile-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.tab-btn{padding:.75rem 1.5rem;border:none;background:none;color:#718096;cursor:pointer;border-radius:25px;transition:all .3s ease;font-weight:500}.tab-btn i{margin-right:.5rem}.tab-btn.active{background:#6b46c1;color:#fff}.tab-btn:hover:not(.active){background:#f7fafc;color:#2d3748}.profile-form{max-width:600px;margin:0 auto}.form-group label{display:block;color:#4a5568;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;transition:all .3s ease;font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:#6b46c1;outline:none;box-shadow:0 0 0 3px #6b46c11a}.form-group textarea{min-height:120px;resize:vertical}.save-btn{width:100%;padding:1rem;background:#6b46c1;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.save-btn:hover{background:#553c9a;transform:translateY(-1px)}.analytics-section{padding:2rem}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem}.stat-card{background:#f8fafc;padding:1.5rem;border-radius:12px;text-align:center;transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 4px 6px #0000001a}.stat-card h3{color:#718096;font-size:1rem;margin-bottom:.5rem;text-transform:capitalize}.stat-card p{color:#2d3748;font-size:1.5rem;font-weight:600}.settings-section{padding:2rem}.settings-options{display:grid;gap:1rem;max-width:400px;margin:0 auto}.settings-btn{display:flex;align-items:center;padding:1rem;background:#f8fafc;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;color:#4a5568;font-weight:500}.settings-btn i{margin-right:1rem;color:#6b46c1}.settings-btn:hover{background:#edf2f7;transform:translate(5px)}@media (max-width: 768px){.profile-section{margin:1rem;padding:1.5rem}.profile-tabs{flex-direction:column;gap:.5rem}.tab-btn{width:100%}.analytics-grid{grid-template-columns:1fr}}.dashboard-content{padding:2rem;background-color:#f8f9fa;min-height:100vh}.dashboard-header{margin-bottom:2rem}.dashboard-header h2{font-size:1.8rem;color:#2c3e50;margin-bottom:.5rem}.dashboard-header p{color:#6c757d;font-size:1rem}.config-container{display:grid;grid-template-columns:250px 1fr;gap:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.config-sidebar{padding:1.5rem;border-right:1px solid #e9ecef;background-color:#f8fafc}.config-tab{display:flex;align-items:center;width:100%;padding:1rem;margin-bottom:.5rem;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;transition:all .3s ease;color:#4a5568;position:relative}.config-tab i{margin-right:1rem;font-size:1.2rem;width:24px;text-align:center;color:#6b46c1}.config-tab:hover{background-color:#f7fafc}.config-tab.active{background-color:#6b46c1;color:#fff;border-color:#6b46c1;box-shadow:0 2px 4px #6b46c133}.config-tab.active i{color:#fff}.config-content{padding:2rem;max-width:800px}.config-section{margin-bottom:2rem}.config-section h3{margin-bottom:1.5rem;color:#2c3e50;font-size:1.4rem}.avatar-section{display:flex;align-items:center;margin-bottom:2rem}.profile-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;margin-right:1rem}.avatar-placeholder{width:100px;height:100px;border-radius:50%;background-color:#e9ecef;display:flex;align-items:center;justify-content:center;margin-right:1rem}.avatar-placeholder i{font-size:2.5rem;color:#adb5bd}.avatar-input{display:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#495057;font-weight:500}.form-control{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;transition:border-color .15s ease-in-out}.form-control:focus{border-color:#80bdff;outline:none;box-shadow:0 0 0 .2rem #007bff40}.form-control:disabled{background-color:#e9ecef;cursor:not-allowed}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-primary{background-color:#1976d2;color:#fff}.btn-primary:hover{background-color:#1565c0}.btn-secondary:hover{background-color:#5a6268}.alert{padding:1rem;margin-bottom:1rem;border-radius:4px}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.notification-preferences{display:flex;flex-direction:column;gap:1rem}.notification-option{display:flex;align-items:center;padding:1rem;background-color:#f8f9fa;border-radius:6px}.notification-text{margin-left:1rem}.notification-text h4{margin:0;color:#2c3e50}.notification-text p{margin:.5rem 0 0;color:#6c757d;font-size:.9rem}.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#1976d2}input:checked+.slider:before{transform:translate(26px)}.calificaciones-estudiante-container{padding:20px;max-width:1200px;margin:0 auto}.curso-selector{margin:20px 0}.curso-selector label{display:block;margin-bottom:8px;font-weight:500}.curso-selector select{width:100%;max-width:400px;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:16px}.calificaciones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.calificacion-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px}.calificacion-header{border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:10px}.calificacion-header h3{margin:0;color:#333}.fecha{font-size:.9em;color:#666}.calificacion-body{padding:10px 0}.calificacion-valor{display:flex;align-items:center;gap:10px;margin-bottom:15px}.calificacion-valor strong{font-size:1.2em}.aprobado{color:#28a745}.reprobado{color:#dc3545}.retroalimentacion{background:#f8f9fa;padding:10px;border-radius:4px}.retroalimentacion h4{margin:0 0 8px;color:#495057}.retroalimentacion p{margin:0;color:#666}.error-message{color:#dc3545;padding:10px;background:#f8d7da;border-radius:4px;margin:10px 0}.no-calificaciones{text-align:center;padding:40px;color:#666;background:#f8f9fa;border-radius:8px;margin-top:20px}.asistencia-container{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a}.estadisticas-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#f8fafc;border-radius:10px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#e0e7ff;color:#4f46e5}.stat-icon.success{background:#dcfce7;color:#15803d}.stat-icon.warning{background:#fef3c7;color:#d97706}.stat-icon.info{background:#dbeafe;color:#2563eb}.stat-icon i{font-size:1.5rem}.stat-info h3{font-size:1.75rem;font-weight:600;color:#1f2937;margin:0 0 .25rem}.stat-info p{color:#6b7280;font-size:.95rem;margin:0}.asistencias-tabla-container{margin-top:2rem}.asistencias-tabla-container h3{font-size:1.25rem;color:#1f2937;margin-bottom:1rem}.tabla-responsive{overflow-x:auto}.asistencias-tabla{width:100%;border-collapse:collapse;margin-top:1rem}.asistencias-tabla th,.asistencias-tabla td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}.asistencias-tabla th{background:#f8fafc;font-weight:600;color:#1f2937}.asistencias-tabla tr:hover{background:#f8fafc}.estado-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.estado-badge.presente{background:#dcfce7;color:#15803d}.estado-badge.ausente{background:#fee2e2;color:#dc2626}.no-records{text-align:center;color:#6b7280;padding:2rem!important}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}.error-container{text-align:center;padding:2rem;color:#dc2626}.error-container i{font-size:2rem;margin-bottom:1rem}@media (max-width: 768px){.asistencia-container{padding:1rem}.estadisticas-panel{grid-template-columns:1fr}.asistencias-tabla th,.asistencias-tabla td{padding:.75rem}}.certificados-container{padding:1.5rem}.certificados-container h1{font-size:1.8rem;margin-bottom:1.5rem;color:#333}.certificados-container h2{margin-bottom:24px;font-size:24px;color:#1a202c}.certificados-container h3{margin-bottom:16px;font-size:20px;color:#2d3748}.certificados-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.certificado-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.certificado-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #00000026}.certificado-preview{padding:1.5rem;text-align:center;border-bottom:1px solid #f0f0f0}.certificado-icon{background-color:#f2f6ff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.certificado-icon i{font-size:24px;color:#4a6cf7}.certificado-card h3{font-size:1.1rem;margin-bottom:.5rem;color:#333}.certificado-fecha{font-size:.9rem;color:#666;margin-bottom:0}.certificado-fecha i{margin-right:.5rem}.certificado-actions{display:flex;padding:1rem;background-color:#f8f9fa}.certificado-actions button{flex:1;padding:.6rem;border:none;border-radius:4px;font-weight:500;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.certificado-actions button i{margin-right:.5rem}.btn-view{background-color:#6f42c1;color:#fff;margin-right:.5rem}.btn-view:hover{background-color:#5a32a3}.btn-download{background-color:#28a745;color:#fff}.btn-download:hover{background-color:#218838}.certificado-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.certificado-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #eee}.modal-header h2{font-size:1.4rem;margin:0}.close-button{background-color:transparent;border:none;font-size:1.2rem;cursor:pointer;color:#6c757d}.modal-body{flex:1;overflow:hidden;padding:1rem}.certificado-iframe{width:100%;height:60vh;border:none;background-color:#f8f9fa}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end}.btn-download-large{padding:.75rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-weight:500;display:flex;align-items:center;cursor:pointer}.btn-download-large i{margin-right:.75rem}.btn-download-large:hover{background-color:#218838}.loading-container,.error-container,.empty-container{display:flex;align-items:center;justify-content:center;min-height:400px}.loading-spinner,.error-message,.empty-state{text-align:center;padding:2rem}.loading-spinner i,.error-message i,.empty-state i{font-size:3rem;margin-bottom:1rem;display:block}.loading-spinner i{color:#6f42c1}.error-message i{color:#dc3545}.empty-state i{color:#6c757d;font-size:4rem;margin-bottom:1.5rem}.empty-state h2{font-size:1.5rem;margin-bottom:.75rem;color:#495057}.empty-state p{color:#6c757d}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-radius:50%;border-left-color:#0284c7;animation:spin 1s linear infinite;margin-bottom:16px}.error-container{display:flex;flex-direction:column;align-items:center;padding:48px;background:#fff5f5;border-radius:8px;box-shadow:0 1px 3px #0000001a}.error-container i{font-size:48px;color:#e53e3e;margin-bottom:16px}.error-container p{font-size:16px;color:#4a5568;margin-bottom:16px}.btn-retry{padding:8px 16px;background-color:#3182ce;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-retry:hover{background-color:#2c5282}.no-certificados{text-align:center;padding:48px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.no-certificados i{font-size:48px;color:#cbd5e1;margin-bottom:16px}.no-certificados p{font-size:18px;color:#4a5568;margin-bottom:8px}.no-certificados small{color:#64748b}@media (max-width: 640px){.certificados-container{padding:16px}.certificado-actions,.curso-completado-card{flex-direction:column;gap:8px}.curso-completado-card{align-items:flex-start}.btn-primary,.btn-secondary{width:100%}}.certificados-table-container{width:100%;overflow-x:auto;margin-top:1rem}.certificados-table{width:100%;border-collapse:collapse;border-spacing:0;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.certificados-table th,.certificados-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.certificados-table th{background-color:#f8fafc;font-weight:600;color:#475569;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.certificados-table tr:hover{background-color:#f8fafc}.certificados-table tbody tr:last-child td{border-bottom:none}.btn-icon{background:none;border:none;cursor:pointer;font-size:.875rem;color:#4a6cf7;margin-right:.5rem;padding:.25rem;border-radius:4px;transition:background-color .2s}.btn-icon:hover{background-color:#4a6cf71a}.certificado-nuevo{background-color:#f0f9ff;border-left:4px solid #0ea5e9;padding:1rem;margin-bottom:1.5rem;border-radius:4px;display:flex;justify-content:space-between;align-items:center}.certificado-nuevo h4{margin:0;color:#0369a1}.certificados-header{display:flex;flex-direction:column;margin-bottom:1.5rem}.certificados-filtro{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #eaeaea}.select-filtro{padding:.5rem 1rem;border:1px solid #cbd5e0;border-radius:4px;background-color:#fff;min-width:200px;color:#4a5568;font-size:.9rem}.certificados-contador{display:flex;align-items:center;margin-left:auto;background-color:#ebf4ff;padding:.5rem 1rem;border-radius:20px;color:#3182ce;font-size:.9rem}.certificados-contador i{margin-right:.5rem;color:#4299e1}.filtro-sin-resultados{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background-color:#f9f9f9;border-radius:8px;text-align:center}.filtro-sin-resultados i{font-size:3rem;color:#a0aec0;margin-bottom:1rem}.filtro-sin-resultados p{font-size:1.1rem;color:#4a5568;margin-bottom:1.5rem}.btn-secondary{padding:.5rem 1rem;background-color:#4a6cf7;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background-color:#3c57de}@media (max-width: 640px){.certificados-filtro{flex-direction:column;align-items:flex-start}.certificados-contador{margin-left:0;margin-top:.5rem}.select-filtro{width:100%}}.cursos-section{padding:20px}.cursos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.cursos-filtros{display:flex;gap:10px}.filtro-btn{background-color:#f0f0f0;border:none;border-radius:4px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .3s ease}.filtro-btn.active{background-color:#2a41e8;color:#fff}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;padding:15px 0}.course-card{background-color:#fff;border-radius:10px;overflow:hidden;box-shadow:0 3px 10px #0000000d;transition:all .3s ease;cursor:pointer;position:relative;display:flex;flex-direction:column;height:100%;border:1px solid rgba(0,0,0,.08)}.course-card:hover{transform:translateY(-5px);box-shadow:0 12px 20px #0000001f}.course-image-container{height:140px;position:relative;overflow:hidden;background-color:#f0f2f5}.course-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.course-card:hover .course-image{transform:scale(1.08)}.course-overlay-gradient{position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,#0009,#0000);z-index:1}.course-icon-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3.5rem;color:#4e54c8;background:linear-gradient(135deg,#f5f7fa,#e9edf2)}.course-content{padding:15px;display:flex;flex-direction:column;flex-grow:1}.course-title{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#333;line-height:1.3;transition:color .2s ease}.course-card:hover .course-title{color:#4e54c8}.course-description{color:#666;font-size:.8rem;line-height:1.4;margin-bottom:12px;flex-grow:1;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.course-meta{display:flex;justify-content:space-between;margin-bottom:12px;font-size:.75rem;color:#777}.course-code,.course-date{display:flex;align-items:center;gap:5px}.course-code i,.course-date i{color:#4e54c8}.course-footer{margin-top:auto}.course-progress-container{margin-bottom:12px}.progress-label{font-size:.7rem;margin-bottom:4px}.progress-bar-container{height:5px;background-color:#f0f0f0;border-radius:10px;overflow:hidden}.course-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.status-badge{font-size:.7rem;padding:4px 8px}.status-badge.no_iniciado{background-color:#bdc3c733;color:#7f8c8d}.continue-btn{background:linear-gradient(90deg,#4e54c8,#8f94fb);color:#fff;border:none;border-radius:50px;padding:6px 12px;font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 6px #4e54c833}.continue-btn:hover{background:linear-gradient(90deg,#3a40a0,#7a80e8);transform:translateY(-2px);box-shadow:0 6px 10px #4e54c84d}.continue-btn i{font-size:.8rem}.loading-container,.error-container,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.loading-spinner{border:4px solid rgba(78,84,200,.1);border-radius:50%;border-top:4px solid #4e54c8;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container i,.empty-state i{font-size:3rem;margin-bottom:15px;color:#cbd3dc}@media (max-width: 768px){.courses-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.cursos-header{flex-direction:column;align-items:flex-start;gap:15px}.cursos-filtros{width:100%;overflow-x:auto;padding-bottom:10px}.course-image-container{height:120px}}@media (max-width: 480px){.courses-grid{grid-template-columns:1fr}.course-image-container{height:140px}}.course-progress-indicator{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background-color:#ffffffe6;box-shadow:0 2px 5px #0000001a;z-index:2;display:flex;align-items:center;justify-content:center}.progress-circle{width:36px;height:36px;transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:#e6e6e6;stroke-width:3}.progress-circle-fill{fill:none;stroke:#4e54c8;stroke-width:3;stroke-linecap:round}.progress-text{fill:#333;font-size:8px;font-weight:700;text-anchor:middle;transform:rotate(90deg)}.progress-bar{height:100%;background:linear-gradient(90deg,#4e54c8,#8f94fb);border-radius:10px;transition:width .5s ease}.status-badge.completado{background-color:#2ecc7126;color:#27ae60;font-weight:500}.status-badge.en_progreso{background-color:#f1c40f26;color:#f39c12;font-weight:500}.enrolar-container{padding:2rem;max-width:900px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a}.enrolar-container h2{color:#1a237e;text-align:center;margin-bottom:2rem;font-size:1.8rem}.register-options{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.option-btn{padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;background:#f5f5f5;color:#666}.option-btn i{font-size:1.2rem}.option-btn.active{background:#1a237e;color:#fff}.option-btn:hover:not(.active){background:#e0e0e0}.form-group select{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;background-color:#fff;transition:border-color .3s ease}.form-group select:focus{border-color:#1a237e;outline:none;box-shadow:0 0 0 2px #1a237e1a}.registro-masivo{background:#f8f9fa;padding:2rem;border-radius:8px;text-align:center}.template-download{margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000000d}.template-download p{color:#666;margin-bottom:1rem}.download-btn{background:#4caf50;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;transition:background-color .3s ease}.download-btn:hover{background:#43a047}.download-btn i{font-size:1.2rem}.drop-area{border:2px dashed #ccc;padding:2rem;border-radius:8px;background:#fff;transition:all .3s ease;cursor:pointer;margin-top:1rem}.drop-area.drag-active{border-color:#1a237e;background:#1a237e0d}.drop-area p{margin:.5rem 0;color:#666}.drop-area input[type=file]{display:none}.btn-enrolar{background:#1a237e;color:#fff;border:none;padding:.8rem 2rem;border-radius:6px;cursor:pointer;font-size:1rem;width:100%;transition:background-color .3s ease}.btn-enrolar:hover{background:#151b4f}.message{position:relative;padding:12px 15px;border-radius:6px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.message-content{display:flex;align-items:center;gap:10px}.message.success{background-color:#e6f7e6;border:1px solid #c3e6cb;color:#155724}.message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message.warning{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.close-message-btn{background:none;border:none;color:inherit;cursor:pointer;opacity:.7;transition:opacity .2s}.close-message-btn:hover{opacity:1}.resultado-banner{display:flex;align-items:center;padding:15px;background-color:#e8f5e9;border-radius:6px;border:1px solid #c8e6c9;margin-bottom:20px}.progreso-container{margin:20px 0}.progreso-barra-container{height:10px;background-color:#e9ecef;border-radius:5px;overflow:hidden}.progreso-barra{height:100%;background-color:#4e73df;transition:width .3s ease}.progreso-texto{margin-top:8px;text-align:center;font-size:14px;color:#6c757d}.drop-area{border:2px dashed #ccc;border-radius:6px;padding:30px;text-align:center;margin:20px 0;transition:all .3s;background-color:#f8f9fa}.drop-area input[type=file]{display:inline-block;margin-top:15px}.template-download{display:flex;align-items:center;justify-content:space-between;background-color:#f8f9fa;padding:15px;border-radius:6px;margin-bottom:20px}.download-btn{display:flex;align-items:center;gap:8px;background-color:#28a745;color:#fff;border:none;padding:8px 15px;border-radius:4px;cursor:pointer;transition:background-color .2s}.download-btn:hover{background-color:#218838}.search-container{margin-bottom:20px;width:100%}.search-container h3{margin-bottom:12px;font-size:16px;color:#333}.search-input-wrapper{position:relative;display:flex;align-items:center;width:100%;border:1px solid #ddd;border-radius:8px;overflow:hidden;background-color:#fff;transition:all .3s ease;box-shadow:0 2px 5px #0000000d}.search-input-wrapper:hover,.search-input-wrapper:focus-within{border-color:#4a90e2;box-shadow:0 2px 8px #4a90e233}.search-icon{padding:0 12px;color:#666}.search-input{flex:1;padding:12px 8px;border:none;outline:none;font-size:14px;width:100%}.clear-search-btn{background:none;border:none;color:#999;cursor:pointer;padding:0 12px;font-size:14px;transition:color .2s}.clear-search-btn:hover{color:#f44336}.search-results-info{margin-top:8px;font-size:13px;color:#666;text-align:right}.estudiantes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:20px}.estudiante-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:16px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.estudiante-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.estudiante-info{display:flex;align-items:center;margin-bottom:12px}.estudiante-avatar{width:40px;height:40px;border-radius:50%;background-color:#e3f2fd;display:flex;align-items:center;justify-content:center;margin-right:12px;color:#1976d2}.estudiante-detalles{flex:1}.estudiante-detalles h4{margin:0 0 4px;font-size:16px;color:#333}.estudiante-email{margin:0;font-size:13px;color:#666;word-break:break-all}.btn-enrolar{background-color:#4caf50;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:14px;transition:background-color .2s;display:flex;align-items:center;justify-content:center;margin-top:auto}.btn-enrolar i{margin-right:8px}.btn-enrolar:hover{background-color:#388e3c}.btn-enrolar:disabled{background-color:#9e9e9e;cursor:not-allowed}.loading-container{display:flex;align-items:center;justify-content:center;padding:30px;color:#666;font-size:16px}.loading-container i{margin-right:10px;font-size:20px}.no-results{text-align:center;padding:30px;color:#666;background-color:#f5f5f5;border-radius:8px;font-size:15px}@media (max-width: 768px){.enrolar-container{padding:1rem}.register-options{flex-direction:column}.option-btn{width:100%;justify-content:center}.registro-masivo{padding:1rem}.search-input-wrapper{flex-direction:column}.search-input{width:100%;padding:10px}.estudiantes-grid{grid-template-columns:1fr}.estudiante-card{padding:12px}}.resultado-resumen{margin-bottom:20px}.resultado-banner{display:flex;align-items:center;padding:15px;background-color:#e8f5e9;border-radius:6px;border:1px solid #c8e6c9}.resultado-banner i{color:#4caf50;font-size:18px;margin-right:10px}.contadores-inline{display:flex;margin-left:auto}.contador-inline{display:flex;align-items:center;padding:5px 10px;border-radius:4px;margin-left:10px}.contador-inline i{margin-right:5px;font-size:14px}.contador-inline.exitosos{background-color:#e8f5e9;color:#2e7d32}.contador-inline.fallidos{background-color:#ffebee;color:#c62828}.plantilla-container{display:flex;align-items:center;justify-content:space-between;padding:15px 0;margin-bottom:20px;border-bottom:1px solid #e0e0e0}.btn-plantilla{display:flex;align-items:center;justify-content:center;background-color:#6f42c1;color:#fff;border:none;border-radius:4px;padding:10px 20px;cursor:pointer;transition:background-color .2s;font-weight:500;min-width:150px}.btn-plantilla:hover{background-color:#5e35b1}.btn-plantilla i{margin-right:8px;font-size:18px}.drop-area{border:2px dashed #ccc;border-radius:6px;padding:30px;text-align:center;margin:20px 0;transition:all .3s;background-color:#f8f9fa;position:relative}.drop-area.drag-active{border-color:#4e73df;background-color:#e7f5fe}.drop-area p{margin:10px 0;color:#6c757d}.file-input-container{display:flex;align-items:center;justify-content:center;margin-top:15px}.file-input-label{background-color:#6c757d;color:#fff;padding:8px 15px;border-radius:4px;cursor:pointer;transition:background-color .2s}.file-input-label:hover{background-color:#5a6268}.file-input-text{margin-left:10px;color:#6c757d}.resultados-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.badge{display:flex;align-items:center;padding:8px 12px;border-radius:4px;font-weight:500}.badge i{margin-right:8px}.badge.exitosos{background-color:#e8f5e9;color:#2e7d32}.badge.fallidos{background-color:#ffebee;color:#c62828}.tabla-errores{margin-top:20px;background-color:#fff;border-radius:6px;box-shadow:0 2px 4px #0000000d;overflow:hidden}.tabla-errores h4{padding:12px 15px;background-color:#f8f9fa;margin:0;border-bottom:1px solid #e0e0e0}.tabla-errores table{width:100%;border-collapse:collapse}.tabla-errores th,.tabla-errores td{padding:12px 15px;text-align:left;border-bottom:1px solid #e0e0e0}.tabla-errores th{background-color:#f8f9fa;font-weight:600}.tabla-errores tr:last-child td{border-bottom:none}.section-container{padding:2rem}.cursos-grid{margin-top:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}table{width:100%;border-collapse:collapse;background:#fff}th{background-color:#f8f9fa;color:#495057;font-weight:600;padding:1rem;text-align:left;border-bottom:2px solid #e9ecef}td{padding:1rem;border-bottom:1px solid #e9ecef;color:#495057}.estado-badge{display:inline-block;padding:.25rem .75rem;border-radius:50px;font-size:.875rem;font-weight:500}.estado-badge.activo{background-color:#c6f6d5;color:#22543d;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.estado-badge.inactivo{background-color:#ffebee;color:#c62828}.acciones{display:flex;gap:.5rem}.btn-accion{padding:8px 16px;border:none;border-radius:4px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:opacity .3s ease;color:#fff;margin:0 5px}.btn-ver{background-color:#6366f1}.btn-editar{background-color:#38a169}.btn-eliminar{background-color:#e53e3e}.btn-accion:hover{opacity:.9}@media (max-width: 768px){.section-container{padding:1rem}table{display:block;overflow-x:auto;white-space:nowrap}th,td{padding:.75rem}.acciones{flex-wrap:wrap}}.section-header{margin-bottom:2rem}.section-header h2{color:#1f2937;font-size:1.5rem;margin-bottom:.5rem}tr:hover{background-color:#f8f9fa}.btn-accion i{font-size:16px}.alumnos-count{display:inline-flex;align-items:center;gap:.5rem}.alumnos-count i{color:#6366f1}.codigo-curso{font-family:monospace;background-color:#f1f5f9;padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.nombre-curso{font-weight:500;color:#1f2937}.btn-accion[title]{position:relative}.btn-accion[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.25rem .5rem;background-color:#1f2937;color:#fff;font-size:.75rem;border-radius:4px;white-space:nowrap;z-index:1}.btn-accion:disabled{background-color:#cbd5e0;cursor:not-allowed}.btn-crear{background-color:#4c51bf;color:#fff;padding:12px 24px;border:none;border-radius:4px;font-weight:600;cursor:pointer;width:100%;margin-top:20px}.btn-crear:hover{background-color:#434190}.modal-actions button{padding:8px 16px;border:none;border-radius:4px;font-weight:500;cursor:pointer}.btn-guardar{background-color:#4c51bf;color:#fff}.btn-cancelar{background-color:#e53e3e;color:#fff;margin-right:10px}.btn-add-category{background-color:#4c51bf;color:#fff;border:none;border-radius:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer}.btn-add-category:hover{background-color:#434190}.acciones button{width:100%;padding:8px 16px;margin:4px 0;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;transition:background-color .3s ease}.acciones button:first-child{background-color:#4c51bf}.acciones button:first-child:hover{background-color:#434190}.acciones button:last-child{background-color:#38a169}.acciones button:last-child:hover{background-color:#2f855a}.sun-editor{width:auto;height:auto;box-sizing:border-box;font-family:Helvetica Neue;border:1px solid #dadada;background-color:#fff;color:#000;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sun-editor *{box-sizing:border-box;-webkit-user-drag:none;overflow:visible}.sun-editor-common button,.sun-editor-common input,.sun-editor-common select,.sun-editor-common textarea{font-size:14px;line-height:1.5}.sun-editor-common blockquote,.sun-editor-common body,.sun-editor-common button,.sun-editor-common code,.sun-editor-common dd,.sun-editor-common div,.sun-editor-common dl,.sun-editor-common dt,.sun-editor-common fieldset,.sun-editor-common form,.sun-editor-common h1,.sun-editor-common h2,.sun-editor-common h3,.sun-editor-common h4,.sun-editor-common h5,.sun-editor-common h6,.sun-editor-common input,.sun-editor-common legend,.sun-editor-common li,.sun-editor-common ol,.sun-editor-common p,.sun-editor-common pre,.sun-editor-common select,.sun-editor-common td,.sun-editor-common textarea,.sun-editor-common th,.sun-editor-common ul{margin:0;padding:0;border:0}.sun-editor-common dl,.sun-editor-common li,.sun-editor-common menu,.sun-editor-common ol,.sun-editor-common ul{list-style:none!important}.sun-editor-common hr{margin:6px 0!important}.sun-editor textarea{resize:none;border:0;padding:0}.sun-editor button{border:0;background-color:transparent;touch-action:manipulation;cursor:pointer;outline:none}.sun-editor button,.sun-editor input,.sun-editor select,.sun-editor textarea{vertical-align:middle}.sun-editor button span{display:block;margin:0;padding:0}.sun-editor button .txt{display:block;margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sun-editor button *{pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden}.sun-editor svg{fill:currentColor}.sun-editor .se-svg,.sun-editor button>svg{width:16px;height:16px;margin:auto;fill:currentColor;display:block;text-align:center;float:none}.sun-editor .close>svg,.sun-editor .se-dialog-close>svg{width:10px;height:10px}.sun-editor .se-btn-select>svg{float:right;width:10px;height:10px}.sun-editor .se-btn-list>.se-list-icon{display:inline-block;width:16px;height:16px;margin:-1px 10px 0 0;vertical-align:middle}.sun-editor .se-line-breaker>button>svg{width:24px;height:24px}.sun-editor button>i:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;font-size:15px;line-height:2}.sun-editor button>[class=se-icon-text]{font-size:20px;line-height:1}.sun-editor .se-arrow,.sun-editor .se-arrow:after{position:absolute;display:block;width:0;height:0;border:11px solid transparent}.sun-editor .se-arrow.se-arrow-up{top:-11px;left:20px;margin-left:-11px;border-top-width:0;border-bottom-color:#dadada}.sun-editor .se-arrow.se-arrow-up:after{top:1px;margin-left:-11px;content:" ";border-top-width:0;border-bottom-color:#fff}.sun-editor .se-toolbar .se-arrow.se-arrow-up:after{border-bottom-color:#fafafa}.sun-editor .se-arrow.se-arrow-down{top:0;left:0;margin-left:-11px;border-bottom-width:0;border-top-color:#dadada}.sun-editor .se-arrow.se-arrow-down:after{top:-12px;margin-left:-11px;content:" ";border-bottom-width:0;border-top-color:#fff}.sun-editor .se-toolbar .se-arrow.se-arrow-down:after{border-top-color:#fafafa}.sun-editor .se-container{position:relative;width:auto;height:auto}.sun-editor button{color:#000}.sun-editor .se-btn{float:left;width:34px;height:34px;border:0;border-radius:4px;margin:1px!important;padding:0;font-size:12px;line-height:27px}.sun-editor .se-btn:enabled:focus,.sun-editor .se-btn:enabled:hover{background-color:#e1e1e1;border-color:#d1d1d1;outline:0 none}.sun-editor .se-btn:enabled:active{background-color:#d1d1d1;border-color:#c1c1c1;-webkit-box-shadow:inset 0 3px 5px #c1c1c1;box-shadow:inset 0 3px 5px #c1c1c1}.sun-editor .se-btn-primary{color:#000;background-color:#c7deff;border:1px solid #80bdff;border-radius:4px}.sun-editor .se-btn-primary:focus,.sun-editor .se-btn-primary:hover{color:#000;background-color:#80bdff;border-color:#3f9dff;outline:0 none}.sun-editor .se-btn-primary:active{color:#fff;background-color:#3f9dff;border-color:#4592ff;-webkit-box-shadow:inset 0 3px 5px #4592ff;box-shadow:inset 0 3px 5px #4592ff}.sun-editor input,.sun-editor select,.sun-editor textarea{color:#000;border:1px solid #ccc;border-radius:4px}.sun-editor input:focus,.sun-editor select:focus,.sun-editor textarea:focus{border:1px solid #80bdff;outline:0;-webkit-box-shadow:0 0 0 .2rem #c7deff;box-shadow:0 0 0 .2rem #c7deff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.sun-editor .se-btn:enabled.active{color:#4592ff;outline:0 none}.sun-editor .se-btn:enabled.active:focus,.sun-editor .se-btn:enabled.active:hover{background-color:#e1e1e1;border-color:#d1d1d1;outline:0 none}.sun-editor .se-btn:enabled.active:active{background-color:#d1d1d1;border-color:#c1c1c1;-webkit-box-shadow:inset 0 3px 5px #c1c1c1;box-shadow:inset 0 3px 5px #c1c1c1}.sun-editor .se-btn:enabled.on{background-color:#e1e1e1;border-color:#d1d1d1;outline:0 none}.sun-editor .se-btn:enabled.on:focus,.sun-editor .se-btn:enabled.on:hover{background-color:#d1d1d1;border-color:#c1c1c1;outline:0 none}.sun-editor .se-btn:enabled.on:active{background-color:#c1c1c1;border-color:#b1b1b1;-webkit-box-shadow:inset 0 3px 5px #b1b1b1;box-shadow:inset 0 3px 5px #b1b1b1}.sun-editor .se-btn-list:disabled,.sun-editor .se-btn:disabled,.sun-editor button:disabled{cursor:not-allowed;background-color:inherit;color:#bdbdbd}.sun-editor .se-loading-box{position:absolute;display:none;width:100%;height:100%;top:0;left:0;background-color:#fff;opacity:.7;filter:alpha(opacity=70);z-index:2147483647}.sun-editor .se-loading-box .se-loading-effect{position:absolute;display:block;top:50%;left:50%;height:25px;width:25px;border-top:2px solid #07d;border-right:2px solid transparent;border-radius:50%;animation:spinner .8s linear infinite;margin:-25px 0 0 -25px}.sun-editor .se-line-breaker{position:absolute;display:none;width:100%;height:1px;cursor:text;border-top:1px solid #3288ff;z-index:7}.sun-editor .se-line-breaker>button.se-btn{position:relative;display:inline-block;width:30px;height:30px;top:-15px;float:none;left:-50%;background-color:#fff;border:1px solid #0c2240;opacity:.6;cursor:pointer}.sun-editor .se-line-breaker>button.se-btn:hover{opacity:.9;background-color:#fff;border-color:#041b39}.sun-editor .se-line-breaker-component{position:absolute;display:none;width:24px;height:24px;background-color:#fff;border:1px solid #0c2240;opacity:.6;border-radius:4px;cursor:pointer;z-index:7}.sun-editor .se-line-breaker-component:hover{opacity:.9}.sun-editor .se-toolbar{display:block;position:relative;height:auto;width:100%;overflow:visible;padding:0;margin:0;background-color:#fafafa;outline:1px solid #dadada;z-index:5}.sun-editor .se-toolbar-shadow{display:block!important;height:0!important;padding:0!important;margin:0!important;background-color:transparent!important;outline:none!important;border:none!important;z-index:0!important}.sun-editor .se-toolbar-cover{position:absolute;display:none;font-size:36px;width:100%;height:100%;top:0;left:0;background-color:#fefefe;opacity:.5;filter:alpha(opacity=50);cursor:not-allowed;z-index:4}.sun-editor .se-toolbar-separator-vertical{display:inline-block;height:0;width:0;margin:0;vertical-align:top}.sun-editor .se-toolbar.se-toolbar-balloon,.sun-editor .se-toolbar.se-toolbar-inline{display:none;position:absolute;box-shadow:0 3px 9px #00000080;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5)}.sun-editor .se-toolbar.se-toolbar-balloon{z-index:2147483647;width:auto}.sun-editor .se-toolbar.se-toolbar-sticky{position:fixed;top:0}.sun-editor .se-toolbar-sticky-dummy{display:none;position:static;z-index:-1}.sun-editor .se-btn-module{display:inline-block}.sun-editor .se-btn-module-border{border:1px solid #dadada;border-radius:4px;margin-left:1px;margin-right:1px}.sun-editor .se-btn-module-enter{display:block;width:100%;height:0;margin:0;padding:0;background-color:transparent}.sun-editor .se-toolbar-more-layer{margin:0 -3px;background-color:#fafafa}.sun-editor .se-toolbar-more-layer .se-more-layer{display:none;border-top:1px solid #dadada}.sun-editor .se-toolbar-more-layer .se-more-layer .se-more-form{display:inline-block;width:100%;height:auto;padding:4px 3px 0}.sun-editor .se-btn-module .se-btn-more.se-btn-more-text{width:auto;padding:0 4px}.sun-editor .se-btn-module .se-btn-more:focus,.sun-editor .se-btn-module .se-btn-more:hover{color:#000;background-color:#d1d1d1;border-color:#c1c1c1;outline:0 none}.sun-editor .se-btn-module .se-btn-more.on{color:#333;background-color:#d1d1d1;border-color:#c1c1c1;outline:0 none}.sun-editor .se-btn-module .se-btn-more.on:hover{color:#000;background-color:#c1c1c1;border-color:#b1b1b1;outline:0 none}.sun-editor .se-menu-list,.sun-editor .se-menu-list li{float:left;padding:0;margin:0}.sun-editor .se-menu-list li{position:relative}.sun-editor .se-btn-select{width:auto;display:flex;padding:4px 6px}.sun-editor .se-btn-select .txt{flex:auto;text-align:left}.sun-editor .se-btn-select.se-btn-tool-font{width:100px}.sun-editor .se-btn-select.se-btn-tool-format{width:82px}.sun-editor .se-btn-select.se-btn-tool-size{width:78px}.sun-editor .se-btn-tray{position:relative;width:100%;height:auto;padding:4px 3px 0;margin:0}.sun-editor .se-menu-tray{position:absolute;top:0;left:0;width:100%;height:0}.sun-editor .se-submenu{overflow-x:hidden;overflow-y:auto}.sun-editor .se-menu-container{overflow-x:unset;overflow-y:unset}.sun-editor .se-list-layer{display:none;position:absolute;top:0;left:0;height:auto;z-index:5;border:1px solid #bababa;border-radius:4px;padding:6px 0;background-color:#fff;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px #00000080;outline:0 none}.sun-editor .se-list-layer .se-list-inner{padding:0;margin:0;overflow-x:initial;overflow-y:initial;overflow:visible}.sun-editor .se-list-layer button{margin:0;width:100%}.sun-editor .se-list-inner ul{width:100%;padding:0}.sun-editor .se-list-inner li>button{min-width:100%;width:max-content}.sun-editor .se-list-inner .se-list-basic li{width:100%}.sun-editor .se-list-inner .se-list-basic li button.active{background-color:#80bdff;border:1px solid #3f9dff;border-left:0;border-right:0}.sun-editor .se-list-inner .se-list-basic li button.active:hover{background-color:#3f9dff;border:1px solid #4592ff;border-left:0;border-right:0}.sun-editor .se-list-inner .se-list-basic li button.active:active{background-color:#4592ff;border:1px solid #407dd1;border-left:0;border-right:0;-webkit-box-shadow:inset 0 3px 5px #407dd1;box-shadow:inset 0 3px 5px #407dd1}.sun-editor .se-list-inner .se-list-checked li button>.se-svg{float:left;padding:6px 6px 0 0}.sun-editor .se-list-inner .se-list-checked li button>.se-svg>svg{display:none}.sun-editor .se-list-inner .se-list-checked li button.se-checked{color:#4592ff}.sun-editor .se-list-inner .se-list-checked li button.se-checked>.se-svg>svg{display:block}.sun-editor .se-btn-list{width:100%;height:auto;min-height:32px;padding:0 14px;cursor:pointer;font-size:12px;line-height:normal;text-indent:0;text-decoration:none;text-align:left}.sun-editor .se-btn-list.default_value{background-color:#f3f3f3;border-top:1px dotted #b1b1b1;border-bottom:1px dotted #b1b1b1}.sun-editor .se-btn-list:focus,.sun-editor .se-btn-list:hover{background-color:#e1e1e1;border-color:#d1d1d1;outline:0 none}.sun-editor .se-btn-list:active{background-color:#d1d1d1;border-color:#c1c1c1;-webkit-box-shadow:inset 0 3px 5px #c1c1c1;box-shadow:inset 0 3px 5px #c1c1c1}.sun-editor .se-list-layer.se-list-font-size{min-width:140px;max-height:300px}.sun-editor .se-list-layer.se-list-font-family{min-width:156px}.sun-editor .se-list-layer.se-list-font-family .default{border-bottom:1px solid #ccc}.sun-editor .se-list-layer.se-list-line{width:125px}.sun-editor .se-list-layer.se-list-line hr{border-width:1px 0 0;height:1px}.sun-editor .se-list-layer.se-list-align .se-list-inner{left:9px}.sun-editor .se-list-layer.se-list-format{min-width:156px}.sun-editor .se-list-layer.se-list-format li{padding:0;width:100%}.sun-editor .se-list-layer.se-list-format ul .se-btn-list{line-height:100%}.sun-editor .se-list-layer.se-list-format ul .se-btn-list[data-value=h1]{height:40px}.sun-editor .se-list-layer.se-list-format ul .se-btn-list[data-value=h2]{height:34px}.sun-editor .se-list-layer.se-list-format ul p{font-size:13px}.sun-editor .se-list-layer.se-list-format ul div{font-size:13px;padding:4px 2px}.sun-editor .se-list-layer.se-list-format ul h1{font-size:2em;font-weight:700;color:#333}.sun-editor .se-list-layer.se-list-format ul h2{font-size:1.5em;font-weight:700;color:#333}.sun-editor .se-list-layer.se-list-format ul h3{font-size:1.17em;font-weight:700;color:#333}.sun-editor .se-list-layer.se-list-format ul h4{font-size:1em;font-weight:700;color:#333}.sun-editor .se-list-layer.se-list-format ul h5{font-size:.83em;font-weight:700;color:#333}.sun-editor .se-list-layer.se-list-format ul h6{font-size:.67em;font-weight:700;color:#333}.sun-editor .se-list-layer.se-list-format ul blockquote{font-size:13px;color:#999;height:22px;margin:0;background-color:transparent;line-height:1.5;border-color:#b1b1b1;padding:0 0 0 7px;border-left:5px #b1b1b1;border-style:solid}.sun-editor .se-list-layer.se-list-format ul pre{font-size:13px;color:#666;padding:4px 11px;margin:0;background-color:#f9f9f9;border:1px solid #e1e1e1;border-radius:4px}.sun-editor .se-selector-table{display:none;position:absolute;top:34px;left:1px;z-index:5;padding:5px 0;float:left;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px #0000002d}.sun-editor .se-selector-table .se-table-size{font-size:18px;padding:0 5px}.sun-editor .se-selector-table .se-table-size-picker{position:absolute!important;z-index:3;font-size:18px;width:10em;height:10em;cursor:pointer}.sun-editor .se-selector-table .se-table-size-highlighted{position:absolute!important;z-index:2;font-size:18px;width:1em;height:1em;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4QTZCNzMzN0I3RUYxMUU4ODcwQ0QwMjM1NTgzRTJDNyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4QTZCNzMzNkI3RUYxMUU4ODcwQ0QwMjM1NTgzRTJDNyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MzYyNEUxRUI3RUUxMUU4ODZGQzgwRjNBODgyNTdFOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0MzYyNEUxRkI3RUUxMUU4ODZGQzgwRjNBODgyNTdFOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pl0yAuwAAABBSURBVDhPY/wPBAxUAGCDGvdBeWSAeicIDTfIXREiQArYeR9hEBOEohyMGkQYjBpEGAxjg6ib+yFMygCVvMbAAABj0hwMTNeKJwAAAABJRU5ErkJggg==) repeat}.sun-editor .se-selector-table .se-table-size-unhighlighted{position:relative!important;z-index:1;font-size:18px;width:10em;height:10em;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC) repeat}.sun-editor .se-selector-table .se-table-size-display{padding-left:5px}.sun-editor .se-list-layer.se-table-split{top:36px}.sun-editor .se-list-layer .se-selector-color{display:flex;width:max-content;max-width:270px;height:auto;padding:0;margin:auto}.sun-editor .se-list-layer .se-selector-color .se-color-pallet{width:100%;height:100%;padding:0}.sun-editor .se-list-layer .se-selector-color .se-color-pallet li{display:flex;float:left;position:relative;margin:0}.sun-editor .se-list-layer .se-selector-color .se-color-pallet button{display:block;cursor:default;width:30px;height:30px;text-indent:-9999px}.sun-editor .se-list-layer .se-selector-color .se-color-pallet button.active,.sun-editor .se-list-layer .se-selector-color .se-color-pallet button:focus,.sun-editor .se-list-layer .se-selector-color .se-color-pallet button:hover{border:3px solid #fff}.sun-editor .se-form-group{display:flex;width:100%;min-height:40px;height:auto;padding:4px}.sun-editor .se-form-group input{flex:auto;display:inline-block;width:auto;height:33px;font-size:12px;margin:1px 0;padding:0;border-radius:.25rem;border:1px solid #ccc}.sun-editor .se-form-group button,.sun-editor .se-submenu-form-group button{float:right;width:34px;height:34px;margin:0 2px!important}.sun-editor .se-form-group button.se-btn{border:1px solid #ccc}.sun-editor .se-form-group>div{position:relative}.sun-editor .se-form-group label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}.sun-editor .se-form-group-label{width:100%;height:auto;padding:0 4px}.sun-editor .se-form-group-label label{font-size:13px;font-weight:700}.sun-editor .se-submenu .se-form-group input{width:auto;height:33px;color:#555}.sun-editor .se-submenu .se-form-group .se-color-input{width:72px;text-transform:uppercase;border:none;border-bottom:2px solid #b1b1b1;outline:none}.sun-editor .se-submenu .se-form-group .se-color-input:focus{border-bottom:3px solid #b1b1b1}.sun-editor .se-wrapper{position:relative!important;width:100%;height:auto;overflow:hidden;z-index:1}.sun-editor .se-wrapper .se-wrapper-inner{width:100%;height:100%;min-height:65px;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch;user-select:auto;-o-user-select:auto;-moz-user-select:auto;-khtml-user-select:auto;-webkit-user-select:auto;-ms-user-select:auto}.sun-editor .se-wrapper .se-wrapper-inner:focus{outline:none}.sun-editor .se-wrapper .se-wrapper-code{background-color:#191919;color:#fff;font-size:13px;word-break:break-all;padding:4px;margin:0;resize:none!important}.sun-editor .se-wrapper .se-wrapper-wysiwyg{display:block}.sun-editor .se-wrapper .se-wrapper-code-mirror{font-size:13px}.sun-editor .se-wrapper .se-placeholder{position:absolute;display:none;white-space:nowrap;text-overflow:ellipsis;z-index:1;color:#b1b1b1;font-size:13px;line-height:1.5;top:0;left:0;right:0;overflow:hidden;margin-top:0;padding-top:16px;padding-left:16px;margin-left:0;padding-right:16px;margin-right:0;pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden}.sun-editor .se-resizing-bar{display:flex;width:auto;height:auto;min-height:16px;border-top:1px solid #dadada;padding:0 4px;background-color:#fafafa;cursor:ns-resize}.sun-editor .se-resizing-bar.se-resizing-none{cursor:default}.sun-editor .se-resizing-back{position:absolute;display:none;cursor:default;top:0;left:0;width:100%;height:100%;z-index:2147483647}.sun-editor .se-resizing-bar .se-navigation{flex:auto;position:relative;width:auto;height:auto;color:#666;margin:0;padding:0;font-size:10px;line-height:1.5;background:transparent}.sun-editor .se-resizing-bar .se-char-counter-wrapper{flex:none;position:relative;display:block;width:auto;height:auto;margin:0;padding:0;color:#999;font-size:13px;background:transparent}.sun-editor .se-resizing-bar .se-char-counter-wrapper.se-blink{color:#b94a48;animation:blinker .2s linear infinite}.sun-editor .se-resizing-bar .se-char-counter-wrapper .se-char-label{margin-right:4px}.sun-editor .se-dialog{position:absolute;display:none;top:0;left:0;width:100%;height:100%;z-index:2147483647}.sun-editor .se-dialog button,.sun-editor .se-dialog input,.sun-editor .se-dialog label{font-size:14px;line-height:1.5;color:#111;margin:0}.sun-editor .se-dialog .se-dialog-back{background-color:#222;opacity:.5}.sun-editor .se-dialog .se-dialog-back,.sun-editor .se-dialog .se-dialog-inner{position:absolute;width:100%;height:100%;top:0;left:0}.sun-editor .se-dialog .se-dialog-inner .se-dialog-content{position:relative;width:auto;max-width:500px;margin:1.75rem auto;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:4px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px #00000080}@media screen and (max-width:509px){.sun-editor .se-dialog .se-dialog-inner .se-dialog-content{width:100%}}.sun-editor .se-dialog .se-dialog-inner .se-dialog-content label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}.sun-editor .se-dialog .se-dialog-inner .se-dialog-content .se-btn-primary{display:inline-block;padding:6px 12px;margin:0 0 10px!important;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;border-radius:4px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-header{height:50px;padding:6px 15px;border-bottom:1px solid #e5e5e5}.sun-editor .se-dialog .se-dialog-inner .se-dialog-header .se-dialog-close{float:right;font-weight:700;text-shadow:0 1px 0 #fff;-webkit-appearance:none;filter:alpha(opacity=100);opacity:1}.sun-editor .se-dialog .se-dialog-inner .se-dialog-header .se-modal-title{float:left;font-size:14px;font-weight:700;margin:0;padding:0;line-height:2.5}.sun-editor .se-dialog .se-dialog-inner .se-dialog-body{position:relative;padding:15px 15px 5px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form{margin-bottom:10px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form-footer{margin-top:10px;margin-bottom:0}.sun-editor .se-dialog .se-dialog-inner input:disabled{background-color:#f3f3f3}.sun-editor .se-dialog .se-dialog-inner .se-dialog-size-text{width:100%}.sun-editor .se-dialog .se-dialog-inner .se-dialog-size-text .size-h,.sun-editor .se-dialog .se-dialog-inner .se-dialog-size-text .size-w{width:70px;text-align:center}.sun-editor .se-dialog .se-dialog-inner .se-dialog-size-x{margin:0 8px;width:25px;text-align:center}.sun-editor .se-dialog .se-dialog-inner .se-dialog-footer{height:auto;min-height:55px;padding:10px 15px 0;text-align:right;border-top:1px solid #e5e5e5}.sun-editor .se-dialog .se-dialog-inner .se-dialog-footer>div{float:left}.sun-editor .se-dialog .se-dialog-inner .se-dialog-footer>div>label{margin:0 5px 0 0}.sun-editor .se-dialog .se-dialog-inner .se-dialog-btn-radio{margin-left:12px;margin-right:6px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-btn-check{margin-left:12px;margin-right:4px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form-footer .se-dialog-btn-check{margin-left:0;margin-right:4px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form-footer label:first-child{margin-right:16px;margin-left:0}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-dialog-form-files{position:relative;display:flex;align-items:center}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-dialog-form-files>input{flex:auto}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-dialog-form-files .se-dialog-files-edge-button{flex:auto;opacity:.8;border:1px solid #ccc}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-dialog-form-files .se-dialog-files-edge-button.se-file-remove>svg{width:8px;height:8px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-dialog-form-files .se-dialog-files-edge-button:hover{background-color:#f0f0f0;outline:0 none}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-dialog-form-files .se-dialog-files-edge-button:active{background-color:#e9e9e9;-webkit-box-shadow:inset 0 3px 5px #d6d6d6;box-shadow:inset 0 3px 5px #d6d6d6}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-input-select{display:inline-block;width:auto;height:34px;font-size:14px;text-align:center;line-height:1.42857143}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-input-control{display:inline-block;width:70px;height:34px;font-size:14px;text-align:center;line-height:1.42857143}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-input-form{display:block;width:100%;height:34px;font-size:14px;line-height:1.42857143;padding:0 4px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-input-form.se-input-url{direction:ltr}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-input-form.se-input-url:disabled{text-decoration:line-through;color:#999}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-video-ratio{width:70px;margin-left:4px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form a{color:#004cff}.sun-editor .se-dialog .se-dialog-inner .se-dialog-btn-revert{border:1px solid #ccc}.sun-editor .se-dialog .se-dialog-inner .se-dialog-btn-revert:hover{background-color:#e1e1e1;border-color:#d1d1d1;outline:0 none}.sun-editor .se-dialog .se-dialog-inner .se-dialog-btn-revert:active{background-color:#d1d1d1;border-color:#c1c1c1;-webkit-box-shadow:inset 0 3px 5px #c1c1c1;box-shadow:inset 0 3px 5px #c1c1c1}.sun-editor .se-dialog-tabs{width:100%;height:25px;border-bottom:1px solid #e5e5e5}.sun-editor .se-dialog-tabs button{background-color:#e5e5e5;border-right:1px solid #e5e5e5;float:left;outline:none;padding:2px 13px;transition:.3s}.sun-editor .se-dialog-tabs button:hover{background-color:#fff}.sun-editor .se-dialog-tabs button.active{background-color:#fff;border-bottom:0}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-input-form.se-math-exp{resize:vertical;height:14em;border:1px solid #ccc;font-size:13px;padding:4px;direction:ltr}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-input-select.se-math-size{width:6em;height:28px;margin-left:1em}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-math-preview{font-size:13px}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-math-preview>span{display:inline-block;-webkit-box-shadow:0 0 0 .1rem #c7deff;box-shadow:0 0 0 .1rem #c7deff}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-math-preview>span *{direction:ltr}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-math-preview>.se-math-katex-error{color:#b94a48;-webkit-box-shadow:0 0 0 .1rem #f2dede;box-shadow:0 0 0 .1rem #f2dede}.sun-editor .se-dialog .se-dialog-inner .se-dialog-form .se-math-preview>.se-math-katex-error svg{width:auto;height:30px;color:#b94a48}.sun-editor .se-dialog .se-dialog-inner .se-link-preview{display:block;height:auto;max-height:18px;font-size:13px;font-weight:400;font-family:inherit;color:#666;background-color:transparent;overflow:hidden;text-overflow:ellipsis;word-break:break-all;white-space:pre}.sun-editor .se-dialog .se-dialog-inner .se-anchor-preview-form{width:100%;display:flex;margin-top:4px}.sun-editor .se-dialog .se-dialog-inner .se-anchor-preview-form .se-svg.se-anchor-preview-icon{flex:unset;display:none;line-height:1.5;color:#4592ff}.sun-editor .se-dialog .se-dialog-inner .se-anchor-preview-form .se-link-preview{flex:auto;margin:0}.sun-editor .se-dialog .se-dialog-inner .se-anchor-rel{height:34px}.sun-editor .se-dialog .se-dialog-inner .se-anchor-rel-btn{width:46px;color:#3f9dff}.sun-editor .se-dialog .se-dialog-inner .se-anchor-rel-wrapper{display:flex;line-height:1.5;padding-top:6px}.sun-editor .se-dialog .se-dialog-inner .se-anchor-rel-preview{text-align:left}.sun-editor .se-controller .se-arrow.se-arrow-up{border-bottom-color:#00000040}.sun-editor .se-controller{position:absolute;display:none;overflow:visible;z-index:6;border:1px solid rgba(0,0,0,.25);border-radius:4px;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px #0003;line-break:auto}.sun-editor .se-controller .se-btn-group{position:relative;display:flex;vertical-align:middle;padding:2px;top:0;left:0}.sun-editor .se-controller .se-btn-group .se-btn-group-sub{left:50%;min-width:auto;width:max-content;display:none}.sun-editor .se-controller .se-btn-group .se-btn-group-sub button{margin:0;min-width:72px}.sun-editor .se-controller .se-btn-group button{position:relative;min-height:34px;height:auto;border:none;border-radius:4px;margin:1px;padding:5px 10px;font-size:12px;line-height:1.5;display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation}.sun-editor .se-controller .se-btn-group button:focus:enabled,.sun-editor .se-controller .se-btn-group button:hover:enabled{background-color:#e1e1e1;border-color:#d1d1d1;outline:0 none}.sun-editor .se-controller .se-btn-group button:active:enabled{background-color:#d1d1d1;border-color:#c1c1c1;-webkit-box-shadow:inset 0 3px 5px #c1c1c1;box-shadow:inset 0 3px 5px #c1c1c1}.sun-editor .se-controller .se-btn-group button span{display:block;padding:0;margin:0}.sun-editor .se-controller .se-btn-group button:enabled.active{color:#4592ff;outline:0 none}.sun-editor .se-controller .se-btn-group button:enabled.active:focus,.sun-editor .se-controller .se-btn-group button:enabled.active:hover{background-color:#e1e1e1;border-color:#d1d1d1;outline:0 none}.sun-editor .se-controller .se-btn-group button:enabled.active:active{background-color:#d1d1d1;border-color:#c1c1c1;-webkit-box-shadow:inset 0 3px 5px #c1c1c1;box-shadow:inset 0 3px 5px #c1c1c1}.sun-editor .se-controller .se-btn-group button:enabled.on{background-color:#e1e1e1;border-color:#d1d1d1;outline:0 none}.sun-editor .se-controller .se-btn-group button:enabled.on:focus,.sun-editor .se-controller .se-btn-group button:enabled.on:hover{background-color:#d1d1d1;border-color:#c1c1c1;outline:0 none}.sun-editor .se-controller .se-btn-group button:enabled.on:active{background-color:#c1c1c1;border-color:#b1b1b1;-webkit-box-shadow:inset 0 3px 5px #b1b1b1;box-shadow:inset 0 3px 5px #b1b1b1}.sun-editor .se-controller .se-form-group input{min-width:120px}.sun-editor .se-controller-resizing{margin-top:-50px!important;padding:0;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143}.sun-editor .se-controller-resizing .se-btn-group .se-btn-group-sub.se-resizing-align-list{width:74px}.sun-editor .se-resizing-container{position:absolute;display:none;outline:1px solid #3f9dff;background-color:transparent}.sun-editor .se-resizing-container .se-modal-resize{position:absolute;display:inline-block;background-color:#3f9dff;opacity:.3}.sun-editor .se-resizing-container .se-resize-dot{position:absolute;top:0;left:0;width:100%;height:100%}.sun-editor .se-resizing-container .se-resize-dot>span{position:absolute;width:7px;height:7px;background-color:#3f9dff;border:1px solid #4592ff}.sun-editor .se-resizing-container .se-resize-dot>span.tl{top:-5px;left:-5px;cursor:nw-resize}.sun-editor .se-resizing-container .se-resize-dot>span.tr{top:-5px;right:-5px;cursor:ne-resize}.sun-editor .se-resizing-container .se-resize-dot>span.bl{bottom:-5px;left:-5px;cursor:sw-resize}.sun-editor .se-resizing-container .se-resize-dot>span.br{right:-5px;bottom:-5px;cursor:se-resize}.sun-editor .se-resizing-container .se-resize-dot>span.lw{left:-7px;bottom:50%;cursor:w-resize}.sun-editor .se-resizing-container .se-resize-dot>span.th{left:50%;top:-7px;cursor:n-resize}.sun-editor .se-resizing-container .se-resize-dot>span.rw{right:-7px;bottom:50%;cursor:e-resize}.sun-editor .se-resizing-container .se-resize-dot>span.bh{right:50%;bottom:-7px;cursor:s-resize}.sun-editor .se-resizing-container .se-resize-display{position:absolute;right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:#fff;background-color:#333;border-radius:4px}.sun-editor .se-controller-table,.sun-editor .se-controller-table-cell{width:auto}.sun-editor .se-controller-link,.sun-editor .se-controller-table,.sun-editor .se-controller-table-cell{padding:0;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143}.sun-editor .se-controller-link:after,.sun-editor .se-controller-link:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sun-editor .se-controller-link .link-content{padding:0;margin:0}.sun-editor .se-controller-link .link-content a{display:inline-block;color:#4592ff;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;margin-left:5px}.sun-editor .se-select-list{position:absolute;top:0;left:0;display:none;width:auto;max-width:100%;background-color:#fff;padding:0;margin:0;border:1px solid #bababa;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px #00000080;outline:0 none}.sun-editor .se-select-list .se-select-item{line-height:28px;min-height:28px;font-size:13px;padding:0 5px;margin:2px 0;cursor:pointer}.sun-editor .se-select-list.__se_select-menu-mouse-move .se-select-item:hover,.sun-editor .se-select-list:not(.__se_select-menu-mouse-move) .se-select-item.active{background-color:#e1e1e1}.sun-editor .se-dialog-form-files .se-select-list{width:100%}.sun-editor .se-file-browser{position:absolute;display:none;top:0;left:0;width:100%;height:100%;z-index:2147483647}.sun-editor .se-file-browser button,.sun-editor .se-file-browser input,.sun-editor .se-file-browser label{font-size:14px;line-height:1.5;color:#111;margin:0}.sun-editor .se-file-browser .se-file-browser-back{background-color:#222;opacity:.5}.sun-editor .se-file-browser .se-file-browser-back,.sun-editor .se-file-browser .se-file-browser-inner{position:absolute;display:block;width:100%;height:100%;top:0;left:0}.sun-editor .se-file-browser .se-file-browser-inner .se-file-browser-content{position:relative;width:960px;max-width:100%;margin:20px auto;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:4px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px #00000080}.sun-editor .se-file-browser .se-file-browser-header{height:auto;min-height:50px;padding:6px 15px;border-bottom:1px solid #e5e5e5}.sun-editor .se-file-browser .se-file-browser-header .se-file-browser-close{float:right;font-weight:700;text-shadow:0 1px 0 #fff;-webkit-appearance:none;filter:alpha(opacity=100);opacity:1}.sun-editor .se-file-browser .se-file-browser-header .se-file-browser-close>svg{width:12px;height:12px}.sun-editor .se-file-browser .se-file-browser-header .se-file-browser-title{font-size:16px;font-weight:700;margin:0;padding:0;line-height:2.2}.sun-editor .se-file-browser .se-file-browser-tags{display:block;width:100%;padding:0;text-align:left;margin:0 -15px}.sun-editor .se-file-browser .se-file-browser-tags a{display:inline-block;background-color:#f5f5f5;padding:6px 12px;margin:8px 0 8px 8px;color:#333;text-decoration:none;border-radius:32px;-moz-border-radius:32px;-webkit-border-radius:32px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;cursor:pointer}.sun-editor .se-file-browser .se-file-browser-tags a:hover{background-color:#e1e1e1}.sun-editor .se-file-browser .se-file-browser-tags a:active{background-color:#d1d1d1}.sun-editor .se-file-browser .se-file-browser-tags a.on{background-color:#ebf3fe;color:#4592ff}.sun-editor .se-file-browser .se-file-browser-tags a.on:hover{background-color:#d8e8fe}.sun-editor .se-file-browser .se-file-browser-tags a.on:active{background-color:#c7deff}.sun-editor .se-file-browser .se-file-browser-body{position:relative;height:auto;min-height:350px;padding:20px;overflow-y:auto}.sun-editor .se-file-browser .se-file-browser-body .se-file-browser-list{position:relative;width:100%}@media screen and (max-width:992px){.sun-editor .se-file-browser .se-file-browser-inner .se-file-browser-content{width:748px}}@media screen and (max-width:768px){.sun-editor .se-file-browser .se-file-browser-inner .se-file-browser-content{width:600px}}.sun-editor .se-file-browser .se-file-browser-list .se-file-item-column{position:relative;display:block;height:auto;float:left}.sun-editor .se-file-browser .se-file-browser-list.se-image-list .se-file-item-column{width:calc(25% - 20px);margin:0 10px}@media screen and (max-width:992px){.sun-editor .se-file-browser .se-file-browser-list.se-image-list .se-file-item-column{width:calc(33% - 20px)}}@media screen and (max-width:768px){.sun-editor .se-file-browser .se-file-browser-list.se-image-list .se-file-item-column{width:calc(50% - 20px)}}.sun-editor .se-file-browser .se-file-browser-list.se-image-list .se-file-item-img{position:relative;display:block;cursor:pointer;width:100%;height:auto;border-radius:4px;outline:0;margin:10px 0}.sun-editor .se-file-browser .se-file-browser-list.se-image-list .se-file-item-img:hover{opacity:.8;-webkit-box-shadow:0 0 0 .2rem #3288ff;box-shadow:0 0 0 .2rem #3288ff}.sun-editor .se-file-browser .se-file-browser-list.se-image-list .se-file-item-img>img{position:relative;display:block;width:100%;border-radius:4px;outline:0;height:auto}.sun-editor .se-file-browser .se-file-browser-list.se-image-list .se-file-item-img>.se-file-img-name{position:absolute;z-index:1;font-size:13px;color:#fff;left:0;bottom:0;padding:5px 10px;background-color:transparent;width:100%;height:30px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.sun-editor .se-file-browser .se-file-browser-list.se-image-list .se-file-item-img>.se-file-img-name.se-file-name-back{background-color:#333;opacity:.6}.sun-editor .se-notice{position:absolute;top:0;display:none;z-index:7;width:100%;height:auto;word-break:break-all;font-size:13px;color:#b94a48;background-color:#f2dede;padding:15px;margin:0;border:1px solid #eed3d7;user-select:auto;-o-user-select:auto;-moz-user-select:auto;-khtml-user-select:auto;-webkit-user-select:auto;-ms-user-select:auto}.sun-editor .se-notice button{float:right;padding:7px}.sun-editor .se-tooltip{position:relative;overflow:visible}.sun-editor .se-tooltip .se-tooltip-inner{visibility:hidden;position:absolute;display:block;width:auto;height:auto;top:120%;left:50%;background:transparent;opacity:0;z-index:1;line-height:1.5;transition:opacity .5s;margin:0;padding:0;bottom:auto;float:none;pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden}.sun-editor .se-tooltip .se-tooltip-inner .se-tooltip-text{position:relative;display:inline-block;width:auto;height:auto;left:-50%;font-size:.9em;margin:0;padding:4px 6px;border-radius:2px;background-color:#333;color:#fff;text-align:center;line-height:unset;white-space:nowrap;cursor:auto}.sun-editor .se-tooltip .se-tooltip-inner .se-tooltip-text:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom-color:#333}.sun-editor .se-tooltip:hover .se-tooltip-inner{visibility:visible;opacity:1}.sun-editor .se-tooltip .se-tooltip-inner .se-tooltip-text .se-shortcut{display:block!important}.sun-editor .se-tooltip .se-tooltip-inner .se-tooltip-text .se-shortcut>.se-shortcut-key{display:inline;font-weight:700}.sun-editor.se-rtl .se-btn-tray{direction:rtl}.sun-editor.se-rtl .se-btn-select svg{margin:auto 1px}.sun-editor.se-rtl .se-btn-select .txt{flex:auto;text-align:right;direction:rtl}.sun-editor.se-rtl .se-btn-list{text-align:right}.sun-editor.se-rtl .se-btn-list>.se-list-icon{margin:-1px 0 0 10px}.sun-editor.se-rtl .se-menu-list:not(.se-menu-dir-fix),.sun-editor.se-rtl .se-menu-list:not(.se-menu-dir-fix) li{float:right}.sun-editor.se-rtl .se-list-layer *{direction:rtl}.sun-editor.se-rtl .se-list-layer.se-list-format ul blockquote{padding:0 7px 0 0;border-right-width:5px;border-left-width:0}.sun-editor.se-rtl .se-list-layer .se-selector-color .se-color-pallet li{float:right}.sun-editor.se-rtl .se-list-inner .se-list-checked li button>.se-svg{float:right;padding:6px 0 0 6px}.sun-editor.se-rtl .se-tooltip .se-tooltip-inner .se-tooltip-text,.sun-editor.se-rtl .se-wrapper .se-placeholder{direction:rtl}.sun-editor.se-rtl .se-tooltip .se-tooltip-inner .se-tooltip-text .se-shortcut{direction:ltr}.sun-editor.se-rtl .se-dialog *{direction:rtl}.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-dialog-form .se-video-ratio{margin-left:0;margin-right:4px}.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-dialog-header .se-dialog-close{float:left}.sun-editor.se-rtl .se-dialog-tabs button,.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-dialog-header .se-modal-title{float:right}.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-dialog-size-text{padding-right:34px}.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-dialog-footer .se-btn-primary{float:left}.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-dialog-footer>div{float:right}.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-dialog-footer>div>label{margin:0 0 0 5px}.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-dialog-form-footer label:first-child{margin-left:16px;margin-right:0}.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-anchor-rel-preview{margin-left:4px;text-align:right}.sun-editor.se-rtl .se-dialog .se-dialog-inner .se-anchor-rel-btn{float:right}.sun-editor.se-rtl .se-file-browser *{direction:rtl}.sun-editor.se-rtl .se-file-browser .se-file-browser-tags{text-align:right}.sun-editor.se-rtl .se-file-browser .se-file-browser-tags a{margin:8px 8px 0}.sun-editor.se-rtl .se-file-browser .se-file-browser-header .se-file-browser-close{float:left}.sun-editor.se-rtl .se-controller .se-btn-group,.sun-editor.se-rtl .se-resizing-container .se-resize-display{direction:rtl}.sun-editor .se-btn-module-border.module-float-left{float:left}.sun-editor .se-btn-module-border.module-float-right{float:right}.sun-editor .se-error{color:#d9534f}.sun-editor input.se-error:focus,select.se-error:focus,textarea.se-error:focus{border:1px solid #f2dede;outline:0;-webkit-box-shadow:0 0 0 .2rem #eed3d7;box-shadow:0 0 0 .2rem #eed3d7;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.sun-editor hr.__se__solid{border-style:solid none none}.sun-editor hr.__se__dotted{border-style:dotted none none}.sun-editor hr.__se__dashed{border-style:dashed none none}@keyframes blinker{50%{opacity:0}}@keyframes spinner{to{transform:rotate(361deg)}}.sun-editor-editable{font-family:Helvetica Neue;font-size:13px;color:#333;background-color:#fff;line-height:1.5;word-break:normal;word-wrap:break-word;padding:16px;margin:0}.sun-editor-editable *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit;font-size:inherit;color:inherit}.sun-editor-editable.se-rtl *{direction:rtl}.sun-editor-editable .se-component>figure{direction:ltr}.sun-editor-editable audio,.sun-editor-editable figcaption,.sun-editor-editable figure,.sun-editor-editable iframe,.sun-editor-editable img,.sun-editor-editable td,.sun-editor-editable th,.sun-editor-editable video{position:relative}.sun-editor-editable span{display:inline;vertical-align:baseline;margin:0;padding:0}.sun-editor-editable span.katex{display:inline-block}.sun-editor-editable span.katex *{direction:ltr}.sun-editor-editable a{color:#004cff;text-decoration:none}.sun-editor-editable span[style~="color:"] a{color:inherit}.sun-editor-editable a:focus,.sun-editor-editable a:hover{cursor:pointer;color:#0093ff;text-decoration:underline}.sun-editor-editable a.on{color:#0093ff;background-color:#e8f7ff}.sun-editor-editable pre{display:block;padding:8px;margin:0 0 10px;font-family:monospace;color:#666;line-height:1.45;background-color:#f9f9f9;border:1px solid #e1e1e1;border-radius:2px;white-space:pre-wrap!important;word-wrap:break-word;overflow:visible}.sun-editor-editable ol{list-style-type:decimal}.sun-editor-editable ol,.sun-editor-editable ul{list-style-position:outside;display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0;margin-inline-end:0;padding-inline-start:40px}.sun-editor-editable ul{list-style-type:disc}.sun-editor-editable li{display:list-item;text-align:-webkit-match-parent;margin-bottom:5px}.sun-editor-editable ol ol,.sun-editor-editable ol ul,.sun-editor-editable ul ol,.sun-editor-editable ul ul{margin:0}.sun-editor-editable ol ol,.sun-editor-editable ul ol{list-style-type:lower-alpha}.sun-editor-editable ol ol ol,.sun-editor-editable ul ol ol,.sun-editor-editable ul ul ol{list-style-type:upper-roman}.sun-editor-editable ol ul,.sun-editor-editable ul ul{list-style-type:circle}.sun-editor-editable ol ol ul,.sun-editor-editable ol ul ul,.sun-editor-editable ul ul ul{list-style-type:square}.sun-editor-editable sub,.sun-editor-editable sup{font-size:75%;line-height:0}.sun-editor-editable sub{vertical-align:sub}.sun-editor-editable sup{vertical-align:super}.sun-editor-editable p{display:block;margin:0 0 10px}.sun-editor-editable div{display:block;margin:0;padding:0}.sun-editor-editable blockquote{display:block;font-family:inherit;font-size:inherit;color:#999;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0;margin-inline-end:0;padding:0 5px 0 20px;border:solid #b1b1b1;border-width:0 0 0 5px}.sun-editor-editable blockquote blockquote{border-color:#c1c1c1}.sun-editor-editable blockquote blockquote blockquote{border-color:#d1d1d1}.sun-editor-editable blockquote blockquote blockquote blockquote{border-color:#e1e1e1}.sun-editor-editable.se-rtl blockquote{padding-left:5px;padding-right:20px;border-left-width:0;border-right-width:5px}.sun-editor-editable h1{font-size:2em;margin-block-start:.67em;margin-block-end:.67em}.sun-editor-editable h1,.sun-editor-editable h2{display:block;margin-inline-start:0;margin-inline-end:0;font-weight:700}.sun-editor-editable h2{font-size:1.5em;margin-block-start:.83em;margin-block-end:.83em}.sun-editor-editable h3{font-size:1.17em;margin-block-start:1em;margin-block-end:1em}.sun-editor-editable h3,.sun-editor-editable h4{display:block;margin-inline-start:0;margin-inline-end:0;font-weight:700}.sun-editor-editable h4{font-size:1em;margin-block-start:1.33em;margin-block-end:1.33em}.sun-editor-editable h5{font-size:.83em;margin-block-start:1.67em;margin-block-end:1.67em}.sun-editor-editable h5,.sun-editor-editable h6{display:block;margin-inline-start:0;margin-inline-end:0;font-weight:700}.sun-editor-editable h6{font-size:.67em;margin-block-start:2.33em;margin-block-end:2.33em}.sun-editor-editable hr{display:flex;border-width:1px 0 0;border-color:#000;border-image:initial;height:1px}.sun-editor-editable hr.__se__solid{border-style:solid none none}.sun-editor-editable hr.__se__dotted{border-style:dotted none none}.sun-editor-editable hr.__se__dashed{border-style:dashed none none}.sun-editor-editable hr.on{border-color:#4592ff;-webkit-box-shadow:0 0 0 .1rem #c7deff;box-shadow:0 0 0 .1rem #c7deff}.sun-editor-editable table{display:table;table-layout:auto!important;border:1px solid #ccc;width:100%;max-width:100%;margin:0 0 10px;background-color:transparent;border-spacing:0;border-collapse:collapse}.sun-editor-editable.se-rtl table{margin:0 0 10px auto}.sun-editor-editable table thead{border-bottom:2px solid #333}.sun-editor-editable table tr{border:1px solid #efefef}.sun-editor-editable table th{background-color:#f3f3f3}.sun-editor-editable table td,.sun-editor-editable table th{border:1px solid #e1e1e1;padding:.4em;background-clip:padding-box}.sun-editor-editable table.se-table-size-auto{width:auto!important}.sun-editor-editable table.se-table-size-100{width:100%!important}.sun-editor-editable table.se-table-layout-auto{table-layout:auto!important}.sun-editor-editable table.se-table-layout-fixed{table-layout:fixed!important}.sun-editor-editable table td.se-table-selected-cell,.sun-editor-editable table th.se-table-selected-cell{outline:1px double #4592ff}.sun-editor-editable.se-disabled *{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sun-editor-editable .se-component{display:flex;padding:1px;margin:0 0 10px}.sun-editor-editable[contenteditable=true] .se-component{outline:1px dashed #e1e1e1}.sun-editor-editable[contenteditable=true] .se-component.se-component-copy{-webkit-box-shadow:0 0 0 .2rem #80bdff;box-shadow:0 0 0 .2rem #3f9dff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.sun-editor-editable .__se__float-left{float:left;margin-right:4px}.sun-editor-editable .__se__float-right{float:right;margin-left:4px}.sun-editor-editable .__se__float-center{float:center}.sun-editor-editable .__se__float-none{float:none}.sun-editor-editable audio,.sun-editor-editable iframe,.sun-editor-editable img,.sun-editor-editable video{display:block;margin:0;padding:0;width:auto;height:auto;max-width:100%}.sun-editor-editable[contenteditable=true]:not(.se-read-only) figure:after{position:absolute;content:"";z-index:1;top:0;left:0;right:0;bottom:0;cursor:default;display:block;background:transparent}.sun-editor-editable[contenteditable=true] figure a,.sun-editor-editable[contenteditable=true] figure iframe,.sun-editor-editable[contenteditable=true] figure img,.sun-editor-editable[contenteditable=true] figure video{z-index:0}.sun-editor-editable[contenteditable=true] figure figcaption{display:block;z-index:2}.sun-editor-editable[contenteditable=true] figure figcaption:focus{border-color:#80bdff;outline:0;-webkit-box-shadow:0 0 0 .2rem #c7deff;box-shadow:0 0 0 .2rem #c7deff}.sun-editor-editable .se-image-container,.sun-editor-editable .se-video-container{width:auto;height:auto;max-width:100%}.sun-editor-editable figure{display:block;outline:none;padding:0;margin:0}.sun-editor-editable .__se__float-center figure,.sun-editor-editable .__se__float-left figure,.sun-editor-editable .__se__float-right figure{margin:auto!important}.sun-editor-editable figure figcaption{padding:1em .5em;margin:0;background-color:#f9f9f9;outline:none}.sun-editor-editable figure figcaption p{line-height:2;margin:0}.sun-editor-editable .se-image-container a img{padding:1px;margin:1px;outline:1px solid #4592ff}.sun-editor-editable .se-video-container iframe,.sun-editor-editable .se-video-container video{outline:1px solid #9e9e9e;position:absolute;top:0;left:0;border:0;width:100%;height:100%}.sun-editor-editable .se-video-container figure{left:0;width:100%;max-width:100%}.sun-editor-editable audio{width:300px;height:54px}.sun-editor-editable audio.active{outline:2px solid #80bdff}.sun-editor-editable.se-show-block div,.sun-editor-editable.se-show-block h1,.sun-editor-editable.se-show-block h2,.sun-editor-editable.se-show-block h3,.sun-editor-editable.se-show-block h4,.sun-editor-editable.se-show-block h5,.sun-editor-editable.se-show-block h6,.sun-editor-editable.se-show-block li,.sun-editor-editable.se-show-block ol,.sun-editor-editable.se-show-block p,.sun-editor-editable.se-show-block pre,.sun-editor-editable.se-show-block ul{border:1px dashed #3f9dff!important;padding:14px 8px 8px!important}.sun-editor-editable.se-show-block ol,.sun-editor-editable.se-show-block ul{border:1px dashed #d539ff!important}.sun-editor-editable.se-show-block pre{border:1px dashed #27c022!important}.se-show-block p{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPAQMAAAAF7dc0AAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAaSURBVAjXY/j/gwGCPvxg+F4BQiAGDP1HQQByxxw0gqOzIwAAAABJRU5ErkJggg==) no-repeat}.se-show-block div{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAPAQMAAAAxlBYoAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAmSURBVAjXY/j//wcDDH+8XsHwDYi/hwNx1A8w/nYLKH4XoQYJAwCXnSgcl2MOPgAAAABJRU5ErkJggg==) no-repeat}.se-show-block h1{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPAQMAAAA4f7ZSAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAfSURBVAjXY/j/v4EBhr+9B+LzEPrDeygfhI8j1CBhAEhmJGY4Rf6uAAAAAElFTkSuQmCC) no-repeat}.se-show-block h2{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPAQMAAAA4f7ZSAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAmSURBVAjXY/j/v4EBhr+dB+LtQPy9geEDEH97D8T3gbgdoQYJAwA51iPuD2haEAAAAABJRU5ErkJggg==) no-repeat}.se-show-block h3{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPAQMAAAA4f7ZSAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAiSURBVAjXY/j/v4EBhr+dB+LtQPy9geHDeQgN5p9HqEHCADeWI+69VG2MAAAAAElFTkSuQmCC) no-repeat}.se-show-block h4{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAPAQMAAADTSA1RAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAiSURBVAjXY/j//wADDH97DsTXIfjDdiDdDMTfIRhZHRQDAKJOJ6L+K3y7AAAAAElFTkSuQmCC) no-repeat}.se-show-block h5{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPAQMAAAA4f7ZSAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAlSURBVAjXY/j/v4EBhr+1A/F+IO5vYPiwHUh/B2IQfR6hBgkDABlWIy5uM+9GAAAAAElFTkSuQmCC) no-repeat}.se-show-block h6{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPAQMAAAA4f7ZSAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAiSURBVAjXY/j/v4EBhr+dB+LtQLy/geFDP5S9HSKOrA6KAR9GIza1ptJnAAAAAElFTkSuQmCC) no-repeat}.se-show-block li{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA7SURBVDhPYxgFcNDQ0PAfykQBIHEYhgoRB/BpwCfHBKWpBkaggYxQGgOgBzyQD1aLLA4TGwWDGjAwAACR3RcEU9Ui+wAAAABJRU5ErkJggg==) no-repeat}.se-show-block ol{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABHSURBVDhPYxgFcNDQ0PAfhKFcFIBLHCdA1oBNM0kGEmMAPgOZoDTVANUNxAqQvURMECADRiiNAWCagDSGGhyW4DRrMAEGBgAu0SX6WpGgjAAAAABJRU5ErkJggg==) no-repeat}.se-show-block ul{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA1SURBVDhPYxgFDA0NDf+hTBSALI5LDQgwQWmqgVEDKQcsUBoF4ItFGEBXA+QzQpmDGjAwAAA8DQ4Lni6gdAAAAABJRU5ErkJggg==) no-repeat}.sun-editor-editable .__se__p-bordered,.sun-editor .__se__p-bordered{border-top:1px solid #b1b1b1;border-bottom:1px solid #b1b1b1;padding:4px 0}.sun-editor-editable .__se__p-spaced,.sun-editor .__se__p-spaced{letter-spacing:1px}.sun-editor-editable .__se__p-neon,.sun-editor .__se__p-neon{font-weight:200;font-style:italic;background:#000;color:#fff;padding:6px 4px;border:2px solid #fff;border-radius:6px;text-transform:uppercase;animation:neonFlicker 1.5s infinite alternate}@keyframes neonFlicker{0%,19%,21%,23%,25%,54%,56%,to{text-shadow:-.2rem -.2rem 1rem #fff,.2rem .2rem 1rem #fff,0 0 2px #f40,0 0 4px #f40,0 0 6px #f40,0 0 8px #f40,0 0 10px #f40;box-shadow:0 0 .5px #fff,inset 0 0 .5px #fff,0 0 2px #08f,inset 0 0 2px #08f,0 0 4px #08f,inset 0 0 4px #08f}20%,24%,55%{text-shadow:none;box-shadow:none}}.sun-editor-editable .__se__t-shadow,.sun-editor .__se__t-shadow{text-shadow:-.2rem -.2rem 1rem #fff,.2rem .2rem 1rem #fff,0 0 .2rem #999,0 0 .4rem #888,0 0 .6rem #777,0 0 .8rem #666,0 0 1rem #555}.sun-editor-editable .__se__t-code,.sun-editor .__se__t-code{font-family:monospace;color:#666;background-color:#1b1f230d;border-radius:6px;padding:.2em .4em}.comunicacion-grid{display:grid;grid-template-columns:3fr 2fr;gap:2rem;margin-top:2rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.mensajes-lista,.anuncios-lista{display:flex;flex-direction:column;gap:1rem}.mensaje-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition)}.mensaje-card.no-leido{border-left:4px solid var(--primary-color);background-color:#f8f9fa}.mensaje-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.mensaje-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.curso-badge{background-color:var(--primary-light);color:var(--primary-color);padding:.25rem .75rem;border-radius:20px;font-size:.875rem}.mensaje-asunto{font-weight:500;margin-bottom:.5rem}.mensaje-preview{color:#666;font-size:.95rem;margin-bottom:1rem;display:-webkit-box;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mensaje-footer{display:flex;justify-content:space-between;align-items:center;color:#666;font-size:.875rem}.mensaje-acciones{display:flex;gap:.5rem}.anuncio-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm)}.anuncio-card.prioridad-alta{border-left:4px solid #dc3545}.anuncio-card.prioridad-normal{border-left:4px solid #ffc107}.anuncio-card.prioridad-baja{border-left:4px solid #28a745}.anuncio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.prioridad-badge{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;text-transform:capitalize}.prioridad-alta .prioridad-badge{background-color:#f8d7da;color:#721c24}.prioridad-normal .prioridad-badge{background-color:#fff3cd;color:#856404}.prioridad-baja .prioridad-badge{background-color:#d4edda;color:#155724}.cursos-tags{display:flex;gap:.5rem;flex-wrap:wrap}.curso-tag{background-color:var(--primary-light);color:var(--primary-color);padding:.25rem .75rem;border-radius:20px;font-size:.875rem}.anuncio-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);color:#666;font-size:.875rem}@media (max-width: 1024px){.comunicacion-grid{grid-template-columns:1fr}}@media (max-width: 768px){.mensaje-info,.mensaje-footer,.anuncio-footer{flex-direction:column;gap:.5rem;align-items:flex-start}}.comunicacion-profesor{padding:1.25rem;height:calc(100vh - 80px);display:flex;flex-direction:column;background-color:#f8f9fa}.comunicacion-profesor h2{color:#2c3e50;margin-bottom:25px;font-size:24px;font-weight:500}.mensaje-form{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;flex:1;display:flex;flex-direction:column;overflow:hidden}.destinatarios-container{display:flex;flex-direction:column;gap:10px}.curso-select select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-box{position:relative}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 2px 4px #0000001a}.search-item{display:flex;flex-direction:column;padding:8px 12px}.search-item .student-name{font-weight:500}.search-item .student-email{font-size:.85em;color:#666;margin-top:2px}.search-item:hover{background-color:#f5f5f5}.selected-estudiantes{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.estudiante-tag{display:flex;align-items:center;justify-content:space-between;padding:6px 10px}.estudiante-info{display:flex;flex-direction:column;margin-right:8px}.estudiante-nombre{font-weight:500}.estudiante-email{font-size:.85em;color:#666;margin-top:2px}.remove-btn{background:none;border:none;color:#666;cursor:pointer;font-size:18px;padding:0;display:flex;align-items:center;justify-content:center}.remove-btn:hover{color:#333}.error-message{color:#dc3545;font-size:14px;margin-top:8px}.sun-editor{width:100%!important;border:1px solid #ddd!important;border-radius:4px!important}.sun-editor .se-toolbar{display:flex!important;justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding:8px!important;gap:10px!important;background:#f8f9fa!important;border-bottom:1px solid #ddd!important}.sun-editor .se-btn-tray{display:flex!important;gap:5px!important;flex-wrap:nowrap!important;padding:0 5px!important}.sun-editor .se-btn,.sun-editor .se-btn-select,.sun-editor button{background-color:#fff!important;border:1px solid #ddd!important;color:#333!important}.sun-editor .se-btn:hover,.sun-editor .se-btn-select:hover,.sun-editor button:hover{background-color:#f8f9fa!important;border-color:#ddd!important;color:#333!important}.sun-editor .se-wrapper{background:#fff!important}.sun-editor .se-wrapper-inner{padding:16px!important}.sun-editor .se-placeholder{color:#6c757d!important;font-style:italic!important}.sun-editor *:not(button):not(input){background-color:transparent!important;color:#333!important}.sun-editor button,.sun-editor input{background-color:#f8f9fa!important;color:#212529!important}.form-actions{display:flex;justify-content:flex-end;margin-top:20px}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:#4a5568;font-size:.875rem}.btn-enviar{background-color:#0d6efd;color:#fff;border:none;padding:8px 20px;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.btn-enviar:hover{background-color:#0b5ed7}.btn-enviar:disabled{background-color:#6c757d;cursor:not-allowed}.error-message{background-color:#fff5f5;color:#c53030;padding:.75rem;border-radius:.375rem;font-size:.875rem;margin:1rem}@media (max-width: 768px){.comunicacion-profesor{padding:.75rem}.form-actions{flex-direction:column;gap:.75rem}.btn-enviar{width:100%}}.comunicacion-form{max-width:1200px;margin:0 auto;padding:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500}.required{color:red;margin-left:2px}.search-input{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px}.error-hint{color:red;font-size:12px;margin-top:4px;display:flex;align-items:center;gap:4px}.error-hint:before{content:"⚠"}.checkbox-group{margin:15px 0}.checkbox-label{display:flex;align-items:center;gap:8px;font-weight:400;color:#333}.sun-editor .se-list-font-family,.sun-editor .se-list-font-size{background:#fff!important}.sun-editor .se-list-font-family button,.sun-editor .se-list-font-size button{color:#333!important;background:#fff!important}.sun-editor .se-list-font-family button:hover,.sun-editor .se-list-font-size button:hover{background:#f8f9fa!important}.sun-editor .se-btn-select{color:#333!important;background:#fff!important}.sun-editor .se-btn-select:hover{background-color:#f5f5f5!important}.sun-editor *{border-color:#ccc!important}.sun-editor .se-dropdown-menu,.sun-editor .se-list-layer{background:#fff!important;border:1px solid #ddd!important;box-shadow:0 2px 4px #0000001a!important}.sun-editor .se-dropdown-menu button,.sun-editor .se-list-layer button{background:#fff!important;color:#333!important}.sun-editor .se-dropdown-menu button:hover,.sun-editor .se-list-layer button:hover{background:#f8f9fa!important}.sun-editor .se-btn.active,.sun-editor .se-btn-select.active{background-color:#f8f9fa!important;border-color:#ddd!important;color:#333!important}.sun-editor .se-toolbar .se-btn,.sun-editor .se-toolbar .se-btn-select,.sun-editor .se-toolbar button{background-color:#f8f9fa!important;border:1px solid #ddd!important;color:#333!important}.sun-editor .se-toolbar .se-btn.active,.sun-editor .se-toolbar .se-btn:hover,.sun-editor .se-toolbar .se-btn-select.active,.sun-editor .se-toolbar .se-btn-select:hover{background-color:#e9ecef!important;border-color:#ddd!important;color:#333!important}.sun-editor .se-toolbar .se-btn-select{background-color:#f8f9fa!important}.sun-editor .se-btn-tray{background-color:transparent!important}.sun-editor .se-toolbar *{background-color:#f8f9fa!important;color:#333!important}.sun-editor [style*=background]{background-color:#f8f9fa!important}.dashboard-layout{display:flex;min-height:100vh;position:relative;transition:all .3s ease}.sidebar{display:flex;flex-direction:column;height:100vh;width:280px;background-color:#1a237e;color:#fff;transition:all .3s ease;position:fixed;left:0;top:0;z-index:100}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);background-color:#0003}.sidebar-header h2{font-size:1.25rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-toggle{background:transparent;border:none;color:#fff;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background-color .2s}.sidebar-toggle:hover{background-color:#ffffff1a}.sidebar-toggle-mobile{display:none;position:fixed;top:1rem;left:1rem;z-index:101;background-color:#1a237e;color:#fff;border:none;padding:.5rem;border-radius:.25rem;cursor:pointer}.main-content{flex:1;margin-left:280px;transition:all .3s ease}.dashboard-layout.sidebar-collapsed .sidebar{width:70px}.dashboard-layout.sidebar-collapsed .main-content{margin-left:70px}.dashboard-layout.sidebar-collapsed .sidebar span,.dashboard-layout.sidebar-collapsed .sidebar h2{display:none}.dashboard-layout.sidebar-collapsed .nav-item{padding:.75rem;justify-content:center}.dashboard-layout.sidebar-collapsed .submenu{position:absolute;left:70px;background-color:#1a237e;min-width:200px;border-radius:0 .5rem .5rem 0;padding-left:0}.dashboard-layout.sidebar-collapsed .nav-item:hover .submenu{display:block}@media (max-width: 768px){.sidebar{transform:translate(-100%);position:fixed}.main-content{margin-left:0}.sidebar-toggle-mobile{display:block}.dashboard-layout.sidebar-collapsed .sidebar{transform:translate(0);width:280px}.dashboard-layout.sidebar-collapsed .main-content{margin-left:0}.dashboard-layout.sidebar-collapsed .sidebar span,.dashboard-layout.sidebar-collapsed .sidebar h2{display:block}}.nav-item{display:flex;align-items:center;padding:.75rem 1rem;color:#fff;text-decoration:none;transition:all .3s ease;cursor:pointer}.nav-item i{margin-right:1rem;width:20px;text-align:center}.sidebar,.main-content{transition:all .3s cubic-bezier(.4,0,.2,1)}@media (min-width: 769px){.dashboard-layout.sidebar-collapsed .nav-item:hover span{display:block;position:absolute;left:70px;background-color:#1a237e;padding:.75rem 1rem;border-radius:0 .5rem .5rem 0;min-width:150px}}.sidebar-content{height:calc(100% - 60px);overflow-y:auto}.sidebar-content::-webkit-scrollbar{width:5px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.dashboard-layout.sidebar-collapsed .sidebar-header h2{display:none}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.spinner-container{margin-bottom:1rem}.loading-spinner i{font-size:2rem;color:#6f42c1}.loading-text{font-size:1rem;color:#495057;margin:0}.error-message{background-color:#fee;color:#c00;padding:1rem;margin:1rem 0;border-radius:4px;display:flex;align-items:center}.error-message i{margin-right:.5rem}.no-data{text-align:center;color:#666;padding:2rem}.participantes-tabs{display:flex;gap:1rem;margin-bottom:1rem}.tab-btn{padding:.5rem 1rem;border:none;background:none;border-bottom:2px solid transparent;cursor:pointer}.tab-btn.active{border-bottom-color:#4a90e2;color:#4a90e2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .2s ease-out}.modal-participantes{background-color:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 25px #0003;animation:slideUp .3s ease-out;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eaeaea}.modal-header h2{margin:0;font-size:1.5rem;color:#333;font-weight:600}.close-button{background:none;border:none;font-size:1.2rem;color:#666;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-button:hover{background-color:#f5f5f5;color:#333}.tabs-container{background-color:#f8f9fa;border-bottom:1px solid #eaeaea}.tabs-nav{display:flex;padding:0 24px}.tab-button{padding:16px 24px;background:none;border:none;font-size:1rem;color:#666;cursor:pointer;position:relative;transition:all .2s;font-weight:500}.tab-button:hover{color:#4a6cf7}.tab-button.active{color:#4a6cf7;font-weight:600}.tab-button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background-color:#4a6cf7;border-radius:3px 3px 0 0}.search-container{padding:20px 24px;border-bottom:1px solid #eaeaea}.search-input-wrapper{position:relative;display:flex;align-items:center;background-color:#f8f9fa;border-radius:50px;overflow:hidden;transition:all .3s ease;border:1px solid #e0e0e0;box-shadow:0 2px 5px #00000008}.search-input-wrapper:focus-within{box-shadow:0 0 0 3px #4a6cf726;border-color:#4a6cf7;background-color:#fff}.search-icon{position:absolute;left:18px;color:#4a6cf7;font-size:16px}.search-input{width:100%;padding:14px 20px 14px 50px;border:none;background:transparent;font-size:15px;color:#333}.search-input::placeholder{color:#9aa0a6}.participantes-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.participantes-table-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.participantes-table th{background-color:#f8f9fa;padding:14px 20px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #eaeaea;position:sticky;top:0;z-index:10}.participantes-table-body{overflow-y:auto;flex:1;max-height:400px}.participantes-table td{padding:14px 20px;border-bottom:1px solid #eaeaea;color:#333}.estado-badge{display:inline-block;padding:4px 10px;border-radius:50px;font-size:12px;font-weight:500;text-transform:capitalize}.estado-activo{background-color:#e6f7e6;color:#2e7d32}.estado-inactivo{background-color:#feeae6;color:#c62828}.estado-pendiente{background-color:#fff8e1;color:#f57c00}.no-results{display:flex;align-items:center;justify-content:center;height:200px;color:#666;font-style:italic;text-align:center;padding:0 20px}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#4a6cf7}.loading-spinner i{font-size:2rem;margin-bottom:10px}.error-message{display:flex;align-items:center;justify-content:center;height:200px;color:#c62828;text-align:center;padding:0 20px}@media (max-width: 768px){.modal-participantes{width:95%;max-height:95vh}.modal-header{padding:16px 20px}.tabs-nav{padding:0 16px}.tab-button{padding:14px 16px;font-size:.9rem}.search-container{padding:16px 20px}.search-input{padding:12px 40px 12px 45px;font-size:14px}.participantes-table th,.participantes-table td{padding:12px 16px;font-size:.9rem}}.participantes-table tbody tr:hover{background-color:#f5f7ff}.participantes-table{width:100%;border-collapse:collapse}.participantes-table th{background-color:#f5f5f5;padding:12px 15px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0}.participantes-table td{padding:12px 15px;border-bottom:1px solid #e0e0e0}.participantes-table tbody tr:last-child td{border-bottom:none}.search-hint{font-size:12px;color:#666;margin-top:8px;padding-left:20px;animation:fadeIn .3s ease-out}.acciones-rapidas{margin-top:2rem;margin-bottom:2rem}.acciones-rapidas h2{font-size:1.5rem;color:#333;margin-bottom:1.5rem;font-weight:600;border-left:4px solid #3f51b5;padding-left:10px}.acciones-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.accion-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:1.5rem;transition:all .3s ease;cursor:pointer;border-left:4px solid #3f51b5}.accion-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a}.accion-card h3{font-size:1.2rem;font-weight:600;margin-bottom:.5rem;color:#3f51b5}.accion-card p{color:#666;font-size:.9rem;margin-bottom:0}.accion-card i{font-size:1.5rem;color:#3f51b5;margin-bottom:1rem;display:block}.accion-card.crear-curso{border-left-color:#4caf50}.accion-card.crear-curso i,.accion-card.crear-curso h3{color:#4caf50}.accion-card.registrar-estudiante{border-left-color:#2196f3}.accion-card.registrar-estudiante i,.accion-card.registrar-estudiante h3{color:#2196f3}.accion-card.enrolar-estudiantes{border-left-color:#ff9800}.accion-card.enrolar-estudiantes i,.accion-card.enrolar-estudiantes h3{color:#ff9800}.accion-card.control-asistencia{border-left-color:#9c27b0}.accion-card.control-asistencia i,.accion-card.control-asistencia h3{color:#9c27b0}@media (max-width: 768px){.acciones-cards{grid-template-columns:1fr}.accion-card{padding:1.2rem}}.quick-actions{margin-top:2rem;margin-bottom:2rem}.quick-actions h3{font-size:1.5rem;color:#333;margin-bottom:1.5rem;font-weight:600;border-left:4px solid #3f51b5;padding-left:10px}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.quick-action-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:1.5rem;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center}.quick-action-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a}.quick-action-card .icon-container{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;background-color:#f5f5f5}.quick-action-card:nth-child(1) .icon-container{background-color:#4caf501a}.quick-action-card:nth-child(2) .icon-container{background-color:#2196f31a}.quick-action-card:nth-child(3) .icon-container{background-color:#ff98001a}.quick-action-card:nth-child(4) .icon-container{background-color:#9c27b01a}.quick-action-card i{font-size:1.8rem}.quick-action-card:nth-child(1) i{color:#4caf50}.quick-action-card:nth-child(2) i{color:#2196f3}.quick-action-card:nth-child(3) i{color:#ff9800}.quick-action-card:nth-child(4) i{color:#9c27b0}.quick-action-card h4{font-size:1.2rem;font-weight:600;margin-bottom:.5rem;color:#333}.quick-action-card p{color:#666;font-size:.9rem;margin-bottom:0}@media (max-width: 768px){.quick-actions-grid,.stats-grid{grid-template-columns:1fr}.quick-action-card,.stat-card{padding:1.2rem}}.loading-message{display:flex;justify-content:center;align-items:center;padding:2rem;background-color:#f8f9fa;border-radius:8px;margin:1rem 0}.loading-message p{font-size:1rem;color:#495057;margin:0}.curso-form-container{padding:2rem;max-width:800px;margin:0 auto}.curso-form{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.curso-form h2{color:#333;margin-bottom:1rem;font-size:1.75rem}.form-description{color:#666;margin-bottom:2rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input[type=text],.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#f8f9fa;height:42px}.url-prefix{color:#666;font-weight:400}.imagen-upload .upload-area{border:2px dashed #ddd;border-radius:4px;padding:2rem;text-align:center;cursor:pointer}.imagen-upload .upload-area:hover{border-color:#1a73e8}.imagen-upload p{color:#666;margin-bottom:1rem}.btn-upload{background-color:#6366f1;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;width:100%;max-width:200px}.btn-upload:hover{background-color:#5558dd}.imagen-preview{max-width:100%;max-height:200px;border-radius:4px}.btn-submit{background-color:#6366f1;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;width:100%;margin-top:1rem}.btn-submit:hover{background-color:#5558dd}.message{padding:1rem;margin-bottom:1rem;border-radius:4px;font-weight:500}.message.success{background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.message.error{background-color:#ffebee;color:#c62828;border:1px solid #ffcdd2}.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#f8f9fa;height:42px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px}.form-group select:focus{outline:none;border-color:#1a73e8}.form-group select:hover{border-color:#1a73e8}.form-group select option{padding:.75rem;font-size:1rem}@media (max-width: 768px){.curso-form-container{padding:1rem}.curso-form{padding:1.5rem}}.categoria-group{margin-bottom:1.5rem}.categoria-container{display:flex;gap:.5rem;align-items:center}.categoria-container select{flex:1;height:42px}.btn-add-categoria{background-color:#6366f1;color:#fff;border:none;border-radius:4px;width:42px;height:42px;min-width:42px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-add-categoria:hover{background-color:#5558dd}.btn-add-categoria i{font-size:1rem}.categoria-container select{width:calc(100% - 50px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px}.modal-content h3{margin-bottom:1.5rem;color:#333}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-cancel{background-color:#f1f3f4;color:#333;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer}.btn-confirm{background-color:#6366f1;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer}.btn-cancel:hover{background-color:#e3e5e6}.btn-confirm:hover{background-color:#5558dd}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:1.5rem;color:#1f2937;margin:0;font-weight:600}.close-button{background:none;border:none;font-size:24px;cursor:pointer;padding:5px 10px;color:#6b7280;transition:color .2s ease;border-radius:50%;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#1f2937;background-color:#f3f4f6}.curso-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#374151;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.btn-submit{background-color:#6366f1;color:#fff;padding:12px 24px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease;margin-top:10px}.btn-submit:hover{background-color:#4f46e5}.imagen-upload{border:2px dashed #d1d5db;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:border-color .2s ease}.imagen-upload:hover{border-color:#6366f1}.imagen-preview{max-width:100%;max-height:200px;object-fit:contain;margin-top:10px}.btn-upload{background-color:#f3f4f6;color:#374151;padding:8px 16px;border:1px solid #d1d5db;border-radius:4px;margin-top:10px;cursor:pointer;transition:all .2s ease}.btn-upload:hover{background-color:#e5e7eb}.categoria-group{position:relative}.categoria-container{display:flex;gap:10px}.btn-add-categoria{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:8px 12px;cursor:pointer;transition:all .2s ease}.btn-add-categoria:hover{background-color:#e5e7eb;border-color:#9ca3af}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.curso-form-container{background:#fff;padding:30px;border-radius:12px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 25px #0003;animation:modalFadeIn .3s ease-out}.calificaciones-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:24px;max-width:1200px;margin:0 auto}.calificaciones-container h2{color:#2c3e50;font-size:24px;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid #f0f2f5}.calificaciones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.calificaciones-section{margin-top:2rem}.calificaciones-table-container{overflow-x:auto}.calificaciones-tabla{width:100%;border-collapse:collapse;margin-top:1rem}.calificaciones-tabla th,.calificaciones-tabla td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.calificaciones-tabla th{background-color:#f8f9fa;font-weight:600;color:#333}.calificaciones-tabla input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px}.calificaciones-tabla input[type=number]{width:100px}.estado-badge{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.estado-badge.publicado{background-color:#e3fcef;color:#0d9488}.estado-badge.pendiente{background-color:#fff7ed;color:#c2410c}.form-actions{display:flex;justify-content:flex-end;margin-top:1rem}.btn{padding:8px 16px;border-radius:4px;border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px}.btn:disabled{opacity:.7;cursor:not-allowed}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:#34495e;font-size:16px}.form-group select{width:100%;padding:12px 16px;border:1px solid #dce0e6;border-radius:6px;background-color:#f8fafc;font-size:15px;color:#2c3e50;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232c3e50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db33}.form-group select:disabled{background-color:#f1f1f1;cursor:not-allowed;opacity:.7}.form-control{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-control:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}select.form-control{background-color:#fff}.calificaciones-forms-container{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;pointer-events:none}.instrucciones-container{background-color:#f8fafc;border-radius:8px;padding:20px;margin-bottom:24px;border-left:4px solid #3498db}.instrucciones-container h3{color:#2c3e50;font-size:18px;margin-bottom:16px}.instrucciones-container ol{padding-left:24px;margin-bottom:16px}.instrucciones-container li{margin-bottom:10px;color:#34495e;line-height:1.5}.btn-descargar-plantilla{background-color:#3498db;color:#fff;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;transition:all .2s ease}.btn-descargar-plantilla:hover{background-color:#2980b9;transform:translateY(-1px)}.btn-descargar-plantilla i{margin-right:8px}.file-upload-container{margin-bottom:24px;text-align:center}.file-upload-label{display:inline-block;background-color:#f8fafc;color:#2c3e50;border:2px dashed #dce0e6;border-radius:6px;padding:24px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;max-width:400px}.file-upload-label:hover{border-color:#3498db;background-color:#f0f7fc}.file-upload-label:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900;display:block;font-size:32px;margin-bottom:12px;color:#3498db}.file-input{display:none}.calificaciones-preview{margin-top:32px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.calificaciones-preview h3{background-color:#f8fafc;color:#2c3e50;padding:16px 20px;margin:0;font-size:18px;border-bottom:1px solid #dce0e6}.table-container{overflow-x:auto;max-height:400px;overflow-y:auto}.calificaciones-preview table{width:100%;border-collapse:collapse}.calificaciones-preview th{background-color:#f8fafc;color:#34495e;font-weight:600;text-align:left;padding:14px 20px;border-bottom:1px solid #dce0e6;position:sticky;top:0;z-index:10}.calificaciones-preview td{padding:12px 20px;border-bottom:1px solid #f0f2f5;color:#2c3e50}.calificaciones-preview tr:nth-child(2n){background-color:#f8fafc}.calificaciones-preview tr:hover{background-color:#f0f7fc}.actions{padding:16px 20px;background-color:#f8fafc;border-top:1px solid #dce0e6;display:flex;justify-content:flex-end}.btn-guardar{background-color:#27ae60;color:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-guardar:hover{background-color:#219653;transform:translateY(-1px)}.btn-guardar:disabled{background-color:#a0a0a0;cursor:not-allowed}.mensaje{margin-top:20px;padding:16px;border-radius:6px;font-weight:500}.mensaje.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.mensaje.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.loading-message{color:#3498db;padding:12px;font-style:italic}.error-message{color:#e74c3c;padding:12px}.info-message{background-color:#e1f5fe;color:#0277bd;padding:12px 16px;border-radius:6px;display:flex;align-items:center}.info-message i{margin-right:8px;font-size:18px}.reload-btn{background-color:#0277bd;color:#fff;border:none;border-radius:4px;padding:6px 12px;margin-left:12px;cursor:pointer;font-size:13px;transition:all .2s ease}.reload-btn:hover{background-color:#01579b}@media (max-width: 768px){.calificaciones-container{padding:16px}.calificaciones-preview th,.calificaciones-preview td{padding:10px 12px}.btn-guardar{width:100%}.file-upload-label{padding:16px}}.mensajes-profesor-container{padding:20px}.selector-curso{margin-bottom:20px}.selector-curso select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.mensajes-lista{display:flex;flex-direction:column;gap:20px}.mensaje-item{position:relative;padding:16px;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:15px;box-shadow:0 1px 3px #0000000d;background-color:#fff}.mensaje-item:hover{box-shadow:0 4px 10px #00000014;border-color:#d0d0d0}.mensaje-header{text-align:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eaeaea}.mensaje-info{display:flex;flex-direction:column;gap:4px}.remitente-nombre{font-size:16px;font-weight:600;color:#2c3e50;margin:0 0 5px}.curso-badge{display:inline-block;background-color:#f1f8ff;color:#0366d6;padding:3px 8px;border-radius:12px;font-size:12px;margin-bottom:5px;font-weight:500}.mensaje-fecha{color:#7f8c8d;font-size:12px;display:block}.curso-nombre{color:#3498db;font-weight:500;display:flex;align-items:center;gap:5px}.curso-nombre i,.mensaje-fecha i{font-size:10px;opacity:.8}.mensaje-botones{position:static;display:flex;justify-content:flex-end;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid #eee}.btn-editar,.btn-eliminar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;border:none}.btn-editar{background-color:#3498db;color:#fff}.btn-editar:hover{background-color:#2980b9;transform:scale(1.1)}.btn-eliminar{background-color:#ff5252;color:#fff}.btn-eliminar:hover{background-color:#e53935;transform:scale(1.1)}.btn-editar i,.btn-eliminar i{font-size:14px}.mensaje-contenido{color:#333;line-height:1.6;font-size:14px;text-align:left;border-left:3px solid #eaeaea;padding:0 5px 0 12px;margin-bottom:10px;min-height:40px}.badge-editado{font-style:italic;color:#6c757d;font-size:11px;margin-left:4px}.mensaje-footer{margin-top:15px}.tipo-badge{background:#e9ecef;padding:4px 8px;border-radius:4px;font-size:12px;color:#495057}.error-message{background:#f8d7da;color:#721c24;padding:10px;border-radius:4px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.loading-spinner{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;color:#666}.no-mensajes{text-align:center;color:#666;padding:20px}.mensajes-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:1px solid #ddd;padding-bottom:10px}.tab-btn{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:15px;color:#666;border-radius:4px 4px 0 0;transition:all .3s ease}.tab-btn:hover{color:#007bff;background-color:#f8f9fa}.tab-btn.active{color:#007bff;border-bottom:3px solid #007bff;font-weight:700;background-color:transparent}.tab-btn i{margin-right:8px}.remitente{font-weight:700;color:#666}.filtro-curso{margin:20px 0;max-width:300px}.select-curso{width:100%;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;color:#2c3e50;background-color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 1px 2px #0000000d}.select-curso:hover{border-color:#c0c4cc}.select-curso:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}@media (max-width: 768px){.mensaje-header{flex-direction:column;gap:8px}.mensaje-info{width:100%}.btn-eliminar{align-self:flex-end}}.editar-mensaje-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px;margin-top:20px;margin-bottom:20px;border:1px solid #e0e0e0}.editar-mensaje-form h3{font-size:18px;margin-bottom:20px;color:#333;border-bottom:1px solid #eee;padding-bottom:10px;text-align:center}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#333}.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;resize:vertical;min-height:100px}.info-valor{font-weight:500;color:#555;margin-left:10px}.buttons-group{display:flex;gap:10px;margin-top:20px;justify-content:center}.btn-guardar{background-color:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.btn-guardar:hover{background-color:#388e3c}.btn-guardar:disabled{background-color:#a5d6a7;cursor:not-allowed}.btn-cancelar{background-color:#f44336;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.btn-cancelar:hover{background-color:#d32f2f}.btn-cancelar:disabled{background-color:#ef9a9a;cursor:not-allowed}.certificado-editor{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;max-width:100%;overflow-x:auto}.editor-toolbar{display:flex;gap:15px;margin-bottom:20px;padding:15px;background:#f9fafb;border-radius:8px;align-items:center;flex-wrap:wrap}.plantilla-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:14px;min-width:200px;cursor:pointer}.plantilla-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}.certificado-template{width:1024px;height:768px;padding:40px;background:#fff;position:relative;margin:20px auto;box-shadow:0 4px 6px #0000001a}.certificado-content{width:100%;height:100%;padding:40px;text-align:center;position:relative}.certificado-content.moderna{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:10px;border:2px solid #4f46e5}.certificado-content.clasica{background-color:#fff9f0;border:double 6px #c4a484;background-image:url(/path-to-your-watermark.png);background-position:center;background-repeat:no-repeat;background-size:60%;background-blend-mode:lighten}.certificado-header{margin-bottom:40px}.certificado-logo{width:120px;height:auto;margin-bottom:20px}.certificado-header h1{font-size:2.5em;color:#1f2937;margin:20px 0;font-family:Playfair Display,serif}.certificado-body{margin:40px 0;line-height:1.6}.certificado-texto{font-size:1.2em;color:#4b5563;margin:10px 0}.certificado-nombre{font-size:2.5em;color:#2c3e50;margin:20px 0;font-family:Playfair Display,serif;font-weight:700}.certificado-curso{font-size:1.8em;color:#34495e;margin:20px 0;font-style:italic}.certificado-fecha{font-style:italic;margin:30px 0;color:#6b7280}.firma-container{display:flex;flex-direction:column;align-items:center;margin-top:60px}.firma{width:150px;height:auto;margin-bottom:10px;opacity:.9}.firma-container p{font-size:1.1em;color:#4b5563;margin-top:10px}.btn-primary{padding:10px 20px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn-primary:hover{background:#4338ca;transform:translateY(-1px)}.btn-primary:disabled{background:#c7d2fe;cursor:not-allowed;transform:none}.error-message{padding:12px;background:#fee2e2;color:#991b1b;border-radius:6px;margin:10px 0}@media (max-width: 1024px){.certificado-template{transform:scale(.8);transform-origin:top center}}@media (max-width: 768px){.certificado-template{transform:scale(.6)}.editor-toolbar{flex-direction:column;align-items:stretch}.plantilla-select{width:100%}}.upload-container{position:relative}.btn-secondary{padding:10px 20px;background:#fff;color:#4f46e5;border:1px solid #4f46e5;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-secondary i{font-size:16px}.certificado-content.personalizada{position:relative;background-color:transparent;border:none;height:100%;width:100%}.certificado-overlay{position:relative;z-index:2;height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:40px;color:#000}.certificado-content.personalizada .certificado-header,.certificado-content.personalizada .certificado-body,.certificado-content.personalizada .certificado-footer{background-color:#fffc;padding:15px;border-radius:8px}.certificado-content.personalizada .certificado-nombre,.certificado-content.personalizada .certificado-curso{text-shadow:1px 1px 2px rgba(255,255,255,.8)}.certificado-template{background:transparent}.editable{background:transparent;border:none;border-bottom:1px dashed transparent;text-align:center;width:100%;padding:5px;margin:5px 0;transition:all .3s ease}.editable:hover{border-bottom:1px dashed #4f46e5}.editable:focus{outline:none;border-bottom:1px solid #4f46e5;background:#ffffff1a}.certificado-titulo.editable{font-size:2.5em;font-weight:700;color:#1f2937}.certificado-subtitulo.editable{font-size:1.8em;color:#4b5563}.certificado-nombre.editable{font-size:2.5em;font-weight:700;color:#2c3e50;font-family:Playfair Display,serif}.certificado-curso.editable{font-size:1.8em;font-style:italic;color:#34495e}.certificado-texto.editable{font-size:1.2em;color:#4b5563}.certificado-fecha.editable{font-size:1.1em;color:#6b7280;font-style:italic}.certificado-content.personalizada{background-color:transparent!important;border:none!important}.certificado-overlay{padding:40px;display:flex;flex-direction:column;justify-content:space-between;min-height:100%}.certificado-content.personalizada .certificado-logo,.certificado-content.personalizada .firma{display:none}.certificado-content.personalizada .certificado-header,.certificado-content.personalizada .certificado-body{background:transparent;padding:15px}.campo-editable-container{position:relative;display:inline-block;cursor:move;padding:5px;border:1px dashed transparent;transition:all .3s ease}.campo-editable-container:hover{border-color:#4f46e5}.campo-controles{position:absolute;top:-20px;right:-20px;display:none;background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a}.campo-editable-container:hover .campo-controles{display:flex}.btn-eliminar{padding:2px 6px;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.btn-eliminar:hover{background:#dc2626}.campos-buttons{display:flex;gap:8px}.btn-secondary{padding:8px 16px;background:#fff;border:1px solid #4f46e5;color:#4f46e5;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-secondary:hover{background:#f3f4f6}.certificado-overlay{position:relative;min-height:600px}.editable{background:transparent;border:none;text-align:center;padding:5px;margin:0;transition:all .3s ease}.editable:focus{outline:none;background:#ffffff1a}.editable.titulo{font-size:2.5em;font-weight:700;color:#1f2937}.editable.subtitulo{font-size:1.8em;color:#4b5563}.editable.nombre{font-size:2.5em;font-weight:700;color:#2c3e50}.editable.texto{font-size:1.2em;color:#4b5563}.editable.fecha{font-size:1.1em;color:#6b7280;font-style:italic}.asignacion-container{display:flex;gap:10px;align-items:center;padding:10px;background:#f9fafb;border-radius:8px}.estudiante-select,.curso-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;min-width:200px}.estudiante-select:focus,.curso-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}.seleccion-container{display:flex;gap:20px;margin-bottom:20px}.selector-grupo{display:flex;flex-direction:column;gap:5px}.selector-grupo label{font-size:.9em;color:#4b5563}.curso-select:disabled,.estudiante-select:disabled{background-color:#f3f4f6;cursor:not-allowed}.error-message{color:#dc2626;background-color:#fee2e2;padding:8px 12px;border-radius:4px;margin:10px 0}.plantilla-controls{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.upload-plantilla{background:#f9fafb;padding:30px;border-radius:8px;border:2px dashed #d1d5db;text-align:center;cursor:pointer;transition:all .3s ease}.upload-plantilla:hover{border-color:#4f46e5;background:#f5f5f5}.upload-plantilla.dragging{border-color:#4f46e5;background:#eef2ff}.upload-content{display:flex;flex-direction:column;align-items:center;gap:10px}.upload-icon{font-size:2.5em;color:#6b7280;margin-bottom:10px}.upload-hint{color:#4b5563;font-size:1em;margin:0}.upload-format{color:#9ca3af;font-size:.875em;margin:0}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.upload-plantilla.dragging{animation:pulse 1.5s infinite}.certificado-content{width:100%;height:100%;min-height:600px;position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.certificado-content.personalizada{background-size:cover;background-position:center;background-repeat:no-repeat}.certificado-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.toggle-container{display:flex;margin-bottom:1rem;border-radius:4px;overflow:hidden;border:1px solid #ddd}.toggle-btn{flex:1;padding:.5rem 1rem;background-color:#f8f9fa;border:none;cursor:pointer;transition:all .3s ease}.toggle-btn.active{background-color:#6f42c1;color:#fff}.progress-container{margin:1rem 0;padding:.5rem;background-color:#f8f9fa;border-radius:4px}.progress-bar{height:12px;background-color:#e9ecef;border-radius:6px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background-color:#6f42c1;transition:width .3s ease}.progress-text{font-size:.875rem;color:#6c757d;text-align:center}.error-message{background-color:#f8d7da;color:#721c24;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid #f5c6cb;border-radius:.25rem;text-align:center}.asistencias-container{padding:2rem;max-width:1200px;margin:0 auto}.asistencias-header{margin-bottom:2rem}.asistencias-header h1{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.asistencias-header p{color:#6b7280;font-size:.875rem}.filtros-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.filtro-item{display:flex;flex-direction:column;gap:.5rem}.filtro-item label{font-size:.875rem;font-weight:500;color:#374151}.filtro-item select,.filtro-item input{padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#1f2937}.tabla-asistencias{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}th{background-color:#f9fafb;font-weight:500;color:#374151;font-size:.875rem}td{color:#1f2937;font-size:.875rem}.estado-asistencia{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.presente{background-color:#dcfce7;color:#166534}.loading{text-align:center;padding:2rem;color:#6b7280}@media (max-width: 640px){.filtros-container{grid-template-columns:1fr}.tabla-asistencias{overflow-x:auto}}.gestion-estudiantes-container{padding:2rem;max-width:1100px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 3px 15px #00000014;transition:all .3s ease}.gestion-estudiantes-container h2{color:#1a237e;text-align:center;margin-bottom:2rem;font-size:1.8rem;font-weight:600;position:relative;padding-bottom:.8rem}.gestion-estudiantes-container h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:3px;background:linear-gradient(to right,#1a237e,#5c6bc0);border-radius:3px}.curso-selector{margin-bottom:2rem;background:#f8f9fa;padding:1.5rem;border-radius:10px;box-shadow:0 2px 8px #0000000a}.curso-selector label{display:block;margin-bottom:.8rem;color:#333;font-weight:500;font-size:1.05rem}.curso-selector select{width:100%;padding:.9rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;background-color:#fff;transition:all .3s ease;color:#424242;box-shadow:0 1px 3px #0000000d;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem}.curso-selector select:focus{border-color:#1a237e;outline:none;box-shadow:0 0 0 3px #1a237e1a}.curso-selector select:disabled{background-color:#f5f5f5;cursor:not-allowed}.estudiantes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.estudiantes-header h3{margin:0;color:#1a237e;font-size:1.4rem;font-weight:500}.busqueda-container{position:relative;width:300px;max-width:100%}.busqueda-input{width:100%;padding:.8rem 2.5rem .8rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.busqueda-input:focus{border-color:#1a237e;outline:none;box-shadow:0 0 0 3px #1a237e1a}.clear-search{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9e9e9e;font-size:1.2rem;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.clear-search:hover{color:#f44336}.estudiantes-table-container{overflow-x:auto;margin-bottom:2rem;border-radius:10px;box-shadow:0 2px 10px #0000000d}.estudiantes-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;overflow:hidden}.estudiantes-table th,.estudiantes-table td{padding:1rem 1.2rem;text-align:left}.estudiantes-table th{background-color:#f5f7fa;font-weight:600;color:#424242;border-bottom:2px solid #e0e0e0;position:sticky;top:0;z-index:10}.estudiantes-table th:first-child{border-top-left-radius:10px}.estudiantes-table th:last-child{border-top-right-radius:10px}.estudiantes-table tr:nth-child(2n){background-color:#f9fafc}.estudiantes-table tr:hover{background-color:#f0f4ff}.estudiantes-table td{border-bottom:1px solid #eeeeee;color:#616161}.btn-eliminar{background-color:#f44336;color:#fff;border:none;border-radius:6px;padding:.6rem .8rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #f4433633}.btn-eliminar:hover{background-color:#e53935;box-shadow:0 3px 8px #f443364d;transform:translateY(-1px)}.btn-eliminar:active{transform:translateY(0);box-shadow:0 1px 3px #f4433633}.btn-eliminar i{font-size:1rem}.loading-indicator{padding:2rem;text-align:center;color:#757575;background-color:#f9f9f9;border-radius:10px;margin-bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.no-estudiantes{padding:2.5rem;text-align:center;color:#757575;background-color:#f9f9f9;border-radius:10px;margin-bottom:2rem;border:1px dashed #e0e0e0;font-size:1.05rem}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background-color:#fff;border-radius:12px;padding:2rem;width:450px;max-width:90%;box-shadow:0 5px 25px #00000026;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-dialog h4{margin-top:0;color:#1a237e;font-size:1.4rem;font-weight:600;margin-bottom:1rem}.confirm-dialog p{color:#616161;margin-bottom:.8rem;line-height:1.5}.warning-text{color:#f44336;font-size:.9rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.warning-text:before{content:"⚠";font-size:1.1rem}.confirm-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.btn-cancelar,.btn-confirmar{padding:.8rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;font-size:.95rem}.btn-cancelar{background-color:#f5f5f5;color:#424242}.btn-confirmar{background-color:#f44336;color:#fff;box-shadow:0 2px 5px #f4433633}.btn-cancelar:hover{background-color:#eee}.btn-confirmar:hover{background-color:#e53935;box-shadow:0 3px 8px #f443364d;transform:translateY(-1px)}.btn-cancelar:disabled,.btn-confirmar:disabled{opacity:.7;cursor:not-allowed}.message{padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:8px;font-size:.95rem;display:flex;align-items:center;position:relative;animation:slideDown .3s ease;box-shadow:0 2px 8px #00000014}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.message:before{margin-right:.8rem;font-size:1.2rem}.message.success{background-color:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.message.success:before{content:"✔";color:#4caf50}.message.error{background-color:#ffebee;border-left:4px solid #f44336;color:#c62828}.message.error:before{content:"✖";color:#f44336}.message.warning{background-color:#fff8e1;border-left:4px solid #ffc107;color:#ff8f00}.message.warning:before{content:"⚠";color:#ffc107}.info-message{color:#0c5460;background-color:#d1ecf1;border-left:4px solid #17a2b8;padding:1rem 1.2rem;margin-top:.8rem;border-radius:8px;font-size:.9rem;display:flex;align-items:center}.info-message:before{content:"ℹ";margin-right:.8rem;font-size:1.2rem;color:#17a2b8}.estudiantes-enrolados-container{margin-top:2.5rem;padding:1.5rem;background-color:#f8f9fa;border-radius:10px;border:1px solid #e9ecef;box-shadow:0 2px 8px #0000000a}.estudiantes-enrolados-container h3{margin-bottom:1.2rem;color:#1a237e;font-size:1.2rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.estudiantes-enrolados-container h3:before{content:"📋";font-size:1.3rem}.estudiantes-enrolados-list{max-height:300px;overflow-y:auto;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000d}.estudiante-enrolado-item{display:flex;justify-content:space-between;padding:.8rem 1.2rem;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.estudiante-enrolado-item:hover{background-color:#f5f7fa}.estudiante-enrolado-item:last-child{border-bottom:none}.estudiante-nombre{font-weight:500;color:#424242}.estudiante-email{color:#757575;font-size:.9rem}@media (max-width: 768px){.gestion-estudiantes-container{padding:1.5rem}.estudiantes-header{flex-direction:column;align-items:flex-start}.busqueda-container{width:100%}.confirm-dialog{padding:1.5rem}.estudiantes-table th,.estudiantes-table td{padding:.8rem}.btn-eliminar{padding:.5rem .7rem}}@media (max-width: 480px){.confirm-actions{flex-direction:column;gap:.8rem}.btn-cancelar,.btn-confirmar{width:100%}}:root{--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #3498db;--success-color: #2ecc71;--warning-color: #f1c40f;--danger-color: #e74c3c;--light-gray: #f8f9fa;--border-color: #dee2e6}.dashboard-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 4px #0000001a}.bienvenida-header{margin-bottom:2rem}.bienvenida-titulo h1{color:var(--primary-color);font-size:2rem;margin-bottom:.5rem}.fecha-actual{color:var(--secondary-color);font-size:1rem}.estadistica-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:transform .3s ease}.estadistica-card:hover{transform:translateY(-5px)}.estadistica-valor{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin:1rem 0}.estadistica-label{color:var(--secondary-color);font-size:1rem}.btn-accion{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .3s ease}.form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;transition:all .3s ease}.form-control:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 2px #3498db1a}.material-card,.recurso-card,.reporte-card,.stat-card{background:#fff;border-radius:10px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000000d}.material-header,.recurso-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.material-header i,.recurso-header i{font-size:1.5rem;color:var(--accent-color)}.tabla-datos{width:100%;border-collapse:collapse}.tabla-datos th,.tabla-datos td{padding:1rem;border-bottom:1px solid var(--border-color);text-align:left}.tabla-datos th{background:var(--light-gray);font-weight:600;color:var(--primary-color)}@media (max-width: 768px){.dashboard-container{padding:1rem}.estadisticas-grid{grid-template-columns:1fr}.btn-accion{width:100%;justify-content:center}}.estadisticas-usuarios{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.stats-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;text-align:center}.stats-card h3{color:#666;margin-bottom:1rem;font-size:1.1rem}.stats-value{font-size:2rem;font-weight:700;color:#2c3e50}.usuarios-section{padding:1.5rem}.usuarios-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.usuarios-actions{display:flex;gap:1rem}.sidebar{width:260px;height:100vh;background-color:#1a237e;color:#fff;padding:20px 0;display:flex;flex-direction:column}.logo{padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:20px 0}.nav-item{display:flex;align-items:center;padding:12px 20px;color:#fff;text-decoration:none;cursor:pointer;transition:background-color .3s}.nav-item:hover{background-color:#ffffff1a}.nav-item.active{background-color:#fff3}.nav-item i{margin-right:10px;width:20px;text-align:center}.submenu{background-color:#0003;padding:5px 0}.submenu-item{padding:8px 20px 8px 50px}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}.logout-btn{color:#ff5252}.logout-btn:hover{background-color:#ff52521a}.listado-usuarios-container{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.filtros{display:flex;gap:15px;margin-bottom:20px;align-items:center}.filtro-select,.busqueda-input{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;color:#333}.filtro-select{min-width:160px;background-color:#fff}.busqueda-input{min-width:240px}.usuarios-tabla{width:100%;border-collapse:separate;border-spacing:0}.usuarios-tabla th{background-color:#f8f9fa;color:#495057;font-weight:600;padding:12px 15px;text-align:left;border-bottom:2px solid #dee2e6}.usuarios-tabla td{padding:12px 15px;border-bottom:1px solid #e9ecef;color:#495057}.usuarios-tabla tr:hover{background-color:#f8f9fa}.estado{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.activo{background-color:#e3fcef;color:#0a7b3d}.inactivo{background-color:#fff5f5;color:#e53e3e}.acciones{display:flex;gap:8px}.btn-editar,.btn-eliminar{padding:6px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;background:none}.btn-editar{color:#4299e1}.btn-eliminar{color:#e53e3e}.btn-editar:hover{background-color:#ebf8ff}.btn-eliminar:hover{background-color:#fff5f5}.message{padding:12px 16px;margin-bottom:20px;border-radius:4px;font-size:14px;display:flex;align-items:center;justify-content:center}.message.success{background-color:#e3fcef;color:#0a7b3d;border:1px solid #c6f6d5}.message.error{background-color:#fff5f5;color:#e53e3e;border:1px solid #fed7d7}@media (max-width: 768px){.filtros{flex-direction:column;align-items:stretch}.filtro-select,.busqueda-input{width:100%}}.rol-select{padding:4px 8px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px}.rol-select:hover{border-color:#999}.header-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.btn-exportar{background-color:#28a745;color:#fff;border:none;padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;transition:all .2s ease;background:none;color:#4299e1}.btn-exportar:hover{background-color:#ebf8ff}.btn-exportar i{font-size:14px}.modal-content{background:#fff;padding:1.5rem;border-radius:8px;width:90%;max-width:600px;box-shadow:0 2px 10px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:1.25rem;color:#333}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0}.compact-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:1rem;margin-bottom:.5rem}.form-group{flex:1;margin-bottom:.5rem}.form-group.full-width{width:100%}.form-group label{display:block;margin-bottom:.25rem;color:#555;font-size:.9rem}.form-control{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.form-control:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.btn{padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;border:none;transition:all .2s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}@media (max-width: 576px){.form-row{flex-direction:column;gap:.5rem}.modal-content{padding:1rem;margin:1rem;width:auto}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 2px 10px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.close-button:hover{color:#000}.modal-body{margin-bottom:20px}.detail-item{margin-bottom:15px}.detail-item strong{display:block;margin-bottom:5px;color:#666}.detail-item pre{background:#f5f5f5;padding:10px;border-radius:4px;overflow-x:auto;white-space:pre-wrap}.modal-footer{text-align:right;padding-top:15px;border-top:1px solid #eee}.btn-cerrar{padding:8px 16px;background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.btn-cerrar:hover{background-color:#e0e0e0}.view-details-btn{padding:8px 16px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;font-size:.9em;display:flex;align-items:center;gap:5px}.view-details-btn:hover{background-color:#2980b9;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.view-details-btn:active{transform:translateY(0);box-shadow:none}.view-details-btn i{font-size:.9em}.audit-filters{display:flex;gap:.5rem;margin-bottom:1rem;padding:.5rem;background:#f8fafc;border-radius:8px;align-items:center;flex-wrap:wrap}.filter-select,.date-filter{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;min-width:180px;background-color:#fff;font-size:.9rem;color:#4a5568;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.filter-select:hover,.date-filter:hover{border-color:#cbd5e0}.filter-select:focus,.date-filter:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.clear-filters-btn{padding:2px 6px;background-color:#6366f1;color:#fff;border:none;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:2px;font-size:.7rem;font-weight:500;transition:all .2s ease;height:20px;width:fit-content;margin-left:8px;box-shadow:0 1px 2px #0000000d}.clear-filters-btn:hover{background-color:#4f46e5}.clear-filters-btn:active{background-color:#4338ca;transform:translateY(1px)}.clear-filters-btn i{font-size:.65rem;color:#fff}.filter-group{margin-right:3rem}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-label{font-size:.85rem;color:#64748b;font-weight:500}@media (max-width: 768px){.audit-filters{flex-direction:column;align-items:stretch;padding:.75rem}.filter-select,.date-filter{width:100%}.clear-filters-btn{position:static;transform:none;margin-left:auto;margin-top:.5rem}.filter-group{margin-right:0}}.audit-modal{max-width:700px}.audit-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:1rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:.85rem;color:#64748b;font-weight:500}.detail-value{font-size:1rem;color:#1e293b}.detail-card{background:#f8fafc;border-radius:6px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem;border-bottom:1px solid #e2e8f0}.detail-row:last-child{border-bottom:none}.detail-key{font-weight:500;color:#64748b;flex:0 0 30%}.view-details-btn{padding:6px;background-color:#e2e8f0;color:#475569;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.view-details-btn:hover{background-color:#cbd5e0;transform:translateY(-1px)}.view-details-btn i{font-size:.9rem}.action-badge{padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:500;text-transform:capitalize;display:inline-block}.action-badge.create{background-color:#dcfce7;color:#166534}.action-badge.update{background-color:#e0f2fe;color:#075985}.action-badge.delete{background-color:#fee2e2;color:#991b1b}@media (max-width: 768px){.audit-detail-grid{grid-template-columns:1fr}.detail-row{flex-direction:column;gap:.5rem}.detail-key{flex:0 0 100%}}.avance-container{padding:2rem;max-width:1200px;margin:0 auto}.avance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background-color:#f8f9fa;border-radius:8px}.header-content h1{margin-bottom:.5rem;font-size:1.8rem}.header-content p{margin:0;color:#6c757d}.download-button{display:flex;align-items:center;justify-content:center;background-color:#6f42c1;color:#fff;border:none;border-radius:4px;padding:.75rem 1.25rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap;min-width:180px;max-width:220px}.download-button:hover{background-color:#5a32a3}.download-icon{width:20px;height:20px;margin-right:8px}.info-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.info-section h2{font-size:1.25rem;font-weight:500;color:#1f2937;margin-bottom:1rem}.info-items{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;align-items:flex-start}.icon-container{flex-shrink:0;width:2rem;height:2rem;margin-right:.75rem}.info-icon{width:1.5rem;height:1.5rem}.success .info-icon{color:#10b981}.info .info-icon{color:#3b82f6}.info-content h3{font-size:.875rem;font-weight:500;color:#1f2937;margin-bottom:.25rem}.info-content p{font-size:.875rem;color:#6b7280}@media (max-width: 768px){.avance-header{flex-direction:column;align-items:flex-start}.header-content{margin-bottom:1rem;width:100%}.download-button{width:100%;max-width:none}}.ver-asignaciones-container{padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.asignaciones-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:20px}.asignaciones-header h2{color:#333;font-size:1.5rem;margin:0}.asignaciones-table-container{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;position:relative}.asignaciones-table{width:100%;border-collapse:collapse;margin-top:1rem}.asignaciones-table th,.asignaciones-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.asignaciones-table th{background-color:#f8f9fa;font-weight:600;color:#495057}.asignaciones-table tr:hover{background-color:#f8f9fa}.estado-badge{padding:4px 8px;border-radius:4px;font-size:.875rem;font-weight:500}.estado-badge.activo{background-color:#e3fcef;color:#0a7b3d}.estado-badge.inactivo{background-color:#ffe5e5;color:#cf0000}.error{color:#dc3545;padding:20px;text-align:center;background-color:#ffe5e5;border-radius:4px;margin:10px 0}.filtro-container{margin-top:1rem}.filtro-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;width:300px;font-size:.9rem}.btn-eliminar{background-color:#dc3545;color:#fff;border:none;padding:.5rem;border-radius:4px;cursor:pointer;transition:background-color .3s}.mensaje-asignacion{padding:10px 20px;border-radius:4px;text-align:center;margin:10px 0;animation:fadeInOut 3s forwards;width:100%}.mensaje-asignacion.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.mensaje-asignacion.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.asignar-container{padding:20px;max-width:1200px;margin:0 auto}.asignar-container h2{margin-bottom:20px;color:#333}.asignar-form{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-grid{display:grid;grid-template-columns:1fr 2fr;gap:20px;margin-bottom:20px}.form-section{padding:20px;background:#f8f9fa;border-radius:8px}.form-section h3{margin-bottom:15px;color:#333}.curso-select,.search-input{width:100%;padding:10px;margin:10px 0;border:1px solid #ddd;border-radius:4px}.asignacion-masiva{margin:15px 0;display:flex;align-items:center;gap:10px}.profesores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:15px;max-height:400px;overflow-y:auto}.profesor-card{background:#fff;padding:15px;border-radius:6px;border:1px solid #ddd;cursor:pointer;transition:all .3s ease}.profesor-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.profesor-card.selected{background:#e3f2fd;border-color:#2196f3}.profesor-card h4{margin:0 0 5px;color:#333}.profesor-card p{margin:0;color:#666;font-size:.9em}.btn-asignar{background:#6f42c1;color:#fff;padding:12px 24px;border:none;border-radius:4px;cursor:pointer;font-size:1em;width:100%}.btn-asignar:disabled{background:#ccc;cursor:not-allowed}.btn-asignar:hover:not(:disabled){background:#5a32a3}.message{margin-top:15px;padding:10px;border-radius:4px;text-align:center}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.no-profesores{grid-column:1 / -1;text-align:center;padding:20px;color:#666}.asignacion-toggle{margin-top:15px;padding:10px;background:#f8f9fa;border-radius:4px}.asignacion-toggle label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-container{position:absolute;top:10px;right:10px}.checkbox-container input[type=checkbox]{width:18px;height:18px;cursor:pointer}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.mensaje-local{padding:10px 20px;border-radius:4px;text-align:center;margin:10px 0;animation:fadeInOut 3s forwards}.mensaje-local.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.mensaje-local.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes fadeInOut{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}.cursos-container{padding:1.5rem;background-color:#f8f9fa;border-radius:8px;box-shadow:0 1px 3px #0000001a}.cursos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.cursos-header h2{font-size:1.5rem;color:#1a202c;margin:0}.btn-nuevo-curso{display:flex;align-items:center;padding:.5rem 1rem;background-color:#4a6cf7;color:#fff;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-nuevo-curso i{margin-right:.5rem}.btn-nuevo-curso:hover{background-color:#3c57de}.cursos-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.search-box{position:relative;flex:1;min-width:200px}.search-box i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6b7280}.search-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem}.filter-select{padding:.5rem 2rem .5rem .75rem;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;font-size:.875rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cursos-table{overflow-x:auto;background-color:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d}.cursos-table table{width:100%;border-collapse:collapse}.cursos-table th{padding:.75rem 1rem;background-color:#f9fafb;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;text-align:left;color:#6b7280;border-bottom:1px solid #e5e7eb}.cursos-table td{padding:1rem;border-bottom:1px solid #e5e7eb;vertical-align:top}.cursos-table tr:last-child td{border-bottom:none}.cursos-table tr:hover{background-color:#f9fafb}.curso-info{display:flex;flex-direction:column}.curso-nombre{font-weight:500;color:#1a202c;margin-bottom:.25rem}.curso-descripcion{font-size:.875rem;color:#6b7280;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.estado-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-align:center;min-width:80px}.estado-badge.activo{background-color:#d1fae5;color:#047857;border:1px solid #10b981}.estado-badge.oculto{background-color:#fee2e2;color:#b91c1c;border:1px solid #ef4444}.estado-badge.borrador,.estado-badge.no-estado{background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.estado-badge.actualizando{position:relative;background-color:#f3f4f6;color:#6b7280;animation:pulse 1.5s infinite}.acciones{display:flex;gap:.5rem;justify-content:flex-end}.btn-accion{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-accion.editar{background-color:#e0f2fe;color:#efefef}.btn-accion.editar:hover{background-color:#e7e7e7}.btn-accion.eliminar{background-color:#fee2e2;color:#b91c1c}.btn-accion.eliminar:hover{background-color:#fecaca}.btn-accion.visibilidad.activo{background-color:#d1fae5;color:#047857}.btn-accion.visibilidad.activo:hover{background-color:#a7f3d0}.btn-accion.visibilidad.oculto{background-color:#fee2e2;color:#b91c1c}.btn-accion.visibilidad.oculto:hover{background-color:#fecaca}.btn-accion.deshabilitado{opacity:.5;cursor:not-allowed}.cursos-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.btn-page{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#6b7280;cursor:pointer;transition:all .2s}.btn-page:hover{background-color:#f3f4f6}.btn-page.active{background-color:#4a6cf7;color:#fff;border-color:#4a6cf7}@media (max-width: 768px){.cursos-header{flex-direction:column;align-items:flex-start;gap:1rem}.cursos-filters{flex-direction:column}.search-box,.filter-select{width:100%}.acciones{flex-wrap:wrap}}.cursos-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.cursos-empty-icon{font-size:3rem;color:#d1d5db;margin-bottom:1rem}.cursos-empty-title{font-size:1.25rem;font-weight:600;color:#1a202c;margin-bottom:.5rem}.cursos-empty-description{color:#6b7280;margin-bottom:1.5rem;max-width:400px}.reportes-container{padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:800px;margin:20px auto;text-align:center}.reportes-container h2{font-size:1.8rem;color:#333;margin-bottom:30px;text-align:center}.reportes-excel-buttons{display:flex;flex-direction:column;gap:20px;align-items:center;margin-top:30px}.btn-exportar{color:#fff;border:none;border-radius:4px;padding:15px 25px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:500;font-size:1.1rem;transition:all .3s ease;width:100%;max-width:400px;box-shadow:0 2px 5px #0000001a}.btn-asistencia{background-color:#28a745}.btn-alumnos{background-color:#4caf50}.btn-exportar:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-exportar:active{transform:translateY(0)}.btn-exportar:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.icon-excel{font-size:1.3rem}.loading{text-align:center;padding:30px;font-size:1.2rem;color:#6c757d}.error-message{background-color:#f8d7da;color:#721c24;padding:15px;border-radius:4px;margin-bottom:20px;text-align:left}@media (max-width: 768px){.reportes-container{padding:20px;margin:10px}.btn-exportar{padding:12px 20px;font-size:1rem}}.reportes-header{display:flex;flex-direction:column;margin-bottom:20px}.reportes-header h2{font-size:1.8rem;color:#333;margin:0 0 15px}.tipo-reporte-selector{display:flex;gap:10px;margin-bottom:15px}.btn-tipo-reporte{padding:8px 15px;background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s}.btn-tipo-reporte:hover{background-color:#e9ecef}.btn-tipo-reporte.active{background-color:#007bff;color:#fff;border-color:#007bff}.filtros-container{display:flex;justify-content:flex-end;margin-bottom:20px}.filtros{margin-bottom:20px}.busqueda-input{width:100%;padding:10px 15px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.tabla-container{overflow-x:auto}.reportes-tabla,.cursos-tabla{width:100%;border-collapse:collapse;margin-top:10px}.reportes-tabla th,.reportes-tabla td,.cursos-tabla th,.cursos-tabla td{padding:12px 15px;text-align:left;border-bottom:1px solid #ddd}.reportes-tabla th,.cursos-tabla th{background-color:#f8f9fa;color:#495057;font-weight:600}.curso-row{cursor:pointer;transition:background-color .2s}.curso-row:hover{background-color:#f5f5f5}.btn-expandir{background:none;border:none;cursor:pointer;color:#6c757d;padding:5px;border-radius:50%;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.btn-expandir:hover{background-color:#e9ecef}.estudiantes-container{padding:0;background-color:#f8f9fa}.estudiantes-tabla{width:100%;border-collapse:collapse;margin:10px 0}.estudiantes-tabla th,.estudiantes-tabla td{padding:8px 15px;text-align:left;border-bottom:1px solid #e0e0e0}.estudiantes-tabla th{background-color:#e9ecef;color:#495057;font-weight:500;font-size:.9rem}.estudiante-row:hover{background-color:#f1f1f1}.no-estudiantes{padding:15px;text-align:center;color:#6c757d;font-style:italic}.reporte-content{margin-top:20px}@media (max-width: 768px){.reportes-header{align-items:flex-start}.tipo-reporte-selector{flex-direction:column;width:100%}.btn-tipo-reporte{width:100%}.filtros-container{flex-direction:column}.btn-exportar{width:100%;justify-content:center}}.reportes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-content{flex:1}.reportes-header h1{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.reportes-header p{color:#6b7280;font-size:.875rem}.reportes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.reporte-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.reporte-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.reporte-header h3{font-size:1.125rem;font-weight:500;color:#1f2937}.codigo-curso{font-size:.875rem;color:#6b7280}.reporte-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.stat-item{display:flex;flex-direction:column}.stat-label{font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.stat-value{font-size:1.125rem;font-weight:500;color:#1f2937}.progress-bar{height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden}.progress{height:100%;background-color:#4f46e5;transition:width .3s ease}.success-message{color:#27ae60;background-color:#eafaf1;padding:15px;border-radius:6px;margin:15px 0;border:1px solid #d5f5e3}.filtros-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:8px}.filtros-grupo{display:flex;gap:20px;align-items:center}.filtros-grupo label{font-weight:500;color:#4b5563}.filtros-grupo select,.filtros-grupo input{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff}.btn-exportar{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#217346;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-exportar:hover{background-color:#1e6b3e;box-shadow:0 2px 4px #0000001a}.btn-exportar svg{font-size:1.2rem}.reportes-table{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.reportes-table table{width:100%;border-collapse:collapse}.reportes-table th,.reportes-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.reportes-table th{background-color:#f9fafb;font-weight:600;color:#374151}.badge{padding:4px 8px;border-radius:4px;font-size:.875rem;font-weight:500}.badge.creacion{background-color:#dcfce7;color:#166534}.badge.eliminacion{background-color:#fee2e2;color:#991b1b}.btn-ver{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.btn-ver:hover{background-color:#f3f4f6;color:#374151}.reporte-section{background:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 4px 6px #0000001a}.reporte-section h3{color:#2c3e50;margin-bottom:20px;font-size:1.5rem;border-bottom:2px solid #eee;padding-bottom:10px}.btn-descargar{background-color:#2ecc71;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:500;transition:all .3s ease;width:100%;justify-content:center;margin-top:15px}.btn-descargar:hover{background-color:#27ae60;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-descargar:active{transform:translateY(0)}.btn-descargar:disabled{background-color:#bdc3c7;cursor:not-allowed;transform:none}.btn-descargar i{font-size:1.2rem}@media (max-width: 768px){.reportes-container,.reporte-section{padding:15px}.btn-descargar{padding:10px 20px;font-size:.9rem}.reporte-section h3{font-size:1.2rem}}.reporte-section{animation:fadeIn .3s ease-out}.loading{animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}:root{--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #3498db;--success-color: #27ae60;--warning-color: #f39c12;--danger-color: #e74c3c;--light-gray: #f5f6fa;--border-color: #dcdde1;--shadow-color: rgba(0,0,0,.1)}.sidebar{width:250px;min-width:250px;height:100vh;position:fixed;left:0;top:0;background-color:#1a237e;color:#fff;z-index:1000;display:flex;flex-direction:column}.sidebar-header{padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar .menu-items{flex:1;overflow-y:auto;padding:1rem 0;margin-bottom:120px}.sidebar .bottom-items{position:fixed;bottom:0;left:0;width:250px;background-color:#1a237e;padding:1rem 0;border-top:1px solid rgba(255,255,255,.1);z-index:1001}.menu-items>*{margin-bottom:.5rem}.main-content{flex:1;margin-left:250px;min-height:100vh;background-color:#f5f5f5;width:calc(100% - 250px);padding:2rem}.dashboard-container{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 10px var(--shadow-color)}.bienvenida-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--primary-color)}.bienvenida-titulo{display:flex;justify-content:space-between;align-items:center}.bienvenida-titulo h1{font-size:2rem;color:#333;margin:0}.fecha-actual{color:#666;font-size:1.1rem}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background-color:#f8f9fa;border-radius:8px}.btn-exportar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.btn-exportar:hover{background-color:#218838}.btn-exportar i{font-size:1.1rem}.quick-actions{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.quick-actions h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-btn{display:flex;align-items:center;gap:.75rem;padding:1rem;border:none;border-radius:8px;background:#f0f4ff;color:#4a6cf7;font-size:1rem;cursor:pointer;transition:all .3s ease}.action-btn:hover{background:#4a6cf7;color:#fff}.action-btn i{font-size:1.2rem}.btn-primary{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.btn-secondary{background:var(--light-gray);color:var(--primary-color);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.config-form{max-width:600px}.form-group label{display:block;margin-bottom:.5rem;color:var(--primary-color);font-weight:500}.form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{background:var(--light-gray);font-weight:600}.content-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px var(--shadow-color);margin-bottom:1rem}@media (max-width: 768px){.dashboard-container{padding:1rem}.stats-grid,.actions-grid{grid-template-columns:1fr}.stat-card{padding:1.2rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-container{animation:fadeIn .3s ease-out}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.bg-success{background-color:var(--success-color)}.bg-warning{background-color:var(--warning-color)}.bg-danger{background-color:var(--danger-color)}.tooltip{position:relative;display:inline-block}.tooltip .tooltip-text{visibility:hidden;background-color:var(--secondary-color);color:#fff;text-align:center;padding:5px 10px;border-radius:6px;position:absolute;z-index:1;bottom:125%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .3s}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}.registro-container{max-width:800px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.registro-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group label{color:var(--primary-color);font-weight:500;font-size:.95rem}.form-control{padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .3s ease}.form-control:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #3498db1a;outline:none}.form-control::placeholder{color:#999}select.form-control{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em}.btn-primary{background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.btn-primary:hover{background:var(--secondary-color);transform:translateY(-1px)}.btn-secondary{background:var(--light-gray);color:var(--primary-color);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.role-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 6px var(--shadow-color);transition:transform .3s ease}.role-card:hover{transform:translateY(-5px)}.role-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent-color)}.role-header i{font-size:1.5rem;color:var(--accent-color)}.role-permissions ul{list-style:none;padding:0}.role-permissions li{padding:.5rem 0;color:var(--secondary-color);font-size:.9rem}.usuarios-filtros{margin-bottom:1.5rem}.filtro-grupo{display:flex;gap:1rem;margin-bottom:1rem}.filtro-grupo .form-control{max-width:200px}@media (max-width: 768px){.role-cards{grid-template-columns:1fr}.form-actions,.filtro-grupo{flex-direction:column}.filtro-grupo .form-control{max-width:100%}}.config-grid{display:grid;gap:2rem;padding:1rem}.config-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a}.config-card h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600}.config-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{color:#2c3e50;font-weight:500;font-size:.95rem}.form-control{padding:.75rem;border:1px solid #dce0e4;border-radius:8px;font-size:1rem;transition:all .3s ease}.form-control:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db1a;outline:none}.form-actions{display:flex;gap:1rem;margin-top:1rem}.btn-accion{background:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;font-weight:500}.btn-accion:hover{background:#2980b9;transform:translateY(-1px)}.btn-secondary{background:#f8f9fa;color:#2c3e50;border:1px solid #dce0e4;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;font-weight:500}.btn-secondary:hover{background:#e9ecef}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.form-actions{flex-direction:column}.btn-accion,.btn-secondary{width:100%;justify-content:center}}.logout-btn{padding:1rem;width:100%;background:transparent;border:none;color:#dc3545;cursor:pointer;transition:all .3s ease;font-size:.95rem;display:flex;align-items:center;gap:.5rem;position:sticky;bottom:0;border-top:1px solid rgba(255,255,255,.1)}.logout-btn:hover{background:#dc35451a;color:#bd2130}.sidebar-nav{display:flex;flex-direction:column;height:100%;padding:1rem 0}.usuarios-table-container{margin-top:20px;overflow-x:auto}.usuarios-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000001a}.usuarios-table th,.usuarios-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.usuarios-table th{background-color:#f8f9fa;font-weight:600}.usuarios-table tr:hover{background-color:#f5f5f5}.role-edit{display:flex;gap:12px;align-items:center}.role-edit select{padding:8px 12px;border-radius:4px;border:1px solid #cbd5e0;background-color:#fff;font-size:.9rem;transition:all .3s ease;cursor:pointer}.role-edit select:hover{border-color:#2c3e50}.role-edit select:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 2px #2c3e501a}.btn-editar,.btn-cancelar{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #0000001a}.btn-editar{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease;display:flex;align-items:center;gap:4px;background-color:#2c3e50;background-image:none;color:#fff}.btn-editar:hover{background-color:#34495e;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-cancelar{background-color:#fff;color:#2c3e50;border:1px solid #cbd5e0}.btn-cancelar:hover{background-color:#f8f9fa;border-color:#2c3e50}.message{padding:10px;margin:10px 0;border-radius:4px;background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.asignacion-form{display:flex;flex-direction:column;gap:20px;max-width:500px;margin:20px auto}.asignacion-form .form-group{display:flex;flex-direction:column}.asignacion-form label{margin-bottom:5px;font-weight:700}.asignacion-form select{padding:10px;border-radius:4px;border:1px solid #ddd}.btn-asignar{padding:10px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px}.btn-asignar:hover{background-color:#45a049}.asignaciones-actuales{margin-top:30px}.asignaciones-actuales ul{list-style-type:none;padding:0}.asignaciones-actuales li{padding:10px;border-bottom:1px solid #eee}.sidebar-nav{flex:1;overflow-y:auto;padding:1rem 0}.logout-container{padding:1rem;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}.logout-btn{width:100%;padding:.75rem 1rem;background:#dc35451a;border:none;border-radius:6px;color:#ff4757;cursor:pointer;transition:all .3s ease;font-size:.95rem;display:flex;align-items:center;gap:.75rem}.logout-btn:hover{background:#dc354533;color:#ff6b81}.logout-btn i{font-size:1.1rem}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#fff3}.main-content{flex:1;margin-left:250px;min-height:100vh;padding:2rem;background-color:#f5f5f5;width:calc(100% - 250px)}.btn-eliminar{padding:4px;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center;background:none;color:#e74c3c;margin-left:8px}.btn-eliminar:hover{color:#c0392b;transform:scale(1.1)}.role-edit{display:flex;gap:8px;align-items:center}.asignaciones-tabla{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.asignaciones-tabla th,.asignaciones-tabla td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.asignaciones-tabla th{background-color:#f8f9fa;font-weight:600;color:#495057}.asignaciones-tabla .acciones{display:flex;gap:.5rem}.asignaciones-tabla .btn-editar,.asignaciones-tabla .btn-eliminar{padding:.5rem;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease}.asignaciones-tabla .btn-editar{background-color:#4b186f;color:#fff}.asignaciones-tabla .btn-eliminar{background-color:#dc3545;color:#fff}.asignaciones-tabla .btn-editar:hover,.asignaciones-tabla .btn-eliminar:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0003}.register-options{display:flex;gap:1rem;margin-bottom:2rem;width:100%;max-width:600px}.option-btn{flex:1;padding:1rem;border:2px solid #4b186f;background:transparent;color:#4b186f;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.option-btn.active{background:#4b186f;color:#fff}.registro-masivo{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:600px}.cursos-disponibles{margin-top:2rem;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.cursos-tabla{width:100%;border-collapse:collapse;margin-top:1rem}.cursos-tabla th,.cursos-tabla td{padding:.75rem;text-align:left;border-bottom:1px solid #eee}.cursos-tabla th{background-color:#f8f9fa;font-weight:600;color:#4b186f}.cursos-tabla tr:hover{background-color:#f8f9fa}.template-info{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #4b186f}.template-info h4{color:#4b186f;margin-bottom:.5rem}.template-info ul{margin:0;padding-left:1.5rem}.template-info li{margin:.25rem 0;color:#666}.asignaciones-lista{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px;overflow:auto}.asignaciones-tabla{width:100%;border-collapse:collapse}.asignaciones-tabla th,.asignaciones-tabla td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.asignaciones-tabla th{background-color:#f8f9fa;font-weight:600;color:#333}.asignaciones-tabla tr:hover{background-color:#f8f9fa}.estado{padding:4px 8px;border-radius:4px;font-size:.875rem;font-weight:500}.estado.activo{background-color:#e3f2fd;color:#1976d2}.estado.inactivo{background-color:#ffebee;color:#d32f2f}.btn-eliminar{background:none;border:none;color:#d32f2f;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.btn-eliminar:hover{background-color:#ffebee}.admin-layout{display:flex;min-height:100vh}.menu-items{flex:1;overflow-y:auto;padding:1rem 0;padding-bottom:100px}.bottom-items{position:fixed;bottom:0;left:0;width:100%;background-color:#1a237e;padding:1rem 0;border-top:1px solid rgba(255,255,255,.1)}.menu-item{padding:.75rem 1.5rem;display:flex;align-items:center;text-decoration:none;color:#fff}.content{flex:1;margin-left:250px;padding:2rem;background-color:#f5f5f5}.menu-items::-webkit-scrollbar{width:6px}.menu-items::-webkit-scrollbar-track{background:#ffffff1a}.menu-items::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.search-container{margin-bottom:20px}.search-box{display:flex;align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px 16px;max-width:400px}.search-box i{color:#666;margin-right:10px}.search-input{border:none;outline:none;width:100%;padding:8px;font-size:14px}.search-input:focus{outline:none}.no-data{text-align:center;padding:20px;color:#666;font-style:italic}.select-with-search{position:relative;display:flex;flex-direction:column;gap:8px}.select-with-search .search-box{margin-bottom:0}.select-with-search .select-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;background-color:#fff;font-size:14px}.asignar-form{max-width:600px;margin:0 auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.btn-asignar{width:100%;padding:12px;background-color:#673ab7;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:background-color .3s}.btn-asignar:hover{background-color:#5e35b1}.btn-asignar:disabled{background-color:#9e9e9e;cursor:not-allowed}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .3s ease}.main-content{margin-left:0;width:100%}.sidebar.open{transform:translate(0)}}.audit-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-top:1rem}.audit-filters{display:flex;gap:.5rem;margin-bottom:1rem;padding:.5rem;background:#f8fafc;border-radius:8px;box-shadow:0 1px 3px #0000001a;align-items:center;flex-wrap:wrap;width:100%}.clear-filters-btn{padding:2px 6px;background-color:#e2e8f0;color:#64748b;border:none;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:2px;font-size:.7rem;font-weight:500;height:fit-content;margin-left:auto;position:static;transform:none}.clear-filters-btn i{font-size:.65rem}.audit-table{overflow-x:auto}.audit-table table{width:100%;border-collapse:collapse}.audit-table th{background:#f8fafc;padding:1rem;text-align:left;font-weight:600}.audit-table td{padding:1rem;border-bottom:1px solid #e2e8f0}.view-details-btn{padding:.5rem 1rem;background:#f1f5f9;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.view-details-btn:hover{background:#e2e8f0}.reportes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.reporte-section{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.reporte-section h3{color:#2c3e50;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #eee}.reporte-card{padding:1rem;background:#f8fafc;border-radius:8px}@media (max-width: 768px){.reportes-grid{grid-template-columns:1fr}}.asignaciones-grid{margin-top:20px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.asignaciones-table{width:100%;border-collapse:collapse;margin-top:20px}.asignaciones-table th,.asignaciones-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.asignaciones-table th{background-color:#f8f9fa;font-weight:600}.asignaciones-table tr:hover{background-color:#f5f5f5}.btn-eliminar{background-color:#dc3545;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px}.btn-eliminar:hover{background-color:#c82333}.no-data{text-align:center;padding:40px;color:#666;font-style:italic}.welcome-section{margin-bottom:2rem;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 1px 3px #0000001a}.welcome-section h1{font-size:1.8rem;color:#2c3e50;margin-bottom:.5rem;font-weight:600}.welcome-section p{color:#6c757d;font-size:1.1rem;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;padding:1.5rem;text-align:center;transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a}.stat-card i{font-size:2.5rem;margin-bottom:1rem}.stat-card h3{font-size:1.2rem;color:#666;margin-bottom:.5rem}.stat-card p{font-size:2rem;font-weight:700;color:#333;margin:0}.stat-card:nth-child(1) i{color:#4caf50}.stat-card:nth-child(2) i{color:#2196f3}.stat-card:nth-child(3) i{color:#ff9800}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:1.2rem}}.configuracion-container{padding:2rem;max-width:1200px;margin:0 auto}.configuracion-container h2{color:#1e293b;margin-bottom:1.5rem}.config-section{background:#fff;border-radius:8px;padding:1.5rem;margin-top:1rem;box-shadow:0 1px 3px #0000001a}.config-section h3{color:#334155;margin-bottom:1rem}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.config-item{background:#f8fafc;border-radius:8px;padding:1.5rem}.config-item h4{color:#1e293b;margin-bottom:1rem;font-size:1.1rem}.config-content{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;color:#64748b;font-weight:500}.form-group input[type=text],.form-group input[type=email],.form-group input[type=number],.form-group select{padding:.5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.9rem}.form-group input[type=file]{padding:.5rem 0}.checkbox-group{display:flex;align-items:center;gap:.5rem}.backup-btn{background:#6366f1;color:#fff;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.config-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:flex-end}.save-btn{background:#6366f1;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.reset-btn{background:#e2e8f0;color:#64748b;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.save-btn:hover,.backup-btn:hover{background:#4f46e5}.reset-btn:hover{background:#cbd5e0}.form-group input:focus,.form-group select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}@media (max-width: 768px){.configuracion-container{padding:1rem}.config-grid{grid-template-columns:1fr}.config-actions{flex-direction:column}.config-actions button{width:100%}}.reportes-container{padding:2rem}.estadisticas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.estadistica-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem}.estadistica-card i{font-size:2rem;color:#3949ab}.estadistica-info h3{margin:0;color:#666;font-size:.9rem}.estadistica-info p{margin:.5rem 0 0;font-size:1.5rem;font-weight:700;color:#333}.audit-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.filtros-container{display:flex;gap:1rem;margin-bottom:1.5rem}.filtros-container select,.filtros-container input{padding:.5rem;border:1px solid #ddd;border-radius:4px}.logs-table{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;text-align:left;border-bottom:1px solid #ddd}th{background:#f8f9fa;font-weight:600}tr:hover{background:#f8f9fa;cursor:pointer}.btn-detalles{background:none;border:none;color:#3949ab;cursor:pointer}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center}.modal-content{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%}.modal-content h3{margin-top:0}.modal-content button{margin-top:1rem;padding:.5rem 1rem;background:#3949ab;color:#fff;border:none;border-radius:4px;cursor:pointer}@media (max-width: 768px){.filtros-container{flex-direction:column}.estadisticas-grid{grid-template-columns:1fr}}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.badge.crear{background-color:#4caf50;color:#fff}.badge.actualizar{background-color:#2196f3;color:#fff}.badge.eliminar{background-color:#f44336;color:#fff}.badge.login,.badge.logout{background-color:#9c27b0;color:#fff}.no-records{text-align:center;padding:20px;color:#666}.audit-table table{width:100%;border-collapse:collapse;margin-top:20px}.audit-table th,.audit-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.audit-table th{background-color:#f5f5f5;font-weight:600}.audit-table tr:hover{background-color:#f9f9f9;cursor:pointer}.audit-filters{display:flex;gap:20px;margin-bottom:20px;align-items:center}.filter-group{display:flex;align-items:center;gap:10px}.filter-label{font-weight:500}.filter-select,.date-filter{padding:8px;border:1px solid #ddd;border-radius:4px;min-width:200px}.clear-filters-btn{padding:8px 16px;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px}.clear-filters-btn:hover{background-color:#d32f2f}.badge.usuario{background-color:#2196f3;color:#fff}.badge.curso{background-color:#4caf50;color:#fff}.badge.asistencia{background-color:#ff9800;color:#fff}.badge.leccion{background-color:#9c27b0;color:#fff}.btn-back{background:none;border:none;color:#4b186f;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform .2s ease}.btn-back:hover{transform:translate(-3px)}.btn-back i{font-size:24px}.curriculum-container{padding:20px;max-width:1200px;margin:0 auto}.curriculum-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.btn-back{background:none;border:none;cursor:pointer;padding:8px;color:#666}.header-left h1{font-size:24px;margin:0;color:#333}.curriculum-actions{display:flex;align-items:center;gap:16px}.btn-add-lesson{background:#7c3aed;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-add-lesson:hover{background-color:#6d28d9}.search-container{position:relative;display:flex;align-items:center}.search-container i{position:absolute;left:12px;color:#666}.search-container input{padding:10px 10px 10px 36px;border:1px solid #e0e0e0;border-radius:8px;width:250px;font-size:14px}.welcome-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px}.welcome-section h2{font-size:18px;color:#333;margin:0 0 20px}.lessons-list{display:flex;flex-direction:column;gap:12px}.lesson-item{border:1px solid #e0e0e0;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease}.lesson-item:hover{border-color:#7b68ee;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.lesson-header{display:flex;align-items:center;gap:16px;position:relative;padding-right:44px}.lesson-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#7b68ee;border-radius:6px;color:#fff}.lesson-info{flex:1}.lesson-info h3{margin:0 0 4px;font-size:16px;color:#333}.lesson-info p{margin:0;font-size:14px;color:#666}.loading{text-align:center;padding:20px;color:#666}.delete-button{background:none;border:none;color:#666;cursor:pointer;padding:6px;border-radius:4px;transition:all .2s ease;position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:8px}.lesson-item:hover .delete-button{opacity:1}.delete-button:hover{background:#ffebee;color:#f44336}.delete-button i{font-size:14px}@media (max-width: 768px){.curriculum-header{flex-direction:column;gap:16px;align-items:flex-start}.curriculum-actions{width:100%;flex-direction:column}.search-container,.search-container input{width:100%}}.lesson-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;padding:24px}.modal-header{position:relative;margin-bottom:24px}.modal-header h2{font-size:20px;color:#333;margin:0 0 8px}.modal-header p{color:#666;margin:0;font-size:14px}.close-button{position:absolute;top:0;right:0;background:none;border:none;color:#666;cursor:pointer;padding:8px}.lesson-types{display:flex;flex-direction:column;gap:24px}.type-section{display:flex;flex-direction:column;gap:16px}.type-section h3{font-size:14px;color:#666;margin:0;font-weight:500;text-transform:uppercase}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.type-card:hover{border-color:#7b68ee;background:#f8f7ff}.type-card i{font-size:24px;color:#7b68ee}.type-card span{font-size:14px;color:#333;text-align:center}.type-card.disabled{opacity:.5;cursor:not-allowed}.lock-icon{position:absolute;top:8px;right:8px;font-size:14px;color:#666}.section-header h2{margin:0;font-size:24px;color:#1a365d}.edit-button-mini{width:32px;height:32px;background:#7b68ee;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease;padding:0}.edit-button-mini:hover{background:#6a5acd}.edit-button-mini i{font-size:14px}.title-input{font-size:24px;font-weight:700;padding:8px 12px;border:2px solid #4C51BF;border-radius:6px;width:300px;background-color:#fff}.title-input:focus{outline:none;box-shadow:0 0 0 3px #4c51bf1a}.add-container-button{width:40px;height:40px;border-radius:50%;background-color:#7b68ee;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:20px auto;box-shadow:0 2px 4px #0000001a;transition:all .3s ease}.add-container-button:hover{background-color:#6a5acd;transform:scale(1.1)}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:24px;width:90%;max-width:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title-input{width:100%;padding:12px;margin-bottom:20px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px}.section-title-input:focus{outline:none;border-color:#7b68ee;box-shadow:0 0 0 2px #7b68ee1a}.modal-actions{display:flex;gap:1rem;align-items:center}.btn-cancel{padding:10px 20px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;color:#666}.btn-cancel:hover{background:#f8f8f8}.btn-save{padding:10px 20px;background-color:#7b68ee;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.btn-save:hover{background-color:#6a5acd}.btn-add-lesson-to-section{background:#7c3aed;color:#fff;border:none;padding:2px 8px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:10px;font-weight:500;letter-spacing:.3px;height:16px;line-height:1;min-width:fit-content;text-transform:uppercase;box-shadow:0 1px 2px #7c3aed1a;transition:background-color .2s ease}.btn-add-lesson-to-section:hover{background:#6d28d9}.btn-add-lesson-to-section:active{transform:translateY(0);background:#5b21b6;box-shadow:0 1px 2px #7c3aed1a}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}@keyframes shine{to{background-position:200% center}}.btn-add-lesson-to-section i{font-size:14px}.welcome-section{margin-bottom:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.btn-back-dashboard{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:8px;background-color:#7b68ee;color:#fff;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn-back-dashboard:hover{background-color:#6a5acd}.btn-back-dashboard i{font-size:16px}.header-left{display:flex;align-items:center;gap:16px}.agregar-leccion{padding:4px 12px;font-size:.8rem;background-color:#7c4dff;color:#fff;border:none;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;margin-left:auto;white-space:nowrap}.agregar-leccion:hover{background-color:#6039e0}.btn-add{width:28px;height:28px;border-radius:50%;background-color:#7b68ee;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:all .2s ease;box-shadow:none}.btn-add:hover{background-color:#6a5acd;transform:scale(1.05)}.section-actions{display:flex;gap:8px}.section-actions button{background:none;border:none;padding:6px;cursor:pointer;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-visibility{color:#4a5568}.btn-visibility:hover{background-color:#f7fafc;color:#2d3748}.btn-add{color:#4299e1}.btn-add:hover{background-color:#ebf8ff;color:#2b6cb0}.btn-delete{color:#e53e3e}.btn-delete:hover{background-color:#fff5f5;color:#c53030}.container-section.hidden{opacity:.7}.dragging-over{background-color:#007bff1a;border:2px dashed #007bff}.dragging{opacity:.5;background-color:#f8f9fa;transform:scale(1.02);box-shadow:0 4px 8px #0000001a}.lesson-item{cursor:grab;transition:all .2s ease}.lesson-item:active{cursor:grabbing}.btn-download{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.btn-download:hover{background-color:#45a049}.btn-download i{font-size:1rem}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #ddd}.lesson-actions{display:flex;gap:8px}.btn-edit,.btn-delete{background:none;border:none;padding:6px;cursor:pointer;border-radius:4px;transition:background-color .2s}.btn-edit{color:#007bff}.btn-edit:hover{background-color:#007bff1a}.btn-delete{color:#dc3545}.btn-delete:hover{background-color:#dc35451a}.lesson-item{display:flex;justify-content:space-between;align-items:center;padding:10px;margin:5px 0;background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:move}.lesson-info{display:flex;align-items:center;gap:10px}.lesson-description{margin:5px 0 0;overflow:hidden}.lesson-description p{margin:0 0 3px;font-size:14px;color:#666;line-height:1.4}.lesson-description p:last-child{margin-bottom:0}.lesson-info h3{margin:0 0 5px;font-size:16px;font-weight:600;color:#333}.lesson-item{display:flex;align-items:flex-start;justify-content:space-between;padding:15px;margin-bottom:10px;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.lesson-actions{display:flex;gap:8px;margin-left:15px;flex-shrink:0;align-self:center}.activar-cuenta-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.activar-cuenta-box{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 0 10px #0000001a;width:100%;max-width:400px}.activar-cuenta-box h2{text-align:center;margin-bottom:1.5rem;color:#333}.activar-cuenta-box p{text-align:center;margin-bottom:1.5rem;color:#666}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#333}.form-group input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px}.form-group input:disabled{background-color:#f5f5f5}button{width:100%;padding:.75rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;margin-top:1rem}button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:#dc3545;text-align:center;margin-bottom:1rem;padding:.5rem;background-color:#f8d7da;border-radius:4px}.forgot-password-container{display:flex;min-height:100vh;background:linear-gradient(135deg,#1a237e,#283593);padding:20px}.forgot-password-container .forgot-password-card{background:#fff;border-radius:12px;box-shadow:0 8px 20px #00000026;padding:2rem;width:100%;max-width:400px;margin:auto}.forgot-password-container .forgot-password-card h1{color:#1a237e;font-size:1.5rem;margin-bottom:.75rem;font-weight:600}.forgot-password-container .forgot-password-card p{color:#666;margin-bottom:1.5rem;font-size:.95rem;line-height:1.4}.forgot-password-container .forgot-password-form{width:100%}.forgot-password-container .form-group{margin-bottom:1rem}.forgot-password-container .form-group label{display:block;color:#444;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.forgot-password-container .form-group input{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.forgot-password-container .form-group input:focus{outline:none;border-color:#1a237e;box-shadow:0 0 0 3px #1a237e1a}.forgot-password-container .submit-button{background:#1a237e;color:#fff;border:none;border-radius:6px;padding:.75rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:1rem}.forgot-password-container .submit-button:hover{background:#283593;transform:translateY(-1px)}.forgot-password-container .submit-button:active{transform:translateY(0)}.forgot-password-container .back-to-login{margin-top:1.5rem;color:#666;text-decoration:none;font-size:.9rem;display:inline-block}.forgot-password-container .back-to-login:hover{color:#1a237e;text-decoration:underline}.forgot-password-container .message{padding:1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.forgot-password-container .message.success{background:#e8f5e9;color:#1b5e20;border:1px solid #a5d6a7}.forgot-password-container .message.error{background:#ffebee;color:#b71c1c;border:1px solid #ffcdd2}@media (max-width: 480px){.forgot-password-container .forgot-password-card{padding:1.5rem}.forgot-password-container .forgot-password-card h1{font-size:1.5rem}}/*!
* Quill Editor v1.3.7
* https://quilljs.com/
* Copyright (c) 2014, Jason Chen
* Copyright (c) 2013, salesforce.com
*/.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.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.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;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 ul,.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;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9: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 .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-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 pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{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-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:0px}.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:0px;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}.text-lesson-form-container{background-color:#f0f2f5;min-height:100vh;width:100%;padding:20px;box-sizing:border-box;position:fixed;top:0;left:0;right:0;bottom:0;overflow-y:auto}.text-lesson-form{max-width:900px;margin:40px auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.form-group{margin-bottom:1.5rem}.form-control{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;background:#f8fafc;color:#000;transition:all .2s ease}.form-control:focus{outline:none;border-color:#7b68ee;box-shadow:0 0 0 3px #7b68ee1a}.quill{background:#fff;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:1.5rem}.ql-toolbar{border-top:none!important;border-left:none!important;border-right:none!important;background:#f8fafc;border-bottom:1px solid #e2e8f0!important}.ql-container{border:none!important;min-height:300px!important}.ql-editor{min-height:300px!important;font-size:1rem;line-height:1.6;color:#000}.files-list{margin-top:1rem}.file-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin:.5rem 0;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.remove-file{background:none;border:none;color:#dc3545;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease}.remove-file:hover{background:#fff5f5;color:#c82333}.loading{opacity:.7;pointer-events:none}.error-message{color:#dc3545;margin-top:.5rem;font-size:.875rem;padding:.5rem;background-color:#fff5f5;border-radius:4px}@media (max-width: 768px){.text-lesson-form-container{padding:10px}.text-lesson-form{margin:20px auto;padding:1rem}.form-actions{flex-direction:row;justify-content:flex-end}}.lesson-form-container{background-color:#f0f2f5;min-height:100vh;width:100%;padding:20px;box-sizing:border-box;position:fixed;top:0;left:0;right:0;bottom:0;overflow-y:auto}.lesson-form{max-width:800px;margin:20px auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;position:relative}.form-header button{background:#f1f5f9;border:1px solid #e2e8f0;font-size:1.5rem;color:#4b186f;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s ease}.form-header button:hover{background:#e2e8f0;transform:translateY(-1px)}.form-group{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000d}.form-group label{display:block;margin-bottom:.75rem;font-size:.95rem;font-weight:500;color:#000}.form-group input[type=text],.form-group input[type=url],.form-group input[type=number],.form-group input[type=datetime-local],.form-group textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;background:#f8fafc;color:#000;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#7b68ee;box-shadow:0 0 0 3px #7b68ee1a}.sun-editor{border:1px solid #e2e8f0!important;border-radius:8px!important;overflow:hidden!important}.sun-editor .se-toolbar{background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important;padding:8px!important}.sun-editor .se-btn{background:#7b68ee!important;border-radius:6px!important;color:#fff!important;margin:2px!important}.sun-editor .se-btn:hover{background:#6a5acd!important}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #e2e8f0}.cancel-button,.submit-button{padding:.5rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button{background-color:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.submit-button{background-color:#4f46e5;color:#fff;border:none}.cancel-button:hover{background-color:#e5e7eb}.submit-button:hover{background-color:#4338ca}.cancel-button:disabled,.submit-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.form-actions{flex-direction:row;justify-content:flex-end}}.loading{text-align:center;padding:2rem;color:#000;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d}form{position:relative;z-index:1}.files-list{margin-top:10px}.file-item{display:flex;justify-content:space-between;align-items:center;padding:5px;margin:5px 0;background:#f5f5f5;border-radius:4px}.remove-file{background:none;border:none;color:#dc3545;cursor:pointer}.remove-file:hover{color:#c82333}.video-preview{margin:20px 0}.video-preview h3{margin-bottom:10px;font-size:16px;color:#666}.video-thumbnail-container{position:relative;width:100%;max-width:640px;margin:0 auto;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.video-thumbnail-container img{width:100%;height:auto;display:block}.play-button-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background-color:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .3s ease}.play-button-overlay i{color:#fff;font-size:24px;margin-left:4px}.play-button-overlay:hover{background-color:#000000e6}@media (max-width: 768px){.video-thumbnail-container{max-width:100%}.play-button-overlay{width:40px;height:40px}.play-button-overlay i{font-size:18px}}.video-container{margin:20px 0;width:100%}.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;border-radius:8px;box-shadow:0 2px 8px #0000001a}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:8px}@media (max-width: 768px){.video-wrapper{margin:10px 0}}.url-input-container input{padding-right:35px;width:100%}.url-status-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center}.url-status-icon i{font-size:16px}.form-control.is-valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:none}.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:none}.invalid-feedback{display:block;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.form-text{display:block;margin-top:.25rem;font-size:.875em;color:#6c757d}.text-success{color:#28a745}.text-danger{color:#dc3545}.form-actions{display:flex;justify-content:space-between;margin-top:30px;gap:20px}.button-container{flex:1;display:flex}.form-actions button{width:100%;padding:12px 20px;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-cancel{background-color:#f8f9fa;border:1px solid #ced4da;color:#495057}.btn-cancel:hover{background-color:#e9ecef}.btn-submit{background-color:#6f42c1;border:1px solid #6f42c1;color:#fff}.btn-submit:hover{background-color:#5e35b1}.btn-submit:disabled,.btn-cancel:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 576px){.form-actions{flex-direction:column}.button-container{width:100%}}.lesson-form-container{max-width:800px;margin:0 auto;padding:20px}.lesson-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:25px}.form-header{display:flex;align-items:center;justify-content:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.form-header button{background:none;border:none;font-size:18px;color:#6c757d;cursor:pointer;margin-right:15px;padding:5px}.form-header h1{font-size:22px;margin:0;color:#333;text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.form-group textarea{resize:vertical}.url-input-container{position:relative;display:flex;align-items:center}.url-status-icon{position:absolute;right:10px;font-size:16px}.is-valid{border-color:#28a745}.is-invalid{border-color:#dc3545}.invalid-feedback{color:#dc3545;font-size:12px;margin-top:5px}.form-text{font-size:12px;color:#6c757d;margin-top:5px}.lesson-form{max-width:800px;margin:2rem auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014}.sv-root-modern{--sjs-general-backcolor: #ffffff;--sjs-general-forecolor: #333333;--sjs-border-default: #e0e0e0;--sjs-shadow-small: 0 2px 4px rgba(0, 0, 0, .1);--sjs-shadow-medium: 0 4px 8px rgba(0, 0, 0, .1)}.sv-container-modern{width:100%}.sv-title{font-size:1.5rem;color:#2c3e50;margin-bottom:1.5rem}.sv-panel{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.sv-text,.sv-dropdown{border:1px solid #e0e0e0;border-radius:6px;padding:.75rem;width:100%;transition:all .3s ease}.sv-text:focus,.sv-dropdown:focus{border-color:#4b186f;box-shadow:0 0 0 2px #4b186f1a}.sv-btn{padding:.75rem 1.5rem;border-radius:6px;font-weight:500;transition:all .3s ease}.sv-btn:hover{transform:translateY(-1px);box-shadow:var(--sjs-shadow-medium)}.sv-paneldynamic__add-btn{background-color:#4b186f;color:#fff;border:none;margin-top:1rem}.sv-paneldynamic__add-btn:hover{background-color:#5c2085}.sv-paneldynamic__remove-btn{color:#dc3545;border:1px solid #dc3545;background:transparent}.sv-paneldynamic__remove-btn:hover{background-color:#dc3545;color:#fff}.sv-checkbox-item,.sv-radio-item{margin:.5rem 0}.sv-question__erbox{color:#dc3545;font-size:.875rem;margin-top:.5rem}@media (max-width: 768px){.lesson-form{margin:1rem;padding:1.5rem}.sv-panel{padding:1rem}.sv-btn{width:100%;margin:.5rem 0}}.sv-text-analysis{margin-bottom:2rem}.sv-text-analysis__passage{background-color:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.sv-text-analysis__subquestions{margin-left:1.5rem;border-left:3px solid #4b186f;padding-left:1.5rem}@media (max-width: 768px){.sv-text-analysis__subquestions{margin-left:1rem;padding-left:1rem}}.form-group input[type=number]{width:100px;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input[type=number]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.form-text{display:block;margin-top:5px;font-size:12px;color:#666}.error-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f7ff,#fff,#f8f0ff)}.error-container{text-align:center;padding:0 1rem;max-width:48rem;margin:0 auto}.error-title{margin-bottom:2rem;animation:bounce 3s infinite}.error-title h1{font-size:9rem;font-weight:700;background:linear-gradient(to right,#2563eb,#9333ea);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.error-content{margin-bottom:2rem}.error-content h2{font-size:1.875rem;font-weight:600;color:#1f2937;margin-bottom:1rem}.error-content p{font-size:1.125rem;color:#4b5563}.home-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;font-weight:500;color:#fff;background:linear-gradient(to right,#2563eb,#9333ea);border-radius:9999px;text-decoration:none;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s ease}.home-button:hover{transform:scale(1.05);box-shadow:0 10px 15px -3px #0000001a}.arrow-icon{width:1.25rem;height:1.25rem;transition:transform .3s ease}.home-button:hover .arrow-icon{transform:translate(-4px)}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}
