@import"https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--primary-color: #667eea;--secondary-color: #764ba2;--accent-color: #10b981;--background-color: #f9fafb;--text-color: #1f2937;--success-color: #4ECDC4;--danger-color: #E63946;--warning-color: #FFB703;--bg-light: var(--background-color);--bg-white: #FFFFFF;--text-dark: var(--text-color);--text-light: #6C757D;--border-color: #E8E8E8;--gradient-primary: linear-gradient(135deg, var(--primary-color), var(--secondary-color));--gradient-triple: linear-gradient(90deg, var(--primary-color), var(--secondary-color), #8b5cf6);--gradient-success: linear-gradient(135deg, var(--success-color), var(--accent-color));--gradient-warning: linear-gradient(135deg, var(--warning-color), #ff9e00);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;min-height:100vh;width:100%;overflow-x:hidden}.container{width:100%;max-width:1200px;margin:0 auto;padding:1rem;box-sizing:border-box}@media (min-width: 768px){.container{padding:20px}}.btn{padding:12px 24px;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);filter:brightness(1.1)}.btn-secondary{background-color:var(--accent-color);color:var(--text-dark)}.btn-secondary:hover{background-color:#f5a623;transform:translateY(-2px)}.btn-success{background-color:var(--success-color);color:#fff}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-outline{background-color:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:#fff}.card{background-color:var(--bg-white);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-md);transition:var(--transition)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.form-label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-dark)}.form-input,.form-select,.form-textarea{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:16px;transition:var(--transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color)}.form-textarea{resize:vertical;min-height:100px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.alert{padding:15px;border-radius:var(--radius-sm);margin-bottom:20px;font-weight:500}.alert-success{background-color:#d4edda;color:#155724;border-left:4px solid var(--success-color)}.alert-error{background-color:#f8d7da;color:#721c24;border-left:4px solid var(--danger-color)}.alert-warning{background-color:#fff3cd;color:#856404;border-left:4px solid var(--warning-color)}.alert-info{background-color:#d1ecf1;color:#0c5460;border-left:4px solid var(--success-color)}.spinner{border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:20px auto}@media (max-width: 768px){.container{padding:1rem}.btn{padding:.625rem 1.25rem;font-size:.875rem}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}img{max-width:100%;height:auto}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.hide-mobile{display:none}@media (min-width: 768px){.hide-mobile{display:block}.hide-desktop{display:none}}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}body:has(.login-container),html:has(.login-container){margin:0!important;padding:0!important;overflow:hidden!important;height:100vh!important}.login-container{min-height:100vh!important;height:100vh!important;width:100vw!important;display:grid!important;place-items:center!important;place-content:center!important;background:var(--gradient-primary);padding:20px;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;overflow:hidden!important;margin:0!important;z-index:99999}.login-card{background-color:#fffffff2;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);border-radius:var(--radius-lg);padding:40px;max-width:450px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideIn .5s ease;position:relative;z-index:100000;margin:0!important;float:none!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;align-self:center!important;justify-self:center!important}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:30px}.login-logo{margin-bottom:1.5rem;display:flex;justify-content:center;align-items:center}.login-logo img{max-width:200px;max-height:80px;object-fit:contain}.login-header h1{color:var(--primary-color);font-size:28px;margin-bottom:10px}.login-header p{color:var(--text-light);font-size:16px}.btn-block{width:100%;margin-top:10px}.login-footer{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.login-footer a{color:var(--primary-color);text-decoration:none;font-weight:600}.login-footer a:hover{text-decoration:underline}.form-hint{display:block;margin-top:.5rem;font-size:.85rem;color:#7f8c8d;font-style:italic;line-height:1.4}@media (max-width: 768px){.login-card{padding:30px 20px}.login-header h1{font-size:24px}}.user-header-modern{background:var(--gradient-primary);padding:1rem 2rem;color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #00000026;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown .4s ease-out}.header-brand{display:flex;align-items:center;gap:1rem;animation:fadeInLeft .5s ease-out}.brand-logo{display:flex;align-items:center;justify-content:center}.logo-placeholder{width:60px;height:60px;background:#fffffff2;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0003;border:3px solid rgba(255,255,255,.4);transition:all .3s ease;cursor:pointer;overflow:hidden;position:relative}.logo-placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(var(--primary-rgb, 102, 126, 234),.1),rgba(var(--secondary-rgb, 118, 75, 162),.1));opacity:0;transition:opacity .3s ease}.logo-placeholder:hover:before{opacity:1}.logo-placeholder:hover{transform:scale(1.05);box-shadow:0 6px 20px #0000004d}.logo-text{font-size:.75rem;font-weight:800;color:var(--primary-color);letter-spacing:1px;position:relative;z-index:1}.logo-placeholder img{width:100%;height:100%;object-fit:cover;border-radius:8px}.brand-icon{font-size:2.5rem;animation:bounce 2s infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.brand-title{margin:0;font-size:1.8rem;font-weight:700;background:linear-gradient(to right,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 10px rgba(0,0,0,.1)}.header-nav{display:flex;gap:.75rem;align-items:center;animation:fadeInUp .6s ease-out}.nav-btn{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.2rem;border:2px solid rgba(255,255,255,.3);border-radius:12px;background:#ffffff26;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:relative;overflow:hidden}.nav-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.nav-btn:hover:before{width:300px;height:300px}.nav-btn:hover{background:#ffffff40;border-color:#fff9;transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px #00000040}.nav-btn:active{transform:translateY(-1px) scale(1.02)}.nav-icon{font-size:1.3rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));position:relative;z-index:1}.nav-text{position:relative;z-index:1}.nav-btn.catalog:hover,.nav-btn.books:hover,.nav-btn.classes:hover,.nav-btn.admin:hover{background:#ffffff26}.header-user{display:flex;align-items:center;gap:1rem;animation:fadeInRight .7s ease-out}.user-profile{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#ffffff26;border-radius:15px;border:2px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease}.user-profile:hover{background:#fff3;border-color:#fff6;transform:scale(1.02)}.user-avatar{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#ffffff40;border-radius:50%;border:3px solid rgba(255,255,255,.4);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));animation:pulse 3s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #fff6}50%{box-shadow:0 0 0 10px #fff0}}.user-details{display:flex;flex-direction:column;gap:.25rem}.user-name{font-size:1rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.user-badge{padding:.3rem .7rem;border-radius:12px;font-size:.8rem;font-weight:600;text-align:center;border:2px solid rgba(255,255,255,.3);background:#fff3}.badge-estudiante,.badge-profesor,.badge-colegio,.badge-administrador{background:#ffffff40;border-color:#fff6;box-shadow:0 2px 8px #0000001a}.btn-logout-modern{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.2rem;border:2px solid rgba(239,68,68,.6);border-radius:12px;background:linear-gradient(135deg,var(--danger-color, #ef4444),#dc2626);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #e74c3c4d;position:relative;overflow:hidden}.btn-logout-modern:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-logout-modern:hover:before{width:300px;height:300px}.btn-logout-modern:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px #ef444480}.btn-logout-modern:active{transform:translateY(-1px) scale(1.02)}.logout-icon{font-size:1.3rem;position:relative;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.logout-text{position:relative;z-index:1}@media (max-width: 1200px){.user-header-modern{padding:1rem 1.5rem}.brand-title{font-size:1.5rem}.nav-btn{padding:.55rem 1rem;font-size:.9rem}.user-name{font-size:.9rem}}@media (max-width: 992px){.user-header-modern{flex-wrap:wrap;gap:1rem}.header-brand{flex:1 1 100%;justify-content:center}.header-nav{flex:1 1 100%;justify-content:center;flex-wrap:wrap}.header-user{flex:1 1 100%;justify-content:center}}@media (max-width: 768px){.user-header-modern{padding:1rem;flex-direction:column}.logo-placeholder{width:50px;height:50px}.logo-text{font-size:.65rem}.brand-title{font-size:1.3rem}.nav-btn{flex:1;justify-content:center;padding:.6rem .8rem;font-size:.85rem}.nav-icon{font-size:1.2rem}.user-avatar{width:45px;height:45px;font-size:1.8rem}.user-profile{padding:.4rem .8rem}.btn-logout-modern{padding:.6rem 1rem;font-size:.9rem}}@media (max-width: 576px){.nav-btn .nav-text,.btn-logout-modern .logout-text{display:none}.nav-btn{min-width:50px;padding:.6rem}.btn-logout-modern{padding:.6rem}.user-details{display:none}.user-profile{padding:.3rem}.header-nav{gap:.5rem}}.social-share-buttons{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;border:2px solid #cbd5e1}.share-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#334155;display:flex;align-items:center;gap:.5rem}.share-title i{color:#6366f1}.share-buttons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.share-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.share-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.share-btn:active{transform:translateY(0)}.share-btn i{font-size:1.125rem}.share-btn.facebook{background:linear-gradient(135deg,#1877f2,#0d5dbf)}.share-btn.facebook:hover{background:linear-gradient(135deg,#0d5dbf,#094a99)}.share-btn.twitter{background:linear-gradient(135deg,#1da1f2,#0c85d0)}.share-btn.twitter:hover{background:linear-gradient(135deg,#0c85d0,#0a6fb3)}.share-btn.whatsapp{background:linear-gradient(135deg,#25d366,#1ebe57)}.share-btn.whatsapp:hover{background:linear-gradient(135deg,#1ebe57,#17a045)}.share-btn.linkedin{background:linear-gradient(135deg,#0077b5,#005e93)}.share-btn.linkedin:hover{background:linear-gradient(135deg,#005e93,#004a75)}.share-btn.instagram{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.share-btn.instagram:hover{background:linear-gradient(135deg,#e6683c,#dc2743,#cc2366,#bc1888,#a0157a)}.share-btn.tiktok{background:linear-gradient(135deg,#000,#ff0050)}.share-btn.tiktok:hover{background:linear-gradient(135deg,#1a1a1a,#cc0040)}.share-btn.email{background:linear-gradient(135deg,#ea4335,#c5221f)}.share-btn.email:hover{background:linear-gradient(135deg,#c5221f,#a01b1b)}.share-btn.copy{background:linear-gradient(135deg,#6366f1,#4f46e5)}.share-btn.copy:hover{background:linear-gradient(135deg,#4f46e5,#4338ca)}.social-share-compact{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.share-btn-compact{width:36px;height:36px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center}.share-btn-compact i{font-size:1rem}.share-btn-compact span{display:none}@media (max-width: 768px){.share-buttons-grid{grid-template-columns:repeat(2,1fr)}.share-btn{font-size:.813rem;padding:.625rem .75rem}.share-btn i{font-size:1rem}}@media (max-width: 480px){.social-share-buttons{padding:1rem}.share-buttons-grid{gap:.5rem}.share-btn span{display:none}.share-btn{padding:.75rem}}@keyframes copied{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.share-btn.copied{animation:copied .3s ease}.catalogo-container{min-height:100vh;background:linear-gradient(135deg,#e8eeff,#f5e8ff,#fef3ff,#e8f7ff,#f0fdff);background-size:400% 400%;animation:gradientShift 15s ease infinite;width:100%;overflow-x:hidden;position:relative;padding-bottom:3rem}.container{max-width:1400px;margin:0 auto;padding:0 1rem}.catalogo-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;background:#fffffff2;padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-bar{flex:1;min-width:250px;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;font-size:1.2rem;color:#999;pointer-events:none}.search-input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;transition:all .3s}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #667eea1a}.sort-select{padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;cursor:pointer;background:#fff;transition:all .3s;min-width:180px}.sort-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #667eea1a}.btn-activar-libro{padding:.875rem 1.5rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #667eea4d;white-space:nowrap}.btn-activar-libro:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.results-info{padding:0 .5rem;margin-bottom:1rem;color:#666;font-size:.95rem}.catalogo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:3rem 2rem;padding:2rem .5rem 3rem;position:relative;z-index:1}.libro-card{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);perspective:1000px;animation:bookEntrance .6s ease-out backwards}.libro-card:hover{transform:translateY(-15px) scale(1.03);z-index:10}.libro-portada{position:relative;width:190px;height:280px;box-shadow:8px 8px 20px #0006,-2px 0 8px #0003,inset 0 0 0 1px #ffffff1a;border-radius:4px 8px 8px 4px;overflow:hidden;background:linear-gradient(90deg,#f8f8f8,#fff 5%,#fff 95%,#e8e8e8);transform-style:preserve-3d;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.portada-titulo{font-size:1.05rem;font-weight:700;line-height:1.2;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);word-wrap:break-word;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.portada-autor{font-size:.8rem;font-weight:400;font-style:italic;opacity:.9;text-shadow:1px 1px 2px rgba(0,0,0,.3);border-top:1px solid rgba(255,255,255,.3);padding-top:.5rem;margin-top:.5rem}.progress-badge{position:absolute;top:10px;right:10px;background:#fffffff2;padding:.5rem .75rem;border-radius:20px;display:flex;align-items:center;gap:.4rem;box-shadow:0 4px 12px #0000004d;z-index:5;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.progress-badge.bronze{border-color:#cd7f32;background:linear-gradient(135deg,#cd7f3233,#fffffff2)}.progress-badge.silver{border-color:silver;background:linear-gradient(135deg,#c0c0c04d,#fffffff2)}.progress-badge.gold{border-color:gold;background:linear-gradient(135deg,#ffd7004d,#fffffff2)}.progress-badge.crown{border-color:#9370db;background:linear-gradient(135deg,#9370db4d,#fffffff2);animation:crownGlow 2s ease-in-out infinite}@keyframes crownGlow{0%,to{transform:scale(1);box-shadow:0 4px 12px #0000004d}50%{transform:scale(1.08);box-shadow:0 8px 20px #9370db99}}.medal-icon{font-size:1.3rem;line-height:1}.progress-percentage{font-size:.85rem;color:#333}.admin-activity-info{position:absolute;bottom:4px;left:4px;right:4px;display:flex;justify-content:center;align-items:center;z-index:5}.activity-status-text{font-size:.55rem;padding:2px 6px;border-radius:4px;font-weight:500;text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid;transition:all .3s ease;opacity:.85;width:fit-content;max-width:100%;white-space:nowrap}.activity-status-text.has-activities{background:#dbeafebf;color:#1e40af;border-color:#3b82f633}.activity-status-text.no-activities{background:#fef3c7bf;color:#92400e;border-color:#f59e0b33}.libro-info{padding:1.5rem;flex:1;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin-top:1rem;box-shadow:0 4px 15px #0000001a;min-height:200px;display:flex;flex-direction:column;transition:all .3s ease;width:100%;max-width:220px}.libro-info h3{margin:0 0 .5rem;font-size:1.15rem;color:#333;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:center;font-weight:700}.descripcion-corta{font-size:.85rem;color:#666;line-height:1.4;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-align:center}.activity-progress{margin-top:auto;padding-top:1rem;border-top:2px solid #f0f0f0}.progress-stats{display:flex;justify-content:center;gap:1rem;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.stat{color:#666;display:flex;align-items:center;gap:.3rem}.progress-bar-container{width:100%;height:10px;background:#e0e0e0;border-radius:10px;overflow:hidden;margin-bottom:.75rem;box-shadow:inset 0 2px 4px #0000001a}.progress-bar-fill{height:100%;transition:width .6s cubic-bezier(.175,.885,.32,1.275);border-radius:10px;box-shadow:0 2px 8px #0003}.motivational-message{font-size:.8rem;color:#555;text-align:center;font-style:italic;margin:0;line-height:1.3;padding:.5rem;background:#667eea0d;border-radius:8px}.btn-leer{padding:.75rem 1.5rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #667eea4d;position:relative;overflow:hidden}.btn-leer:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-leer:hover:before{width:300px;height:300px}.btn-leer:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #667eea80}.loading-state,.empty-state{text-align:center;padding:4rem 2rem;background:#ffffffe6;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin:2rem 0}.empty-state h3{margin:0 0 .5rem;color:#333;font-size:1.5rem}.empty-state p{margin:0 0 1.5rem;color:#666;font-size:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s}.modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.activate-code-modal{padding:2rem}.modal-header-icon{text-align:center;margin-bottom:2rem}.icon-large{font-size:3rem;display:block;margin-bottom:1rem}.modal-header-icon h2{margin:0 0 .5rem;color:#333;font-size:1.5rem}.modal-subtitle{color:#666;font-size:.95rem;margin:0}.alert{padding:1rem;border-radius:10px;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;font-size:.95rem;animation:slideDown .3s}.alert-error{background:#fee;color:#c33;border:2px solid #fcc}.alert-success{background:#efe;color:#3c3;border:2px solid #cfc}.alert-icon{font-size:1.5rem}.form-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:#333}.label-icon{font-size:1.2rem}.form-input{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:all .3s}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #667eea1a}.code-input{text-align:center;font-size:1.2rem;font-weight:600;letter-spacing:2px;text-transform:uppercase}.form-hint{display:block;margin-top:.5rem;font-size:.85rem;color:#999}.modal-buttons{display:flex;gap:1rem;margin-top:1.5rem}.btn{flex:1;padding:.875rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-outline{background:#fff;color:#666;border:2px solid #ddd}.btn-outline:hover{background:#f8f8f8;border-color:#ccc}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.catalogo-controls{flex-direction:column;align-items:stretch}.search-bar,.sort-select,.btn-activar-libro{width:100%}.catalogo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2rem 1rem}.libro-portada{width:160px;height:240px}.libro-info{max-width:180px;min-height:180px;padding:1rem}.libro-info h3{font-size:1rem}.modal-buttons{flex-direction:column}}@media (max-width: 480px){.catalogo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.libro-portada{width:140px;height:210px}.libro-info{max-width:160px;padding:.875rem}}.book-form{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.book-form h2{margin-bottom:1.5rem;color:#2c3e50}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#34495e}.form-group input[type=text],.form-group input[type=file],.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.form-group input[type=text]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3498db}.form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.file-info{display:block;margin-top:.5rem;color:#7f8c8d;font-size:.875rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #ecf0f1}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #3498db33}.btn-secondary:hover:not(:disabled){background:#7f8c8d;transform:translateY(-2px);box-shadow:0 4px 12px #7f8c8d4d}.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #7f8c8d33}.tabla-contenido-section{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:1.5rem;margin:2rem 0}.tabla-contenido-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.tabla-contenido-section h3{margin:0;color:#2c3e50;font-size:1.25rem}.btn-add-unit{padding:.5rem 1rem;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-add-unit:hover{background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-add-unit:active{transform:translateY(0);box-shadow:0 2px 6px #10b98133}.unidades-list{display:flex;flex-direction:column;gap:1rem}.unidad-item{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .3s}.unidad-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.unidad-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.unidad-numero{font-weight:700;color:#3b82f6;font-size:1rem}.btn-remove-unit{background:#fee2e2;color:#991b1b;border:none;padding:.4rem .8rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-remove-unit:hover{background:#fecaca;transform:scale(1.05)}.unidad-fields{display:flex;flex-direction:column;gap:1rem}.unidad-fields .form-group{margin-bottom:0}.empty-message{text-align:center;color:#6b7280;font-size:.95rem;padding:2rem;background:#fff;border-radius:6px;border:2px dashed #d1d5db}@media (max-width: 768px){.book-form{padding:1.5rem;margin-bottom:1.5rem}.book-form h2{font-size:1.5rem;margin-bottom:1.25rem}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.9rem}.form-group input[type=text],.form-group input[type=file],.form-group textarea,.form-group select{padding:.6rem;font-size:.95rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-actions{flex-direction:column;gap:.75rem}.btn-submit,.btn-cancel{width:100%;padding:.7rem;font-size:.95rem}.unidades-section h3{font-size:1.25rem}.btn-add-unit{width:100%;padding:.6rem;font-size:.9rem}.unidad-card{padding:1rem}.unidad-header{flex-direction:column;align-items:flex-start;gap:.75rem}.unidad-header h4{font-size:1rem}.btn-remove-unit{width:100%;padding:.5rem}}@media (max-width: 480px){.book-form{padding:1rem;margin-bottom:1rem}.book-form h2{font-size:1.25rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.85rem;margin-bottom:.4rem}.form-group input[type=text],.form-group input[type=file],.form-group textarea,.form-group select{padding:.5rem;font-size:.9rem}.form-group textarea{min-height:80px}.btn-submit,.btn-cancel{padding:.6rem;font-size:.9rem}.unidades-section h3{font-size:1.1rem}.btn-add-unit{padding:.5rem;font-size:.85rem}.unidad-card{padding:.75rem}.unidad-header h4{font-size:.95rem}.btn-remove-unit{padding:.4rem;font-size:.85rem}.empty-message{padding:1.5rem;font-size:.9rem}}.book-list-modern{margin-top:2rem;padding:0 1rem;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.book-list-header{background:#fff;padding:2rem;border-radius:20px;box-shadow:0 8px 30px #00000014;margin-bottom:2rem;border:2px solid #f0f0f0}.header-title{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.header-title h2{margin:0;font-size:2rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.book-count{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1.2rem;border-radius:30px;font-size:.9rem;font-weight:700;box-shadow:0 4px 15px #667eea4d}.header-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:280px;max-width:500px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem;pointer-events:none}.search-box input{width:100%;padding:.9rem 3rem;border:2px solid #e5e7eb;border-radius:50px;font-size:1rem;transition:all .3s ease;background:#f9fafb}.search-box input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 4px 15px #667eea26}.clear-search{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:#ef4444;color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.clear-search:hover{background:#dc2626;transform:translateY(-50%) scale(1.1)}.sort-select{padding:.9rem 1.2rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.95rem;font-weight:600;background:#fff;cursor:pointer;transition:all .3s ease;color:#374151}.sort-select:hover{border-color:#667eea;background:#f9fafb}.sort-select:focus{outline:none;border-color:#667eea;box-shadow:0 4px 15px #667eea26}.view-toggle{display:flex;gap:.5rem;background:#f3f4f6;padding:.3rem;border-radius:12px}.view-btn{padding:.6rem 1rem;border:none;background:transparent;border-radius:8px;font-size:1.2rem;cursor:pointer;transition:all .3s ease;color:#6b7280}.view-btn.active{background:#fff;color:#667eea;box-shadow:0 2px 8px #0000001a}.view-btn:hover:not(.active){background:#ffffff80}.books-container{display:grid;gap:2rem}.books-container.grid-view{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.books-container.list-view{grid-template-columns:1fr}.book-card-enhanced{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 30px #00000014;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:2px solid #f0f0f0;display:flex;flex-direction:column;opacity:0;animation:bookCardFadeIn .5s ease forwards;position:relative}@keyframes bookCardFadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.book-card-enhanced:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea0d,#764ba20d);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}.book-card-enhanced:hover:before{opacity:1}.book-card-enhanced:hover{transform:translateY(-12px);box-shadow:0 20px 50px #00000026;border-color:#667eea}.book-cover-section{position:relative;width:100%;height:280px;overflow:hidden;background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.book-cover-img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1);filter:brightness(.95)}.book-card-enhanced:hover .book-cover-img{transform:scale(1.1) rotate(2deg);filter:brightness(1.05)}.no-cover-modern{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:6rem;color:#9ca3af}.book-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eeae6,#764ba2e6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease}.book-card-enhanced:hover .book-overlay{opacity:1}.overlay-btn{background:#fff;color:#667eea;border:none;padding:1rem 2.5rem;border-radius:50px;font-size:1.1rem;font-weight:700;cursor:pointer;transform:translateY(20px);transition:all .3s ease;box-shadow:0 8px 20px #0003}.book-card-enhanced:hover .overlay-btn{transform:translateY(0)}.overlay-btn:hover{transform:scale(1.1)!important;box-shadow:0 10px 30px #0000004d}.book-content{padding:1.8rem;flex:1;display:flex;flex-direction:column;gap:1rem;position:relative;z-index:1}.book-title-section{margin-bottom:.5rem}.book-title{font-size:1.5rem;font-weight:800;color:#1f2937;margin:0 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .3s ease}.book-card-enhanced:hover .book-title{color:#667eea}.book-author{font-size:1rem;color:#6b7280;margin:0;font-weight:600;font-style:italic}.book-description-enhanced{font-size:.95rem;color:#4b5563;line-height:1.6;flex:1}.book-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.badge-modern{padding:.4rem .9rem;border-radius:20px;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;gap:.3rem;transition:all .3s ease}.badge-modern.category{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.badge-modern.language{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.badge-modern.filetype{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.badge-modern:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.book-metadata{display:flex;flex-wrap:wrap;gap:1rem;padding-top:1rem;border-top:2px solid #f3f4f6;margin-top:auto}.meta-item{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#6b7280;font-weight:600}.meta-icon{font-size:1.1rem}.book-actions-enhanced{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;padding:1rem;background:#f9fafb;border-top:2px solid #f0f0f0}.action-btn{padding:.8rem 1rem;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.3rem;transition:all .3s ease;position:relative;overflow:hidden}.action-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .4s,height .4s}.action-btn:hover:before{width:300px;height:300px}.btn-icon{font-size:1.5rem;position:relative;z-index:1}.btn-text{font-size:.75rem;position:relative;z-index:1}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.action-btn.primary:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea66}.action-btn.secondary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 15px #10b9814d}.action-btn.secondary:hover{transform:translateY(-3px);box-shadow:0 6px 20px #10b98166}.action-btn.tertiary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 15px #3b82f64d}.action-btn.tertiary:hover{transform:translateY(-3px);box-shadow:0 6px 20px #3b82f666}.action-btn.warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 15px #f59e0b4d}.action-btn.warning:hover{transform:translateY(-3px);box-shadow:0 6px 20px #f59e0b66}.action-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 15px #ef44444d}.action-btn.danger:hover{transform:translateY(-3px);box-shadow:0 6px 20px #ef444466}.empty-state-modern{text-align:center;padding:5rem 2rem;background:#fff;border-radius:24px;box-shadow:0 10px 40px #00000014;margin:2rem 0;animation:fadeIn .6s ease}.empty-icon{font-size:6rem;margin-bottom:1.5rem;animation:bounce 2s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.empty-state-modern h3{font-size:2rem;font-weight:800;color:#1f2937;margin-bottom:.8rem}.empty-state-modern p{font-size:1.1rem;color:#6b7280;margin-bottom:2rem}.empty-decoration{display:flex;justify-content:center;gap:2rem;font-size:2.5rem;margin-top:2rem;opacity:.3}.empty-decoration span{animation:float 3s ease-in-out infinite}.empty-decoration span:nth-child(2){animation-delay:.5s}.empty-decoration span:nth-child(3){animation-delay:1s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.no-results{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;box-shadow:0 8px 30px #00000014;margin:2rem 0}.no-results-icon{font-size:5rem;margin-bottom:1rem;opacity:.5}.no-results h3{font-size:1.8rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.no-results p{font-size:1rem;color:#6b7280;margin-bottom:2rem}.btn-clear-search{padding:.9rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.btn-clear-search:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea66}.books-container.list-view .book-card-enhanced{flex-direction:row}.books-container.list-view .book-cover-section{width:200px;min-width:200px;height:auto}.books-container.list-view .book-actions-enhanced{grid-template-columns:repeat(5,1fr)}@media (max-width: 1024px){.books-container.grid-view{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.header-controls{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.books-container.grid-view{grid-template-columns:1fr}.books-container.list-view .book-card-enhanced{flex-direction:column}.books-container.list-view .book-cover-section{width:100%;height:280px}.book-actions-enhanced,.books-container.list-view .book-actions-enhanced{grid-template-columns:repeat(2,1fr)}.header-title{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width: 480px){.book-list-header{padding:1.5rem}.header-title h2{font-size:1.5rem}.book-title{font-size:1.2rem}}.code-manager-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.code-manager{background:#fff;border-radius:12px;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.code-manager-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #ecf0f1;position:sticky;top:0;background:#fff;z-index:10}.code-manager-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.btn-close{background:#e74c3c;color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.btn-close:hover{background:#c0392b;transform:scale(1.05);box-shadow:0 2px 8px #e74c3c66}.btn-close:active{transform:scale(1);box-shadow:0 1px 4px #e74c3c4d}.code-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1.5rem 2rem;background:#f8f9fa}.stat-box{background:#fff;padding:1rem;border-radius:8px;text-align:center;box-shadow:0 2px 4px #0000001a;border-left:4px solid #95a5a6}.stat-box.success{border-left-color:#27ae60}.stat-box.primary{border-left-color:#3498db}.stat-box.info{border-left-color:#5dade2}.stat-box.warning{border-left-color:#f39c12}.stat-number{display:block;font-size:2rem;font-weight:700;color:#2c3e50}.stat-label{display:block;font-size:.9rem;color:#7f8c8d;margin-top:.25rem}.generate-section{padding:1.5rem 2rem;border-bottom:1px solid #ecf0f1}.form-inline{display:flex;gap:1rem;align-items:center}.form-inline label{font-weight:600;color:#2c3e50}.form-inline input{width:120px;padding:.6rem;border:2px solid #ddd;border-radius:6px;font-size:1rem}.form-inline input:focus{outline:none;border-color:#3498db}.select-tipo{padding:.6rem;border:2px solid #ddd;border-radius:6px;font-size:1rem;background:#fff;cursor:pointer;min-width:150px}.select-tipo:focus{outline:none;border-color:#3498db}.tipo-help{display:block;margin-top:.75rem;color:#7f8c8d;font-size:.9rem;font-style:italic}.code-actions{padding:1rem 2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-bottom:1px solid #ecf0f1}.filter-buttons,.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.filter-group{display:flex;gap:.5rem;align-items:center;padding:.5rem;background:#f8f9fa;border-radius:6px}.filter-group label{font-weight:600;color:#2c3e50;font-size:.9rem;margin-right:.25rem}.btn{padding:.6rem 1rem;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s;font-weight:500;display:inline-flex;align-items:center;justify-content:center}.btn-active{background:#3498db;color:#fff}.btn-secondary{background:#ecf0f1;color:#34495e}.btn-secondary:hover{background:#bdc3c7}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#229954}.btn-warning{background:#f39c12;color:#fff}.btn-warning:hover{background:#d68910}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn:disabled{opacity:.5;cursor:not-allowed}.codes-list{padding:1.5rem 2rem;min-height:300px}.loading,.empty-state{text-align:center;padding:3rem;color:#7f8c8d}.empty-state p{font-size:1.2rem;margin-bottom:.5rem}.codes-table{width:100%;border-collapse:collapse}.codes-table thead{background:#34495e;color:#fff}.codes-table th{padding:1rem;text-align:left;font-weight:600}.codes-table td{padding:.75rem 1rem;border-bottom:1px solid #ecf0f1}.codes-table tr.available{background:#fff}.codes-table tr.used{background:#f8f9fa}.codes-table tr:hover{background:#ecf0f1}.code-value{font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;color:#2c3e50;background:#ecf0f1;padding:.25rem .5rem;border-radius:4px}.badge{padding:.35rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.badge-available{background:#d5f4e6;color:#27ae60}.badge-used{background:#fadbd8;color:#e74c3c}.badge-estudiante{background:#d5e8f7;color:#2874a6}.badge-profesor{background:#fdebd0;color:#ca6f1e}.btn-copy{background:#3498db;color:#fff;border:none;padding:.5rem .75rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s}.btn-copy:hover{background:#2980b9;transform:scale(1.1)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem 2rem;border-top:1px solid #ecf0f1}@media (max-width: 1024px){.code-manager{max-width:95%;padding:1.5rem}.code-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.code-manager-overlay{padding:.5rem}.code-manager{max-width:98%;max-height:95vh;padding:1rem}.code-manager-header h2{font-size:1.25rem}.code-stats{grid-template-columns:1fr;gap:.75rem;padding:1rem 1.5rem}.stat-box{padding:.75rem}.code-actions{flex-direction:column;gap:.75rem}.filter-buttons,.action-buttons{width:100%;justify-content:center;flex-wrap:wrap;gap:.5rem}.btn-filter,.btn-action{padding:.5rem .75rem;font-size:.85rem}.codes-table{font-size:.8rem}.codes-table th,.codes-table td{padding:.5rem .4rem}.form-inline{flex-direction:column;align-items:stretch;gap:.75rem}.form-inline input,.form-inline select{width:100%}.code-manager-footer{padding:.75rem 1rem;flex-direction:column;gap:.75rem}}@media (max-width: 480px){.code-manager{padding:.75rem}.code-manager-header{padding:1rem}.code-manager-header h2{font-size:1.1rem}.btn-close{width:28px;height:28px;font-size:1.25rem}.code-stats{padding:1rem}.stat-box{padding:.6rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.75rem}.btn-filter,.btn-action{padding:.4rem .6rem;font-size:.8rem}.codes-table-container{max-height:250px}.codes-table{font-size:.75rem}.codes-table th,.codes-table td{padding:.4rem .3rem}.badge{padding:.2rem .4rem;font-size:.7rem}.form-inline input,.form-inline select{padding:.4rem .6rem;font-size:.85rem}}/*!
 * 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}.activity-form-container{max-width:900px;margin:0 auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.activity-form-container h2{font-size:28px;color:#1a1a1a;margin:0 0 24px}.activity-form{display:flex;flex-direction:column;gap:24px}.form-section{background:#f9f9f9;padding:20px;border-radius:8px;border:1px solid #e0e0e0}.form-section h3{font-size:20px;color:#333;margin:0 0 16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;color:#333;margin-bottom:6px;font-size:14px}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4caf50}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.question-preview{background:#fff;padding:14px 16px;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:12px}.question-preview-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.question-type-badge{background:#4caf50;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.question-points{background:#f0f0f0;color:#666;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.question-actions{margin-left:auto;display:flex;gap:8px}.edit-q-btn,.delete-q-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.edit-q-btn:hover{background:#e3f2fd}.delete-q-btn:hover{background:#ffebee}.question-preview-text{font-size:14px;color:#333;margin:0;line-height:1.5}.question-form{background:#fff;padding:20px;border-radius:8px;border:2px solid #4CAF50;margin-top:16px}.question-form h4{font-size:18px;color:#1a1a1a;margin:0 0 16px}.option-input-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.option-input-row input[type=radio]{width:20px;height:20px;cursor:pointer;flex-shrink:0}.option-input-row input[type=text]{flex:1;padding:8px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px}.remove-btn{background:#ffebee;color:#d32f2f;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:16px;flex-shrink:0;transition:background .2s}.remove-btn:hover{background:#ffcdd2}.add-option-btn,.add-question-btn{background:#e8f5e9;color:#2e7d32;border:2px solid #4CAF50;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.add-option-btn:hover,.add-question-btn:hover{background:#c8e6c9;transform:translateY(-1px)}.tf-selector{display:flex;gap:24px}.tf-selector label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.tf-selector input[type=radio]{width:18px;height:18px;cursor:pointer}.matching-builder{background:#fafafa;padding:16px;border-radius:8px}.matching-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.matching-column-builder{display:flex;flex-direction:column;gap:8px}.matching-column-builder label{font-weight:700;color:#4caf50;margin-bottom:8px}.matching-column-builder input{padding:8px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px}.matching-pairs{border-top:2px solid #e0e0e0;padding-top:16px}.matching-pairs label{font-weight:700;color:#333;display:block;margin-bottom:8px}.helper-text{font-size:13px;color:#666;font-style:italic;margin:0 0 12px}.pair-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:8px}.pair-left{font-size:14px;color:#333;font-weight:500}.pair-row select{padding:6px 10px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px}.question-form-actions,.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.cancel-btn{padding:10px 20px;background:#fff;border:2px solid #e0e0e0;color:#666;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn:hover{border-color:#999;color:#333;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.cancel-btn:active{transform:translateY(0);box-shadow:0 1px 4px #0000000d}.save-question-btn{padding:10px 20px;background:#4caf50;border:none;color:#fff;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.save-question-btn:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.save-question-btn:active{transform:translateY(0);box-shadow:0 2px 6px #4caf5033}.submit-btn{padding:12px 24px;background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;color:#fff;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #4caf504d}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.submit-btn:active{transform:translateY(0);box-shadow:0 2px 8px #4caf504d}.image-preview{margin-top:10px;position:relative;display:inline-block}.image-preview img{border-radius:8px;border:2px solid #e0e0e0;display:block}.btn-remove-image{margin-top:8px;padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .3s}.btn-remove-image:hover{background:#c0392b}.file-input{padding:8px;border:2px dashed #ddd;border-radius:4px;background:#f9f9f9;cursor:pointer;transition:border-color .3s}.file-input:hover{border-color:#4caf50}@media (max-width: 1024px){.activity-form-container{max-width:95%;padding:20px}}@media (max-width: 768px){.activity-form-container{max-width:98%;padding:16px}.form-header h2{font-size:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-group label{font-size:.9rem}.form-control{padding:.6rem;font-size:.9rem}.matching-columns{grid-template-columns:1fr;gap:1rem}.pair-row{grid-template-columns:1fr;gap:.5rem}.pair-left:after{content:" →"}.question-list{gap:1rem}.question-card{padding:1rem}.question-header h4{font-size:1rem}.question-actions{gap:.5rem}.question-actions button{padding:.4rem .8rem;font-size:.85rem}.question-form-actions,.form-actions{flex-direction:column;gap:.75rem}.cancel-btn,.save-question-btn,.submit-btn{width:100%;padding:.7rem;font-size:.95rem}.options-list{gap:.75rem}.option-item{padding:.75rem}.btn-add-option,.btn-add-pair{width:100%;padding:.6rem;font-size:.9rem}}@media (max-width: 480px){.activity-form-container{padding:12px}.form-header{padding:1rem}.form-header h2{font-size:1.25rem}.form-close{width:30px;height:30px;font-size:1.25rem}.form-group label{font-size:.85rem}.form-control{padding:.5rem;font-size:.85rem}.question-card{padding:.75rem}.question-header h4{font-size:.95rem}.question-type{font-size:.7rem;padding:.2rem .4rem}.question-actions button{padding:.35rem .6rem;font-size:.8rem}.option-item{padding:.6rem}.option-text{font-size:.85rem}.btn-add-option,.btn-add-pair,.btn-add-question{padding:.5rem;font-size:.85rem}.cancel-btn,.save-question-btn,.submit-btn{padding:.6rem;font-size:.9rem}}.line-matching-canvas-container{position:relative;width:100%;min-height:400px;-webkit-user-select:none;user-select:none}.line-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.elements-container{position:relative;display:flex;justify-content:space-between;gap:80px;padding:20px 0;z-index:2}.left-column,.right-column{flex:1;display:flex;flex-direction:column;gap:16px}.left-element,.right-element{padding:16px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;font-weight:500;font-size:15px;min-height:60px;display:flex;align-items:center;justify-content:center;text-align:center;transition:all .2s ease;position:relative}.left-element{cursor:pointer}.left-element:hover:not(.connected){background:#f3f4f6;border-color:#667eea;transform:translate(-4px)}.left-element.dragging{background:#e0e7ff;border-color:#667eea;box-shadow:0 4px 12px #667eea4d}.left-element.connected{background:#ede9fe;border-color:#8b5cf6}.right-element{cursor:default}.right-element.connected{background:#ede9fe;border-color:#8b5cf6}.right-element.correct{background:#d1fae5;border-color:#10b981;border-width:3px}.right-element.incorrect{background:#fee2e2;border-color:#ef4444;border-width:3px}.check-mark{position:absolute;top:8px;right:8px;color:#10b981;font-weight:700;font-size:20px}.x-mark{position:absolute;top:8px;right:8px;color:#ef4444;font-weight:700;font-size:20px}@media (max-width: 768px){.elements-container{gap:40px}.left-element,.right-element{padding:12px 16px;font-size:14px;min-height:50px}}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100vh}.activity-media-preview audio{margin-top:12px!important;margin-bottom:32px!important;min-height:54px;height:54px;box-sizing:content-box}.activity-media-preview audio,.activity-media-preview video{width:100%!important;min-width:240px;max-width:100%;display:block;margin:0 auto 16px;border-radius:10px;background:#f3f4f6;box-sizing:border-box}.activity-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#667eead9,#764ba2d9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex!important;align-items:center!important;justify-content:center!important;z-index:20000;pointer-events:auto;width:100vw!important;height:100vh!important;top:0!important;left:0!important;transform:none!important}.activity-modal{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:20px;width:90%;max-width:800px;height:auto;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 70px #00000080;position:relative;z-index:20001;border:3px solid rgba(255,255,255,.6);transform:none!important;zoom:normal!important}@keyframes slideUpBounce{0%{transform:translate3d(0,60px,0) scale(.9);opacity:0}60%{transform:translate3d(0,-10px,0) scale(1.02);opacity:1}to{transform:translateZ(0) scale(1);opacity:1}}.activity-modal-header{padding:28px 28px 32px;background:linear-gradient(135deg,#667eea26,#764ba226);border-bottom:3px solid rgba(102,126,234,.3);border-radius:24px 24px 0 0;display:flex;justify-content:space-between;align-items:flex-start;position:relative;overflow:visible}@keyframes sparkle{0%,to{opacity:.3;transform:rotate(0) scale(1)}50%{opacity:1;transform:rotate(15deg) scale(1.2)}}.activity-modal-header h2{margin:0;font-size:28px;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 10px rgba(102,126,234,.2);position:relative;z-index:2}.activity-modal-header p{margin:10px 0 0;color:var(--primary-color);font-size:15px;font-weight:500;line-height:1.5}.activity-modal-close{background:linear-gradient(135deg,#ef4444e6,#dc2626e6);border:2px solid rgba(255,255,255,.5);width:40px;height:40px;border-radius:12px;font-size:20px;cursor:pointer;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #ef44444d}.activity-modal-close:hover{transform:rotate(90deg) scale(1.1);box-shadow:0 6px 20px #ef444480}.activity-modal-body{padding:24px;overflow-y:auto;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#fff0,#f8f9ff80)}.activity-modal-footer{padding:20px;border-top:1px solid rgba(0,0,0,.08);background:#fff;flex-shrink:0;z-index:10;border-radius:0 0 20px 20px}.activity-instructions{background:linear-gradient(135deg,#e0f2fe,#dbeafe);border:3px solid rgba(59,130,246,.3);border-radius:16px;padding:20px;margin-bottom:28px;position:relative;box-shadow:0 4px 15px #3b82f626;animation:slideInLeft .5s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.activity-instructions p{margin:0;color:#0369a1;font-size:15px;font-weight:500;line-height:1.6}.result-message{padding:20px 24px;border-radius:16px;margin-bottom:28px;display:flex;align-items:center;gap:20px;animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 8px 25px #0000001f;position:relative;overflow:hidden}.result-message:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shine 2s infinite}@keyframes shine{0%{left:-100%}50%,to{left:100%}}@keyframes bounceIn{0%{transform:scale(.3) rotate(-10deg);opacity:0}50%{transform:scale(1.05) rotate(2deg)}70%{transform:scale(.95) rotate(-1deg)}to{transform:scale(1) rotate(0);opacity:1}}.result-message.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:3px solid #6ee7b7;color:#065f46}.result-message.partial{background:linear-gradient(135deg,#fef3c7,#fde68a);border:3px solid #fcd34d;color:#92400e}.result-message.error{background:linear-gradient(135deg,#fee2e2,#fecaca);border:3px solid #fca5a5;color:#991b1b}.result-message .icon{font-size:40px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.score-display{font-weight:700;margin-top:6px;font-size:18px}.multiple-choice-container{width:100%}.multiple-choice-question{font-size:22px;margin-bottom:28px;color:#1e293b;font-weight:700;line-height:1.5;padding-left:30px;position:relative}.multiple-choice-question:before{content:"❓";position:absolute;left:0;font-size:24px;animation:bounce 2s ease-in-out infinite}.multiple-choice-options{display:flex;flex-direction:column;gap:16px}.option-card{border:3px solid #e0e7ff;border-radius:16px;padding:18px 22px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);background:linear-gradient(135deg,#fff,#f8faff);box-shadow:0 2px 8px #667eea1a;position:relative;overflow:hidden}.option-card:before{content:"";position:absolute;top:0;left:0;width:0;height:100%;background:linear-gradient(90deg,#667eea1a,#764ba21a);transition:width .4s ease}.option-card:hover:not(.disabled){border-color:var(--primary-color);background:linear-gradient(135deg,#f0f4ff,#e8eeff);transform:translate(8px) scale(1.02);box-shadow:0 8px 25px #667eea40}.option-card:hover:not(.disabled):before{width:100%}.option-card.selected{border-color:var(--primary-color);background:linear-gradient(135deg,#e8eeff,#ddd6fe);transform:scale(1.03);box-shadow:0 8px 25px #667eea4d;animation:selectPulse .4s ease}@keyframes selectPulse{0%,to{transform:scale(1.03)}50%{transform:scale(1.05)}}.option-card.correct{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#a7f3d0);box-shadow:0 8px 25px #10b9814d;animation:correctWiggle .6s ease}@keyframes correctWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(2deg)}75%{transform:rotate(-2deg)}}.option-card.incorrect{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);box-shadow:0 8px 25px #ef44444d;animation:shake .5s ease}.option-card.disabled{cursor:not-allowed;opacity:.7}.option-radio{width:24px;height:24px;border:3px solid #cbd5e1;border-radius:50%;flex-shrink:0;transition:all .3s ease;position:relative;background:#fff}.option-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:10px;height:10px;border-radius:50%;background:#fff;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}.option-card.selected .option-radio{border-color:var(--primary-color);background:var(--gradient-primary);box-shadow:0 0 15px #667eea80}.option-card.selected .option-radio:after{transform:translate(-50%,-50%) scale(1)}.option-card.correct .option-radio{border-color:#10b981;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 0 15px #10b98180}.option-card.correct .option-radio:after{transform:translate(-50%,-50%) scale(1)}.option-text{flex:1;font-size:17px;color:#334155;font-weight:500;line-height:1.5}.true-false-container{text-align:center}.true-false-statement{font-size:22px;margin-bottom:36px;color:#1e293b;font-weight:700;line-height:1.6;padding:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px;border:3px solid rgba(59,130,246,.2);box-shadow:0 4px 15px #3b82f61a}.true-false-buttons{display:grid;grid-template-columns:1fr 1fr;gap:28px}.tf-button{border:4px solid #e0e7ff;border-radius:20px;padding:40px 20px;background:linear-gradient(135deg,#fff,#f8faff);cursor:pointer;transition:all .4s cubic-bezier(.68,-.55,.265,1.55);display:flex;flex-direction:column;align-items:center;gap:16px;font-size:20px;font-weight:700;box-shadow:0 4px 15px #667eea26;position:relative;overflow:hidden}.tf-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(102,126,234,.2),transparent);transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.tf-button .icon{font-size:56px;font-weight:700;transition:all .3s ease;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}.tf-button:hover:not(:disabled){transform:translateY(-8px) scale(1.05);border-color:var(--primary-color);box-shadow:0 12px 35px #667eea59}.tf-button:hover:not(:disabled):before{width:300px;height:300px}.tf-button:hover:not(:disabled) .icon{transform:scale(1.2) rotate(5deg)}.tf-button.selected{border-color:var(--primary-color);background:linear-gradient(135deg,#e8eeff,#ddd6fe);transform:scale(1.08);box-shadow:0 12px 35px #667eea66;animation:selectedBounce .5s ease}@keyframes selectedBounce{0%,to{transform:scale(1.08)}50%{transform:scale(1.12)}}.tf-button.correct{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;transform:scale(1.1);box-shadow:0 12px 35px #10b98166;animation:correctPop .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes correctPop{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1.1)}}.tf-button.incorrect{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;animation:incorrectShake .5s ease}@keyframes incorrectShake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-15px) rotate(-3deg)}75%{transform:translate(15px) rotate(3deg)}}.tf-button:disabled{cursor:not-allowed;opacity:.8}.matching-container{display:grid;grid-template-columns:1fr 1fr;gap:36px}.matching-column h4{margin-bottom:20px;color:#1e293b;text-align:center;font-size:18px;font-weight:700;padding:12px;background:var(--gradient-primary);color:#fff;border-radius:12px;box-shadow:0 4px 15px #667eea4d}.matching-items{display:flex;flex-direction:column;gap:14px}.matching-item{border:3px solid #e0e7ff;border-radius:14px;padding:18px;background:linear-gradient(135deg,#fff,#f8faff);cursor:pointer;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);text-align:center;font-weight:500;box-shadow:0 2px 8px #667eea1a;position:relative;overflow:hidden}.matching-item:before{content:"🔗";position:absolute;top:50%;left:10px;transform:translateY(-50%) scale(0);font-size:20px;transition:transform .3s ease}.matching-item:hover{border-color:var(--primary-color);background:linear-gradient(135deg,#e8eeff,#ddd6fe);transform:translateY(-4px) scale(1.03);box-shadow:0 8px 25px #667eea40}.matching-item:hover:before{transform:translateY(-50%) scale(1)}.matching-item.selected{border-color:var(--primary-color);background:var(--gradient-primary);color:#fff;transform:scale(1.05);box-shadow:0 8px 25px #667eea66;animation:matchPulse .5s ease}@keyframes matchPulse{0%,to{transform:scale(1.05)}50%{transform:scale(1.1)}}.matching-item.matched{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#a7f3d0);cursor:default;color:#065f46;font-weight:600;animation:matchSuccess .6s cubic-bezier(.68,-.55,.265,1.55)}.matching-item.matched:before{content:"✔️";transform:translateY(-50%) scale(1)}@keyframes matchSuccess{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}to{transform:rotate(0) scale(1)}}.drag-drop-container{display:flex;flex-direction:column;gap:36px}.draggable-elements h4,.drop-zones h4{margin-bottom:20px;color:#1e293b;font-weight:700;font-size:18px;padding-left:35px;position:relative}.draggable-elements h4:before{content:"🎯";position:absolute;left:0;font-size:24px}.drop-zones h4:before{content:"📦";position:absolute;left:0;font-size:24px}.draggable-element{border:3px solid var(--primary-color);border-radius:14px;padding:14px 24px;background:linear-gradient(135deg,#e8eeff,#ddd6fe);cursor:grab;display:inline-block;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);-webkit-user-select:none;user-select:none;font-weight:600;color:#4c1d95;margin:6px;box-shadow:0 4px 12px #667eea33}.draggable-element:hover{transform:translateY(-4px) rotate(-2deg) scale(1.05);box-shadow:0 8px 20px #667eea59;border-color:var(--secondary-color)}.draggable-element:active{cursor:grabbing;opacity:.6;transform:scale(.95)}.drop-zones{display:flex;flex-wrap:wrap;gap:20px}.drop-zone{flex:1;min-width:200px;border:4px dashed #c7d2fe;border-radius:16px;padding:20px;min-height:120px;background:linear-gradient(135deg,#fafbff,#f0f4ff);transition:all .3s ease;position:relative}.drop-zone:before{content:"⬇️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:40px;opacity:.2;transition:all .3s ease}.drop-zone:hover{border-color:var(--primary-color);background:linear-gradient(135deg,#eff6ff,#e0e7ff);border-style:solid;transform:scale(1.02)}.drop-zone:hover:before{opacity:.4;transform:translate(-50%,-50%) scale(1.2)}.drop-zone-label{font-weight:700;margin-bottom:14px;color:#4338ca;text-align:center;font-size:16px;background:#fff;padding:8px;border-radius:8px;box-shadow:0 2px 6px #667eea26}.dropped-element{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6;border-radius:10px;padding:10px 14px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#1e40af;animation:dropIn .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes dropIn{0%{transform:scale(.5) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.dropped-element button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:700}.dropped-element button:hover{transform:scale(1.15) rotate(90deg);box-shadow:0 4px 12px #ef444466}.fill-blanks-container{font-size:20px;line-height:2.2;padding:24px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px;border:3px solid rgba(59,130,246,.2)}.fill-blanks-text{color:#1e293b;font-weight:500}.blank-input{border:none;border-bottom:3px solid var(--primary-color);background:linear-gradient(135deg,#fff,#f0f4ff);padding:6px 12px;font-size:18px;text-align:center;min-width:140px;margin:0 6px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);border-radius:8px 8px 0 0;font-weight:600;color:#4c1d95;box-shadow:0 2px 8px #667eea26}.blank-input:focus{outline:none;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-bottom-color:var(--secondary-color);transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #667eea4d}.blank-input.disabled{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-color:#9ca3af;cursor:not-allowed}.media-container{width:100%}.media-player{margin-bottom:28px;border-radius:16px;overflow:hidden;border:4px solid rgba(102,126,234,.3);box-shadow:0 8px 25px #667eea33;background:linear-gradient(135deg,#1e293b,#334155)}.media-progress p{margin-bottom:12px;font-weight:700;color:#1e293b;font-size:16px;padding-left:32px;position:relative}.media-progress p:before{content:"🎵";position:absolute;left:0;font-size:22px}.media-progress-bar{width:100%;height:16px;background:linear-gradient(135deg,#e5e7eb,#f3f4f6);border-radius:10px;overflow:hidden;border:2px solid rgba(102,126,234,.2);box-shadow:inset 0 2px 6px #0000001a}.media-progress-fill{height:100%;background:var(--gradient-triple);transition:width .3s ease;position:relative;overflow:hidden;box-shadow:0 0 15px #667eea99}.media-progress-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:progressShine 2s infinite}@keyframes progressShine{0%{left:-100%}to{left:100%}}.open-ended-container{width:100%}.open-ended-question{font-size:22px;margin-bottom:20px;color:#1e293b;font-weight:700;line-height:1.6;padding-left:0;position:relative}.open-ended-textarea{width:100%;min-height:220px;border:3px solid #c7d2fe;border-radius:16px;padding:20px;font-size:17px;font-family:inherit;resize:vertical;transition:all .3s ease;background:linear-gradient(135deg,#fff,#f8faff);color:#1e293b;font-weight:500;line-height:1.7;box-shadow:0 4px 15px #667eea1a}.open-ended-textarea:focus{outline:none;border-color:var(--primary-color);background:linear-gradient(135deg,#fafbff,#f0f4ff);box-shadow:0 8px 25px #667eea40;transform:scale(1.01)}.open-ended-textarea:disabled{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);cursor:not-allowed;opacity:.7}.activity-modal-actions{padding:28px;border-top:3px solid rgba(102,126,234,.2);background:linear-gradient(180deg,#f8f9ff00,#e8eeff80);display:flex;gap:16px;justify-content:flex-end;border-radius:0 0 24px 24px}.btn-activity{padding:14px 32px;border-radius:12px;font-size:17px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.5px}.btn-activity:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn-activity:hover:before{width:300px;height:300px}.btn-cancel{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:3px solid #d1d5db;box-shadow:0 4px 12px #0000001a}.btn-cancel:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);transform:translateY(-4px) scale(1.05);box-shadow:0 8px 20px #00000026;border-color:#9ca3af}.btn-cancel:active{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #0000001a}.btn-submit{background:var(--gradient-primary);color:#fff;border:3px solid rgba(255,255,255,.3);box-shadow:0 6px 20px #667eea66;position:relative}.btn-submit:after{content:"✨";position:absolute;right:15px;font-size:18px;animation:sparkleRotate 3s linear infinite}@keyframes sparkleRotate{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}}.btn-submit:hover:not(:disabled){transform:translateY(-6px) scale(1.08);box-shadow:0 12px 35px #667eea80,0 0 40px #764ba24d;background:var(--gradient-primary)}.btn-submit:active:not(:disabled){transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #667eea66}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:none}@media (max-width: 768px){.activity-modal{width:95%;max-height:95vh}.activity-modal-header{padding:20px}.activity-modal-header h2{font-size:22px}.activity-modal-body{padding:20px}.matching-container{grid-template-columns:1fr;gap:24px}.true-false-buttons{grid-template-columns:1fr;gap:16px}.tf-button{padding:28px 20px}.drop-zones{flex-direction:column}.multiple-choice-question,.true-false-statement,.open-ended-question{font-size:18px}.btn-activity{padding:12px 24px;font-size:15px}}.crossword-clues-container{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:20px;border-radius:12px;border:2px solid #bae6fd;margin-bottom:20px}.crossword-clue-section{margin-bottom:16px}.crossword-clue-title{font-weight:700;font-size:16px;color:#0369a1;margin-bottom:10px;display:flex;align-items:center;gap:8px}.crossword-clue-item{padding:8px 12px;background:#fff;border-radius:8px;margin-bottom:6px;border-left:3px solid #0ea5e9;transition:all .2s}.crossword-clue-item:hover{background:#f0f9ff;transform:translate(4px)}.crossword-grid-container{background:linear-gradient(135deg,#fefce8,#fef3c7);padding:24px;border-radius:16px;box-shadow:0 4px 20px #0000001a;border:3px solid #fbbf24}.crossword-cell{border:2px solid #92400e!important;transition:all .2s}.crossword-cell:hover{box-shadow:0 0 8px #fbbf2480;transform:scale(1.05)}.crossword-cell input{font-size:16px;font-weight:700;color:#78350f;text-align:center;border:none;background:transparent;width:100%;height:100%;outline:none}.word-search-words-container{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:20px;border-radius:12px;border:3px solid #fbbf24;margin-bottom:20px;box-shadow:0 4px 12px #fbbf2433}.word-search-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.word-search-title{font-weight:700;font-size:16px;color:#92400e;display:flex;align-items:center;gap:8px}.word-search-counter{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:6px 16px;border-radius:20px;font-size:14px;font-weight:700;box-shadow:0 2px 8px #10b9814d}.word-search-word-item{padding:10px 14px;border-radius:8px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:space-between;transition:all .3s;box-shadow:0 2px 6px #0000001a}.word-search-word-item.found{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;animation:wordFound .5s ease-out}.word-search-word-item.not-found{background:#fff;border:2px solid #d1d5db}@keyframes wordFound{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.word-search-grid-container{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);padding:24px;border-radius:16px;box-shadow:0 6px 24px #8b5cf640;border:3px solid #a78bfa;display:inline-block}.word-search-cell{border:2px solid #6d28d9!important;border-radius:6px!important;font-weight:700;transition:all .15s;cursor:pointer;box-shadow:0 1px 3px #0000001a}.word-search-cell:hover{transform:scale(1.1);box-shadow:0 4px 12px #8b5cf666;z-index:10}.word-search-cell.selected{background:linear-gradient(135deg,#fef08a,#fde047)!important;border-color:#ca8a04!important;box-shadow:0 0 12px #facc1599}.word-search-cell.found{background:linear-gradient(135deg,#86efac,#4ade80)!important;border-color:#15803d!important;color:#065f46!important;animation:cellPop .3s ease-out}@keyframes cellPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.word-search-verify-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:10px 24px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 4px 12px #3b82f64d;transition:all .2s}.word-search-verify-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.word-search-clear-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;box-shadow:0 2px 8px #ef44444d;transition:all .2s}.word-search-clear-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.admin-deep-dive-manager{padding:20px;max-width:1400px;margin:0 auto}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:var(--gradient-primary);border-radius:12px;color:#fff}.manager-header h2{margin:0 0 5px;font-size:1.8em}.header-subtitle{margin:0;opacity:.9;font-size:1em}.header-actions{display:flex;gap:10px}.units-container{background:#f8f9fa;border-radius:8px;padding:20px}.units-list{display:flex;flex-direction:column;gap:15px}.unit-item{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:box-shadow .3s}.unit-item:hover{box-shadow:0 4px 16px #00000026}.unit-header{padding:20px;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:#fff;transition:background .2s}.unit-header:hover{background:#f8f9fa}.unit-info{flex:1}.unit-title-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.expand-icon{color:var(--primary-color);font-size:.8em;font-weight:700}.unit-title-row h3{margin:0;color:#2c3e50;font-size:1.3em;flex:1}.unit-badge{background:var(--primary-color);color:#fff;padding:4px 12px;border-radius:20px;font-size:.85em;font-weight:500}.unit-description{margin:0 0 10px 25px;color:#666;line-height:1.5}.unit-meta{display:flex;gap:15px;flex-wrap:wrap;margin-left:25px;font-size:.9em;color:#777}.unit-actions{display:flex;gap:10px;flex-shrink:0}.unit-content{border-top:2px solid #e9ecef;background:#f8f9fa;padding:20px}.activities-section{background:#fff;border-radius:8px;padding:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e9ecef}.section-header h4{margin:0;color:#2c3e50;font-size:1.2em}.no-activities{text-align:center;padding:40px;color:#999;font-style:italic}.activities-list{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;transition:all .2s}.activity-item:hover{border-color:var(--primary-color);background:#f1f3ff}.activity-info{display:flex;gap:15px;align-items:flex-start;flex:1}.activity-number{background:var(--primary-color);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9em;flex-shrink:0}.activity-info h5{margin:0 0 5px;color:#2c3e50;font-size:1em}.activity-info p{margin:0 0 8px;color:#666;font-size:.9em}.activity-meta{display:flex;gap:12px;font-size:.85em}.activity-type{background:#e9ecef;padding:3px 10px;border-radius:12px;color:#495057}.activity-points{color:var(--primary-color);font-weight:600}.activity-actions{display:flex;gap:8px;align-items:center}.btn-info{background:#3b82f6!important;color:#fff!important}.btn-info:hover{background:#2563eb!important}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state p{margin:10px 0;font-size:1.1em}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;padding:30px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-overlay-large{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content-large{background:#fff;border-radius:12px;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid #e9ecef;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{margin:0;color:#2c3e50;font-size:1.5em}.btn-close{background:none;border:none;font-size:1.5em;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.btn-close:hover{background:#f8f9fa;color:#666}.modal-content h2{margin:0 0 25px;color:#2c3e50;font-size:1.5em}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:500;font-size:.95em}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1em;font-family:inherit;transition:border-color .2s}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.modal-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid #e9ecef}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:1em;cursor:pointer;transition:all .3s;font-weight:500;display:inline-flex;align-items:center;gap:5px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-outline{background:transparent;border:1px solid #d1d5db;color:#374151}.btn-sm{padding:6px 12px;font-size:.9em}.loading{text-align:center;padding:60px 20px;color:#666;font-size:1.2em}@media (max-width: 1024px){.deepdive-manager{max-width:95%;padding:1.5rem}}@media (max-width: 768px){.deepdive-manager{max-width:98%;padding:1rem;margin:10px auto}.manager-header{flex-direction:column;align-items:flex-start;gap:15px;padding:1rem}.manager-header h2{font-size:1.25rem}.header-actions{width:100%;flex-direction:column;gap:.75rem}.header-actions button{width:100%;padding:.6rem;font-size:.9rem}.manager-content{padding:1rem}.units-list{gap:1rem}.unit-card{padding:1rem}.unit-header{flex-direction:column;gap:.75rem}.unit-info h3{font-size:1.1rem}.unit-actions{width:100%;justify-content:flex-end;gap:.5rem}.unit-actions button{padding:.4rem .8rem;font-size:.85rem}.form-row{grid-template-columns:1fr;gap:1rem}.activity-item{flex-direction:column;align-items:flex-start;gap:10px;padding:.75rem}.activity-info{width:100%}.activity-info span{font-size:.85rem}.activity-actions{width:100%;justify-content:flex-end}.empty-units{padding:2rem 1rem}.empty-units p{font-size:1rem}}@media (max-width: 480px){.deepdive-manager{padding:.75rem;margin:5px auto}.manager-header{padding:.75rem}.manager-header h2{font-size:1.1rem}.btn-close-manager{width:30px;height:30px;font-size:1.25rem}.header-actions button{padding:.5rem;font-size:.85rem}.manager-content,.unit-card{padding:.75rem}.unit-info h3{font-size:1rem}.unit-info p{font-size:.85rem}.unit-badge{padding:.2rem .4rem;font-size:.7rem}.unit-actions button{padding:.35rem .6rem;font-size:.8rem}.activity-item{padding:.6rem}.activity-info span{font-size:.8rem}.form-group label{font-size:.85rem}.form-input,.form-select,.form-textarea{padding:.4rem .6rem;font-size:.85rem}.empty-units{padding:1.5rem .75rem}.empty-units p{font-size:.9rem}}.admin-navbar{background:var(--gradient-primary);padding:1rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;margin-bottom:1rem;gap:1rem}@media (min-width: 768px){.admin-navbar{padding:1rem 2rem;margin-bottom:2rem}}.navbar-brand{display:flex;align-items:center;gap:.5rem}@media (min-width: 768px){.navbar-brand{gap:1rem}}.navbar-brand h2{margin:0;color:#fff;font-size:1.25rem}@media (min-width: 768px){.navbar-brand h2{font-size:1.5rem}}.user-info{color:#ffffffe6;font-size:.8rem;background:#fff3;padding:.4rem .8rem;border-radius:20px}@media (min-width: 768px){.user-info{font-size:.9rem;padding:.5rem 1rem}}.navbar-actions{display:flex;gap:.5rem;flex-wrap:wrap}@media (min-width: 768px){.navbar-actions{gap:1rem}}.btn-home,.btn-logout{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .3s;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px}@media (min-width: 768px){.btn-home,.btn-logout{padding:.6rem 1.2rem;font-size:.95rem}}.admin-books{min-height:100vh;background:#f5f7fa}.admin-books-header{padding:1rem 2rem;display:flex;justify-content:flex-end;align-items:center;margin-bottom:1.5rem}.form-container{padding:0 2rem;margin-bottom:2rem}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.content-header h1{margin:0;color:var(--text-dark)}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .3s;font-weight:500;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover:not(:disabled){background:#2980b9;transform:translateY(-2px);box-shadow:0 4px 12px #3498db4d}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background:#7f8c8d}.btn:disabled{opacity:.6;cursor:not-allowed}.loading{text-align:center;padding:3rem;font-size:1.2rem;color:#7f8c8d}.books-table{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}table{width:100%;border-collapse:collapse}thead{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}thead th{padding:15px;text-align:left;font-weight:600;font-size:14px}tbody td{padding:12px 15px;border-bottom:1px solid #f0f0f0}tbody tr:hover{background-color:#f9f9f9}.book-thumbnail{width:50px;height:70px;object-fit:cover;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.badge-active{background-color:#d4edda;color:#155724}.badge-inactive{background-color:#f8d7da;color:#721c24}.action-buttons{display:flex;gap:8px}.btn-icon{background:none;border:none;font-size:20px;cursor:pointer;padding:5px;border-radius:var(--radius-sm);transition:var(--transition)}.btn-icon:hover{transform:scale(1.2)}.btn-edit:hover{background-color:#e7f3ff}.btn-delete:hover{background-color:#ffe7e7}.empty-state{text-align:center;padding:60px 20px;color:var(--text-light)}.empty-state p{font-size:18px;margin-bottom:20px}.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;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:var(--radius-md);width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:20px 30px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border-radius:var(--radius-md) var(--radius-md) 0 0}.modal-header h2{margin:0;font-size:24px}.modal-close{background:#fff3;border:none;color:#fff;font-size:24px;width:35px;height:35px;border-radius:50%;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#ffffff4d}.book-form{padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-dark)}.form-group input,.form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:var(--radius-sm);font-size:14px;transition:var(--transition);font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff6b351a}.form-group textarea{resize:vertical}.image-preview{margin-top:10px;max-width:200px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.file-info{margin-top:10px;padding:10px;background-color:#f0f7ff;border-radius:var(--radius-sm);font-size:13px;color:var(--text-dark)}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.loading{text-align:center;padding:60px 20px;font-size:18px;color:var(--text-light)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.modal-content{width:95%;max-height:95vh}.book-form{padding:20px}table{font-size:12px}thead th,tbody td{padding:8px}.book-thumbnail{width:40px;height:56px}}.preview-container{margin-top:10px;max-width:200px}.image-preview{width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:8px;border:2px solid #e0e0e0;display:block}.file-info{margin-top:8px;font-size:.9rem;color:#666}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #ff6b6b;border-radius:50%;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:4rem 2rem;background:#f8f9fa;border-radius:12px;margin:2rem}.empty-state p{font-size:1.2rem;color:#666;margin-bottom:1.5rem}.modal-content-large{background:#fff;border-radius:var(--radius-md);width:95%;max-width:1200px;max-height:95vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}@media (max-width: 1024px){.admin-books-header{padding:1.5rem}.admin-books-header h1{font-size:1.75rem}.modal-content{width:90%;max-width:700px}.modal-content-large{width:95%;max-width:900px}}@media (max-width: 768px){.admin-navbar{padding:1rem;flex-direction:column;align-items:flex-start}.navbar-brand{width:100%;margin-bottom:.5rem}.navbar-brand h2{font-size:1.1rem}.user-info{font-size:.75rem;padding:.3rem .6rem}.navbar-actions{width:100%;justify-content:flex-end}.btn-home,.btn-logout{padding:.4rem .8rem;font-size:.8rem}.admin-books-header{padding:1rem;flex-direction:column;gap:1rem}.admin-books-header h1{font-size:1.5rem}.form-container{padding:1rem}.book-form{padding:20px}.form-row{grid-template-columns:1fr}.modal-content{width:95%;max-width:none}.modal-content-large{width:98%;max-width:none}.modal-header{padding:15px 20px}.modal-header h2{font-size:20px}}@media (max-width: 480px){.admin-navbar{padding:.75rem}.navbar-brand h2{font-size:1rem}.user-info{font-size:.7rem;padding:.25rem .5rem}.btn-home,.btn-logout{padding:.35rem .7rem;font-size:.75rem}.admin-books-header{padding:.75rem}.admin-books-header h1{font-size:1.25rem}.btn-primary{padding:.6rem 1rem;font-size:.85rem}.book-form{padding:15px}.form-group label{font-size:13px}.form-input,.form-select,.form-textarea{font-size:14px;padding:8px 12px}.modal-header h2{font-size:18px}.empty-state{padding:2rem 1rem}.empty-state p{font-size:1rem}}.fullscreen-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .3s ease-out}.fullscreen-modal-content{background:#fff;border-radius:20px;width:100%;max-width:1400px;max-height:95vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.fullscreen-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-radius:20px 20px 0 0;flex-shrink:0}.fullscreen-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.close-modal-btn{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;padding:0;line-height:1}.close-modal-btn:hover{background:#ffffff4d;transform:rotate(90deg);border-color:#ffffff80}.fullscreen-modal-body{flex:1;overflow-y:auto;padding:2rem;background:#f9fafb}.fullscreen-modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#653a8b)}@media (max-width: 768px){.fullscreen-modal-overlay{padding:0}.fullscreen-modal-content{max-width:100%;max-height:100vh;border-radius:0}.fullscreen-modal-header{padding:1rem 1.5rem;border-radius:0}.fullscreen-modal-header h2{font-size:1.25rem}.fullscreen-modal-body{padding:1.5rem}.close-modal-btn{width:35px;height:35px;font-size:1.25rem}}.filters-section{display:flex;gap:20px;margin-bottom:30px;padding:25px;background:#fff;border-radius:16px;box-shadow:0 4px 15px #00000014;flex-wrap:wrap;align-items:flex-end}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:8px;font-weight:600;color:#2d3047;font-size:14px}.filter-input,.filter-select{width:100%;padding:12px 16px;border:2px solid #E8E8E8;border-radius:12px;font-size:15px;transition:all .3s ease;background:#fff}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.btn-filter-apply{padding:12px 24px;background:var(--gradient-primary);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;min-width:140px}.btn-filter-apply:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-create{padding:12px 24px;background:linear-gradient(135deg,#4ecdc4,#44a39a);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s ease;box-shadow:0 4px 15px #4ecdc44d}.btn-create:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;margin-top:30px}.user-card{background:#fff;border-radius:20px;padding:25px;box-shadow:0 4px 20px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.user-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--gradient-triple);transform:scaleX(0);transition:transform .3s ease}.user-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00000026}.user-card:hover:before{transform:scaleX(1)}.user-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.user-avatar-large{width:70px;height:70px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 4px 15px #667eea4d}.user-role-badge{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.role-admin{background:linear-gradient(135deg,#e63946,#c62f3a);color:#fff}.role-teacher{background:linear-gradient(135deg,#4ecdc4,#44a39a);color:#fff}.role-student{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.role-school{background:linear-gradient(135deg,#fdb827,#f7931e);color:#fff}.role-default{background:#6c757d;color:#fff}.user-card-body h3{margin:0 0 8px;color:#2d3047;font-size:20px;font-weight:700}.user-email{margin:0 0 8px;color:#6c757d;font-size:14px}.user-school{margin:8px 0;color:var(--primary-color);font-size:13px;font-weight:600}.user-date{margin:8px 0 0;color:#6c757d;font-size:12px}.user-card-actions{display:flex;gap:8px;margin-top:20px;padding-top:20px;border-top:2px solid #F5F5F5;flex-wrap:wrap}.btn-edit-user,.btn-password-user,.btn-delete-user{flex:1;min-width:100px;padding:10px;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:13px;transition:all .3s ease}.btn-edit-user{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;box-shadow:0 3px 10px #3b82f64d}.btn-edit-user:hover{transform:translateY(-2px);box-shadow:0 5px 15px #3b82f666}.btn-password-user{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 3px 10px #f59e0b4d}.btn-password-user:hover{transform:translateY(-2px);box-shadow:0 5px 15px #f59e0b66}.btn-delete-user{background:linear-gradient(135deg,#e63946,#c62f3a);color:#fff;box-shadow:0 3px 10px #e639464d}.btn-delete-user:hover{transform:translateY(-2px);box-shadow:0 5px 15px #e6394666}.loading-state{text-align:center;padding:60px 20px;font-size:18px;color:#6c757d;background:#fff;border-radius:16px;box-shadow:0 4px 15px #00000014}.empty-state{text-align:center;padding:80px 20px;background:#fff;border-radius:20px;box-shadow:0 4px 15px #00000014}.empty-icon{font-size:80px;margin-bottom:20px}.empty-state h3{margin:0 0 10px;color:#2d3047;font-size:24px}.empty-state p{margin:0;color:#6c757d;font-size:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.modal-content{background:#fff;border-radius:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:30px 30px 20px;border-bottom:2px solid #F5F5F5;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;color:#2d3047;font-size:24px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close{width:36px;height:36px;border-radius:50%;background:#f5f5f5;border:none;cursor:pointer;font-size:20px;color:#6c757d;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#e63946;color:#fff}.user-form{padding:30px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2d3047;font-size:14px}.form-input,.form-select{width:100%;padding:14px 16px;border:2px solid #E8E8E8;border-radius:12px;font-size:15px;transition:all .3s ease;font-family:inherit}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-actions{display:flex;gap:12px;margin-top:30px;padding-top:20px;border-top:2px solid #F5F5F5}.btn-cancel,.btn-submit{flex:1;padding:14px;border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s ease}.btn-cancel{background:#f5f5f5;color:#6c757d}.btn-cancel:hover{background:#e8e8e8}.btn-submit{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}@media (max-width: 1024px){.users-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}}@media (max-width: 768px){.admin-users{padding:1rem}.users-header h1{font-size:1.75rem}.filters-section{flex-direction:column;align-items:stretch;gap:.75rem}.filter-group{min-width:100%}.filter-group label{font-size:.85rem}.filter-input,.filter-select{padding:.5rem .75rem;font-size:.9rem}.btn-filter-apply{width:100%;padding:.6rem;font-size:.9rem}.users-grid{grid-template-columns:1fr;gap:1rem}.user-card{padding:1.25rem}.user-card h3{font-size:1.1rem}.user-info p{font-size:.85rem}.user-actions{flex-direction:column}.user-actions button{width:100%;padding:.5rem;font-size:.85rem}.modal-content{margin:20px;max-height:calc(100vh - 40px);width:calc(100% - 40px)}.modal-header h2{font-size:1.25rem}.user-form{padding:20px}.form-group label{font-size:.9rem}.form-input,.form-select{padding:.5rem .75rem;font-size:.9rem}}@media (max-width: 480px){.admin-users{padding:.75rem}.users-header{padding:1rem}.users-header h1{font-size:1.5rem}.btn-new-user{padding:.5rem 1rem;font-size:.85rem}.filters-section{padding:.75rem}.filter-group label{font-size:.8rem}.filter-input,.filter-select{padding:.4rem .6rem;font-size:.85rem}.btn-filter-apply{padding:.5rem;font-size:.85rem}.user-card{padding:1rem}.user-card h3{font-size:1rem}.user-info p{font-size:.8rem}.user-badge{padding:.25rem .5rem;font-size:.7rem}.user-actions button{padding:.4rem;font-size:.8rem}.modal-content{margin:10px;max-height:calc(100vh - 20px);width:calc(100% - 20px)}.modal-header{padding:15px}.modal-header h2{font-size:1.1rem}.modal-close{width:30px;height:30px;font-size:18px}.user-form{padding:15px}.form-group{margin-bottom:15px}.form-group label{font-size:.85rem}.form-input,.form-select,.form-textarea{padding:.4rem .6rem;font-size:.85rem}.form-actions{flex-direction:column}.form-actions button{width:100%;padding:.6rem;font-size:.9rem}}.fullscreen-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .3s ease}.fullscreen-modal-content{background:#fff;border-radius:20px;width:100%;max-width:900px;max-height:95vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.fullscreen-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.fullscreen-modal-header h2{margin:0;font-size:1.5rem;font-weight:700}.close-modal-btn{background:#fff;color:#667eea;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-weight:700}.close-modal-btn:hover{background:#f0f0f0;transform:rotate(90deg)}.fullscreen-modal-body{padding:2rem;overflow-y:auto;flex:1}.fullscreen-modal-body::-webkit-scrollbar{width:10px}.fullscreen-modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.fullscreen-modal-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.fullscreen-modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}@media (max-width: 768px){.fullscreen-modal-overlay{padding:10px}.fullscreen-modal-content{max-height:98vh;border-radius:16px}.fullscreen-modal-header{padding:1rem 1.5rem}.fullscreen-modal-header h2{font-size:1.2rem}.fullscreen-modal-body{padding:1.5rem}.close-modal-btn{width:35px;height:35px;font-size:1.2rem}}.color-palette-selector{margin:30px 0;padding:25px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.color-palette-selector h3{margin:0 0 10px;font-size:1.5rem;color:#1f2937}.palette-description{margin:0 0 25px;color:#6b7280;font-size:.95rem}.palettes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.palette-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;padding:20px;cursor:pointer;transition:all .3s ease}.palette-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000026;border-color:var(--primary-color)}.palette-card.active{border-color:#10b981;background:#ecfdf5;box-shadow:0 4px 12px #10b98133}.palette-name{font-weight:600;color:#1f2937;margin-bottom:15px;font-size:1.1rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.default-badge{background:var(--primary-color);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:500}.active-badge{background:#10b981;color:#fff;font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:500}.palette-colors{display:flex;gap:8px}.color-swatch{width:40px;height:40px;border-radius:8px;border:2px solid #ffffff;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease}.color-swatch:hover{transform:scale(1.1)}.admin-container{display:flex;flex-direction:column;min-height:100vh;background:var(--background-color);width:100%;overflow-x:hidden}@media (min-width: 768px){.admin-container{flex-direction:row}}.admin-sidebar{width:100%;background:var(--gradient-primary);color:#fff;padding:20px 15px;display:flex;flex-direction:column;box-shadow:4px 0 20px #00000026;position:relative;overflow:hidden}.admin-sidebar:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}@media (min-width: 768px){.admin-sidebar{width:260px;padding:30px 20px}}.sidebar-header{margin-bottom:30px;position:relative;z-index:1}.logo-admin{display:flex;align-items:center;gap:12px;padding:15px;background:#ffffff26;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0000001a}.logo-icon{font-size:32px;animation:bounce 2s ease-in-out infinite}.logo-admin h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.5px}.admin-nav{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1;flex-grow:1}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 18px;background:transparent;color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:500;transition:all .3s ease;text-align:left;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.nav-item:hover:before{left:100%}.nav-item:hover{background:#ffffff26;transform:translate(5px)}.nav-item.active{background:#ffffff40;box-shadow:0 4px 15px #0000001a}.nav-icon{font-size:20px;min-width:24px;text-align:center}.sidebar-footer{margin-top:auto;padding-top:20px;border-top:2px solid rgba(255,255,255,.2);position:relative;z-index:1}.user-info-sidebar{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff1a;border-radius:12px;margin-bottom:15px}.user-avatar-sidebar{width:45px;height:45px;border-radius:50%;background:#fff;color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;box-shadow:0 4px 10px #0000001a}.user-details-sidebar{flex:1}.user-name-sidebar{margin:0;font-weight:600;font-size:14px}.user-role-sidebar{margin:0;font-size:12px;opacity:.9}.btn-logout-admin{width:100%;padding:12px;background:#e63946e6;color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-logout-admin:hover{background:#e63946;transform:translateY(-2px);box-shadow:0 4px 15px #e6394666}.admin-content{flex:1;padding:20px;overflow-y:auto;max-width:1400px;margin:0 auto;width:100%}@media (min-width: 768px){.admin-content{padding:40px}}.admin-header-new{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding:30px;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;position:relative;overflow:hidden}.admin-header-new:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--gradient-triple);animation:shimmer 3s linear infinite}.header-content-new h1{margin:0 0 8px;font-size:32px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-content-new p{margin:0;color:#6c757d;font-size:16px}.btn-refresh{padding:12px 24px;background:linear-gradient(135deg,#4ecdc4,#44a39a);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #4ecdc44d}.btn-refresh:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;padding:25px;border-radius:20px;box-shadow:0 4px 20px #00000014;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;transition:height .3s ease}.stat-card.primary{background:var(--gradient-primary);color:#fff}.stat-card.primary:before{background:linear-gradient(90deg,#ffffff4d,#ffffff1a)}.stat-card.secondary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-card.secondary:before{background:linear-gradient(90deg,#ffffff4d,#ffffff1a)}.stat-card.success{background:linear-gradient(135deg,#4ecdc4,#44a39a);color:#fff}.stat-card.success:before{background:linear-gradient(90deg,#ffffff4d,#ffffff1a)}.stat-card.warning{background:linear-gradient(135deg,#ffb703,#ff9e00);color:#fff}.stat-card.warning:before{background:linear-gradient(90deg,#ffffff4d,#ffffff1a)}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.stat-card:hover:before{height:8px}.stat-card-icon{font-size:40px;margin-bottom:15px;animation:float 3s ease-in-out infinite}.stat-card.primary .stat-card-icon,.stat-card.secondary .stat-card-icon{filter:brightness(0) invert(1);opacity:.95}.stat-card-content h3{margin:0 0 10px;color:#6c757d;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-card.primary .stat-card-content h3,.stat-card.secondary .stat-card-content h3,.stat-card.success .stat-card-content h3,.stat-card.warning .stat-card-content h3{color:#ffffffe6}.stat-card-value{font-size:36px;font-weight:700;background:linear-gradient(135deg,#2d3047,#6c757d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.stat-card.primary .stat-card-value,.stat-card.secondary .stat-card-value,.stat-card.success .stat-card-value,.stat-card.warning .stat-card-value{color:#fff;background:none;-webkit-text-fill-color:white}.stat-card-trend{font-size:13px;color:#6c757d;font-weight:500}.stat-card.primary .stat-card-trend,.stat-card.secondary .stat-card-trend,.stat-card.success .stat-card-trend,.stat-card.warning .stat-card-trend{color:#fffc}.stat-card-decoration{position:absolute;right:-20px;bottom:-20px;width:100px;height:100px;border-radius:50%;opacity:.1}.stat-card.primary .stat-card-decoration,.stat-card.secondary .stat-card-decoration{background:#fff3}.stat-card.success .stat-card-decoration{background:#4ecdc4}.stat-card.warning .stat-card-decoration{background:#ffb703}.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.metric-detailed{background:#fff;padding:25px;border-radius:20px;box-shadow:0 4px 20px #00000014;display:flex;align-items:center;gap:20px;transition:all .3s ease;border-left:5px solid}.metric-detailed.primary{border-left-color:var(--primary-color)}.metric-detailed.secondary{border-left-color:var(--secondary-color)}.metric-detailed.success{border-left-color:#4ecdc4}.metric-detailed.accent{border-left-color:#fdb827}.metric-detailed:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.metric-icon-large{font-size:50px;line-height:1}.metric-info h3{margin:0 0 8px;color:#6c757d;font-size:14px;font-weight:600;text-transform:uppercase}.metric-number{margin:0;font-size:32px;font-weight:700;color:#2d3047}.metric-desc{margin:5px 0 0;font-size:13px;color:#6c757d}.admin-section{margin-bottom:40px}.section-title{display:flex;align-items:center;gap:12px;font-size:24px;color:#2d3047;margin-bottom:25px;font-weight:700}.section-icon{font-size:28px}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.action-card.modern{background:#fff;padding:30px;border-radius:20px;box-shadow:0 4px 20px #00000014;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.action-card.modern:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ff6b350d,#f7931e0d);opacity:0;transition:opacity .3s ease}.action-card.modern:hover:before{opacity:1}.action-card.modern:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00000026}.action-card-header{margin-bottom:20px}.action-icon-circle{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:15px;box-shadow:0 4px 15px #0000001a}.action-icon-circle.primary,.action-icon-circle.secondary{background:var(--gradient-primary)}.action-icon-circle.success{background:linear-gradient(135deg,#4ecdc4,#44a39a)}.action-icon-circle.warning{background:linear-gradient(135deg,#ffb703,#ff9e00)}.action-card.modern h3{margin:0 0 10px;font-size:20px;color:#2d3047;font-weight:700}.action-card.modern p{margin:0 0 20px;color:#6c757d;font-size:14px;line-height:1.6}.action-btn-modern{width:100%;padding:12px;background:var(--gradient-primary);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.action-btn-modern:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.activity-feed{background:#fff;border-radius:20px;padding:25px;box-shadow:0 4px 20px #00000014}.activity-item{display:flex;gap:15px;padding:15px;border-radius:12px;transition:all .3s ease;margin-bottom:10px}.activity-item:hover{background:#fff8f0}.activity-icon{font-size:24px;min-width:30px}.activity-content{flex:1}.activity-text{margin:0 0 5px;color:#2d3047;font-size:14px;font-weight:500}.activity-time{margin:0;color:#6c757d;font-size:12px}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.feature-item{background:#fff;padding:25px;border-radius:16px;box-shadow:0 4px 15px #0000000f;text-align:center;transition:all .3s ease}.feature-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a}.feature-icon{font-size:40px;margin-bottom:12px;display:block}.feature-item h4{margin:0 0 8px;font-size:16px;color:#2d3047;font-weight:700}.feature-item p{margin:0;color:#6c757d;font-size:13px}@media (max-width: 768px){.admin-header-new{flex-direction:column;align-items:flex-start;gap:15px}.header-content-new h1{font-size:24px}.stats-grid,.metrics-row,.quick-actions-grid{grid-template-columns:1fr}.features-grid{grid-template-columns:repeat(2,1fr)}}.nav-item{background-color:#ffffff1a;border:none;color:#fff;padding:15px 20px;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-size:16px;transition:var(--transition)}.nav-item:hover{background-color:#fff3}.nav-item.active{background-color:#ffffff4d;font-weight:600}.admin-content{flex:1;padding:1rem;overflow-y:auto;width:100%;box-sizing:border-box}@media (min-width: 768px){.admin-content{padding:30px}}.admin-header{margin-bottom:20px}@media (min-width: 768px){.admin-header{margin-bottom:30px}}.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}@media (min-width: 768px){.admin-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}}.stat-card{background:#fff;border-radius:var(--radius-md);padding:25px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-md);transition:var(--transition)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-icon{font-size:48px}.stat-info h3{font-size:14px;color:var(--text-light);margin-bottom:5px}.stat-number{font-size:32px;font-weight:700;color:var(--primary-color);margin:0}.admin-section{margin-bottom:30px}.admin-section h2{color:var(--text-dark);margin-bottom:15px}.btn-logout-admin{background-color:#fff3;color:#fff;border:2px solid white;padding:12px 20px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:var(--transition);width:100%}.btn-logout-admin:hover{background-color:#fff;color:var(--primary-color)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:20px}.action-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .3s ease;border:2px solid transparent;text-align:center}.action-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026;border-color:var(--primary-color)}.action-icon{font-size:48px;margin-bottom:12px}.action-card h3{font-size:18px;font-weight:700;color:var(--text-dark);margin:0 0 8px}.action-card p{font-size:14px;color:#666;margin:0 0 16px}.action-btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.action-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}@media (max-width: 768px){.admin-container{flex-direction:column}.admin-sidebar{width:100%;padding:15px}.logo-admin h2{font-size:18px}.logo-icon{font-size:24px}.nav-item{padding:12px 15px;font-size:14px}.admin-content{padding:15px}.admin-header h1{font-size:24px}.admin-cards,.quick-actions-grid{grid-template-columns:1fr;gap:15px}.action-card{padding:20px}.action-icon{font-size:36px}.action-card h3{font-size:16px}}@media (max-width: 480px){.admin-sidebar{padding:10px}.logo-admin{padding:10px;gap:8px}.logo-admin h2{font-size:16px}.nav-item{padding:10px 12px;font-size:13px}.admin-content{padding:10px}.admin-header h1{font-size:20px}.stat-number{font-size:28px}.action-card{padding:16px}.action-icon{font-size:32px}}.customization-loader{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(135deg,#e8eeff,#f5e8ff,#fef3ff,#e8f7ff,#f0fdff);background-size:400% 400%;animation:gradientShift 15s ease infinite}.admin-main-content{flex:1;padding:2rem;margin-left:260px;min-height:100vh;background:#f9fafb;transition:margin-left .3s ease}.customization-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.customization-header>div:first-child{flex:1}.customization-header h1{font-size:2rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem}.customization-header p{color:#6b7280;margin:0;font-size:1rem}.btn-save-customization{padding:1rem 2rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;white-space:nowrap}.btn-save-customization:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-save-customization:disabled{opacity:.6;cursor:not-allowed}.view-selector-container{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:2rem}.view-selector-title{font-size:1.3rem;color:#1f2937;margin:0 0 1.5rem;font-weight:600}.view-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.view-card{background:linear-gradient(135deg,#f9fafb,#fff);border:2px solid #e5e7eb;border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.view-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea26;border-color:var(--primary-color)}.view-card.active{background:var(--gradient-primary);border-color:var(--primary-color);color:#fff;box-shadow:0 8px 24px #667eea4d}.view-card-icon{font-size:3rem;line-height:1}.view-card.active .view-card-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.view-card-title{font-size:1.1rem;font-weight:700;margin:0}.view-card.active .view-card-title{color:#fff}.view-card-description{font-size:.85rem;color:#6b7280;line-height:1.4;margin:0}.view-card.active .view-card-description{color:#ffffffe6}.customization-content{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 2px 12px #0000000f;min-height:400px}.tab-panel h2{font-size:1.8rem;color:#1f2937;margin:0 0 .5rem}.tab-panel h3{font-size:1.3rem;color:#1f2937;margin:2rem 0 1rem}.tab-panel h4{font-size:1.1rem;color:#1f2937;margin:0 0 1rem}.tab-description{color:#6b7280;margin:0 0 2rem;font-size:1rem}.info-banner{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:4px solid #3b82f6;padding:1.5rem;border-radius:8px;color:#1e40af;font-size:1rem;margin:2rem 0}@media (max-width: 1200px){.admin-main-content{margin-left:0;padding:1.5rem}.view-selector-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.view-card{padding:1.25rem}.view-card-icon{font-size:2.5rem}}@media (max-width: 768px){.customization-header{flex-direction:column;gap:1rem}.customization-header>div:last-child{width:100%;display:flex;flex-direction:column;gap:.75rem}.btn-save-customization,.btn-restore-defaults{width:100%}.view-selector-container{padding:1.5rem}.view-selector-grid{grid-template-columns:1fr;gap:1rem}.view-card{flex-direction:row;text-align:left;padding:1rem}.view-card-icon{font-size:2rem;flex-shrink:0}.customization-content{padding:1.5rem}.tab-panel h2{font-size:1.5rem}.colors-grid,.branding-grid,.form-grid{grid-template-columns:1fr!important}}@media (max-width: 480px){.admin-main-content{padding:1rem}.customization-header h1{font-size:1.5rem}.customization-header p{font-size:.9rem}.view-selector-container{padding:1rem}.view-selector-title{font-size:1.1rem}.view-card{padding:.875rem}.view-card-icon{font-size:1.75rem}.view-card-title{font-size:1rem}.view-card-description{font-size:.8rem}.customization-content{padding:1rem}.btn-save-floating{bottom:1rem;right:1rem;width:50px;height:50px;font-size:1.5rem}}.customization-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap;background:#fff;padding:1rem;border-radius:12px;box-shadow:0 2px 10px #0000000d}.tab{padding:.75rem 1.5rem;background:transparent;border:2px solid transparent;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#6b7280}.tab:hover{background:#f3f4f6;color:var(--primary-color)}.tab.active{background:var(--gradient-primary);color:#fff;border-color:transparent}.customization-content{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #00000014;min-height:500px}.tab-panel{animation:fadeIn .4s ease}.tab-panel h2{font-size:2rem;margin-bottom:.5rem;color:#1f2937}.tab-description{color:#6b7280;margin-bottom:2rem;font-size:1.05rem}.colors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.color-item{background:#f9fafb;padding:1.5rem;border-radius:12px;border:2px solid #e5e7eb;transition:all .3s ease}.color-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #667eea1a}.color-item label{display:block;font-weight:600;margin-bottom:.75rem;color:#374151;font-size:.95rem}.color-input-group{display:flex;gap:.75rem;margin-bottom:.75rem}.color-input-group input[type=color]{width:60px;height:45px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .3s ease}.color-input-group input[type=color]:hover{border-color:var(--primary-color)}.color-input-group input[type=text]{flex:1;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-family:Courier New,monospace;font-size:.95rem;transition:all .3s ease}.color-input-group input[type=text]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.color-preview{width:100%;height:60px;border-radius:8px;border:2px solid #e5e7eb;box-shadow:inset 0 2px 4px #0000001a}.branding-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.upload-card{background:#f9fafb;padding:2rem;border-radius:12px;border:2px dashed #d1d5db;text-align:center;transition:all .3s ease}.upload-card:hover{border-color:var(--primary-color);background:#f3f4f6}.upload-card h3{margin-bottom:1.5rem;color:#374151;font-size:1.1rem}.image-preview{margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;max-height:200px;display:flex;align-items:center;justify-content:center;position:relative}.image-preview img{max-width:100%;max-height:180px;object-fit:contain}.btn-delete-image{position:absolute;top:.5rem;right:.5rem;background:#ef4444e6;color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px #0003}.btn-delete-image:hover{background:#dc2626;transform:scale(1.1);box-shadow:0 4px 12px #dc262666}.btn-upload{display:inline-block;padding:.75rem 1.5rem;background:var(--gradient-primary);color:#fff;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.upload-progress{margin-top:1rem;position:relative;height:30px;background:#e5e7eb;border-radius:15px;overflow:hidden}.progress-bar{height:100%;background:var(--gradient-primary);transition:width .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:.75rem}.upload-progress span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:600;font-size:.9rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;margin-bottom:.5rem;color:#374151;font-size:.95rem}.form-group input,.form-group textarea{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.preview-image{max-width:100%;max-height:200px;object-fit:contain;border-radius:8px;margin:.75rem 0;border:2px solid #e5e7eb}.btn-add-item{margin-bottom:2rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-add-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.items-list{display:grid;gap:1.5rem}.item-card{background:#f9fafb;padding:1.5rem;border-radius:12px;border:2px solid #e5e7eb;transition:all .3s ease}.item-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #667eea1a}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.item-header h4{margin:0;color:#374151;font-size:1.1rem}.btn-remove{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-remove:hover{background:#dc2626;transform:scale(1.05)}.header-section{background:#f9fafb;padding:2rem;border-radius:12px;margin-bottom:2rem;border:2px solid #e5e7eb}.header-section h3{margin-bottom:1.5rem;color:#374151;font-size:1.3rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.btn-save-floating{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;background:var(--gradient-primary);color:#fff;border:none;border-radius:50%;font-size:1.8rem;cursor:pointer;box-shadow:0 4px 20px #667eea66;transition:all .3s ease;z-index:100;display:flex;align-items:center;justify-content:center}.btn-save-floating:hover:not(:disabled){transform:scale(1.1);box-shadow:0 6px 30px #667eea80}.btn-save-floating:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.customization-header{flex-direction:column;align-items:flex-start}.customization-content{padding:1.5rem}.colors-grid,.branding-grid,.form-grid{grid-template-columns:1fr}.customization-tabs{overflow-x:auto;flex-wrap:nowrap}.tab{white-space:nowrap}.btn-save-floating{bottom:1rem;right:1rem;width:50px;height:50px;font-size:1.5rem}}.section-divider{height:2px;background:linear-gradient(90deg,transparent,#e5e7eb 10%,#e5e7eb 90%,transparent);margin:40px 0}.upload-area{border:2px dashed #d1d5db;border-radius:12px;padding:30px;text-align:center;background:#f9fafb;transition:all .3s ease;cursor:pointer}.upload-area:hover{border-color:var(--primary-color);background:#f3f4ff}.upload-area.has-image{border-style:solid;border-color:#10b981}.nested-options{background:#f9fafb;padding:20px;border-radius:10px;margin-top:15px;border-left:4px solid var(--primary-color)}.nested-options h4{margin:0 0 15px;color:#1f2937;font-size:1.1rem}.button-customization{display:grid;gap:15px}.button-preview{padding:12px 24px;border-radius:8px;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;text-align:center;margin-top:10px}.button-preview:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.sidebar-footer{margin-top:auto;padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.user-info-sidebar{display:flex;align-items:center;gap:1rem}.user-avatar-sidebar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem;flex-shrink:0}.user-details-sidebar{flex:1;min-width:0}.user-name-sidebar{margin:0 0 .5rem;font-weight:600;color:#fff;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn-sidebar{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;text-align:center}.logout-btn-sidebar:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px)}.logout-btn-sidebar:active{transform:translateY(0)}.epub-plain-text-viewer{width:100%;max-width:800px;margin:20px auto 120px;padding:0;background:#f9f7f4;box-shadow:0 2px 12px #0000001a;border-radius:8px;min-height:600px;position:relative}.epub-plain-text-viewer.dark-mode{background:#1a1a1a}.epub-plain-text-viewer.dark-mode .chapter-container{background:#2d2d2d;color:#e0e0e0}.epub-plain-text-viewer.dark-mode .chapter-title{color:#f0f0f0;border-bottom-color:#444}.epub-plain-text-viewer.dark-mode .paragraph{color:#e0e0e0}.epub-plain-text-viewer.dark-mode .chapter-navigation{background:#2d2d2d;border-top-color:#444}.epub-plain-text-viewer.dark-mode .nav-button:not(:disabled){background:#444;color:#fff}.epub-plain-text-viewer.dark-mode .nav-button:not(:disabled):hover{background:#555}.reading-progress-bar{position:fixed;top:0;left:0;right:0;height:4px;background:#0000001a;z-index:1000}.reading-progress-fill{height:100%;background:linear-gradient(90deg,#8b7355,#d4a574);transition:width .2s ease}.reading-controls{position:fixed;top:20px;right:20px;display:flex;gap:8px;z-index:999;background:#fffffff2;padding:8px;border-radius:12px;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark-mode .reading-controls{background:#2d2d2df2}.control-btn{padding:8px 16px;background:#8b7355;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;white-space:nowrap}.control-btn:hover{background:#6d5a44;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.control-btn:active{transform:translateY(0)}.control-btn.back-btn{background:#4a5568;padding:8px 20px}.control-btn.back-btn:hover{background:#2d3748}.chapter-container{background:#fff;padding:60px 80px;min-height:600px;line-height:1.8}.chapter-title{font-family:Crimson Text,Garamond,Georgia,serif;font-size:32px;font-weight:600;color:#2c2416;text-align:center;margin:0 0 40px;padding-bottom:20px;border-bottom:2px solid #d4c5b0;letter-spacing:.5px}.chapter-content{font-family:Crimson Text,Garamond,Georgia,serif;font-size:19px;color:#333;line-height:1.9}.paragraph{margin:0 0 1.5em;text-align:justify;text-indent:2em;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto}.paragraph:first-of-type{text-indent:0;font-weight:500}.chapter-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:60px;padding-top:30px;border-top:1px solid #e0d8c8}.nav-button{font-family:Crimson Text,Georgia,serif;font-size:16px;padding:12px 24px;background:#2c2416;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;font-weight:500;letter-spacing:.5px}.nav-button:hover:not(:disabled){background:#4a3929;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.nav-button:disabled{background:#d0c4b4;color:#8b8175;cursor:not-allowed;opacity:.6}.chapter-indicator{font-family:Crimson Text,Georgia,serif;font-size:15px;color:#6b5d50;font-weight:500;letter-spacing:.5px}.loading-message{font-family:Crimson Text,Georgia,serif;font-size:18px;color:#6b5d50;text-align:center;padding:100px 20px}@media (max-width: 768px){.chapter-container{padding:40px 50px}.chapter-title{font-size:28px}.chapter-content{font-size:18px}}@media (max-width: 480px){.chapter-container{padding:30px 25px}.chapter-title{font-size:24px;margin-bottom:30px}.chapter-content{font-size:17px;line-height:1.7}.paragraph{text-indent:1.5em}.chapter-navigation{flex-direction:column;gap:15px}.nav-button{width:100%;font-size:15px}.chapter-indicator{order:-1;font-size:14px}}:root{--epub-primary-color: #667eea;--epub-secondary-color: #764ba2;--epub-accent-color: #10b981}.epub-paginated-viewer ::selection{background:#b3d4fc;color:#000}.epub-paginated-viewer ::-moz-selection{background:#b3d4fc;color:#000}.epub-paginated-viewer{width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fafafa;position:relative;padding:0 200px 100px}.epub-paginated-viewer.dark-mode{background-color:#1a1a1a;color:#e0e0e0}@media (max-width: 768px){.epub-paginated-viewer{padding:0 30px 90px}}.zoom-controls{display:flex;gap:10px;align-items:center;flex-shrink:0;background:#ffffff26;padding:8px 12px;border-radius:25px;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 15px #0003}.zoom-btn{width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:#ffffff40;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 3px 10px #0003}.zoom-btn:hover{background:#fff6;border-color:#fffc;transform:scale(1.2) rotate(5deg);box-shadow:0 5px 20px #ffffff4d}.epub-paginated-viewer.dark-mode .zoom-btn{color:#333;border-color:#0003}.reading-progress{background:#ffffff4d;color:#fff;padding:10px 20px;border-radius:25px;font-size:14px;font-weight:900;white-space:nowrap;border:2px solid rgba(255,255,255,.5);flex-shrink:0;text-shadow:0 2px 4px rgba(0,0,0,.4);box-shadow:0 4px 15px #0003;letter-spacing:.5px;justify-self:center}.page-controls{display:flex;align-items:center;gap:10px;flex-shrink:0;background:#ffffff26;padding:8px 15px;border-radius:25px;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 15px #0003}.page-nav-btn{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:#ffffff40;color:#fff;font-size:18px;cursor:pointer;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #0003}.page-nav-btn:hover:not(:disabled){background:#fff6;border-color:#fffc;transform:scale(1.15);box-shadow:0 5px 20px #ffffff4d}.page-nav-btn:disabled{opacity:.3;cursor:not-allowed}.page-info{font-size:14px;font-weight:700;color:#fff;white-space:nowrap;min-width:90px;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3)}.chapter-controls{display:flex;align-items:center;gap:10px;flex-shrink:0;background:#ffffff26;padding:8px 15px;border-radius:25px;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 15px #0003}.page-dots{display:flex;gap:6px;max-width:400px;overflow-x:auto;padding:2px;scrollbar-width:none}.page-dots::-webkit-scrollbar{display:none}.page-dot{min-width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:#ffffff26;color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.page-dot:hover{border-color:#ffffff80;background:#ffffff40;transform:scale(1.1)}.page-dot.active{background:#4a90e2;color:#fff;border-color:#4a90e2;transform:scale(1.15)}.floating-chapter-nav{position:fixed;bottom:0;left:0;right:0;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,var(--epub-primary-color),var(--epub-secondary-color));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:15px 25px;box-shadow:0 -4px 30px #0006,0 -1px #ffffff1a;z-index:1000;border-top:2px solid rgba(255,255,255,.25);min-height:70px;flex-wrap:wrap}.epub-nav-arrow{position:fixed;top:50%;transform:translateY(-50%);background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:none;width:70px;height:120px;display:flex;align-items:center;justify-content:center;font-size:60px;cursor:pointer;z-index:999;transition:all .3s ease;opacity:0;border-radius:12px;pointer-events:all}.epub-nav-arrow:hover{opacity:1;background:#000000d9;transform:translateY(-50%) scale(1.05)}.epub-nav-arrow:active{transform:translateY(-50%) scale(.95)}.epub-nav-arrow-left{left:15px}.epub-nav-arrow-right{right:15px}.epub-paginated-viewer:hover .epub-nav-arrow{opacity:0}.epub-paginated-viewer .epub-nav-arrow-left:hover,.epub-paginated-viewer .epub-nav-arrow-right:hover{opacity:1}@media (hover: hover){.epub-paginated-viewer:before,.epub-paginated-viewer:after{content:"";position:fixed;top:0;bottom:0;width:100px;z-index:998;pointer-events:none}.epub-paginated-viewer:before{left:0}.epub-paginated-viewer:after{right:0}}.epub-paginated-viewer.dark-mode .epub-nav-arrow{background:#3c3c3cb3}.epub-paginated-viewer.dark-mode .epub-nav-arrow:hover{background:#505050e6}@media (max-width: 768px){.epub-paginated-viewer{padding:0 30px}.epub-nav-arrow{width:50px;height:90px;font-size:45px;opacity:.3}.epub-nav-arrow:active{opacity:1}.epub-nav-arrow-left{left:5px}.epub-nav-arrow-right{right:5px}.page-container{max-width:100%;box-shadow:none}}.epub-paginated-viewer.dark-mode .floating-chapter-nav{background:#282828f2}.chapter-nav-btn{padding:10px 18px;border:2px solid rgba(255,255,255,.5);border-radius:25px;background:#ffffff40;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);white-space:nowrap;min-width:45px;text-align:center;box-shadow:0 4px 15px #0003;text-shadow:0 1px 3px rgba(0,0,0,.3)}.chapter-nav-btn:hover:not(:disabled){background:#fff6;border-color:#fffc;transform:translateY(-3px) scale(1.05);box-shadow:0 6px 25px #ffffff4d}.chapter-nav-btn:active:not(:disabled){transform:translateY(-1px) scale(1.02)}.chapter-nav-btn:disabled{opacity:.3;cursor:not-allowed}.chapter-nav-btn.notes-btn{background:rgba(var(--epub-accent-color-rgb, 16, 185, 129),.3);border-color:rgba(var(--epub-accent-color-rgb, 16, 185, 129),.5);margin-left:12px}.chapter-nav-btn.notes-btn:hover:not(:disabled){background:rgba(var(--epub-accent-color-rgb, 16, 185, 129),.4);border-color:rgba(var(--epub-accent-color-rgb, 16, 185, 129),.7)}.chapter-nav-btn.notes-btn.active{background:rgba(var(--epub-accent-color-rgb, 16, 185, 129),.5);border-color:rgba(var(--epub-accent-color-rgb, 16, 185, 129),.9);box-shadow:0 0 10px rgba(var(--epub-accent-color-rgb, 16, 185, 129),.4)}.chapter-nav-btn.search-btn{background:#fff3;border-color:#fff6}.chapter-nav-btn.search-btn:hover:not(:disabled){background:#ffffff4d;border-color:#fff9}.chapter-nav-btn.search-btn.active{background:#fff6;border-color:#fffc;box-shadow:0 0 10px #ffffff4d}.chapter-nav-btn.dark-mode-btn{background:#fff3;border-color:#fff6}.chapter-nav-btn.dark-mode-btn:hover:not(:disabled){background:#ffffff4d;border-color:#fff9}.chapter-nav-btn.dark-mode-btn.active{background:#fff6;border-color:#fffc;box-shadow:0 0 10px #ffffff4d}.chapter-nav-btn.home-btn{background:#fff3;border-color:#fff6}.chapter-nav-btn.home-btn:hover:not(:disabled){background:#ffffff4d;border-color:#fff9}.chapter-nav-btn.toc-btn{background:#fff3;border-color:#fff6}.chapter-nav-btn.toc-btn:hover:not(:disabled){background:#ffffff4d;border-color:#fff9}.chapter-nav-btn.toc-btn.active{background:#fff6;border-color:#fffc;box-shadow:0 0 10px #ffffff4d}.chapter-info{font-size:14px;font-weight:700;color:#fff;white-space:nowrap;min-width:100px;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3)}.page-container{flex:0 0 auto;overflow:hidden;position:relative;user-select:text;-webkit-user-select:text;-moz-user-select:text;cursor:text;width:min(900px,100%);height:100%;background-color:#fff;box-shadow:0 0 30px #0000001a}.page-content{max-width:800px;margin:0 auto;font-family:Crimson Text,Georgia,serif;line-height:1.8;color:#2c3e50;padding:40px 20px 100px;will-change:transform;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.epub-paginated-viewer.dark-mode .page-content{color:#e0e0e0}.epub-paginated-viewer.dark-mode .page-container{background-color:#2a2a2a;box-shadow:0 0 30px #00000080}.chapter-title{font-size:2.2em;font-weight:600;margin-bottom:1.5em;color:#1a1a1a;text-align:center;font-family:Crimson Text,Georgia,serif;letter-spacing:.02em}.epub-paginated-viewer.dark-mode .chapter-title{color:#f0f0f0}.chapter-text{text-align:justify;user-select:text;-webkit-user-select:text}.paragraph{margin-bottom:1.5em;text-indent:2em;line-height:1.8;user-select:text;-webkit-user-select:text;cursor:text}.paragraph:first-of-type{text-indent:0}.paragraph:first-of-type:first-letter{font-size:3.5em;line-height:.8;float:left;margin:.1em .1em 0 0;font-weight:700;color:#8b4513}.epub-paginated-viewer.dark-mode .paragraph:first-of-type:first-letter{color:#daa520}.loading-message{text-align:center;padding:60px 20px;font-size:18px;color:#666;font-family:Crimson Text,Georgia,serif}.epub-paginated-viewer.dark-mode .loading-message{color:#aaa}@media (max-width: 1400px){.floating-chapter-nav{grid-template-columns:auto auto auto auto 1fr auto auto auto;gap:6px;padding:12px 20px}.chapter-nav-btn{padding:8px 14px;font-size:13px}.zoom-btn,.page-nav-btn{width:36px;height:36px}}@media (max-width: 1024px){.floating-chapter-nav{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:12px 15px;gap:8px;min-height:auto}.floating-chapter-nav::-webkit-scrollbar{display:none}.chapter-nav-btn{padding:7px 12px;font-size:12px;flex-shrink:0}.chapter-info,.page-info{font-size:12px}.reading-progress{font-size:12px;padding:8px 16px;flex-shrink:0}.zoom-btn,.page-nav-btn{width:36px;height:36px;flex-shrink:0}.zoom-controls,.chapter-controls{flex-shrink:0}}@media (max-width: 768px){.floating-chapter-nav{padding:10px 12px;gap:6px;overflow-x:auto;scrollbar-width:none}.floating-chapter-nav::-webkit-scrollbar{display:none}.zoom-btn,.page-nav-btn{width:34px;height:34px;font-size:14px;flex-shrink:0}.zoom-controls,.page-controls,.chapter-controls{padding:6px 10px;flex-shrink:0}.chapter-nav-btn{padding:6px 10px;font-size:11px;flex-shrink:0}.reading-progress{font-size:11px;padding:6px 12px;flex-shrink:0}.chapter-info,.page-info{font-size:11px;min-width:70px}}} .page-nav-btn{padding:6px 12px;font-size:12px}.page-info{font-size:11px}.page-dots{max-width:180px;gap:4px}.page-dot{min-width:22px;height:22px;font-size:8px}.floating-chapter-nav{padding:10px 15px;gap:10px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}.zoom-controls,.page-controls,.chapter-controls{gap:6px}.chapter-nav-btn{padding:6px 8px;font-size:14px;min-width:32px}.chapter-nav-btn.notes-btn{margin-left:0}.page-nav-btn{width:32px;height:32px;font-size:14px}.page-info,.chapter-info{font-size:11px;min-width:70px}.page-content{padding:30px 15px 120px;font-size:16px}.chapter-title{font-size:1.8em}} @keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-content{animation:fadeIn .3s ease-out}.activity-hotspot{position:absolute;border-radius:50%;background:var(--gradient-primary);box-shadow:0 8px 20px #667eea66,0 0 #667eea66,inset 0 2px 4px #ffffff4d;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;transition:all .4s cubic-bezier(.175,.885,.32,1.275);z-index:100;animation:pulse-glow 3s ease-in-out infinite;pointer-events:auto;border:3px solid rgba(255,255,255,.4);transform:translate(-50%,-50%)}.activity-hotspot:hover{transform:translate(-50%,-50%) scale(1.3) rotate(5deg);box-shadow:0 12px 30px #667eea99,0 0 0 8px #667eea33,inset 0 2px 6px #ffffff80;animation:bounce-fun .6s ease-in-out}@keyframes pulse-glow{0%,to{box-shadow:0 8px 20px #667eea66,0 0 #667eea66,inset 0 2px 4px #ffffff4d}50%{box-shadow:0 10px 30px #667eea99,0 0 0 6px #667eea4d,inset 0 2px 4px #ffffff4d}}@keyframes bounce-fun{0%,to{transform:translate(-50%,-50%) scale(1.3) rotate(5deg)}25%{transform:translate(-50%,-50%) scale(1.4) rotate(-5deg)}50%{transform:translate(-50%,-50%) scale(1.35) rotate(5deg)}75%{transform:translate(-50%,-50%) scale(1.4) rotate(-3deg)}}.activity-hotspot.completed{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 20px #10b98180,0 0 #10b98166,inset 0 2px 4px #fff6;border:3px solid rgba(255,255,255,.5)}.activity-hotspot.completed:hover{box-shadow:0 12px 30px #10b981b3,0 0 0 8px #10b98140,inset 0 2px 6px #ffffff80}.activity-hotspot.incorrect{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 8px 20px #ef444480,0 0 #ef444466,inset 0 2px 4px #ffffff4d;border:3px solid rgba(255,255,255,.5);animation:shake .5s ease-in-out}.activity-hotspot.incorrect:hover{box-shadow:0 12px 30px #ef4444b3,0 0 0 8px #ef444440,inset 0 2px 6px #ffffff80}@keyframes shake{0%,to{transform:translate(-50%,-50%) translate(0)}25%{transform:translate(-50%,-50%) translate(-5px) rotate(-3deg)}75%{transform:translate(-50%,-50%) translate(5px) rotate(3deg)}}.activity-hotspot.video{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);box-shadow:0 8px 20px #ff6b6b80,0 0 #ff6b6b66,inset 0 2px 4px #fff6}.activity-hotspot.video:hover{box-shadow:0 12px 30px #ff6b6bb3,0 0 0 8px #ff6b6b40,inset 0 2px 6px #ffffff80}.activity-hotspot.audio{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 8px 20px #34d39980,0 0 #34d39966,inset 0 2px 4px #fff6}.activity-hotspot.audio:hover{box-shadow:0 12px 30px #34d399b3,0 0 0 8px #34d39940,inset 0 2px 6px #ffffff80}.activity-hotspot.multiple-choice{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 8px 20px #fbbf2480,0 0 #fbbf2466,inset 0 2px 4px #fff6}.activity-hotspot.multiple-choice:hover{box-shadow:0 12px 30px #fbbf24b3,0 0 0 8px #fbbf2440,inset 0 2px 6px #ffffff80}.activity-hotspot.true-false{background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 8px 20px #fb923c80,0 0 #fb923c66,inset 0 2px 4px #fff6}.activity-hotspot.true-false:hover{box-shadow:0 12px 30px #fb923cb3,0 0 0 8px #fb923c40,inset 0 2px 6px #ffffff80}.activity-hotspot.matching{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 8px 20px #06b6d480,0 0 #06b6d466,inset 0 2px 4px #fff6}.activity-hotspot.matching:hover{box-shadow:0 12px 30px #06b6d4b3,0 0 0 8px #06b6d440,inset 0 2px 6px #ffffff80}.activity-hotspot.drag-drop{background:linear-gradient(135deg,#a855f7,#9333ea);box-shadow:0 8px 20px #a855f780,0 0 #a855f766,inset 0 2px 4px #fff6}.activity-hotspot.drag-drop:hover{box-shadow:0 12px 30px #a855f7b3,0 0 0 8px #a855f740,inset 0 2px 6px #ffffff80}.activity-hotspot.fill-blanks{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 8px 20px #60a5fa80,0 0 #60a5fa66,inset 0 2px 4px #fff6}.activity-hotspot.fill-blanks:hover{box-shadow:0 12px 30px #60a5fab3,0 0 0 8px #60a5fa40,inset 0 2px 6px #ffffff80}.activity-hotspot.open-ended{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 8px 20px #60a5fa80,0 0 #60a5fa66,inset 0 2px 4px #fff6}.activity-hotspot.open-ended:hover{box-shadow:0 12px 30px #60a5fab3,0 0 0 8px #60a5fa40,inset 0 2px 6px #ffffff80}.activity-hotspot.sequence-order{background:linear-gradient(135deg,#84cc16,#65a30d);box-shadow:0 8px 20px #84cc1680,0 0 #84cc1666,inset 0 2px 4px #fff6}.activity-hotspot.sequence-order:hover{box-shadow:0 12px 30px #84cc16b3,0 0 0 8px #84cc1640,inset 0 2px 6px #ffffff80}.activity-hotspot.multiple-select{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 8px 20px #6366f180,0 0 #6366f166,inset 0 2px 4px #fff6}.activity-hotspot.multiple-select:hover{box-shadow:0 12px 30px #6366f1b3,0 0 0 8px #6366f140,inset 0 2px 6px #ffffff80}.activity-hotspot.table-fill{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 8px 20px #ec489980,0 0 #ec489966,inset 0 2px 4px #fff6}.activity-hotspot.table-fill:hover{box-shadow:0 12px 30px #ec4899b3,0 0 0 8px #ec489940,inset 0 2px 6px #ffffff80}.activity-hotspot.crossword{background:linear-gradient(135deg,#e879f9,#d946ef);box-shadow:0 8px 20px #e879f980,0 0 #e879f966,inset 0 2px 4px #fff6}.activity-hotspot.crossword:hover{box-shadow:0 12px 30px #e879f9b3,0 0 0 8px #e879f940,inset 0 2px 6px #ffffff80}.activity-hotspot.word-search{background:linear-gradient(135deg,#22d3ee,#06b6d4);box-shadow:0 8px 20px #22d3ee80,0 0 #22d3ee66,inset 0 2px 4px #fff6}.activity-hotspot.word-search:hover{box-shadow:0 12px 30px #22d3eeb3,0 0 0 8px #22d3ee40,inset 0 2px 6px #ffffff80}.activity-hotspot-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);margin-bottom:8px;background:linear-gradient(135deg,#1e1e32fa,#0f0f1efa);color:#fff;border-radius:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);z-index:101;box-shadow:0 8px 20px #0000004d,0 0 0 1px #ffffff1a,inset 0 1px 2px #ffffff1a}.activity-hotspot:hover .activity-hotspot-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.activity-hotspot-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#0f0f1efa;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.activity-hotspot-badge{position:absolute;top:-4px;right:-4px;border-radius:50%;background:linear-gradient(135deg,#fff,#f0f0f0);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #00000026,inset 0 1px 2px #fffc,0 0 0 2.5px #fff;animation:badge-pop .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes badge-pop{0%{transform:scale(0) rotate(-180deg);opacity:0}70%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.activity-hotspot-badge.check{color:#10b981;text-shadow:0 1px 2px rgba(16,185,129,.3)}.activity-hotspot-badge.cross{color:#ef4444;text-shadow:0 1px 2px rgba(239,68,68,.3)}.pdf-paginated-viewer{width:100%;height:100%;box-sizing:border-box;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;overflow-y:auto;overflow-x:hidden;position:relative;text-align:center;padding:10px;perspective:3000px}.pdf-pages-container{width:auto;min-width:50%;max-width:100%;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto!important;padding:0!important;flex:1}.pdf-pages-container.double-page-active{flex-direction:row!important;flex-wrap:nowrap!important;gap:0!important}.pdf-pages-container.double-page-active .pdf-canvas-wrapper{margin:0!important;box-shadow:none!important}.pdf-pages-container.double-page-active{box-shadow:0 15px 35px #0000004d}.pdf-pages-container{transition:transform .1s ease-out}.pdf-pages-container.page-turn-next{animation:slideInNext .4s cubic-bezier(.2,.8,.2,1)}.pdf-pages-container.page-turn-prev{animation:slideInPrev .4s cubic-bezier(.2,.8,.2,1)}@keyframes slideInNext{0%{opacity:.6;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInPrev{0%{opacity:.6;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.pdf-canvas-wrapper{position:relative;display:inline-flex!important;justify-content:center!important;align-items:center!important;margin:0 auto!important;box-shadow:0 4px 20px #00000026;background-color:#fff;float:none!important}.pdf-highlights-layer,.pdf-text-layer,.pdf-activities-layer{position:absolute;top:0;left:0;pointer-events:all;z-index:10}.pdf-canvas{display:block;max-width:none!important}.pdf-pages-container{transform-style:preserve-3d;backface-visibility:hidden}.pdf-pages-container.page-turn-next{animation:bookFlipNext .6s cubic-bezier(.25,1,.5,1) forwards;transform-origin:left center}.pdf-pages-container.page-turn-prev{animation:bookFlipPrev .6s cubic-bezier(.25,1,.5,1) forwards;transform-origin:right center}.pdf-pages-container.double-page-active.page-turn-next,.pdf-pages-container.double-page-active.page-turn-prev{transform-origin:center center!important}@keyframes bookFlipNext{0%{opacity:.7;transform:rotateY(15deg) scale(.96) translate(20px);box-shadow:-10px 0 20px #0000001a}to{opacity:1;transform:rotateY(0) scale(1) translate(0);box-shadow:0 10px 20px #0003}}@keyframes bookFlipPrev{0%{opacity:.7;transform:rotateY(-15deg) scale(.96) translate(-20px);box-shadow:10px 0 20px #0000001a}to{opacity:1;transform:rotateY(0) scale(1) translate(0);box-shadow:0 10px 20px #0003}}.pdf-canvas-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;position:relative;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.pdf-canvas{max-width:100%;height:auto;box-shadow:0 4px 20px #00000026;border-radius:4px;background:#fff;display:block;margin:0 auto;z-index:1;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.pdf-paginated-viewer.dark-mode .pdf-canvas{filter:invert(1) hue-rotate(180deg);background:#1a1a1a}.pdf-paginated-viewer.dark-mode .pdf-canvas-wrapper{box-shadow:0 4px 20px #ffffff1a}.pdf-highlights-layer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:2;overflow:visible;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.pdf-highlight{position:absolute;mix-blend-mode:normal;pointer-events:none;border-radius:2px;transition:opacity .2s ease;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.pdf-search-highlight{position:absolute;pointer-events:none;mix-blend-mode:normal;border-radius:2px;box-sizing:border-box;transition:all .2s ease;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.pdf-text-layer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:visible;line-height:1;pointer-events:auto;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text;z-index:3}.pdf-activities-layer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;pointer-events:none;z-index:10;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.pdf-activities-layer>*{pointer-events:auto;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.pdf-text-layer span{color:transparent;position:absolute;white-space:pre;cursor:text;user-select:text!important;-webkit-user-select:text!important;transform-origin:0% 0%;pointer-events:auto;background:transparent;line-height:1;letter-spacing:.01em;padding:0;margin:0;height:auto}.pdf-text-layer *::selection{background:#3498db66!important;color:transparent!important}.pdf-text-layer *::-moz-selection{background:#3498db66!important;color:transparent!important}.pdf-page-layout{display:flex;justify-content:center;align-items:flex-start;gap:2rem;width:100%;min-height:600px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.pdf-page-layout.single-page{gap:0}.pdf-page-layout.double-page{gap:2rem}.pdf-page-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem}.pdf-page{box-shadow:0 4px 20px #00000026;background:#fff;border-radius:4px;transition:transform .3s ease,box-shadow .3s ease}.pdf-page:hover{box-shadow:0 6px 28px #0003}.pdf-paginated-viewer.dark-mode .pdf-page{filter:invert(.9) hue-rotate(180deg)}.page-number-indicator{padding:8px 16px;background:#000000b3;color:#fff;border-radius:20px;font-size:13px;font-weight:600;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pdf-paginated-viewer.dark-mode .page-number-indicator{background:#ffffff26;color:#fff}.page-edge-indicator{position:fixed;top:50%;transform:translateY(-50%);width:65px;height:140px;background:linear-gradient(135deg,#667eea1f,#764ba21f);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(102,126,234,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);z-index:100;opacity:0}.page-edge-indicator:hover{background:linear-gradient(135deg,#667eeaeb,#764ba2eb);opacity:1;width:75px;box-shadow:0 8px 24px #667eea66,0 0 15px #764ba24d;border-color:#ffffff4d}.page-edge-indicator.left{left:0;border-radius:0 20px 20px 0;padding-right:8px}.page-edge-indicator.right{right:0;border-radius:20px 0 0 20px;padding-left:8px}.pdf-paginated-viewer:hover .page-edge-indicator{opacity:.4}.edge-arrow{font-size:3.5rem;color:#667eeacc;font-weight:900;-webkit-user-select:none;user-select:none;transition:all .3s cubic-bezier(.4,0,.2,1);text-shadow:0 2px 4px rgba(0,0,0,.1)}.page-edge-indicator:hover .edge-arrow{transform:scale(1.15);color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3)}.progress-bar-container{position:fixed;bottom:0;left:0;right:0;height:3px;background:#0000001a;z-index:1400}.progress-bar-fill{height:100%;background:var(--primary-color, #667eea);transition:width .3s ease;box-shadow:0 0 10px #667eea80}.pdf-loading,.pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;min-height:400px}.loading-spinner{width:50px;height:50px;border:4px solid rgba(52,152,219,.2);border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.pdf-loading p{color:#7f8c8d;font-size:1rem;font-weight:500}.pdf-error p{color:#e74c3c;font-size:1.1rem}.pdf-paginated-viewer .react-pdf__Page__textContent{-webkit-user-select:text!important;user-select:text!important;cursor:text!important}.pdf-paginated-viewer .react-pdf__Page__textContent span{-webkit-user-select:text!important;user-select:text!important;cursor:text!important;pointer-events:auto!important}@media (max-width: 1200px){.pdf-page-layout.double-page{gap:1.5rem}}@media (max-width: 768px){.pdf-paginated-viewer{padding:1rem .5rem}.pdf-page-layout{flex-direction:column;gap:2rem!important}.pdf-page-layout.double-page{flex-direction:column}.page-edge-indicator{width:60px;height:120px}.edge-arrow{font-size:2.5rem}.page-number-indicator{font-size:12px;padding:6px 12px}}@media (max-width: 480px){.pdf-paginated-viewer{padding:.5rem .25rem}.page-edge-indicator{width:50px;height:100px}.edge-arrow{font-size:2rem}}.pdf-canvas-wrapper{margin-left:auto!important;margin-right:auto!important;float:none!important}.pdf-paginated-viewer,.pdf-pages-container{align-items:center!important;justify-content:center!important;text-align:center!important}.question-manager{margin-top:16px;border:1px solid #e5e7eb;border-radius:8px;padding:24px;background:#f9fafb;max-width:900px;width:100%}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h4{margin:0;font-size:16px;font-weight:600;color:#374151}.section-header button{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.section-header button:hover{background:#2563eb}.question-preview{display:flex;align-items:center;gap:8px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px}.question-preview span{flex:1;font-size:14px;color:#374151}.question-preview button{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;transition:transform .2s}.question-preview button:hover{transform:scale(1.1)}.question-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:32px;margin-top:12px;max-width:850px;width:100%}.question-form h5{margin:0 0 20px;font-size:18px;font-weight:600;color:#374151}.question-form .form-group{margin-bottom:20px}.question-form .form-group label{display:block;margin-bottom:8px;font-size:15px;font-weight:500;color:#374151}.question-form .form-group input[type=text],.question-form .form-group textarea,.question-form .form-group select{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:15px;font-family:inherit;line-height:1.5}.question-form .form-group textarea{resize:vertical;min-height:80px}.option-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.option-row input[type=text]{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:15px}.option-row input[type=radio]{width:20px;height:20px;cursor:pointer}.option-row button{background:#ef4444;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.option-row button:hover:not(:disabled){background:#dc2626}.option-row button:disabled{background:#d1d5db;cursor:not-allowed}.form-group button[type=button]{background:#10b981;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s;margin-top:8px}.form-group button[type=button]:hover{background:#059669}.form-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.form-actions button{flex:1;padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.form-actions button:first-child{background:#3b82f6;color:#fff}.form-actions button:first-child:hover{background:#2563eb}.form-actions button:last-child{background:#e5e7eb;color:#374151}.form-actions button:last-child:hover{background:#d1d5db}.image-upload-container{margin-top:8px}.image-preview{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.image-preview img{border:2px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.image-upload-area{width:100%}.image-upload-area label{width:100%;display:block}.image-upload-area label:hover{background:#f3f4f6!important}.activity-panel{position:fixed;top:80px;right:20px;width:580px;background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:20px;box-shadow:0 20px 60px #667eea40,0 0 0 1px #667eea1a;z-index:1000;max-height:calc(100vh - 160px);display:flex;flex-direction:column;transition:all .4s cubic-bezier(.175,.885,.32,1.275);animation:slideInPanel .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideInPanel{0%{transform:translate(calc(100% + 40px));opacity:0}to{transform:translate(0);opacity:1}}.activity-panel.collapsed{transform:translate(calc(100% + 20px));opacity:0}.activity-panel-header{padding:24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center;background:var(--gradient-primary);color:#fff;border-radius:20px 20px 0 0;box-shadow:0 4px 16px #667eea4d;position:relative;overflow:hidden}.activity-panel-header:before{content:"";position:absolute;top:-50%;right:-10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);border-radius:50%;animation:floatBubble 6s ease-in-out infinite}@keyframes floatBubble{0%,to{transform:translate(0)}50%{transform:translate(-20px,20px)}}.activity-panel-header h3{margin:0;font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.activity-panel-toggle{position:absolute;left:-48px;top:24px;width:48px;height:48px;background:var(--gradient-primary);border:none;border-radius:12px 0 0 12px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:-6px 6px 20px #0003;transition:all .3s cubic-bezier(.175,.885,.32,1.275);animation:wiggle 3s ease-in-out infinite}@keyframes wiggle{0%,to{transform:translate(0) rotate(0)}10%,30%,50%,70%,90%{transform:translate(-3px) rotate(-2deg)}20%,40%,60%,80%{transform:translate(3px) rotate(2deg)}}.activity-panel-toggle:hover{background:var(--gradient-primary);transform:translate(-4px) scale(1.05);animation:none;box-shadow:-8px 8px 24px #0000004d}.activity-panel-body{padding:24px 24px 120px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:rgba(102,126,234,.3) transparent}.activity-panel-body::-webkit-scrollbar{width:8px}.activity-panel-body::-webkit-scrollbar-track{background:transparent;margin:10px}.activity-panel-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea66,#764ba266);border-radius:10px;transition:background .3s}.activity-panel-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#667eeab3,#764ba2b3)}.activity-mode-selector{margin-bottom:24px}.activity-mode-selector h4{margin:0 0 16px;font-size:15px;color:var(--primary-color);text-transform:uppercase;font-weight:700;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.activity-mode-selector h4:before{content:"✨";font-size:18px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:.8}}.activity-types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.activity-type-btn{padding:16px 12px;border:2px solid transparent;border-radius:16px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);font-size:13px;color:#374151;font-weight:600;box-shadow:0 2px 8px #00000014;position:relative;overflow:hidden}.activity-type-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea0d,#764ba20d);opacity:0;transition:opacity .3s}.activity-type-btn:hover:before{opacity:1}.activity-type-btn .icon{font-size:28px;transition:transform .3s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.activity-type-btn:hover{border-color:var(--primary-color);background:#fff;transform:translateY(-4px) scale(1.02);box-shadow:0 8px 20px #667eea40,0 0 0 1px #667eea1a}.activity-type-btn:hover .icon{transform:scale(1.15) rotate(-5deg);animation:iconBounce .6s ease-in-out}@keyframes iconBounce{0%,to{transform:scale(1.15) rotate(-5deg)}25%{transform:scale(1.25) rotate(5deg)}50%{transform:scale(1.1) rotate(-3deg)}75%{transform:scale(1.2) rotate(3deg)}}.activity-type-btn.active{border-color:transparent;background:var(--gradient-primary);color:#fff;box-shadow:0 8px 24px #667eea66,inset 0 2px 4px #fff3;transform:translateY(-2px)}.activity-type-btn.active[data-type=video]{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);box-shadow:0 8px 24px #ff6b6b66,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=audio]{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 8px 24px #34d39966,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=multiple-choice]{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 8px 24px #fbbf2466,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=true-false]{background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 8px 24px #fb923c66,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=matching],.activity-type-btn.active[data-type=line-matching]{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 8px 24px #06b6d466,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=drag-drop]{background:linear-gradient(135deg,#a855f7,#9333ea);box-shadow:0 8px 24px #a855f766,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=fill-blanks],.activity-type-btn.active[data-type=open-ended]{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 8px 24px #60a5fa66,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=sequence-order]{background:linear-gradient(135deg,#84cc16,#65a30d);box-shadow:0 8px 24px #84cc1666,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=multiple-select]{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 8px 24px #6366f166,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=table-fill]{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 8px 24px #ec489966,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=crossword]{background:linear-gradient(135deg,#e879f9,#d946ef);box-shadow:0 8px 24px #e879f966,inset 0 2px 4px #fff3}.activity-type-btn.active[data-type=word-search]{background:linear-gradient(135deg,#22d3ee,#06b6d4);box-shadow:0 8px 24px #22d3ee66,inset 0 2px 4px #fff3}.activity-type-btn.active .icon{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.activity-type-btn.disabled{opacity:.4;cursor:not-allowed;transform:none!important}.activity-form{background:linear-gradient(135deg,#f9fafb,#f0f4ff);border-radius:16px;padding:20px;margin-top:16px;border:2px solid #e5e7eb;box-shadow:0 4px 16px #0000000d;animation:formSlideIn .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes formSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.activity-form h4{margin:0 0 20px;font-size:17px;color:var(--primary-color);font-weight:700;display:flex;align-items:center;gap:8px}.activity-form h4:before{content:"✏️";font-size:20px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#374151}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;transition:all .3s;font-family:inherit;background:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 3px #667eea1a,0 4px 12px #667eea26;transform:translateY(-1px)}.form-group input[type=number]{width:80px}.option-list{display:flex;flex-direction:column;gap:8px}.option-item{display:flex;gap:8px;align-items:center}.option-item input[type=text]{flex:1}.option-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.option-item button{padding:6px 10px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px}.btn-add-option{margin-top:8px;padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;width:100%}.btn-add-option:hover{background:#059669}.positioning-mode{background:linear-gradient(135deg,#fef3c7,#fde68a);border:3px dashed #f59e0b;border-radius:16px;padding:20px;text-align:center;margin-top:16px;animation:positionPulse 2s ease-in-out infinite;box-shadow:0 4px 16px #f59e0b33,inset 0 2px 4px #ffffff80}@keyframes positionPulse{0%,to{transform:scale(1);box-shadow:0 4px 16px #f59e0b33,inset 0 2px 4px #ffffff80}50%{transform:scale(1.02);box-shadow:0 8px 24px #f59e0b4d,inset 0 2px 4px #fff9}}.positioning-mode .icon{font-size:40px;margin-bottom:12px;animation:pointBounce 1.5s ease-in-out infinite}@keyframes pointBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-10deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-4px) rotate(10deg)}}.positioning-mode p{margin:0;font-size:14px;color:#92400e;font-weight:600;line-height:1.5}.activity-actions{display:flex;gap:12px;margin-top:24px}.btn-activity-action{flex:1;padding:14px 16px;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 12px #0000001a}.btn-save-activity{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-save-activity:hover{transform:translateY(-3px);box-shadow:0 8px 20px #10b98166,0 0 0 3px #10b9811a;background:linear-gradient(135deg,#059669,#047857)}.btn-save-activity:active{transform:translateY(-1px)}.btn-cancel-activity{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:2px solid #d1d5db}.btn-cancel-activity:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.positioning-preview{position:fixed;pointer-events:none;z-index:10000;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,#667eeaf2,#764ba2f2);color:#fff;box-shadow:0 8px 24px #667eea80,0 0 0 3px #fffc,0 0 0 6px #667eea4d,inset 0 2px 4px #ffffff4d;animation:previewFloat 1.5s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}@keyframes previewFloat{0%,to{transform:scale(1) translateY(0) rotate(0)}25%{transform:scale(1.1) translateY(-4px) rotate(-5deg)}50%{transform:scale(1.05) translateY(0) rotate(0)}75%{transform:scale(1.1) translateY(-4px) rotate(5deg)}}.activity-list{margin-top:24px;padding-bottom:100px}.activity-list h4{margin:0 0 16px;font-size:15px;color:var(--primary-color);text-transform:uppercase;font-weight:700;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.activity-list h4:before{content:"🎯";font-size:18px}.activity-item{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:16px;margin-bottom:12px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f}.activity-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-primary);transform:scaleY(0);transition:transform .3s}.activity-item:hover:before{transform:scaleY(1)}.activity-item:hover{border-color:var(--primary-color);background:linear-gradient(135deg,#f0f4ff,#faf5ff);transform:translate(4px);box-shadow:0 8px 20px #667eea33,-4px 0 16px #667eea1a}.activity-item .icon{font-size:28px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;flex-shrink:0;box-shadow:0 4px 12px #667eea4d,inset 0 2px 4px #fff3;transition:transform .3s}.activity-item .icon[data-type=video]{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);box-shadow:0 4px 12px #ff6b6b4d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=audio]{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 4px 12px #34d3994d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=multiple-choice]{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 12px #fbbf244d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=true-false]{background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 4px 12px #fb923c4d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=matching],.activity-item .icon[data-type=line-matching]{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 4px 12px #06b6d44d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=drag-drop]{background:linear-gradient(135deg,#a855f7,#9333ea);box-shadow:0 4px 12px #a855f74d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=fill-blanks],.activity-item .icon[data-type=open-ended]{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 4px 12px #60a5fa4d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=sequence-order]{background:linear-gradient(135deg,#84cc16,#65a30d);box-shadow:0 4px 12px #84cc164d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=multiple-select]{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 12px #6366f14d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=table-fill]{background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 4px 12px #ec48994d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=crossword]{background:linear-gradient(135deg,#e879f9,#d946ef);box-shadow:0 4px 12px #e879f94d,inset 0 2px 4px #fff3}.activity-item .icon[data-type=word-search]{background:linear-gradient(135deg,#22d3ee,#06b6d4);box-shadow:0 4px 12px #22d3ee4d,inset 0 2px 4px #fff3}.activity-item:hover .icon{transform:scale(1.1) rotate(5deg);animation:iconPulse 1s ease-in-out}@keyframes iconPulse{0%,to{box-shadow:0 4px 12px #667eea4d,inset 0 2px 4px #fff3}50%{box-shadow:0 8px 24px #667eea80,inset 0 2px 4px #ffffff4d}}.activity-item-info{flex:1;min-width:0}.activity-item-info .title{font-weight:700;font-size:15px;color:#111827;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s;display:flex;align-items:center;gap:8px}.activity-item:hover .title{color:var(--primary-color)}.overlap-warning{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:700;box-shadow:0 2px 6px #fbbf2466;animation:warningPulse 2s ease-in-out infinite;cursor:help;flex-shrink:0}@keyframes warningPulse{0%,to{box-shadow:0 2px 6px #fbbf2466;transform:scale(1)}50%{box-shadow:0 4px 12px #fbbf2499;transform:scale(1.05)}}.activity-item.overlapping{border:2px solid #fbbf24;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.activity-item-info .meta{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:8px;font-weight:500;flex-wrap:wrap}.position-info{font-size:11px;color:#9ca3af;background:#9ca3af1a;padding:2px 6px;border-radius:4px;font-family:monospace}.activity-item-actions{display:flex;gap:6px;flex-shrink:0}.activity-item-actions button{width:36px;height:36px;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 2px 6px #0000001a}.activity-item-actions button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #0003}.btn-edit-activity{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-edit-activity:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666}.btn-delete-activity{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-delete-activity:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px #ef444466;animation:shake .5s}@keyframes shake{0%,to{transform:translateY(-2px) scale(1.05) translate(0)}25%{transform:translateY(-2px) scale(1.05) translate(-2px)}75%{transform:translateY(-2px) scale(1.05) translate(2px)}}.btn-reposition-activity{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-reposition-activity:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 6px 16px #f59e0b66}@media (max-width: 1024px){.activity-panel{width:90%;right:5%}.activities-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width: 768px){.activity-panel{width:calc(100% - 20px);right:10px;left:10px;max-height:90vh}.panel-header h2{font-size:1.25rem}.panel-close{width:32px;height:32px;font-size:1.5rem}.panel-tabs{gap:.5rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.panel-tabs::-webkit-scrollbar{display:none}.tab-button{padding:.6rem 1rem;font-size:.85rem;white-space:nowrap}.panel-content{padding:1rem}.activities-header{flex-direction:column;gap:1rem}.btn-new-activity{width:100%;padding:.7rem;font-size:.9rem}.activities-grid{grid-template-columns:1fr;gap:1rem}.activity-card{padding:1rem}.activity-card-header h3{font-size:1rem}.activity-type{font-size:.75rem;padding:.25rem .5rem}.activity-meta span{font-size:.8rem}.activity-actions{flex-wrap:wrap}.activity-actions button{flex:1 1 calc(50% - .25rem);padding:.4rem;font-size:.8rem}.empty-state{padding:2rem 1rem}.empty-state-icon{font-size:3rem}.empty-state h3{font-size:1.25rem}.empty-state p{font-size:.9rem}}@media (max-width: 480px){.activity-panel{width:calc(100% - 10px);right:5px;left:5px;max-height:92vh}.panel-header{padding:1rem}.panel-header h2{font-size:1.1rem}.panel-close{width:30px;height:30px;font-size:1.25rem}.tab-button{padding:.5rem .8rem;font-size:.8rem}.panel-content{padding:.75rem}.btn-new-activity{padding:.6rem;font-size:.85rem}.activity-card{padding:.75rem}.activity-card-header h3{font-size:.95rem}.activity-type{font-size:.7rem;padding:.2rem .4rem}.activity-info{font-size:.8rem}.activity-meta{flex-direction:column;gap:.25rem;align-items:flex-start}.activity-meta span{font-size:.75rem}.activity-actions{gap:.3rem}.activity-actions button{flex:1 1 100%;padding:.5rem;font-size:.75rem}.empty-state{padding:1.5rem .75rem}.empty-state-icon{font-size:2.5rem}.empty-state h3{font-size:1.1rem}.empty-state p{font-size:.85rem}}.book-viewer{display:flex;flex-direction:column;width:100%;height:100%;background:#f5f5f5;transition:background-color .3s ease;align-items:center;justify-content:center}.document-container{width:100%;max-width:100%;display:flex;justify-content:center;flex:1}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes pageFlipNext{0%{transform:perspective(2400px) rotateY(0) translateZ(0) scale(1);transform-origin:left center;opacity:1;box-shadow:0 0 #0000}25%{transform:perspective(2400px) rotateY(-3deg) translateZ(40px) scale(1.02);transform-origin:left center;opacity:.98;box-shadow:-15px 10px 30px #0000004d}50%{transform:perspective(2400px) rotateY(-90deg) translateZ(50px) scale(1.03);transform-origin:left center;opacity:.3;box-shadow:-25px 15px 40px #0006}75%{transform:perspective(2400px) rotateY(-177deg) translateZ(40px) scale(1.02);transform-origin:left center;opacity:.98;box-shadow:-15px 10px 30px #0000004d}to{transform:perspective(2400px) rotateY(-180deg) translateZ(0) scale(1);transform-origin:left center;opacity:1;box-shadow:0 0 #0000}}@keyframes pageFlipPrev{0%{transform:perspective(2400px) rotateY(0) translateZ(0) scale(1);transform-origin:right center;opacity:1;box-shadow:0 0 #0000}25%{transform:perspective(2400px) rotateY(3deg) translateZ(40px) scale(1.02);transform-origin:right center;opacity:.98;box-shadow:15px 10px 30px #0000004d}50%{transform:perspective(2400px) rotateY(90deg) translateZ(50px) scale(1.03);transform-origin:right center;opacity:.3;box-shadow:25px 15px 40px #0006}75%{transform:perspective(2400px) rotateY(177deg) translateZ(40px) scale(1.02);transform-origin:right center;opacity:.98;box-shadow:15px 10px 30px #0000004d}to{transform:perspective(2400px) rotateY(180deg) translateZ(0) scale(1);transform-origin:right center;opacity:1;box-shadow:0 0 #0000}}.page-turn-next{animation:pageFlipNext .8s cubic-bezier(.45,.05,.55,.95)}.page-turn-prev{animation:pageFlipPrev .8s cubic-bezier(.45,.05,.55,.95)}.book-viewer.dark-mode{background:#1a1a1a}.book-viewer.dark-mode .viewer-controls{background:#2d2d2d;color:#e0e0e0;border-bottom-color:#444}.book-viewer.dark-mode .bottom-controls{background:#2d2d2df2!important;border-top-color:#444}.book-viewer.dark-mode .control-btn{background:#3d3d3d;color:#e0e0e0}.book-viewer.dark-mode .control-btn:hover:not(:disabled){background:#4d4d4d}.book-viewer.dark-mode .control-btn.active{background:#5d5d5d}.book-viewer.dark-mode .book-title,.book-viewer.dark-mode .page-info{color:#e0e0e0}.book-viewer.dark-mode .document-container,.book-viewer.dark-mode .pdf-scroll-container,.book-viewer.dark-mode .word-container-wrapper{background:#1a1a1a}.book-viewer.dark-mode .word-container,.book-viewer.dark-mode .word-content{background:#2d2d2d;color:#e0e0e0}.book-viewer.dark-mode .word-content p,.book-viewer.dark-mode .word-content div,.book-viewer.dark-mode .word-content span,.book-viewer.dark-mode .word-content h1,.book-viewer.dark-mode .word-content h2,.book-viewer.dark-mode .word-content h3,.book-viewer.dark-mode .word-content h4,.book-viewer.dark-mode .word-content h5,.book-viewer.dark-mode .word-content h6{color:#e0e0e0!important}.book-viewer.dark-mode .react-pdf__Page{filter:invert(.9) hue-rotate(180deg);background:#2d2d2d}.book-viewer.dark-mode .react-pdf__Page__canvas{filter:brightness(.95)}.book-viewer.dark-mode .search-panel{background:#2d2d2d;color:#e0e0e0;border-color:#444}.book-viewer.dark-mode .search-input{background:#3d3d3d;color:#e0e0e0;border-color:#555}.book-viewer.dark-mode .search-results{background:#2d2d2d;color:#e0e0e0}.book-viewer.dark-mode .search-result-item{background:#3d3d3d;border-color:#555}.book-viewer.dark-mode .search-result-item:hover{background:#4d4d4d}.floating-buttons{position:fixed;top:80px;left:20px;z-index:1001;display:flex;flex-direction:column;gap:12px}.floating-back-button{padding:12px 24px;background:var(--gradient-primary);color:#fff;border:none;border-radius:50px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #667eea66;transition:all .3s ease;display:flex;align-items:center;gap:8px}.floating-back-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80;background:var(--gradient-primary)}.floating-back-button:active{transform:translateY(0)}.floating-dark-mode-button{padding:12px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:50%;font-size:20px;cursor:pointer;box-shadow:0 4px 15px #f093fb66;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:48px;height:48px}.floating-dark-mode-button:hover{transform:translateY(-2px) rotate(20deg);box-shadow:0 6px 20px #f093fb80}.floating-dark-mode-button:active{transform:translateY(0) rotate(0)}.floating-navigation-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--gradient-primary, linear-gradient(135deg, rgba(102, 126, 234, .95) 0%, rgba(118, 75, 162, .95) 100%));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:60px;padding:14px 28px;display:flex;align-items:center;gap:24px;box-shadow:0 10px 40px #0000004d;z-index:1000;animation:slideUpFade .4s cubic-bezier(.4,0,.2,1);border:2px solid rgba(255,255,255,.2);max-width:calc(100vw - 40px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.floating-navigation-bar::-webkit-scrollbar{display:none}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%) translateY(30px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.nav-section,.tools-section{display:flex;align-items:center;gap:12px}.nav-section{border-right:2px solid rgba(255,255,255,.3);padding-right:24px}.nav-control-btn{padding:10px 20px;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:30px;cursor:pointer;font-size:14px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;text-shadow:0 2px 4px rgba(0,0,0,.2)}.nav-control-btn:hover:not(:disabled){background:#fffffff2;color:var(--primary-color);transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #fff6;border-color:#fff}.nav-control-btn:active:not(:disabled){transform:translateY(-1px) scale(1.02)}.nav-control-btn:disabled{background:#ffffff14;color:#ffffff4d;cursor:not-allowed;transform:none;border-color:#ffffff1a}.page-info-compact{display:flex;align-items:center;gap:10px;color:#fff;font-size:15px;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.2)}.page-input-compact{width:55px;padding:8px 12px;background:#ffffff40;border:2px solid rgba(255,255,255,.4);border-radius:12px;text-align:center;color:#fff;font-size:15px;font-weight:700;transition:all .3s ease}.page-input-compact:focus{outline:none;background:#fff6;border-color:#fff;box-shadow:0 0 15px #ffffff80}.tool-btn{padding:10px 18px;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:25px;cursor:pointer;font-size:13px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;text-shadow:0 2px 4px rgba(0,0,0,.2)}.tool-btn:hover{background:#ffffff59;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #ffffff4d}.tool-btn.active{background:#2ecc71f2;border-color:#2ecc71;box-shadow:0 4px 16px #2ecc7199}.zoom-controls{display:flex;align-items:center;gap:8px;background:#ffffff26;padding:6px 12px;border-radius:30px;border:2px solid rgba(255,255,255,.3)}.zoom-btn{padding:8px 14px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:20px;cursor:pointer;font-size:16px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:40px}.zoom-btn:hover{background:#fffffff2;color:var(--primary-color);transform:scale(1.1);box-shadow:0 4px 12px #fff6}.zoom-btn:active{transform:scale(1.05)}.zoom-level{color:#fff;font-size:14px;font-weight:700;min-width:50px;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media (max-width: 1200px){.floating-navigation-bar{gap:16px;padding:12px 20px;max-width:95vw}.nav-section{padding-right:16px}.nav-control-btn,.tool-btn{padding:8px 14px;font-size:12.5px}.zoom-btn{padding:6px 10px;font-size:14px}.zoom-level{font-size:12px}}@media (max-width: 768px){.floating-navigation-bar{flex-direction:column;bottom:5px;left:5px;right:5px;transform:none;border-radius:20px;padding:12px;gap:12px;max-width:calc(100vw - 10px);background:var(--gradient-primary, linear-gradient(135deg, rgba(102, 126, 234, .98) 0%, rgba(118, 75, 162, .98) 100%))}.nav-section,.tools-section{width:100%;border-right:none;padding-right:0;justify-content:space-between;gap:6px;flex-wrap:wrap}.nav-section{border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:12px}.nav-control-btn{flex:1;min-width:100px;padding:10px 12px;font-size:12px;border-radius:16px}.tool-btn{flex:0 1 auto;padding:8px 12px;font-size:11px;border-radius:16px;white-space:nowrap}.zoom-controls{gap:6px;padding:6px 10px;flex:0 1 auto}.zoom-btn{padding:6px 10px;font-size:13px;min-width:32px}.zoom-level{font-size:11px;min-width:42px}.page-input-compact{width:50px;padding:8px 6px;font-size:12px}.page-info-compact{font-size:12px;gap:6px}}@media (max-width: 480px){.floating-navigation-bar{bottom:2px;left:2px;right:2px;padding:10px 8px;gap:10px;border-radius:16px;max-width:calc(100vw - 4px)}.nav-section{padding-bottom:10px;gap:4px}.tools-section{gap:4px}.nav-control-btn{min-width:85px;padding:9px 8px;font-size:11px}.tool-btn{padding:8px 10px;font-size:16px;min-width:36px}.tool-btn{font-size:0}.tool-btn:before{font-size:18px}.zoom-controls{padding:5px 8px;gap:4px}.zoom-btn{padding:5px 8px;font-size:12px;min-width:28px}.zoom-level{font-size:10px;min-width:38px}.page-input-compact{width:45px;padding:6px 4px;font-size:11px}.page-info-compact{font-size:11px;gap:4px}}@media (max-width: 360px){.floating-navigation-bar{padding:8px 6px;gap:6px}.nav-control-btn{min-width:70px;padding:8px 6px;font-size:10px}.tool-btn{padding:7px 8px;font-size:0;min-width:32px}.tool-btn:before{font-size:16px}.zoom-btn{padding:4px 6px;font-size:11px;min-width:24px}.zoom-level{font-size:9px;min-width:30px}.page-input-compact{width:38px;padding:5px 3px;font-size:10px}.page-info-compact{font-size:10px;gap:3px}}.viewer-controls.top-controls{display:none}.search-panel{position:fixed;top:70px;right:20px;width:420px;max-height:75vh;background:linear-gradient(145deg,#fff,#f8f9ff);border-radius:16px;box-shadow:0 10px 40px #667eea40,0 0 20px #764ba226;border:2px solid rgba(102,126,234,.2);z-index:900;overflow:hidden;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.4,0,.2,1)}.search-form{display:flex;gap:.75rem;padding:1.25rem;background:linear-gradient(135deg,#667eea14,#764ba214);border-bottom:2px solid rgba(102,126,234,.15)}.search-input{flex:1;padding:.75rem 1.25rem;border:2px solid rgba(102,126,234,.3);border-radius:12px;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;box-shadow:inset 0 2px 4px #0000000d}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea26,inset 0 2px 4px #0000000d;transform:translateY(-1px)}.search-btn{padding:.75rem 1.5rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:.95rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #667eea4d}.search-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.search-btn:active{transform:translateY(0)}.search-btn:hover:not(:disabled){background:#2980b9}.search-btn:disabled{background:#bdc3c7;cursor:not-allowed}.search-close-btn{padding:.5rem;background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:#7f8c8d;transition:color .3s}.search-close-btn:hover{color:#e74c3c}.search-progress{padding:1rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.search-progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.search-progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);transition:width .3s ease;border-radius:4px}.search-progress-text{font-size:.85rem;color:#555;font-weight:500}.search-results{flex:1;overflow-y:auto;display:flex;flex-direction:column}.search-results-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.search-count{font-size:.85rem;color:#555;font-weight:600}.search-navigation{display:flex;align-items:center;gap:.5rem}.search-nav-btn{padding:.25rem .75rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .3s}.search-nav-btn:hover{background:#2980b9}.search-current{font-size:.85rem;color:#555;min-width:60px;text-align:center}.search-results-list{flex:1;overflow-y:auto;padding:.5rem 0}.search-result-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s}.search-result-item:hover{background:#f8f9fa}.search-result-item.active{background:#e3f2fd;border-left:3px solid #3498db}.search-result-page{font-size:.75rem;color:#3498db;font-weight:600;margin-bottom:.25rem}.search-result-context{font-size:.85rem;color:#555;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.search-no-results{padding:2rem 1rem;text-align:center;color:#7f8c8d;font-style:italic}.table-of-contents-panel{position:fixed;top:70px;left:20px;width:380px;max-height:75vh;background:linear-gradient(145deg,#fff,#f8f9ff);border-radius:16px;box-shadow:0 10px 40px #667eea40,0 0 20px #764ba226;border:2px solid rgba(102,126,234,.2);z-index:900;overflow:hidden;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.4,0,.2,1)}.toc-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:none;background:linear-gradient(135deg,#667eeaf2,#764ba2f2);color:#fff;box-shadow:0 4px 12px #667eea4d}.toc-header h3{margin:0;font-size:1.2rem;font-weight:800;text-shadow:0 2px 4px rgba(0,0,0,.2);display:flex;align-items:center;gap:.5rem}.toc-header h3:before{content:"📑";font-size:1.4rem}.close-panel-btn{background:#ffffff40;border:2px solid rgba(255,255,255,.4);width:36px;height:36px;border-radius:50%;color:#fff;font-size:1.3rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-weight:900}.close-panel-btn:hover{background:#fffffff2;color:var(--primary-color);transform:rotate(90deg) scale(1.1);box-shadow:0 4px 12px #fff6}.toc-list{flex:1;overflow-y:auto;padding:.5rem}.toc-unit{margin-bottom:.75rem;background:#f8f9fa;border-radius:8px;overflow:hidden;transition:all .3s;border:2px solid transparent}.toc-unit:hover{border-color:#e3f2fd;box-shadow:0 2px 8px #00000014}.toc-unit-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer;transition:background .2s}.toc-unit-header:hover{background:#e3f2fd}.toc-unit-info{display:flex;align-items:center;gap:.75rem;flex:1}.toc-unit-icon{font-size:1.5rem;line-height:1}.toc-unit-title{font-size:.95rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.toc-unit-range{font-size:.8rem;color:#6b7280;font-weight:500}.toc-expand-icon{font-size:.9rem;color:#3b82f6;font-weight:700;transition:transform .3s}.toc-pages-list{background:#fff;padding:.5rem;border-top:1px solid #e5e7eb;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.toc-page-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin:.25rem 0;background:#f9fafb;border-radius:6px;cursor:pointer;transition:all .2s;border-left:3px solid transparent}.toc-page-item:hover{background:#e0f2fe;border-left-color:#3b82f6;transform:translate(4px)}.toc-page-item.active{background:#dbeafe;border-left-color:#2563eb;font-weight:600}.toc-page-number{font-size:.9rem;color:#374151}.toc-current-badge{padding:.25rem .5rem;background:#3b82f6;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600}.toc-item{padding:1rem;margin-bottom:.5rem;background:#f8f9fa;border-radius:8px;cursor:pointer;transition:all .3s;border-left:4px solid transparent}.toc-item:hover{background:#e3f2fd;border-left-color:#3b82f6;transform:translate(4px);box-shadow:0 2px 8px #3b82f633}.toc-item-title{font-size:.95rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.toc-item-pages{font-size:.8rem;color:#6b7280;font-weight:500}.book-viewer.dark-mode .table-of-contents-panel{background:#2d2d2d;color:#e0e0e0}.book-viewer.dark-mode .toc-unit{background:#3d3d3d}.book-viewer.dark-mode .toc-unit:hover{border-color:#4d4d4d}.book-viewer.dark-mode .toc-unit-header:hover{background:#4d4d4d}.book-viewer.dark-mode .toc-unit-title{color:#e0e0e0}.book-viewer.dark-mode .toc-unit-range{color:#9ca3af}.book-viewer.dark-mode .toc-pages-list{background:#2d2d2d;border-top-color:#4d4d4d}.book-viewer.dark-mode .toc-page-item{background:#3d3d3d}.book-viewer.dark-mode .toc-page-item:hover{background:#4d4d4d}.book-viewer.dark-mode .toc-page-item.active{background:#374151}.book-viewer.dark-mode .toc-page-number{color:#d1d5db}.book-viewer.dark-mode .toc-item{background:#3d3d3d}.book-viewer.dark-mode .toc-item:hover{background:#4d4d4d}.book-viewer.dark-mode .toc-item-title{color:#e0e0e0}.book-viewer.dark-mode .toc-item-pages{color:#9ca3af}@media (max-width: 768px){.search-panel{width:calc(100% - 40px);right:20px;left:20px}.table-of-contents-panel{width:calc(100% - 40px);left:20px}}.document-container{flex:1;display:flex;flex-direction:column;padding:2rem 0 120px;position:relative;width:100%;max-width:100%;margin:0 auto;min-height:0;align-items:center;justify-content:flex-start}.word-container-wrapper{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;position:relative;width:100%;max-width:100%;padding:0 1rem}.pdf-scroll-container{flex:1;overflow-y:auto;overflow-x:auto;background:#f5f5f5;display:flex;justify-content:center;align-items:flex-start;padding:2rem 300px 120px;position:relative;width:100%;max-width:100%;min-height:0;-webkit-overflow-scrolling:touch}.pdf-scroll-container .react-pdf__Document{display:flex;justify-content:center;align-items:flex-start;margin:0 auto;width:100%}.pdf-pages-layout{display:flex!important;justify-content:center;align-items:flex-start;width:100%;margin:0 auto;-webkit-user-select:text!important;user-select:text!important;cursor:text!important;pointer-events:auto!important}.pdf-pages-container,.pdf-canvas-wrapper,.pdf-text-layer{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;margin:0 auto!important}.pdf-scroll-container,.pdf-scroll-container *:not(.page-nav-btn){user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;pointer-events:auto!important}.page-nav-btn{position:fixed;top:50%;transform:translateY(-50%);width:70px;height:120px;background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:none;color:#fff;font-size:60px;cursor:pointer;z-index:999;transition:all .3s ease;display:flex;align-items:center;justify-content:center;opacity:0;border-radius:12px;pointer-events:all}.page-nav-left{left:0}.page-nav-right{right:0}.page-nav-btn:hover{opacity:1;background:#000000d9}.page-nav-btn:active{transform:translateY(-50%) scale(.95)}@media (max-width: 768px){.page-nav-btn{width:60px;height:100px;font-size:50px}.page-nav-btn:hover{opacity:1}.document-container{padding:1.5rem 0 130px}.pdf-scroll-container{padding:1.5rem 30px 120px}.search-panel,.table-of-contents-panel{width:calc(100vw - 40px);max-width:380px;left:20px;right:20px}}.word-container-wrapper{padding:0 1rem}} @media (min-width: 769px) and (max-width: 1024px){.document-container{padding:1.75rem 0 120px}.pdf-scroll-container{padding:1.75rem 100px 120px}.word-container-wrapper{padding:0 1.5rem}.react-pdf__Page{max-width:90%!important;margin:0 auto!important}.annotations-panel{width:300px!important}}.page-arrow{display:none}.annotation-tools{position:absolute;top:60px;right:0;background:#fff;border-radius:12px;padding:15px;box-shadow:0 4px 20px #0003;min-width:280px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tool-group{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:2px solid #ecf0f1}.tool-label{font-size:.9rem;font-weight:600;color:#34495e}.color-btn{width:30px;height:30px;border:2px solid #bdc3c7;border-radius:50%;cursor:pointer;transition:all .2s ease;position:relative}.color-btn:hover{transform:scale(1.15);border-color:#34495e}.color-btn.active{border:3px solid #2c3e50;box-shadow:0 0 0 2px #3498db4d}.annotation-btn{width:100%;padding:10px 15px;margin-bottom:8px;border:2px solid #3498db;background:#fff;color:#3498db;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.annotation-btn:hover{background:#3498db;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #3498db4d}.annotation-btn:last-child{margin-bottom:0}.word-content span[data-annotation-id]{position:relative;padding:2px 0}.word-content span[data-annotation-id]:hover:after{content:"💬";position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#3498dbe6;color:#fff;padding:4px 8px;border-radius:4px;font-size:.8rem;white-space:nowrap}.word-viewer-container{-webkit-user-select:text;user-select:text}.pdf-scroll-container{flex:1;overflow-y:auto;overflow-x:auto;background:#f5f5f5;display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem;position:relative;width:100%;-webkit-overflow-scrolling:touch}.pdf-pages-layout{-webkit-user-select:text!important;user-select:text!important;cursor:text!important;pointer-events:auto!important;width:fit-content;margin:0 auto;display:flex!important;justify-content:center;align-items:flex-start}.pdf-scroll-container,.pdf-scroll-container *:not(.page-nav-btn):not(.annotation-toolbar):not(.annotation-toggle-btn){user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;pointer-events:auto!important}.pdf-scroll-container .react-pdf__Page{margin:0 auto!important;box-shadow:0 2px 8px #00000026;background:#fff;-webkit-user-select:text!important;user-select:text!important;cursor:text!important;pointer-events:auto!important}.pdf-scroll-container .react-pdf__Page__textContent{user-select:text!important;cursor:text!important;-webkit-user-select:text!important;pointer-events:auto!important;position:absolute!important;left:0!important;top:0!important;right:0!important;bottom:0!important;overflow:hidden!important;z-index:10!important}.pdf-scroll-container .react-pdf__Page__textContent span{user-select:text!important;cursor:text!important;pointer-events:auto!important;-webkit-user-select:text!important}.pdf-scroll-container .react-pdf__Page__canvas{display:block;user-select:none;-webkit-user-select:none;pointer-events:none!important;z-index:1!important;position:relative}.pdf-scroll-container .react-pdf__Document{-webkit-user-select:text;user-select:text}.pdf-scroll-container .react-pdf__Page{margin:0 auto;box-shadow:0 2px 8px #00000026;background:#fff;-webkit-user-select:text!important;user-select:text!important}.pdf-scroll-container .react-pdf__Page__textContent{-webkit-user-select:text!important;user-select:text!important;cursor:text!important}.pdf-scroll-container .react-pdf__Page__textContent span{-webkit-user-select:text!important;user-select:text!important;cursor:text!important;pointer-events:auto!important}.pdf-scroll-container .react-pdf__Page__canvas{display:block;-webkit-user-select:none;user-select:none}.word-content{line-height:1.8;font-size:16px;color:#2c3e50;padding:40px;position:relative;z-index:10;-webkit-user-select:text!important;user-select:text!important;cursor:text}.word-content p{margin-bottom:1em}.word-content h1,.word-content h2,.word-content h3{color:#34495e;margin-top:1.5em;margin-bottom:.5em}.dragging{cursor:grabbing!important}.dragging .page-arrow,.dragging .annotation-toolbar,.dragging .toolbar,.dragging .floating-annotation-menu{pointer-events:none;-webkit-user-select:none;user-select:none}.word-content,.react-pdf__Page__textContent{-webkit-user-select:text!important;user-select:text!important;cursor:text!important}.word-viewer,.react-pdf__Page{cursor:text}.pdf-container{display:flex;gap:2rem;justify-content:center;align-items:flex-start;margin:0 auto}.react-pdf__Document{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:2rem;margin:0 auto}.react-pdf__Page{margin-bottom:2rem;box-shadow:0 4px 20px #0003;background:#fff;position:relative;z-index:10;-webkit-user-select:text;user-select:text}.react-pdf__Page canvas{max-width:100%;height:auto!important;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}canvas{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.react-pdf__Page__textContent{position:relative;z-index:15!important;-webkit-user-select:text!important;user-select:text!important;pointer-events:auto!important}.react-pdf__Page__annotations{position:relative;z-index:14!important;pointer-events:auto!important}.loading,.error{padding:3rem;text-align:center;font-size:1.2rem;color:#7f8c8d}.error{color:#e74c3c}.epub-placeholder,.text-placeholder{text-align:center;padding:4rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:600px;margin:2rem auto}.epub-placeholder p,.text-placeholder p{font-size:1.2rem;color:#7f8c8d;margin:.5rem 0}.epub-placeholder p:first-child,.text-placeholder p:first-child{font-size:2rem;margin-bottom:1rem}.activity-marker{position:absolute;width:40px;height:40px;background:#f39c12;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #0000004d;animation:pulse 2s infinite;z-index:10;transition:box-shadow .3s,transform .3s;transform-origin:center}.activity-marker:hover{box-shadow:0 6px 16px #0006}@keyframes pulse{0%,to{box-shadow:0 4px 12px #f39c1266}50%{box-shadow:0 4px 20px #f39c12cc}}.highlight-menu{position:fixed;display:flex;gap:.5rem;background:#fff;padding:.5rem;border-radius:8px;box-shadow:0 4px 12px #0000004d;transform:translate(-50%,-100%);z-index:1000}.highlight-btn{width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:all .3s;display:flex;align-items:center;justify-content:center}.highlight-btn:hover{transform:scale(1.2)}.highlight-btn.yellow{background:#fff9c4}.highlight-btn.green{background:#c8e6c9}.highlight-btn.blue{background:#bbdefb}.highlight-btn.pink{background:#f8bbd0}.highlight-btn.note{background:#e0e0e0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content.note-modal{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d}.note-modal h3{margin:0 0 1rem;color:#2c3e50}.selected-text{background:#f8f9fa;padding:1rem;border-radius:6px;margin-bottom:1rem;border-left:4px solid #3498db}.selected-text strong{display:block;margin-bottom:.5rem;color:#34495e}.selected-text p{margin:0;font-style:italic;color:#7f8c8d}.note-modal textarea{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:6px;font-size:1rem;resize:vertical;margin-bottom:1rem;font-family:inherit}.note-modal textarea:focus{outline:none;border-color:#3498db}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end}.notes-panel{position:fixed;right:0;top:120px;bottom:0;width:300px;background:#fff;border-left:2px solid #e0e0e0;padding:1rem;overflow-y:auto;box-shadow:-2px 0 8px #0000001a;z-index:100}.notes-panel h4{margin:0 0 1rem;color:#2c3e50;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.note-item{background:#f8f9fa;border-radius:8px;padding:1rem;margin-bottom:1rem;border-left:4px solid #3498db}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.note-page{font-size:.85rem;color:#7f8c8d;font-weight:600}.delete-note{background:transparent;border:none;cursor:pointer;font-size:1rem;transition:transform .3s}.delete-note:hover{transform:scale(1.2)}.note-quote{font-size:.9rem;font-style:italic;color:#7f8c8d;margin-bottom:.5rem;padding-left:.5rem;border-left:2px solid #bdc3c7}.note-content{font-size:.95rem;color:#2c3e50;margin-bottom:.5rem;line-height:1.5}.note-date{font-size:.8rem;color:#95a5a6;text-align:right}@media (max-width: 768px){.viewer-controls{flex-direction:column;gap:1rem;padding:1rem}.document-container{padding:1rem}.notes-panel{width:100%;top:auto;bottom:0;height:50vh}.control-btn{padding:.4rem .8rem;font-size:.85rem}.word-viewer{width:100%!important;max-width:100vw!important;height:auto!important;min-height:400px!important;box-shadow:none!important}.word-container{flex-direction:column!important;gap:1rem!important;padding:0!important}.word-content{font-size:14px!important;padding:1.5rem!important}.page-nav-btn{width:40px!important;height:40px!important;font-size:24px!important}}.word-container{display:flex;gap:2rem;justify-content:center;align-items:flex-start;margin:0 auto;width:100%;min-width:fit-content}.word-viewer{background:#fff;padding:0;margin:0 auto;width:21.59cm;height:27.94cm;box-shadow:0 4px 20px #0003;flex-shrink:0;overflow:hidden;display:flex;flex-direction:column;position:relative;z-index:10;-webkit-user-select:text;user-select:text}.word-content{font-family:Times New Roman,Times,serif;font-size:12pt;line-height:1.6;color:#333;padding:2.54cm;flex:1;overflow:hidden;height:100%;position:relative;z-index:10;-webkit-user-select:text;user-select:text}.word-page-info{text-align:center;padding:1rem;border-top:2px solid #e0e0e0;margin-top:1rem;font-size:.9rem;color:#7f8c8d;font-weight:600}.word-content p{margin-bottom:1em;text-align:justify}.word-content h1,.word-content h2,.word-content h3,.word-content h4,.word-content h5,.word-content h6{margin-top:1.5em;margin-bottom:.75em;font-weight:700;color:#2c3e50}.word-content img{max-width:100%;height:auto;display:block;margin:1.5em auto;box-shadow:0 2px 8px #0000001a;border-radius:4px}.word-content table{border-collapse:collapse;width:100%;margin:1em 0}.word-content table td,.word-content table th{border:1px solid #ddd;padding:8px;text-align:left}.word-content table th{background-color:#f2f2f2;font-weight:700}.error-message{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:2rem;margin:2rem;text-align:center}.error-message p{margin:.5rem 0;color:#856404}.epub-viewer,.epub-container{width:100%;max-width:800px;height:600px;margin:20px auto 120px;padding:0;background:#fff;box-shadow:0 2px 12px #0000001a;border-radius:8px;overflow-y:scroll;overflow-x:hidden;position:relative}.epub-viewer:hover,.epub-container:hover{box-shadow:0 4px 16px #00000026}.epub-viewer iframe,.epub-container iframe{border:none;width:100%!important;min-height:100%;display:block;background:#fff}.epub-viewer>div,.epub-container>div{width:100%;min-height:600px;background:#fff}@media (max-width: 768px){.epub-viewer,.epub-container{max-width:100%!important;border-radius:0;box-shadow:none;height:calc(100vh - 200px)!important;margin:10px auto!important}.epub-viewer iframe,.epub-container iframe{width:100%!important;height:100%!important}.annotations-panel{width:320px!important;max-width:80vw!important}.deep-dive-activities-panel{width:280px!important;max-width:75vw!important}}@media (max-width: 480px){.epub-viewer,.epub-container{height:calc(100vh - 180px)!important;min-height:400px!important}.document-container{padding:1rem 0 140px}.pdf-scroll-container{padding:1rem .5rem}.word-container-wrapper{padding:0 .5rem}.annotations-panel{width:100%!important;max-width:100vw!important;top:0!important;bottom:0!important;left:0!important;right:0!important;border-radius:0!important}.annotation-item{padding:14px!important;border-radius:12px!important}.modal-content{width:95%!important;max-width:95%!important;padding:20px!important}.floating-annotation-menu{min-width:260px!important;max-width:90vw!important}}@media (max-width: 360px){.document-container{padding:.5rem 0 140px}.pdf-scroll-container{padding:.5rem .25rem}.word-container-wrapper{padding:0 .25rem}.annotations-panel{width:100%!important}.annotation-item{padding:12px!important;font-size:13px!important}.floating-annotation-menu{min-width:240px!important;padding:10px!important}.modal-content{padding:16px!important}.note-modal h3{font-size:18px!important}}.annotations-panel{position:fixed;right:0;top:80px;bottom:80px;width:350px;background:linear-gradient(135deg,#fff,#f0f4ff);box-shadow:-4px 0 20px #0000001f;padding:0;overflow-y:auto;z-index:900;animation:slideInRight .3s ease}.annotations-panel::-webkit-scrollbar{width:8px}.annotations-panel::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.annotations-panel::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:10px}.annotations-panel::-webkit-scrollbar-thumb:hover{background:#5568d3}.annotations-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #3498db}.annotations-panel h3{margin:0;font-size:1.2rem;color:#2c3e50}.annotations-panel-close{background:transparent;border:none;font-size:1.8rem;color:#7f8c8d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;line-height:1}.annotations-panel-close:hover{background:#ecf0f1;color:#e74c3c;transform:rotate(90deg)}.annotations-list{display:flex;flex-direction:column;gap:1rem}.annotation-item{background:linear-gradient(135deg,#f8f9fa,#e9ecef30);border-left:4px solid #3498db;padding:.75rem;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014;animation:slideInFromRight .4s ease-out}.annotation-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.5) 0%,transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none}.annotation-item:hover:before{opacity:1}.annotation-item:hover{background:linear-gradient(135deg,#e9ecef,#dee2e650);transform:translate(-8px) scale(1.02);box-shadow:0 8px 24px #00000026}.annotation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.5rem}.annotation-type{font-weight:600;font-size:.9rem;color:#34495e;flex:1}.annotation-color-indicator{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #ddd;flex-shrink:0}.annotation-delete{background:transparent;border:none;font-size:1.5rem;color:#e74c3c;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .3s;flex-shrink:0}.no-annotations{text-align:center;color:#95a5a6;padding:2rem 1rem;font-size:.9rem;line-height:1.6}.annotation-delete:hover{transform:scale(1.3);color:#c0392b}.annotation-text{font-size:.85rem;font-style:italic;color:#7f8c8d;margin:.5rem 0;padding-left:.5rem;border-left:2px solid #bdc3c7}.annotation-content{font-size:.9rem;color:#2c3e50;margin:.5rem 0}.annotation-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #ddd}.annotation-page{font-size:.8rem;color:#95a5a6;font-weight:600}.annotation-goto{background:#3498db;color:#fff;border:none;padding:.3rem .6rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .3s}.annotation-goto:hover{background:#2980b9;transform:translate(3px)}.highlight-annotation{padding:2px 0!important;border-radius:2px!important;display:inline!important;transition:background-color .2s ease;cursor:pointer;position:relative}.highlight-annotation:hover{opacity:.8;filter:brightness(1.1)}.word-page .highlight-annotation,.pdf-page-container .highlight-annotation{background-color:inherit!important;padding:2px 0!important}.word-page .note-annotation,.pdf-page-container .note-annotation{background-color:inherit!important;padding:2px 0!important;border-bottom:2px dotted #2196f3!important}.note-annotation{display:inline!important;transition:all .2s ease;cursor:help!important;position:relative}.note-annotation:hover{background-color:#2196f340!important;border-bottom-color:#1565c0!important}.note-annotation:before{content:"📝";position:absolute;left:-18px;font-size:12px;opacity:.7}.floating-annotation-menu{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000040,0 0 0 1px #00000014;padding:12px;min-width:280px;animation:fadeInDown .2s ease;pointer-events:auto}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%,calc(-100% - 10px))}to{opacity:1;transform:translate(-50%,-100%)}}.floating-menu-content{display:flex;flex-direction:column;gap:10px}.floating-menu-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#666;letter-spacing:.5px;margin-bottom:4px}.floating-menu-colors{display:flex;gap:8px;justify-content:center;padding:4px 0}.floating-color-btn{width:40px;height:40px;border-radius:50%;border:2px solid transparent;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 6px #00000026}.floating-color-btn:hover{transform:scale(1.15);border-color:#333;box-shadow:0 4px 12px #00000040}.floating-color-btn:active{transform:scale(1.05)}.floating-menu-actions{display:flex;gap:8px;padding-top:8px;border-top:1px solid #e0e0e0}.floating-action-btn{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.floating-action-btn:hover{background:#f5f5f5;border-color:#999;transform:translateY(-1px)}.floating-action-btn:active{transform:translateY(0)}.floating-action-btn.note{color:#2196f3}.floating-action-btn.bookmark{color:#ff9800}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 12px 40px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.note-modal h3{margin:0 0 16px;color:#333;font-size:20px;display:flex;align-items:center;gap:8px}.selected-text-preview{background:#f5f5f5;border-left:4px solid #2196f3;padding:12px;margin-bottom:16px;border-radius:4px}.selected-text-preview strong{display:block;margin-bottom:8px;color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.selected-text-preview p{margin:0;color:#333;font-style:italic;line-height:1.5}.note-modal textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:100px;margin-bottom:16px;transition:border-color .2s ease}.note-modal textarea:focus{outline:none;border-color:#2196f3}.modal-buttons{display:flex;gap:12px;justify-content:flex-end}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-secondary{background:#e0e0e0;color:#666}.btn-secondary:hover{background:#d0d0d0}.btn-primary{background:#2196f3;color:#fff}.btn-primary:hover{background:#1976d2;transform:translateY(-1px);box-shadow:0 4px 12px #2196f34d}.deep-dive-activities-panel{position:fixed;right:0;top:120px;width:320px;max-height:calc(100vh - 140px);background:linear-gradient(135deg,#fff,#f8f9ff);border-left:3px solid #8b7ac4;border-radius:12px 0 0 12px;box-shadow:-4px 0 20px #8b7ac426;display:flex;flex-direction:column;z-index:900;animation:slideInRight .3s ease-out}.deep-dive-panel-header{padding:16px 20px;background:linear-gradient(135deg,#8b7ac4,#a594d4);color:#fff;border-radius:12px 0 0;display:flex;justify-content:space-between;align-items:center}.deep-dive-panel-header h3{margin:0;font-size:16px;font-weight:600}.deep-dive-panel-header .activities-count{background:#fff3;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.deep-dive-activities-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.deep-dive-activity-item{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease}.deep-dive-activity-item:hover{border-color:#8b7ac4;background:linear-gradient(135deg,#fff,#f8f4ff);transform:translate(-4px);box-shadow:0 4px 12px #8b7ac426}.deep-dive-activity-item .activity-icon{font-size:24px;min-width:32px;text-align:center}.deep-dive-activity-item .activity-info{flex:1;min-width:0}.deep-dive-activity-item .activity-title{font-weight:600;color:#1f2937;font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deep-dive-activity-item .activity-type-label{font-size:11px;color:#6b7280;text-transform:capitalize}.deep-dive-activity-item .activity-arrow{color:#8b7ac4;font-size:18px;font-weight:700;opacity:0;transition:opacity .2s ease}.deep-dive-activity-item:hover .activity-arrow{opacity:1}.deep-dive-activities-list::-webkit-scrollbar{width:6px}.deep-dive-activities-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.deep-dive-activities-list::-webkit-scrollbar-thumb{background:#8b7ac4;border-radius:10px}.deep-dive-activities-list::-webkit-scrollbar-thumb:hover{background:#7a69b3}@media (max-width: 768px){.deep-dive-activities-panel{width:280px;top:100px}.deep-dive-panel-header h3{font-size:14px}.deep-dive-activity-item{padding:10px}.deep-dive-activity-item .activity-icon{font-size:20px;min-width:28px}.deep-dive-activity-item .activity-title{font-size:13px}.deep-dive-activity-item .activity-arrow{font-size:16px}}@media (max-width: 480px){.deep-dive-activities-panel{width:260px;top:80px}.deep-dive-panel-header h3{font-size:13px}.deep-dive-activity-item{padding:8px;gap:8px}.deep-dive-activity-item .activity-icon{font-size:18px;min-width:24px}.deep-dive-activity-item .activity-title{font-size:12px}.deep-dive-activity-item .activity-type-label{font-size:10px}.deep-dive-activity-item .activity-arrow{font-size:14px}}@media (max-width: 360px){.deep-dive-activities-panel{width:240px}.deep-dive-panel-header h3{font-size:12px}.deep-dive-activity-item{padding:6px;gap:6px}.deep-dive-activity-item .activity-icon{font-size:16px;min-width:20px}.deep-dive-activity-item .activity-title{font-size:11px}.deep-dive-activity-item .activity-type-label{font-size:9px}.deep-dive-activity-item .activity-arrow{font-size:12px}}.reader-container{min-height:100vh;background-color:var(--bg-light);display:flex;flex-direction:column;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.reader-navbar{background:var(--gradient-primary);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.navbar-brand{display:flex;align-items:center;gap:1rem}.navbar-brand h2{margin:0;color:#fff;font-size:1.3rem}.user-info{color:#ffffffe6;font-size:.9rem;background:#fff3;padding:.5rem 1rem;border-radius:20px}.navbar-actions{display:flex;gap:1rem}.btn-home,.btn-logout{padding:.6rem 1.2rem;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .3s;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-home{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.btn-home:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.btn-home:active{transform:translateY(0);box-shadow:0 1px 4px #0000000d}.btn-logout{background:#e74c3c;color:#fff}.btn-logout:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c4d}.btn-logout:active{transform:translateY(0);box-shadow:0 2px 6px #e74c3c33}.reader-toolbar{background:#fff;color:#2c3e50;padding:15px 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 4px #0000001a;gap:20px}.toolbar-left{display:flex;gap:10px;align-items:center}.toolbar-left h3{margin:0;font-size:1.1rem;color:#7f8c8d}.reader-toolbar h2{margin:0;font-size:20px;flex:1;text-align:center}.toolbar-right{display:flex;gap:10px}.icon-btn{background-color:#ecf0f1;border:none;color:#34495e;padding:10px 15px;border-radius:var(--radius-sm);cursor:pointer;font-size:18px;transition:var(--transition)}.icon-btn:hover{background-color:#bdc3c7;transform:translateY(-2px)}.reader-content{flex:1;display:flex;overflow:hidden}.reader-sidebar{width:280px;background-color:#fff;padding:20px;overflow-y:auto;box-shadow:var(--shadow-md)}.reader-sidebar h3{margin-bottom:15px;color:var(--text-dark)}.index-list{list-style:none;padding:0}.index-list li{padding:10px;cursor:pointer;border-radius:var(--radius-sm);margin-bottom:5px;transition:var(--transition)}.index-list li:hover{background-color:var(--bg-light);color:var(--primary-color)}.reader-viewer{flex:1;display:flex;flex-direction:column;padding:20px}.book-page{flex:1;background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:40px;overflow-y:auto;margin-bottom:20px}.page-placeholder{max-width:800px;margin:0 auto;text-align:center}.page-placeholder h3{font-size:32px;color:var(--primary-color);margin-bottom:20px}.page-placeholder p{font-size:18px;color:var(--text-dark);margin-bottom:10px}.reader-pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding:15px;background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.reader-pagination span{font-weight:600;color:var(--text-dark)}@media (max-width: 768px){.reader-content{flex-direction:column}.reader-sidebar{width:100%;max-height:200px}.reader-toolbar{padding:15px}.reader-toolbar h2{font-size:16px}.book-page{padding:20px}}.activation-container{min-height:100vh;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;padding:2rem}.activation-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;padding:3rem;animation:slideUp .5s ease-out}.activation-header{text-align:center;margin-bottom:2rem}.activation-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 2s ease-in-out infinite}.activation-header h1{color:#1f2937;font-size:1.8rem;margin-bottom:.5rem}.activation-header p{color:#6b7280;font-size:1rem;line-height:1.5}.activation-form,.activation-form .form-group{margin-bottom:1.5rem}.activation-form label{display:block;color:#374151;font-weight:600;margin-bottom:.5rem;font-size:.95rem}.activation-form .form-input{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1.1rem;font-weight:600;text-align:center;letter-spacing:2px;text-transform:uppercase;transition:all .3s}.activation-form .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.activation-error{background:#fee2e2;border:1px solid #ef4444;color:#b91c1c;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.activation-actions{display:flex;flex-direction:column;gap:.75rem}.btn-activate{background:var(--gradient-primary);color:#fff;border:none;padding:1rem 2rem;border-radius:10px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.btn-activate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-activate:active:not(:disabled){transform:translateY(0)}.btn-activate:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:#f3f4f6;color:#6b7280;border:none;padding:.875rem 2rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel:hover{background:#e5e7eb}.activation-help{background:#f0f9ff;border-left:4px solid #3b82f6;padding:1rem;border-radius:8px;margin-top:1.5rem}.activation-help p{margin:0;color:#1e40af;font-size:.9rem;line-height:1.5}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loading-container p{color:#6b7280;font-size:1.1rem}.reader-container{width:100vw;max-width:100%;overflow-x:hidden;display:flex!important;flex-direction:column!important;align-items:stretch!important}.reader-content{flex:1;display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;background-color:#f5f5f5}.book-viewer{width:100%!important;max-width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important}.pdf-paginated-viewer{width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important}.pdf-pages-container{width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important}.pdf-canvas-wrapper{margin:0 auto!important;display:flex!important;justify-content:center!important;align-items:center!important}.school-dashboard{min-height:100vh;background:var(--gradient-primary);padding:1rem;width:100%;overflow-x:hidden;box-sizing:border-box}@media (min-width: 768px){.school-dashboard{padding:20px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;color:#fff}.dashboard-header{background:#fff;padding:24px 32px;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.header-left h1{font-size:28px;color:#1a1a1a;margin:0 0 8px}.subtitle{color:#666;margin:0;font-size:14px}.header-actions{display:flex;gap:12px}.btn-secondary{padding:10px 20px;background:#fff;border:2px solid var(--primary-color);color:var(--primary-color);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.filters-container{background:#fff;padding:20px 32px;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin-bottom:24px;display:flex;gap:24px;align-items:flex-end}.filter-group{flex:1}.filter-group label{display:block;font-weight:600;color:#333;margin-bottom:8px;font-size:14px}.filter-select{width:100%;padding:10px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:var(--primary-color)}.view-toggle{display:flex;gap:8px}.toggle-btn{padding:10px 20px;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;color:#666}.toggle-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.toggle-btn:hover:not(.active){background:#e8e8e8}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px}.metric-card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 12px #0000001a;display:flex;align-items:center;gap:20px;transition:transform .2s}.metric-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.metric-card.highlight{background:var(--gradient-primary);color:#fff}.metric-icon{font-size:48px;line-height:1}.metric-content h3{font-size:36px;font-weight:700;margin:0 0 4px}.metric-content p{margin:0;font-size:14px;opacity:.8}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:24px}.chart-card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 12px #0000001a}.chart-card h3{font-size:18px;color:#1a1a1a;margin:0 0 20px}.custom-tooltip{background:#000c;color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #0000004d}.custom-tooltip .label{font-weight:700;margin:0 0 4px;font-size:14px}.custom-tooltip .value{margin:0 0 4px;font-size:16px;color:#4caf50}.custom-tooltip .detail{margin:0;font-size:12px;opacity:.8}.table-card,.activities-table-card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin-bottom:24px}.table-card h3,.activities-table-card h3{font-size:18px;color:#1a1a1a;margin:0 0 16px}.table-container{overflow-x:auto}.students-table,.activities-table{width:100%;border-collapse:collapse}.students-table thead,.activities-table thead{background:#f5f5f5}.students-table th,.activities-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;font-size:14px;border-bottom:2px solid #e0e0e0}.students-table td,.activities-table td{padding:14px 16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.students-table tbody tr:hover,.activities-table tbody tr:hover{background:#fafafa}.student-name{font-weight:600;color:#1a1a1a}.text-center{text-align:center}.progress-cell{display:flex;align-items:center;gap:12px}.progress-bar-small{flex:1;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill-small{height:100%;transition:width .3s ease}.progress-value{font-weight:600;min-width:45px;text-align:right}.btn-view-detail{padding:6px 14px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-view-detail:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.student-detail-view{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.btn-back{padding:10px 20px;background:#fff;border:2px solid var(--primary-color);color:var(--primary-color);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:20px;transition:all .2s}.btn-back:hover{background:var(--primary-color);color:#fff}.student-header{background:#fff;padding:28px 32px;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.student-info h2{font-size:26px;color:#1a1a1a;margin:0 0 8px}.student-email{color:#666;margin:0;font-size:14px}.student-stats{display:flex;gap:32px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label{font-size:13px;color:#666}.stat-value{font-size:24px;font-weight:700;color:#1a1a1a}.stat-value.highlight{color:var(--primary-color)}.badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;display:inline-block}.badge-success{background:#c8e6c9;color:#2e7d32}.badge-warning{background:#ffe0b2;color:#e65100}.badge-danger{background:#ffcdd2;color:#c62828}@media (max-width: 1024px){.charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.school-dashboard{padding:12px}.dashboard-header{flex-direction:column;gap:16px;align-items:flex-start;padding:20px}.header-actions{width:100%;flex-direction:column}.btn-secondary{width:100%}.filters-container{flex-direction:column;gap:16px;padding:20px}.metrics-grid{grid-template-columns:1fr}.student-header{flex-direction:column;gap:20px;align-items:flex-start}.student-stats{width:100%;justify-content:space-around}.table-container{overflow-x:scroll}}.progress-bars-container{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin-bottom:24px}.progress-bar-item{margin-bottom:24px}.progress-bar-item:last-child{margin-bottom:0}.progress-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-bar-header h4{font-size:16px;font-weight:600;color:#1a1a1a;margin:0}.progress-percentage{font-size:18px;font-weight:700;color:var(--primary-color)}.progress-bar-wrapper{width:100%;height:32px;background:#f5f5f5;border-radius:16px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0000001a}.progress-bar-fill{height:100%;border-radius:16px;transition:width .6s ease;position:relative;overflow:hidden}.progress-bar-fill.libro{background:var(--gradient-primary)}.progress-bar-fill.extra{background:linear-gradient(90deg,#f093fb,#f5576c)}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#fff0,#ffffff4d,#fff0);animation:shimmer 2s infinite}.progress-bar-info{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:13px;color:#666}.ponderacion-info{margin-top:20px;padding:16px;background:#f8f9fa;border-left:4px solid var(--primary-color);border-radius:8px}.ponderacion-info p{margin:0;font-size:14px;color:#495057}.ponderacion-info strong{color:var(--primary-color);font-weight:600}.activities-table-card.extra{border-top:3px solid #f5576c}.activities-table-card.extra h3{color:#f5576c}@media (max-width: 1024px){.admin-preview-banner{padding:.875rem 1.5rem;margin:.75rem}.admin-preview-banner span{font-size:1.25rem}.admin-preview-banner p{font-size:.9rem}.dashboard-header{padding:20px 24px}.filters-container{flex-wrap:wrap;padding:16px 24px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.school-dashboard{padding:.75rem}.admin-preview-banner{flex-direction:column;text-align:center;padding:.75rem 1rem;margin:.5rem;gap:.5rem}.admin-preview-banner span{font-size:1.5rem}.admin-preview-banner p{font-size:.85rem;line-height:1.4}.dashboard-header{flex-direction:column;align-items:flex-start;padding:16px;gap:16px}.header-actions{width:100%;flex-direction:column}.btn-secondary{width:100%;justify-content:center}.filters-container{flex-direction:column;padding:16px}.filter-group{width:100%}.stats-grid{grid-template-columns:1fr;gap:12px}.stat-card,.chart-card{padding:16px}.chart-card h3{font-size:1.1rem}.student-details-modal{width:95%;max-height:90vh;padding:20px}.modal-header h2{font-size:1.3rem}.activities-table{font-size:.85rem}.activities-table th,.activities-table td{padding:8px 6px}}@media (max-width: 480px){.school-dashboard{padding:.5rem}.admin-preview-banner{padding:.625rem .75rem;margin:.25rem;border-radius:8px}.admin-preview-banner span{font-size:1.25rem}.admin-preview-banner p{font-size:.75rem}.dashboard-header{padding:12px}.header-left h1{font-size:1.5rem}.subtitle{font-size:.75rem}.stat-card{padding:12px}.stat-value{font-size:1.75rem}.stat-label{font-size:.75rem}.chart-card{padding:12px}.chart-card h3{font-size:1rem}.btn-secondary{padding:8px 16px;font-size:.85rem}.activities-table{font-size:.75rem}.activities-table th,.activities-table td{padding:6px 4px}.modal-header{flex-direction:column;gap:12px}.close-modal-btn{position:absolute;top:12px;right:12px}}.profesores-section{margin:2rem 1rem;animation:fadeIn .5s ease-out}.section-header{margin-bottom:2rem;text-align:center}.section-header h2{font-size:2rem;font-weight:700;color:#fff;margin-bottom:.5rem}.section-subtitle{color:#ffffffe6;font-size:1.1rem}.profesores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.profesor-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000001a;display:flex;gap:1rem;align-items:flex-start;transition:all .3s ease}.profesor-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.profesor-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-icon{font-size:2rem}.profesor-info{flex:1}.profesor-info h3{margin:0 0 .5rem;font-size:1.2rem;color:#2d3748;font-weight:600}.profesor-email{color:#718096;font-size:.9rem;margin:.25rem 0}.profesor-estudiantes{color:#4299e1;font-size:.9rem;font-weight:500;margin:.5rem 0 0}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px;margin:2rem auto;max-width:500px}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#2d3748;font-size:1.5rem;margin-bottom:.5rem}.empty-state p{color:#718096;font-size:1rem}.estudiantes-summary{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0000001a}.estudiantes-summary h3{margin:0 0 1rem;font-size:1.5rem;color:#2d3748}.estudiantes-summary p{color:#718096;margin-bottom:1.5rem}.estudiantes-list{display:grid;gap:.75rem}.estudiante-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem;background:#f7fafc;border-radius:12px;transition:all .2s ease}.estudiante-item:hover{background:#edf2f7;transform:translate(5px)}.estudiante-icon{font-size:1.5rem}.estudiante-nombre{font-weight:600;color:#2d3748}.estudiante-email{color:#718096;font-size:.9rem}@media (max-width: 768px){.profesores-grid{grid-template-columns:1fr}.section-header h2{font-size:1.5rem}.profesor-card{flex-direction:column;text-align:center}.profesor-avatar{margin:0 auto}.estudiante-item{grid-template-columns:1fr;text-align:center}.estudiante-email{margin-top:.25rem}}.teacher-classes-container{min-height:100vh;background:linear-gradient(135deg,#e8eeff,#f5e8ff,#fef3ff,#e8f7ff,#f0fdff);background-size:400% 400%;animation:gradientShift 15s ease infinite;width:100%;overflow-x:hidden;position:relative}.teacher-classes-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.6) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.5) 0%,transparent 50%);pointer-events:none}.teacher-classes{max-width:1400px;margin:0 auto;padding:2rem;box-sizing:border-box;position:relative;z-index:1}@media (min-width: 768px){.teacher-classes{padding:2.5rem}}.classes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;animation:slideDown .6s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.btn-create{background:var(--gradient-primary);color:#fff;border:none;padding:1rem 2rem;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66;position:relative;overflow:hidden}.btn-create:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-create:hover:before{width:300px;height:300px}.btn-create:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #667eea99}.empty-state{text-align:center;padding:5rem 2rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:2px dashed rgba(102,126,234,.3);box-shadow:0 10px 40px #0000001a;animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.empty-state h2{color:#374151;margin-bottom:1rem;font-size:2rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-state p{color:#6b7280;margin-bottom:2rem;font-size:1.1rem}.empty-state button{background:var(--gradient-primary);color:#fff;border:none;padding:1rem 2.5rem;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #667eea66;transition:all .3s ease}.empty-state button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #667eea99}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;animation:fadeInUp .8s ease-out}@media (min-width: 768px){.classes-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:2rem}}.clase-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px #0000001a;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;border:1px solid rgba(255,255,255,.2)}.clase-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.clase-card:hover:before{left:100%}.clase-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 60px #667eea4d}.clase-card-header{background:var(--gradient-primary);color:#fff;padding:2rem 1.5rem;display:flex;justify-content:space-between;align-items:flex-start;position:relative;overflow:hidden}.clase-card-header:after{content:"✨";position:absolute;top:10px;right:10px;font-size:2rem;opacity:.2;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.clase-card-header h3{margin:0;font-size:1.4rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.2);flex:1;padding-right:1rem}.estudiantes-count{background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:20px;font-size:.95rem;font-weight:600;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #0000001a;white-space:nowrap}.clase-card-body{padding:2rem 1.5rem;background:linear-gradient(to bottom,#fff,#f8f9ff)}.clase-book-section{display:flex;gap:1.5rem;align-items:flex-start}.clase-book-cover{flex-shrink:0;width:100px;height:140px;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0003;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative}.clase-book-cover:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);transform:translate(-100%);transition:transform .6s}.clase-card:hover .clase-book-cover:after{transform:translate(100%)}.clase-card:hover .clase-book-cover{transform:scale(1.05) rotate(-2deg);box-shadow:0 12px 32px #667eea66}.clase-book-cover img{width:100%;height:100%;object-fit:cover}.book-placeholder{font-size:3rem;opacity:.8;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.clase-details{flex:1;min-width:0}.clase-info{margin-bottom:1rem;color:#4b5563;font-size:1rem;word-wrap:break-word;padding:.75rem;background:#fff9;border-radius:10px;border-left:4px solid var(--primary-color);transition:all .3s ease}.clase-info:hover{background:#ffffffe6;transform:translate(5px);box-shadow:0 4px 12px #667eea26}.clase-info strong{color:#1f2937;margin-right:.75rem;font-size:1.1rem}.clase-card-footer{padding:0 1.5rem 1.5rem;background:linear-gradient(to top,#fff,#f8f9ff)}.btn-view{display:block;width:100%;text-align:center;background:var(--gradient-primary);color:#fff;padding:1rem;border-radius:12px;text-decoration:none;font-weight:600;font-size:1.05rem;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;position:relative;overflow:hidden}.btn-view:before{content:"→";position:absolute;right:20px;top:50%;transform:translateY(-50%);opacity:0;transition:all .3s ease}.btn-view:hover:before{opacity:1;right:15px}.btn-view:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea80}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}.modal-content{background:#fff;border-radius:24px;width:100%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideUp .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:2px solid #f3f4f6;background:var(--gradient-primary);color:#fff;border-radius:24px 24px 0 0}.modal-header h2{margin:0;font-size:1.75rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.2)}.btn-close{background:#fff3;border:none;font-size:1.75rem;color:#fff;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-close:hover{background:#ffffff4d;transform:rotate(90deg) scale(1.1)}.modal-content form{padding:2rem;background:linear-gradient(to bottom,#fff,#f8f9ff)}.form-group{margin-bottom:1.75rem}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.75rem;font-size:1.05rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #667eea1a;transform:translateY(-2px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:2rem;border-top:2px solid #f3f4f6;margin:0 -2rem -2rem;background:#fff;border-radius:0 0 24px 24px}.modal-footer button{padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;border:none;transition:all .3s ease}.modal-footer button[type=button]{background:#f3f4f6;color:#374151}.modal-footer button[type=button]:hover{background:#e5e7eb;transform:translateY(-2px)}.modal-footer .btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea66}.modal-footer .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea99}.modal-footer button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.loading{text-align:center;padding:6rem 4rem;font-size:1.5rem;color:#fff;font-weight:600;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 24px 24px 0}.modal-content::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--gradient-primary)}@media (max-width: 1023px){.teacher-classes{padding:1.5rem}.classes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.clase-card-header h3{font-size:1.25rem}.estudiantes-count{font-size:.85rem;padding:.4rem .8rem}.clase-book-cover{width:90px;height:125px}.clase-info{font-size:.95rem}}@media (max-width: 767px){.teacher-classes{padding:1rem}.classes-header{flex-direction:column;gap:1rem;margin-bottom:1.5rem}.btn-create{width:100%;padding:.875rem 1.5rem;font-size:1rem}.classes-grid{grid-template-columns:1fr;gap:1.25rem}.clase-card-header{padding:1.5rem 1.25rem;flex-wrap:wrap}.clase-card-header h3{font-size:1.15rem;width:100%;margin-bottom:.5rem;padding-right:0}.estudiantes-count{font-size:.8rem;padding:.35rem .7rem}.clase-card-body{padding:1.25rem 1rem}.clase-book-section{flex-direction:column;align-items:center;text-align:center}.clase-book-cover{width:100px;height:140px;margin-bottom:1rem}.clase-details{width:100%}.clase-info{font-size:.9rem;padding:.6rem;margin-bottom:.75rem}.clase-info strong{font-size:1rem}.btn-view{font-size:.95rem;padding:.875rem}.empty-state{padding:3rem 1.5rem}.empty-state h2{font-size:1.75rem}.empty-state p{font-size:1rem}.modal-content{max-width:95%;padding:1.5rem}.modal-header h2{font-size:1.5rem}.form-group label{font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:.875rem;font-size:.95rem}.form-row{grid-template-columns:1fr;gap:1rem}.modal-footer{flex-direction:column;gap:.75rem}.modal-footer button{width:100%}}@media (max-width: 480px){.teacher-classes{padding:.75rem}.classes-header{margin-bottom:1rem}.btn-create{padding:.75rem 1.25rem;font-size:.95rem;border-radius:30px}.classes-grid{gap:1rem}.clase-card{border-radius:15px}.clase-card-header{padding:1.25rem 1rem}.clase-card-header h3{font-size:1.05rem}.clase-card-header:after{font-size:1.5rem}.clase-card-body{padding:1rem .875rem}.clase-book-cover{width:85px;height:120px}.clase-info{font-size:.85rem;padding:.5rem}.clase-info strong{font-size:.9rem}.btn-view{font-size:.9rem;padding:.75rem;border-radius:10px}.empty-state{padding:2.5rem 1rem;border-radius:16px}.empty-state h2{font-size:1.5rem}.empty-state p{font-size:.9rem}.empty-state button{padding:.875rem 2rem;font-size:1rem}.modal-content{padding:1.25rem;border-radius:20px}.modal-header{padding:1.25rem}.modal-header h2{font-size:1.35rem}.btn-close{width:35px;height:35px;font-size:1.5rem}}.progress-report-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px;animation:fadeIn .2s ease}.progress-report-modal{background:#f8fafc;border-radius:16px;width:100%;max-width:1400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:2rem;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start;background:var(--gradient-primary);color:#fff}.header-content{flex:1}.modal-header h2{margin:0 0 1rem;font-size:2rem;font-weight:700}.student-info-header{display:flex;align-items:center;gap:1rem;margin-top:1rem}.student-avatar-large{width:4rem;height:4rem;border-radius:50%;background:#ffffff40;border:3px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:#fff;flex-shrink:0}.student-name{font-size:1.5rem;font-weight:600;margin:0}.student-email{font-size:1rem;opacity:.9;margin:.25rem 0 0}.btn-close-x{background:#fff3;border:none;color:#fff;font-size:32px;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s}.btn-close-x:hover{background:#ffffff4d}.modal-body{padding:2rem;overflow-y:auto;flex:1;background:#f8fafc}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#8b7ac4,#7c6bb3);padding:1.75rem;border-radius:16px;display:flex;align-items:flex-start;gap:1.25rem;box-shadow:0 2px 8px #00000014;border:2px solid transparent;transition:all .3s ease;min-width:0}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.stat-card.activities{border-color:#10b981}.stat-card.score{border-color:#f59e0b}.stat-card.time{border-color:#3b82f6}.stat-card.reading{border-color:#8b5cf6;background:linear-gradient(135deg,#8b7ac4,#7c6bb3)}.stat-card.reading .stat-label{color:#ffffffe6}.stat-card.reading .stat-value-large{color:#fff}.stat-icon{font-size:2.5rem;line-height:1;flex-shrink:0}.stat-content{flex:1;min-width:0;overflow:hidden}.stat-label{font-size:.875rem;color:#ffffffe6;margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;word-wrap:break-word}.stat-value{font-size:2rem;font-weight:700;color:#fff;line-height:1.2;margin-bottom:.5rem;word-wrap:break-word}.stat-value .stat-total{font-size:1.25rem;color:#ffffffb3;font-weight:500}.stat-value-large{font-size:2.25rem;font-weight:700;color:#fff;margin-bottom:.5rem;word-wrap:break-word}.progress-mini{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin:.75rem 0}.progress-mini-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:3px;transition:width .6s ease}.progress-mini-fill.score-fill{background:linear-gradient(90deg,#f59e0b,#d97706)}.stat-percentage{font-size:.938rem;color:#ffffffd9;font-weight:600;margin-top:.5rem}.stat-subtitle{font-size:.938rem;color:#ffffffd9;margin-top:.5rem;line-height:1.5;font-weight:600}.reading-status{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.813rem;font-weight:600}.reading-status.active{background:#dbeafe;color:#1e40af}.reading-status.inactive{background:#fee2e2;color:#991b1b}.last-reading-text{margin-top:.75rem;font-size:.938rem;color:#ffffffd9;line-height:1.5;font-weight:600}.stat-value{font-size:28px;font-weight:700;color:#333;margin-bottom:4px}.progress-bar-section{background:#fff;padding:1.5rem;border-radius:16px;margin-bottom:2rem;box-shadow:0 2px 8px #00000014}.progress-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.progress-bar-header h3{margin:0;font-size:1.25rem;font-weight:700;color:#1e293b}.progress-percentage-large{font-size:2rem;font-weight:700;color:var(--primary-color)}.progress-bar-track{width:100%;height:2.5rem;background:#e2e8f0;border-radius:12px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:var(--gradient-primary);transition:width .8s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;position:relative}.progress-bar-text{color:#fff;font-size:1rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.activities-section{margin-top:2rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3{margin:0;font-size:1.5rem;font-weight:700;color:#1e293b}.count-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:1rem;font-weight:700;min-width:3rem;text-align:center}.count-badge.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.activity-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border-left:4px solid #10b981;transition:all .3s ease}.activity-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.activity-card.pending{border-left-color:#f59e0b;border-left-width:5px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #fed7aa;box-shadow:0 4px 12px #f59e0b26}.activity-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.activity-number{background:#e0e7ff;color:#4f46e5;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.activity-title{flex:1;font-size:1.125rem;font-weight:700;color:#1e293b}.activity-score{padding:.5rem 1rem;border-radius:20px;font-weight:700;font-size:1rem;flex-shrink:0}.activity-score.high{background:#d1fae5;color:#065f46}.activity-score.medium{background:#fed7aa;color:#92400e}.activity-score.low{background:#fecaca;color:#991b1b}.activity-details{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;align-items:center;gap:.75rem;font-size:.938rem}.detail-icon{font-size:1.125rem;width:1.5rem;text-align:center;flex-shrink:0}.detail-label{color:#64748b;font-weight:600;min-width:100px}.detail-value{color:#1e293b;font-weight:500;flex:1}.detail-value.score-value{color:#f59e0b;font-weight:700}.detail-value.time-value{color:#3b82f6;font-weight:700}.detail-value.date-value{color:#64748b;font-size:.875rem}.pending-activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.pending-badge{display:inline-block;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;padding:.375rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;box-shadow:0 2px 8px #f59e0b66;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{box-shadow:0 2px 8px #f59e0b66}50%{box-shadow:0 4px 16px #f59e0b99}}.activity-title-pending{font-size:1.125rem;font-weight:700;color:#78350f;margin-bottom:1rem;line-height:1.4}.activity-meta-pending{display:flex;flex-direction:column;gap:.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#78350f;font-weight:600}.meta-icon{font-size:1rem}.no-activities{text-align:center;padding:3rem;color:#94a3b8;font-size:1.125rem;background:#fff;border-radius:12px;border:2px dashed #e2e8f0}.modal-footer{padding:1.5rem 2rem;border-top:2px solid #e2e8f0;display:flex;justify-content:flex-end;gap:1rem;background:#fff}.btn-secondary{padding:.75rem 2rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #6366f14d}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.loading-spinner{text-align:center;padding:4rem;font-size:1.25rem;color:var(--primary-color);font-weight:600}.error-message{text-align:center;padding:3rem;color:#dc2626;font-size:1.125rem;background:#fee2e2;border-radius:12px;font-weight:600}@media (max-width: 768px){.progress-report-modal{max-width:100%;max-height:100vh;border-radius:0}.modal-header{padding:1.5rem}.modal-header h2{font-size:1.5rem}.student-avatar-large{width:3rem;height:3rem;font-size:1.5rem}.student-name{font-size:1.25rem}.modal-body{padding:1.5rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.25rem}.stat-icon{font-size:2rem}.stat-label{font-size:.75rem}.stat-value{font-size:1.5rem}.stat-value .stat-total{font-size:1rem}.stat-value-large{font-size:1.75rem}.stat-percentage{font-size:.813rem}.stat-subtitle{font-size:.75rem}.activities-grid,.pending-activities-grid{grid-template-columns:1fr}.detail-label{min-width:80px;font-size:.875rem}.detail-value{font-size:.875rem}.progress-percentage-large{font-size:1.5rem}.section-header h3{font-size:1.25rem}.count-badge{padding:.375rem .75rem;font-size:.875rem;min-width:2.5rem}}@media (max-width: 480px){.stat-label{font-size:.688rem}.stat-value{font-size:1.25rem}.stat-value-large{font-size:1.5rem}.stat-icon{font-size:1.75rem}.stat-card{padding:1rem;gap:.75rem}}.activity-card.profundizacion{border-left:4px solid #f093fb!important;background:linear-gradient(135deg,#fff5fd,#ffe4f8)!important}.activity-card.completed.profundizacion{border-left:4px solid #f093fb!important}.activity-card.pending.profundizacion{border-left:4px solid #f093fb!important;border:2px solid #f5d0fe!important;background:linear-gradient(135deg,#fdf4ff,#fae8ff)!important;box-shadow:0 4px 12px #f093fb26!important}.activity-number.profundizacion{background:linear-gradient(135deg,#f093fb,#f5576c)!important;color:#fff!important}.section-header h3{display:flex;align-items:center;gap:.5rem}.count-badge.profundizacion,.pending-badge.profundizacion{background:linear-gradient(135deg,#f093fb,#f5576c)!important}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.class-progress-dashboard{padding:2rem;background:linear-gradient(135deg,#f5f7fa,#e8eef5);min-height:100vh;animation:fadeInUp .5s ease-out}.dashboard-header{display:flex;justify-content:space-between;align-items:center;background:var(--gradient-primary);padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,4vw,2.5rem);border-radius:20px;margin-bottom:2rem;box-shadow:0 10px 40px #667eea4d;position:relative;overflow:hidden}.dashboard-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,#ffffff1a,#fff0);pointer-events:none}.header-content-centered{display:flex;justify-content:center;align-items:center;position:relative;z-index:1;flex:1;width:100%}.header-title-centered{color:#fff;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;margin:0;display:flex;align-items:center;gap:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1);animation:fadeInUp .6s ease-out .1s backwards}.emoji-icon-centered{font-size:clamp(1.8rem,5vw,2.5rem);display:inline-block;animation:bounceIcon 2s ease-in-out infinite}.btn-back-floating{position:absolute;left:0;top:50%;transform:translateY(-50%);background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-size:clamp(.85rem,2vw,1rem);font-weight:600;cursor:pointer;transition:all .3s ease;z-index:2;animation:fadeInUp .6s ease-out .2s backwards;white-space:nowrap}.btn-back-floating:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-50%) translate(-5px);box-shadow:0 5px 15px #0003}.dashboard-header h2{color:#fff;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1);z-index:1;position:relative}.header-actions{display:flex;gap:1rem;align-items:center;z-index:1;position:relative}.btn-back-menu{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-size:clamp(.85rem,2vw,1rem);font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-back-menu:hover{background:#ffffff4d;border-color:#ffffff80;transform:translate(-5px);box-shadow:0 5px 15px #0003}.btn-refresh{background:#fffffff2;color:var(--primary-color);padding:.75rem 1.5rem;border-radius:12px;font-size:clamp(.85rem,2vw,1rem);font-weight:600;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00000026;z-index:1;position:relative;white-space:nowrap}.btn-refresh:hover{background:#fff;transform:scale(1.05);box-shadow:0 6px 20px #0003}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2.5rem}.overview-card{background:#fff;border-radius:20px;padding:1.75rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 4px 20px #00000014;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:fadeInUp .7s ease-out backwards;border:2px solid transparent}.overview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-triple);background-size:200% 100%;animation:shimmer 3s linear infinite}.overview-card:nth-child(1){animation-delay:.1s}.overview-card:nth-child(2){animation-delay:.2s}.overview-card:nth-child(3){animation-delay:.3s}.overview-card:nth-child(4){animation-delay:.4s}.overview-card:nth-child(5){animation-delay:.5s}.overview-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 35px #667eea40;border-color:#667eea4d}.overview-card:hover .overview-icon{transform:scale(1.2) rotate(10deg)}.overview-icon{font-size:3rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:transform .4s cubic-bezier(.4,0,.2,1);animation:pulse 3s ease-in-out infinite}.overview-content{flex:1}.overview-value{font-size:2.25rem;font-weight:800;line-height:1;margin-bottom:.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.overview-label{font-size:.9rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.highlights-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2.5rem}.highlight-card{background:#fff;border-radius:20px;padding:1.75rem;box-shadow:0 4px 20px #00000014;transition:all .3s ease;animation:fadeInUp .8s ease-out backwards;position:relative;overflow:hidden}.highlight-card:nth-child(1){animation-delay:.6s}.highlight-card:nth-child(2){animation-delay:.7s}.highlight-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#34d399)}.highlight-card:nth-child(2):before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.highlight-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.highlight-card h3{font-size:1.25rem;margin:0 0 1.25rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:.5rem}.highlight-list{display:flex;flex-direction:column;gap:.875rem}.highlight-item{display:flex;align-items:center;gap:.875rem;padding:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;transition:all .3s ease;border:2px solid transparent}.highlight-item:hover{background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border-color:#a78bfa;transform:translate(4px)}.highlight-rank{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-width:2.5rem;text-align:center}.highlight-name{flex:1;font-weight:600;color:#1e293b;font-size:.95rem}.highlight-score{padding:.5rem 1rem;border-radius:50px;font-weight:700;font-size:.875rem;box-shadow:0 2px 8px #0000001a}.rendimiento-alto{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:2px solid #10b981}.rendimiento-medio{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f;border:2px solid #f59e0b}.rendimiento-bajo{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#7f1d1d;border:2px solid #ef4444}.no-data{text-align:center;padding:2rem;color:#94a3b8;font-style:italic;font-size:.95rem}.students-table-section{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 20px #00000014;animation:fadeInUp .9s ease-out backwards;animation-delay:.8s}.students-table-section h3{font-size:1.5rem;margin:0 0 1.5rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:.5rem}.students-table-section h3:before{content:"👥";font-size:1.75rem}.table-container{overflow-x:auto;border-radius:12px}.students-progress-table{width:100%;border-collapse:separate;border-spacing:0}.students-progress-table thead{background:linear-gradient(135deg,#f59e0b,#f97316);position:sticky;top:0;z-index:10}.students-progress-table th{padding:1.125rem 1rem;text-align:left;font-weight:700;font-size:.875rem;color:#fff;text-transform:uppercase;letter-spacing:.5px;border:none}.students-progress-table th:first-child{border-top-left-radius:12px}.students-progress-table th:last-child{border-top-right-radius:12px}.students-progress-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s;position:relative}.students-progress-table th.sortable:hover{background:linear-gradient(135deg,#ea580c,#dc2626);transform:translateY(-2px)}.students-progress-table td{padding:1.125rem 1rem;border-bottom:1px solid #f1f5f9;font-size:.9rem;color:#475569;transition:all .2s}.students-progress-table tbody tr{transition:all .3s ease;animation:fadeInUp .4s ease-out backwards}.students-progress-table tbody tr:nth-child(1){animation-delay:.9s}.students-progress-table tbody tr:nth-child(2){animation-delay:1s}.students-progress-table tbody tr:nth-child(3){animation-delay:1.1s}.students-progress-table tbody tr:nth-child(4){animation-delay:1.2s}.students-progress-table tbody tr:nth-child(5){animation-delay:1.3s}.students-progress-table tbody tr:hover{background:linear-gradient(135deg,#f8fafc,#e0e7ff);transform:scale(1.01);box-shadow:0 4px 12px #667eea26}.student-cell{display:flex;flex-direction:column;gap:.375rem}.student-name{font-weight:600;color:#1e293b;font-size:1rem}.student-email{font-size:.8rem;color:#94a3b8}.progress-cell{display:flex;align-items:center;gap:.875rem}.mini-progress-bar{flex:1;height:12px;background:#e2e8f0;border-radius:50px;overflow:hidden;min-width:80px;box-shadow:inset 0 2px 4px #0000001a}.mini-progress-fill{height:100%;background:var(--gradient-triple);background-size:200% 100%;border-radius:50px;transition:width .6s cubic-bezier(.4,0,.2,1);animation:shimmer 3s linear infinite;box-shadow:0 2px 8px #667eea66}.badge-score{padding:.5rem 1rem;border-radius:50px;font-weight:700;display:inline-block;font-size:.875rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.badge-score:hover{transform:scale(1.1)}.btn-ver-detalle{padding:.625rem 1.25rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:50px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #667eea4d;position:relative;overflow:hidden}.btn-ver-detalle:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-ver-detalle:hover:before{width:300px;height:300px}.btn-ver-detalle:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-ver-detalle:active{transform:translateY(0)}.no-data-table{text-align:center;padding:3rem;color:#94a3b8;font-size:1.125rem;font-style:italic}.loading-container,.error-container{text-align:center;padding:4rem 1.5rem;font-size:1.25rem;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-container{color:var(--primary-color)}.loading-container:before{content:"⏳";font-size:3rem;animation:pulse 1.5s ease-in-out infinite}.error-container{color:#ef4444}.error-container:before{content:"⚠️";font-size:3rem;animation:bounceIcon 2s ease-in-out infinite}@media (max-width: 768px){.class-progress-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;text-align:center;padding:1.5rem 1rem}.header-content-centered{flex-direction:column;gap:1rem}.dashboard-header h2{font-size:1.5rem}.header-title-centered{font-size:1.5rem;text-align:center}.emoji-icon-centered{font-size:1.8rem}.btn-back-floating{position:relative;top:auto;left:auto;transform:none;width:100%}.btn-back-floating:hover{transform:translateY(-2px)}.btn-refresh{width:100%}.stats-overview{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.overview-card{padding:1.25rem;flex-direction:column;text-align:center}.overview-value{font-size:1.75rem}.overview-label{font-size:.8rem}.highlights-section{grid-template-columns:1fr}.students-progress-table{font-size:.8rem}.students-progress-table th,.students-progress-table td{padding:.75rem .5rem}.student-name{font-size:.9rem}.btn-ver-detalle{padding:.5rem 1rem;font-size:.8rem}}@media (min-width: 769px) and (max-width: 1024px){.class-progress-dashboard{padding:1.5rem}.dashboard-header{padding:1.75rem 2rem}.header-title-centered{font-size:1.85rem}.emoji-icon-centered{font-size:2.1rem}.btn-back-floating{padding:.6rem 1.2rem;font-size:.9rem}.btn-refresh{padding:.65rem 1.2rem;font-size:.9rem}}@media (min-width: 1025px){.dashboard-header{padding:2rem 2.5rem}.header-title-centered{font-size:2.25rem}.emoji-icon-centered{font-size:2.5rem}}.review-activities-panel{display:flex;flex-direction:column;height:100%;background:linear-gradient(135deg,#f5f7fa,#e8ecf1)}.review-panel-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:16px}.spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.review-activities-panel .section-header-centered{background:var(--gradient-primary)!important;padding:2rem 2.5rem!important;border-radius:20px!important;margin-bottom:2rem!important;box-shadow:0 10px 40px #667eea4d!important;animation:fadeInUp .6s ease-out;position:relative;overflow:hidden}.review-activities-panel .section-header-centered:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,#ffffff1a,#fff0);pointer-events:none}.review-activities-panel .header-content-centered{display:flex;justify-content:center;align-items:center;position:relative;z-index:1;margin-bottom:1.5rem;width:100%}.review-activities-panel .header-title-centered{color:#fff!important;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;margin:0;display:flex;align-items:center;gap:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1);animation:fadeInUp .6s ease-out .1s backwards}.review-activities-panel .emoji-icon-centered{font-size:clamp(1.8rem,5vw,2.5rem);display:inline-block;animation:bounceIcon 2s ease-in-out infinite}.review-activities-panel .btn-back-floating{position:absolute;left:0;top:50%;transform:translateY(-50%);background:#fff3!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3)!important;color:#fff!important;padding:.75rem 1.5rem;border-radius:12px;font-size:clamp(.85rem,2vw,1rem);font-weight:600;cursor:pointer;transition:all .3s ease;z-index:2;animation:fadeInUp .6s ease-out .2s backwards;white-space:nowrap}.review-activities-panel .btn-back-floating:hover{background:#ffffff4d!important;border-color:#ffffff80!important;transform:translateY(-50%) translate(-5px);box-shadow:0 5px 15px #0003}.review-filters{display:flex;gap:16px;align-items:center;position:relative;z-index:1;flex-wrap:wrap;justify-content:center}.filter-tabs{display:flex;gap:8px;background:#fff3;padding:6px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.filter-tabs button{padding:10px 20px;border:none;background:transparent;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;color:#fffc;transition:all .3s;white-space:nowrap}.filter-tabs button.active{background:#fffffff2;color:var(--primary-color);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.filter-tabs button:hover{background:#ffffff4d;color:#fff}.filter-tabs button.active:hover{background:#fff;color:var(--primary-color)}.search-input{flex:1;max-width:350px;padding:12px 18px;border:2px solid rgba(255,255,255,.3);border-radius:12px;font-size:14px;transition:all .3s;background:#fffffff2;color:#1f2937;font-weight:500}.search-input::placeholder{color:#9ca3af}.search-input:focus{outline:none;border-color:#fff9;box-shadow:0 0 0 3px #fff3;background:#fff}@keyframes bounceIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.review-panel-body{display:grid;grid-template-columns:400px 1fr;gap:0;flex:1;overflow:hidden}.respuestas-list{background:#fff;border-right:2px solid #e0e0e0;overflow-y:auto;padding:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#9ca3af}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.respuesta-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .2s}.respuesta-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.respuesta-card.selected{border-color:var(--primary-color);background:linear-gradient(135deg,#eef2ff,#e0e7ff);box-shadow:0 4px 16px #667eea33}.respuesta-card.pendiente{border-left:4px solid #f59e0b}.respuesta-card.calificada{border-left:4px solid #10b981}.respuesta-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.student-info{display:flex;align-items:center;gap:12px}.student-avatar{width:40px;height:40px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.student-name{font-weight:600;color:#1f2937;font-size:15px}.activity-title{font-size:13px;color:#6b7280;margin-top:2px}.grade-badge{padding:6px 12px;border-radius:20px;font-weight:700;font-size:13px}.grade-badge.pendiente{background:#fef3c7;color:#92400e}.grade-badge.calificada{background:#d1fae5;color:#065f46}.respuesta-meta{display:flex;gap:12px;font-size:12px;color:#6b7280}.respuesta-detail{background:#fff;overflow-y:auto;padding:24px}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af}.no-selection-icon{font-size:72px;margin-bottom:16px;opacity:.3}.detail-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.detail-header h3{margin:0 0 12px;font-size:20px;color:#1f2937}.detail-meta{display:flex;gap:12px;flex-wrap:wrap}.activity-badge,.date-badge{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.activity-badge{background:var(--gradient-primary);color:#fff}.date-badge{background:#f3f4f6;color:#6b7280}.detail-content{display:flex;flex-direction:column;gap:24px}.preguntas-respuestas{display:flex;flex-direction:column;gap:20px}.pregunta-block{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:20px}.pregunta-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pregunta-number{font-weight:700;color:var(--primary-color);font-size:14px}.pregunta-puntos{background:#ddd6fe;color:#5b21b6;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.pregunta-texto{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:16px;line-height:1.6}.pregunta-imagen{max-width:100%;border-radius:8px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.respuesta-estudiante{background:#fff;border-left:4px solid #3b82f6;padding:16px;border-radius:8px;margin-bottom:12px}.respuesta-label{font-size:13px;font-weight:600;color:#3b82f6;margin-bottom:8px}.respuesta-texto{font-size:15px;color:#1f2937;line-height:1.6;white-space:pre-wrap}.respuesta-texto h1,.respuesta-texto h2,.respuesta-texto h3{font-weight:700;margin-top:16px;margin-bottom:8px;color:#111827}.respuesta-texto h1{font-size:24px}.respuesta-texto h2{font-size:20px}.respuesta-texto h3{font-size:18px}.respuesta-texto p{margin-bottom:12px}.respuesta-texto strong{font-weight:700}.respuesta-texto em{font-style:italic}.respuesta-texto u{text-decoration:underline}.respuesta-texto s{text-decoration:line-through}.respuesta-texto ol,.respuesta-texto ul{margin-left:24px;margin-bottom:12px}.respuesta-texto li{margin-bottom:4px}.respuesta-texto a{color:#3b82f6;text-decoration:underline}.respuesta-texto a:hover{color:#2563eb}.respuesta-modelo{background:#fef3c7;border-left:4px solid #f59e0b;padding:16px;border-radius:8px}.modelo-label{font-size:13px;font-weight:600;color:#92400e;margin-bottom:8px}.modelo-texto{font-size:14px;color:#78350f;line-height:1.6;font-style:italic}.calificacion-form{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:12px;padding:24px}.calificacion-form h4{margin:0 0 20px;font-size:18px;color:#0c4a6e}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;color:#1f2937;margin-bottom:8px;font-size:14px}.puntuacion-input{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;font-weight:600;transition:all .2s}.puntuacion-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.comentarios-textarea{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:all .2s}.comentarios-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.success-message{background:#d1fae5;color:#065f46;padding:12px;border-radius:8px;margin-bottom:16px;font-weight:600;text-align:center}.btn-save-calificacion{width:100%;padding:14px;background:var(--gradient-primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.btn-save-calificacion:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-save-calificacion:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1024px){.review-panel-body{grid-template-columns:1fr}.respuestas-list{border-right:none;border-bottom:2px solid #e0e0e0;max-height:400px}}@media (max-width: 768px){.review-activities-panel .section-header-centered{padding:1.5rem 1rem!important}.review-activities-panel .header-content-centered{flex-direction:column;gap:1rem;margin-bottom:1rem}.review-activities-panel .header-title-centered{font-size:1.5rem;text-align:center}.review-activities-panel .btn-back-floating{position:static;transform:none;width:100%;text-align:center}.review-activities-panel .btn-back-floating:hover{transform:translateY(-2px)}.review-filters{flex-direction:column;gap:12px}.filter-tabs{width:100%}.search-input{max-width:100%}}:root{--primary: #6366f1;--secondary: #8b5cf6;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--dark: #1e293b;--light: #f1f5f9;--border: #e2e8f0;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1)}html,body{overflow-x:hidden;max-width:100vw}.profesor-dashboard{min-height:100vh;width:100vw!important;max-width:100vw!important;overflow-x:hidden;box-sizing:border-box;margin:0!important;padding:0!important;position:relative;background:#f1f5f9}.profesor-dashboard.modern{background:linear-gradient(to bottom,#f0f4f8,#e8eef5)}.dashboard-container{width:100vw!important;max-width:100vw!important;min-height:calc(100vh - 80px);padding:0!important;margin:0!important;box-sizing:border-box;overflow-x:hidden}.profesor-dashboard .dashboard-layout{width:100%!important;max-width:1400px!important;min-height:calc(100vh - 80px);display:flex!important;flex-direction:column!important;align-items:stretch!important;box-sizing:border-box;overflow-x:hidden;margin:0 auto!important;padding:0!important;background:transparent;border-radius:0;box-shadow:none}.profesor-dashboard .home-dashboard{flex:1;width:100%!important;max-width:100%!important;min-height:calc(100vh - 80px);display:flex!important;flex-direction:column!important;align-items:center;justify-content:flex-start;background:transparent;background-repeat:no-repeat;background-size:cover;padding:2rem;margin:0!important;box-sizing:border-box;border-radius:20px;overflow:visible;position:relative}.btn-back-to-classes{align-self:flex-start;padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;color:#2d3748;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:.5rem}.btn-back-to-classes:hover{background:#f8fafc;border-color:#cbd5e0;transform:translate(-3px);box-shadow:0 4px 12px #0000001f}.dashboard-header{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;padding:2.5rem 2rem;margin:0 0 3rem;background:var(--gradient-primary);box-shadow:0 10px 30px #667eea4d;border-radius:20px;animation:fadeIn .6s ease-out;position:relative;z-index:1}.dashboard-welcome{font-size:2.5rem;font-weight:700;color:#fff;margin:0 0 .5rem;text-shadow:none;letter-spacing:normal}.dashboard-subtitle{font-size:1.2rem;color:#fff;opacity:.95;margin:0;font-weight:400}.dashboard-menu-buttons{width:100%;max-width:1200px;display:flex;justify-content:center;align-items:center;gap:1rem;padding:0 2rem 2rem;margin:0 auto;animation:fadeIn .8s ease-out .3s backwards;flex-wrap:wrap;overflow-x:visible;scrollbar-width:none;background:transparent;position:relative;z-index:1}.dashboard-menu-buttons::-webkit-scrollbar{display:none}.dashboard-btn{position:relative;display:inline-flex;align-items:center;gap:.75rem;padding:.9rem 1.8rem;border-radius:999px;border:none;color:#fff;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;min-width:auto;box-shadow:0 6px 20px #00000026;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:600}.dashboard-btn:hover{transform:translateY(-6px) scale(1.02);filter:brightness(1.1);box-shadow:0 16px 40px #0000004d}.dashboard-btn:hover .btn-icon{animation:bounce .6s ease-in-out}.dashboard-btn:active{transform:translateY(-2px)}.btn-icon{font-size:1.65rem;line-height:1}.btn-label{font-size:1rem;font-weight:600;color:inherit;white-space:nowrap}.btn-count{position:static;background:#fffffff2;color:#1e293b;border-radius:999px;padding:.25rem .65rem;font-weight:700;font-size:.85rem;min-width:24px;box-shadow:0 2px 8px #00000026;margin-left:auto;animation:pulse 2s ease-in-out infinite}.chat-btn{background:linear-gradient(135deg,#667eead9,#764ba2d9)}.eventos-btn{background:linear-gradient(135deg,#f093fbd9,#f5576cd9)}.solicitudes-btn{background:linear-gradient(135deg,#fbbf24d9,#f59e0bd9);position:relative}.solicitudes-btn .badge-alert{background:linear-gradient(135deg,#ef4444,#dc2626);animation:pulse-alert 2s ease-in-out infinite}@keyframes pulse-alert{0%,to{transform:scale(1);box-shadow:0 0 #ef4444b3}50%{transform:scale(1.05);box-shadow:0 0 0 6px #ef444400}}.estudiantes-btn{background:linear-gradient(135deg,#4facfed9,#00f2fed9)}.progreso-btn{background:linear-gradient(135deg,#43e97bd9,#38f9d7d9)}.revision-btn{background:linear-gradient(135deg,#f59e0bd9,#d97706d9)}.actividades-btn{background:linear-gradient(135deg,#fa709ad9,#fee140d9);color:#1f2937}.detalles-btn{background:linear-gradient(135deg,#30cfd0d9,#330867d9)}.revision-view{position:relative;width:100%;height:calc(100vh - 120px);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 40px #0000001a}.tab-view-container{display:flex;flex-direction:column;width:100%;min-height:calc(100vh - 80px);padding:2rem;box-sizing:border-box}.tab-header-bar{background:var(--gradient-primary);padding:1.5rem 2rem;border-radius:20px;display:flex;align-items:center;gap:1rem;box-shadow:0 10px 30px #667eea4d;flex-wrap:wrap;width:100%}.tab-header-simple{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--gradient-primary);border-radius:20px;box-shadow:0 4px 20px #667eea4d;animation:fadeInUp .6s ease-out;margin-bottom:2rem;width:100%;box-sizing:border-box}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.tab-header-bar.home-header{flex-direction:column;align-items:center;text-align:center;padding:2rem}.header-subtitle{margin:0;color:#fff;opacity:.95;font-size:1.1rem;font-weight:500}.menu-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem;width:100%;max-width:100%;box-sizing:border-box}.menu-card{position:relative;background:#fff;border-radius:16px;padding:1.75rem 1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #00000014;overflow:visible;min-height:170px;max-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid #e5e7eb;box-sizing:border-box}.menu-card:before{content:"";position:absolute;top:0;left:0;right:0;height:12px;transition:all .3s ease}.menu-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 30px #00000026;border-color:transparent}.menu-card:active{transform:translateY(-4px) scale(.98)}.chat-card:before{background:var(--gradient-primary)}.eventos-card:before{background:linear-gradient(135deg,#f093fb,#f5576c)}.estudiantes-card:before{background:linear-gradient(135deg,#4facfe,#00f2fe)}.progreso-card:before{background:linear-gradient(135deg,#43e97b,#38f9d7)}.actividades-card:before{background:linear-gradient(135deg,#fa709a,#fee140)}.detalles-card:before{background:linear-gradient(135deg,#30cfd0,#330867)}.card-icon{font-size:3rem;margin-bottom:.75rem;animation:bounce 2s infinite;display:inline-block}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.menu-card:hover .card-icon{animation:rotate .6s ease}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.menu-card h3{margin:.5rem 0;font-size:1.25rem;color:var(--dark);font-weight:700;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;width:100%}.menu-card p{margin:.5rem 0 0;color:#64748b;font-size:.9rem;line-height:1.5;font-weight:500;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;width:100%}.card-badge{position:absolute;top:1rem;right:1rem;background:var(--gradient-primary);color:#fff;min-width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;box-shadow:0 3px 10px #667eea66;animation:pulse 2s infinite;padding:0 .4rem}.mini-calendar-sidebar{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 4px 20px #00000014;position:sticky;top:2rem;max-height:calc(100vh - 200px);overflow-y:auto}.tab-view-container{display:flex;flex-direction:column;width:100%;max-width:100vw;min-height:calc(100vh - 80px);animation:fadeIn .5s ease-out;margin:0;padding:0}.tab-header-bar{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2.5rem;background:var(--gradient-primary);border-bottom:none;box-shadow:0 2px 10px #0000001a;width:100%;max-width:100vw;color:#fff;margin:0;box-sizing:border-box}.btn-back-home{padding:.75rem 1.5rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.95rem;display:flex;align-items:center;gap:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0000001a}.btn-back-home:hover{background:#ffffff4d;border-color:#ffffff80;transform:translate(-3px) translateY(-2px);box-shadow:0 6px 20px #00000026}.tab-title{margin:0;font-size:2rem;color:#fff;font-weight:800;display:flex;align-items:center;gap:.75rem}.emoji-icon{font-size:2.5rem;display:inline-block;animation:bounceIcon 2s ease-in-out infinite}.tab-content-with-sidebar{display:flex;flex-direction:column;width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;flex:1}.tab-content-with-sidebar.with-calendar{display:grid;grid-template-columns:1fr 280px;gap:0}.main-tab-content{background:#f8f9fa;border-radius:0;padding:3rem 4rem;box-shadow:none;animation:fadeIn .6s ease-out .2s backwards;min-height:calc(100vh - 200px);overflow-y:auto;box-sizing:border-box;width:100%}.mini-calendar-sidebar{background:#fff;border-radius:0;padding:2rem 1.5rem;box-shadow:-2px 0 8px #0000000d;position:sticky;top:0;max-height:100vh;min-height:100%;height:100%;overflow-y:auto;border-left:1px solid #e5e7eb;box-sizing:border-box}.mini-calendar-sidebar h3{margin:0 0 1rem;font-size:1.2rem;color:var(--dark);font-weight:700;text-align:center}.top-navigation-tabs{background:#fff;border-bottom:2px solid var(--border);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.nav-tabs-container{width:100%;display:flex;gap:.5rem;padding:.75rem 1.5rem;overflow-x:auto;overflow-y:hidden}.nav-tabs-container::-webkit-scrollbar{height:3px}.nav-tabs-container::-webkit-scrollbar-track{background:var(--light)}.nav-tabs-container::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px}.nav-tab-btn{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#64748b;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.nav-tab-btn:hover{color:var(--primary);background:#6366f10d;border-radius:8px 8px 0 0}.nav-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600;background:#6366f114}.nav-tab-btn:active{transform:scale(.98)}.sidebar-compact{display:flex;flex-direction:column;gap:1rem}.codigo-card{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;padding:1rem;text-align:center;animation:fadeIn .5s ease-out}.codigo-card label{display:block;color:#ffffffe6;font-size:.75rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.codigo-wrapper{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#ffffff26;padding:.5rem;border-radius:8px}.codigo-text{font-family:Courier New,monospace;font-size:1.3rem;font-weight:700;color:#fff;letter-spacing:2px}.btn-copy-icon{background:#fff3;border:none;color:#fff;padding:.35rem .5rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s}.btn-copy-icon:hover{background:#ffffff4d;transform:scale(1.1)}.stats-compact{background:#fff;border-radius:12px;padding:1rem;box-shadow:var(--shadow);display:flex;justify-content:space-around;gap:.5rem}.stats-compact .stat-item{text-align:center}.stats-compact .stat-value{display:block;font-size:1.8rem;font-weight:700;color:var(--primary);line-height:1}.stats-compact .stat-label{display:block;font-size:.7rem;color:#64748b;margin-top:.25rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.info-compact{background:#fff;border-radius:12px;padding:1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;align-items:center;gap:.75rem}.info-icon{font-size:1.2rem;min-width:24px;text-align:center}.info-text{font-size:.85rem;color:var(--dark);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-action-sidebar{width:100%;background:#fff;color:var(--primary);border:2px solid var(--primary);padding:.75rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-action-sidebar:hover{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow)}.floating-badges{position:fixed;top:100px;right:2rem;z-index:1000;display:flex;flex-direction:column;gap:1rem}.solicitudes-badge{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;padding:.75rem 1rem;border-radius:25px;display:flex;align-items:center;gap:.5rem;cursor:pointer;box-shadow:0 4px 12px #f59e0b66;transition:all .3s;animation:pulse 2s infinite}.solicitudes-badge:hover{transform:translateY(-4px);box-shadow:0 6px 20px #f59e0b80}.solicitudes-badge .badge-count{width:24px;height:24px;background:#fff;color:#f59e0b;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.badge-label{font-weight:600;font-size:.9rem}.calendario-view{padding:2rem;min-height:calc(100vh - 200px)}.calendario-header{margin-bottom:2rem}.calendario-header h2{margin:0 0 .5rem;color:var(--dark);font-size:1.75rem}.calendario-subtitle{margin:0;color:#64748b;font-size:1rem}.calendario-full{width:100%;background:#fff;padding:2rem;border-radius:16px;box-shadow:var(--shadow-lg)}.calendario-full .mini-calendar{width:100%}.calendario-full .calendar-grid{gap:.75rem}.calendario-full .calendar-day{aspect-ratio:1;font-size:1.1rem;padding:.5rem}.detalles-view{padding:2rem;min-height:calc(100vh - 200px);height:auto}.btn-back-detalles{background:#fff;border:2px solid var(--border);padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s;margin-bottom:2rem;display:inline-flex;align-items:center;gap:.5rem}.btn-back-detalles:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translate(-4px)}.detalles-grid{display:flex!important;flex-direction:column!important;gap:clamp(1.15rem,2.5vw,1.65rem)!important;width:100%!important}.detalle-card{background:#fff!important;border-radius:12px!important;padding:clamp(1.15rem,2.5vw,1.65rem)!important;box-shadow:var(--shadow-lg)!important;transition:all .3s ease!important;width:100%!important}.detalle-card:hover{transform:translateY(-4px)!important;box-shadow:0 12px 24px #00000026!important}.detalle-header{margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--border)}.detalle-header h3{margin:0;font-size:1.1rem;color:var(--dark)}.codigo-card-large{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid var(--primary);width:100%}.codigo-display{display:flex;align-items:center;gap:1rem;background:#fff;padding:1.5rem;border-radius:10px;margin-bottom:1rem}.no-codigo-display{display:flex;flex-direction:column;align-items:center;gap:1rem;background:#f8fafc;padding:2rem;border-radius:10px;margin-bottom:1rem;border:2px dashed #cbd5e1}.no-codigo-text{color:#64748b;font-size:1rem;font-weight:500;margin:0}.btn-generar-codigo{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem;font-size:1rem;box-shadow:0 4px 12px #10b9814d}.btn-generar-codigo:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.btn-generar-codigo:active{transform:translateY(0)}.codigo-text-large{font-size:2rem;font-weight:700;letter-spacing:3px;color:var(--primary);flex:1;text-align:center;font-family:Courier New,monospace}.btn-copy-large{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none;padding:1rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem}.btn-copy-large:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.codigo-hint{color:#64748b;font-size:.9rem;margin:0;text-align:center}.stats-card-large{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:4px solid var(--success)}.stats-grid{display:flex;flex-wrap:wrap;gap:1rem;width:100%}.stat-box{display:flex!important;align-items:center!important;gap:clamp(.85rem,2vw,1.15rem)!important;background:#fff!important;padding:clamp(1rem,2.5vw,1.35rem)!important;border-radius:10px!important;box-shadow:var(--shadow)!important;flex:1!important;min-width:clamp(200px,30vw,260px)!important}.stat-icon{font-size:clamp(2rem,4vw,2.65rem)!important;width:clamp(50px,8vw,65px)!important;height:clamp(50px,8vw,65px)!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,var(--primary),var(--secondary))!important;border-radius:12px!important;flex-shrink:0!important}.stat-data{display:flex;flex-direction:column}.stat-number{font-size:2rem;font-weight:700;color:var(--dark);line-height:1}.stat-text{font-size:.9rem;color:#64748b;margin-top:.25rem}.info-card-large{background:linear-gradient(135deg,#fefce8,#fef3c7);border-left:4px solid var(--warning)}.info-list{display:flex;flex-direction:column;gap:1rem}.info-item-large{display:flex;align-items:center;gap:1rem;background:#fff;padding:1rem;border-radius:8px}.info-icon-large{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--light);border-radius:10px;flex-shrink:0}.info-content{flex:1;display:flex;flex-direction:column}.info-label-large{font-size:.85rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-value-large{font-size:1.1rem;color:var(--dark);font-weight:600;margin-top:.25rem}.actions-card{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid var(--danger)}.actions-buttons{display:flex;flex-direction:column;gap:1rem}.btn-action-large{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none;padding:1rem 1.5rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-action-large:hover{transform:translateY(-2px);box-shadow:0 8px 16px #6366f14d}.solicitudes-modal-list{display:flex;flex-direction:column;gap:1rem;max-height:70vh;overflow-y:auto;padding:.5rem}.solicitud-modal-card{background:var(--light);border-radius:12px;padding:1.25rem;border-left:4px solid var(--warning);transition:all .3s}.solicitud-modal-card:hover{background:#fef3c7;transform:translate(4px)}.solicitud-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.solicitud-avatar{width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.solicitud-info{flex:1}.solicitud-info strong{display:block;font-size:1.1rem;color:#1f2937;margin-bottom:.25rem}.solicitud-info small{display:block;color:#64748b;font-size:.875rem;margin-top:.25rem}.solicitud-mensaje{background:#f8fafc;padding:.75rem;border-radius:8px;font-style:italic;color:#475569;margin:1rem 0;border-left:3px solid #cbd5e1}.solicitud-actions{display:flex;gap:.75rem;margin-top:1rem}.btn-aprobar,.btn-rechazar{flex:1;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-aprobar{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.btn-aprobar:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-aprobar:active{transform:translateY(0)}.btn-rechazar{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-rechazar:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.btn-rechazar:active{transform:translateY(0)}.solicitud-modal-card .solicitud-info small{display:block;margin-top:.25rem}.solicitud-fecha{color:#94a3b8!important;font-size:.75rem!important}.programacion-sidebar{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .5s ease-out .2s backwards}.programacion-header{background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 4px 12px #6366f14d}.programacion-header h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.programacion-subtitle{margin:0;font-size:.9rem;opacity:.95}.programacion-section{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:var(--shadow-lg)}.programacion-section h4{margin:0 0 1rem;font-size:1rem;color:var(--dark);font-weight:600}.empty-state{text-align:center;padding:2rem 1rem;color:#94a3b8;font-size:.9rem;font-style:italic}.unidades-list{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto;overflow-x:hidden;padding-right:.5rem}.unidades-list::-webkit-scrollbar{width:6px}.unidades-list::-webkit-scrollbar-track{background:var(--light);border-radius:10px}.unidades-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.unidades-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.unidad-card{display:flex!important;align-items:center!important;gap:clamp(.65rem,2vw,.85rem)!important;padding:clamp(.75rem,2vw,.95rem)!important;background:var(--light)!important;border-radius:10px!important;border-left:4px solid var(--primary)!important;transition:all .3s ease!important;cursor:pointer!important}.unidad-card:hover{background:#e0e7ff!important;transform:translate(4px)!important}.unidad-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;flex-shrink:0}.unidad-info{flex:1;min-width:0}.unidad-info h5{margin:0 0 .25rem;font-size:.9rem;color:var(--dark);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unidad-tipo,.unidad-actividades{display:inline-block;font-size:.75rem;padding:.2rem .5rem;border-radius:6px;background:#fff;color:#64748b;margin-right:.25rem;margin-top:.25rem}.unidad-tipo{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.btn-programar{width:36px;height:36px;border:none;background:linear-gradient(135deg,var(--warning),#f97316);color:#fff;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:all .3s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.btn-programar:hover{transform:scale(1.1) rotate(10deg);box-shadow:0 4px 12px #f59e0b66}.programacion-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap}.programacion-section-header h4{margin:0;flex:1;min-width:0;font-size:.95rem}.btn-programar-selected{background:linear-gradient(135deg,var(--success),#059669);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #10b9814d;white-space:nowrap;flex-shrink:0}.btn-programar-selected:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.unidad-card-expandable{background:#fff;border-radius:12px;border:1px solid #e2e8f0;border-left:4px solid var(--primary);box-shadow:0 2px 8px #00000014;transition:all .3s;overflow:hidden}.unidad-card-expandable.expanded{background:#f0f9ff;border-color:#bfdbfe;box-shadow:0 4px 16px #6366f133;transform:translateY(-2px)}.unidad-header-expandable{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;cursor:pointer;transition:all .3s}.unidad-header-expandable:hover{background:#6366f10d}.unidad-main-info{display:flex;align-items:center;gap:.75rem;flex:1}.unidad-actions{display:flex;align-items:center;gap:.75rem}.checkbox-select-all{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.4rem .75rem;background:#fff;border-radius:6px;border:1px solid var(--border);font-size:.85rem;font-weight:600;color:var(--dark);transition:all .3s}.checkbox-select-all:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.checkbox-select-all input[type=checkbox]{cursor:pointer}.btn-expand{width:32px;height:32px;border:none;background:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s;display:flex;align-items:center;justify-content:center;color:var(--primary)}.btn-expand:hover{background:var(--primary);color:#fff}.actividades-list{padding:0 clamp(1rem,2.5vw,1.35rem) clamp(1rem,2.5vw,1.35rem) clamp(1rem,2.5vw,1.35rem)!important;display:flex!important;flex-direction:column!important;gap:clamp(.45rem,1.5vw,.6rem)!important;animation:slideIn .3s ease-out!important}.actividad-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:all .3s}.actividad-item:hover{background:#f0f9ff;border-color:var(--primary);transform:translate(4px)}.actividad-item input[type=checkbox]{cursor:pointer;width:18px;height:18px}.actividad-info{display:flex;align-items:center;gap:.5rem;flex:1}.actividad-numero{font-weight:700;color:var(--primary);font-size:.85rem;min-width:30px}.actividad-titulo{flex:1;font-size:.9rem;color:var(--dark)}.actividad-tipo-badge{font-size:.75rem;padding:.25rem .5rem;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:4px;font-weight:600}.selected-activities-preview{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;border-left:4px solid var(--success)}.selected-activities-preview h3{margin:0 0 1rem;font-size:1.1rem;color:var(--dark);display:flex;align-items:center;gap:.5rem}.selected-activities-list{display:flex;flex-direction:column;gap:1rem;max-height:250px;overflow-y:auto;padding-right:.5rem}.unit-preview-group{background:#fff;border-radius:8px;padding:.75rem;border-left:3px solid var(--primary)}.unit-preview-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:var(--dark)}.unit-icon{font-size:1.2rem}.unit-title{flex:1;font-size:.95rem}.unit-count{font-size:.85rem;color:#64748b}.activities-preview-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.activities-preview-list li{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--light);border-radius:6px;font-size:.85rem}.act-number{font-weight:700;color:var(--primary);min-width:25px}.act-title{flex:1;color:var(--dark)}.act-type{font-size:.75rem;padding:.2rem .5rem;background:var(--primary);color:#fff;border-radius:4px;font-weight:600}.programadas-list{display:flex;flex-direction:column;gap:.75rem;max-height:350px;overflow-y:auto;overflow-x:hidden;padding-right:.5rem}.programadas-list::-webkit-scrollbar{width:6px}.programadas-list::-webkit-scrollbar-track{background:var(--light);border-radius:10px}.programadas-list::-webkit-scrollbar-thumb{background:#86efac;border-radius:10px}.programadas-list::-webkit-scrollbar-thumb:hover{background:#4ade80}.programada-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:10px;padding:1rem;border-left:4px solid var(--success)}.programada-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.programada-icon{font-size:1.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;flex-shrink:0}.programada-info{flex:1;min-width:0}.programada-info h5{margin:0 0 .25rem;font-size:.9rem;color:var(--dark);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.programada-fecha{display:block;font-size:.75rem;color:#059669}.programada-actividades-count{display:inline-block;font-size:.75rem;color:#6366f1;font-weight:600;margin-top:.25rem;padding:.25rem .6rem;background:#6366f11a;border-radius:12px;border:1px solid rgba(99,102,241,.3)}.programada-actividades-count.unidad-completa{color:#059669;background:#0596691a;border-color:#0596694d}.programada-actividades-details{margin-top:.75rem}.programada-actividades-summary{cursor:pointer;padding:.75rem;background:linear-gradient(135deg,#f0f9ff,#dbeafe);border-radius:8px;color:#6366f1;font-weight:600;font-size:.875rem;list-style:none;-webkit-user-select:none;user-select:none;transition:all .3s;border:1px solid rgba(99,102,241,.2)}.programada-actividades-summary::-webkit-details-marker{display:none}.programada-actividades-summary:before{content:"▶";display:inline-block;margin-right:.5rem;transition:transform .3s;font-size:.7rem}details[open] .programada-actividades-summary:before{transform:rotate(90deg)}.programada-actividades-summary:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#6366f166}.programada-actividades-list{background:#fff;border-radius:8px;padding:.75rem;margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem;border:1px solid #e5e7eb}.programada-actividad-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;font-size:.875rem;transition:all .2s}.programada-actividad-item:hover{background:#f0f9ff;border-color:#bfdbfe;transform:translate(4px)}.programada-actividad-item .actividad-numero{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fff;border:2px solid #6366f1;border-radius:50%;font-weight:700;color:#6366f1;font-size:.75rem;flex-shrink:0}.programada-actividad-item .actividad-nombre{flex:1;color:var(--dark);font-weight:500}.programada-actividad-item .actividad-tipo-mini{font-size:.65rem;padding:.3rem .6rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.btn-editar-programacion{width:32px;height:32px;border:none;background:#fff;color:#64748b;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .3s;flex-shrink:0}.btn-editar-programacion:hover{background:var(--primary);color:#fff;transform:scale(1.05)}.programada-estudiantes{font-size:.8rem;color:#059669;padding:.5rem;background:#fff;border-radius:6px;margin-top:.5rem}.programada-estudiantes.todos{background:linear-gradient(135deg,#e0e7ff,#ddd6fe);color:var(--primary)}.unidad-preview{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;display:flex;gap:1rem;border-left:4px solid var(--primary)}.unidad-preview-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;flex-shrink:0;box-shadow:0 4px 12px #0000001a}.unidad-preview-info h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--dark)}.unidad-preview-info p{margin:0 0 .75rem;color:#64748b;font-size:.9rem}.unidad-preview-info .badge{display:inline-block;font-size:.75rem;padding:.3rem .6rem;border-radius:6px;background:var(--primary);color:#fff;margin-right:.5rem;margin-top:.25rem}.estudiantes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;max-height:200px;overflow-y:auto;padding:.5rem;background:var(--light);border-radius:8px}.estudiante-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border-radius:6px;cursor:pointer;transition:all .3s}.estudiante-checkbox:hover{background:#e0e7ff;transform:translate(2px)}.estudiante-checkbox input[type=checkbox]{cursor:pointer}.estudiante-checkbox span{font-size:.9rem;color:var(--dark)}.help-text{font-size:.85rem;color:#64748b;margin-bottom:.5rem;font-style:italic}.checkbox-label{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--light);border-radius:8px;cursor:pointer;transition:all .3s}.checkbox-label:hover{background:#e0e7ff}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-label span{font-size:.95rem;color:var(--dark)}.btn-toggle-all-activities{padding:.5rem 1rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:8px;font-size:.85rem;cursor:pointer;font-weight:600;box-shadow:0 2px 4px #6366f133;transition:all .3s}.btn-toggle-all-activities:hover{transform:translateY(-1px);box-shadow:0 4px 8px #6366f14d}.actividades-edit-list{display:flex;flex-direction:column;gap:.5rem;max-height:250px;overflow-y:auto;padding-right:.5rem}.actividades-edit-list::-webkit-scrollbar{width:6px}.actividades-edit-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.actividades-edit-list::-webkit-scrollbar-thumb{background:#6366f1;border-radius:10px}.actividad-edit-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:8px;cursor:pointer;transition:all .3s;border:1px solid #e5e7eb}.actividad-edit-item:hover{background:#f9fafb;border-color:#bfdbfe}.actividad-edit-item.selected{background:#eff6ff;border:2px solid #6366f1}.actividad-edit-item input[type=checkbox]{cursor:pointer;width:18px;height:18px;flex-shrink:0}.actividad-edit-item .actividad-numero{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fff;border:2px solid #6366f1;border-radius:50%;font-weight:700;color:#6366f1;font-size:.75rem;flex-shrink:0}.actividad-edit-item .actividad-nombre{flex:1;color:var(--dark);font-size:.9rem}.actividad-edit-item .actividad-tipo-badge{font-size:.65rem;padding:.3rem .6rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-radius:6px;font-weight:700;text-transform:uppercase;flex-shrink:0}.main-content{width:100%}.content-header,.header-tabs,.tab-btn{display:none}.content-body{width:100%;min-height:calc(100vh - 140px);padding:1.5rem}.actividades-view{padding:2rem;width:100%;min-height:calc(100vh - 200px)}.actividades-header{margin-bottom:2rem;text-align:center}.actividades-header h2{font-size:2rem;color:var(--dark);margin:0 0 .5rem;font-weight:700}.actividades-subtitle{color:#64748b;font-size:1rem;margin:0}.actividades-container{display:flex;flex-direction:column;gap:2rem;width:100%}.actividades-section{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:var(--shadow-lg);width:100%}.section-header-actividades{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.section-header-actividades h3{margin:0;font-size:1.3rem;color:var(--dark);font-weight:700}.unidades-disponibles-grid,.programadas-grid{display:flex;flex-direction:column;gap:2rem;padding-right:.5rem}.programadas-grid .programada-card{transition:all .3s}.programadas-grid .programada-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.btn-remove-config{width:32px;height:32px;border:none;background:#fff;color:#ef4444;border-radius:6px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s;flex-shrink:0}.btn-remove-config:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.programada-notas{font-size:.85rem;color:#059669;background:#fff;padding:.75rem;border-radius:6px;margin:.5rem 0;font-style:italic}.programada-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.meta-tag{font-size:.75rem;padding:.25rem .6rem;background:#fff;color:#059669;border-radius:12px;font-weight:600}.chat-view{display:flex;flex-direction:column;min-height:calc(100vh - 200px);height:auto}.chat-controls{display:flex;gap:.75rem;padding:1rem;background:#fff;border-bottom:2px solid var(--border);justify-content:flex-start;flex-wrap:wrap}.btn-toggle-chat{padding:.65rem 1.5rem;border:2px solid;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #0000001a}.btn-toggle-chat.enabled{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b981}.btn-toggle-chat.enabled:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-toggle-chat.disabled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#ef4444}.btn-toggle-chat.disabled:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.btn-toggle-archived,.btn-archive-all{padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;transition:all .3s;display:flex;align-items:center;gap:.5rem}.btn-delete-all{padding:.5rem 1rem;border:1px solid #dc2626;border-radius:8px;background:#fff;color:#dc2626;cursor:pointer;font-size:.9rem;transition:all .3s;display:flex;align-items:center;gap:.5rem}.btn-toggle-archived:hover,.btn-archive-all:hover{background:var(--light);border-color:var(--primary)}.btn-delete-all:hover{background:#dc2626;color:#fff}.btn-toggle-archived.active{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-archive-msg{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:6px;background:#ffffffe6;border:1px solid var(--border);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s}.message-content:hover .btn-archive-msg{opacity:1}.btn-archive-msg:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-delete-msg{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:6px;background:#ffffffe6;border:1px solid var(--border);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s}.message-content:hover .btn-delete-msg{opacity:1}.btn-delete-msg:hover{background:#dc2626;color:#fff;border-color:#dc2626;transform:scale(1.1)}.messages-container{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 320px);min-height:300px}.empty-state{text-align:center;padding:4rem 2rem;color:#94a3b8}.empty-state .empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state p{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.message-bubble{display:flex;gap:1rem;animation:slideIn .3s ease-out}.message-avatar{width:40px;height:40px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.message-bubble.from-profesor .message-avatar{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.message-bubble.from-estudiante .message-avatar{background:linear-gradient(135deg,#10b981,#34d399)}.message-bubble.mine .message-avatar{opacity:1}.message-content{flex:1;max-width:70%}.message-bubble.mine .message-content{text-align:right}.message-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.message-bubble.mine .message-header{justify-content:flex-end}.message-author{font-weight:600;color:var(--dark);font-size:.9rem}.message-badge{font-size:.75rem;padding:.25rem .75rem;border-radius:12px;color:#fff;font-weight:600}.message-time{font-size:.75rem;color:#94a3b8}.message-text{background:var(--light);padding:.75rem 1rem;border-radius:12px;margin:0;color:var(--dark);line-height:1.5}.message-bubble.mine .message-text{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.message-media{margin-top:.75rem;padding:.75rem 0;border-radius:8px;overflow:visible}.message-image{max-width:100%;max-height:400px;width:auto;height:auto;border-radius:8px;display:block;box-shadow:0 2px 8px #0000001a}.message-audio,.message-video{width:100%;border-radius:8px;outline:none}.message-audio{min-width:280px;max-width:100%;height:54px;display:block}.message-video{max-height:300px}.message-document{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:2px solid var(--border);border-radius:8px;text-decoration:none;color:var(--dark);transition:all .3s;margin-top:.5rem}.message-document:hover{border-color:var(--primary);background:var(--light);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.doc-icon{font-size:1.5rem}.doc-name{flex:1;font-weight:500;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-action{padding:.25rem .75rem;background:var(--primary);color:#fff;border-radius:6px;font-size:.85rem;font-weight:600}.message-replies{margin-top:.5rem;padding-left:1rem;border-left:3px solid var(--border)}.reply{font-size:.85rem;color:#64748b;margin-top:.5rem}.message-input-form{display:flex!important;flex-direction:column!important;gap:clamp(.65rem,2vw,.85rem)!important;padding:clamp(1rem,2.5vw,1.35rem)!important;border-top:2px solid var(--border)!important;background:var(--light)!important}.message-input-wrapper{position:relative!important;flex:1!important}.tipo-select{padding:clamp(.75rem,2vw,.95rem) 1rem!important;border:1px solid var(--border)!important;border-radius:10px!important;font-size:clamp(.85rem,2vw,.95rem)!important;background:#fff!important;cursor:pointer!important;width:100%!important;max-width:250px!important}.message-input-textarea{width:100%!important;padding:clamp(.75rem,2vw,.95rem) 1rem!important;border:1px solid var(--border)!important;border-radius:10px!important;font-size:clamp(.9rem,2vw,1rem)!important;font-family:inherit!important;resize:vertical!important;min-height:clamp(80px,15vw,110px)!important;max-height:250px!important}.message-input-textarea:focus{outline:none!important;border-color:var(--primary)!important;box-shadow:0 0 0 3px #6366f11a!important}.file-preview{position:relative;margin-top:.75rem;padding:.75rem;background:#fff;border:2px dashed var(--border);border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;max-width:100%}.preview-image{max-width:200px;max-height:150px;border-radius:6px;object-fit:cover}.preview-file{padding:.5rem 1rem;background:var(--light);border-radius:6px;font-size:.9rem;color:var(--dark)}.btn-remove-file{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--danger);color:#fff;border:none;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003;transition:transform .2s}.btn-remove-file:hover{transform:scale(1.1)}.message-actions{display:flex;gap:.75rem;align-items:center;justify-content:flex-end}.btn-attach-file{width:44px;height:44px;border-radius:10px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;transition:all .3s}.btn-attach-file:hover{background:var(--light);border-color:var(--primary);transform:translateY(-2px)}.btn-record-voice{width:44px;height:44px;border-radius:10px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;transition:all .3s}.btn-record-voice:hover{background:var(--light);border-color:var(--danger);transform:translateY(-2px)}.btn-record-voice.recording{background:var(--danger);border-color:var(--danger);animation:pulse 1.5s infinite;color:#fff}.btn-send-message{background:linear-gradient(135deg,var(--primary),var(--secondary))!important;color:#fff!important;border:none!important;padding:clamp(.75rem,2vw,.95rem) clamp(1.35rem,3vw,1.85rem)!important;border-radius:10px!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;display:flex!important;align-items:center!important;gap:.5rem!important;white-space:nowrap!important;height:fit-content!important;font-size:clamp(.9rem,2vw,1rem)!important}.btn-send-message:hover{transform:translateY(-2px)!important;box-shadow:0 4px 12px #6366f14d!important}.btn-send-message span:first-child{font-size:clamp(1.1rem,2.5vw,1.3rem)!important}.eventos-view{min-height:calc(100vh - 200px);height:auto}.eventos-view .section-header-centered,.chat-view .section-header-centered,.actividades-view .section-header-centered,.detalles-view .section-header-centered,.estudiantes-section .section-header-centered,.tab-content-with-sidebar .section-header-centered{background:var(--gradient-primary)!important;padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,4vw,2.5rem)!important;border-radius:20px!important;margin-bottom:2rem!important;box-shadow:0 10px 40px #667eea4d!important}.eventos-header{display:none}.eventos-header h2{margin:0;color:var(--dark);font-size:1.5rem}.section-header-centered .btn-primary{background:#fffffff2!important;color:var(--primary-color)!important;border:none!important;padding:.75rem 1.5rem;border-radius:12px;font-size:clamp(.85rem,2vw,1rem);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00000026;z-index:2;animation:fadeInUp .6s ease-out .3s backwards;white-space:nowrap;position:absolute;right:0;top:50%;transform:translateY(-50%)}.section-header-centered .btn-primary:hover{background:#fff!important;transform:translateY(-50%) scale(1.05);box-shadow:0 6px 20px #0003}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:var(--shadow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.eventos-list{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 350px);overflow-y:auto}.evento-card{background:#fff!important;border:1px solid var(--border)!important;border-left:4px solid!important;border-radius:12px!important;padding:clamp(1.15rem,2.5vw,1.65rem)!important;transition:all .3s ease!important;animation:fadeIn .5s ease-out!important}.evento-card:hover{transform:translate(4px)!important;box-shadow:var(--shadow-lg)!important}.evento-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.evento-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff}.evento-info{flex:1}.evento-info h3{margin:0 0 .25rem;color:var(--dark);font-size:1.1rem}.evento-tipo{margin:0;font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.prioridad-badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:capitalize}.prioridad-badge.alta{background:#fee2e2;color:#dc2626}.prioridad-badge.media{background:#fef3c7;color:#d97706}.prioridad-badge.baja{background:#d1fae5;color:#059669}.evento-descripcion{color:#64748b;line-height:1.6;margin:.75rem 0}.evento-fechas{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;color:#64748b;margin-top:1rem}.evento-destinatarios{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.9rem;color:var(--primary);font-weight:500}.evento-completados{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.evento-acciones{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;gap:.75rem;flex-wrap:wrap}.btn-ver-completados{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border:none!important;padding:clamp(.6rem,2vw,.75rem) clamp(1rem,2.5vw,1.35rem)!important;border-radius:8px!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;box-shadow:0 4px 12px #10b9814d!important;display:inline-flex!important;align-items:center!important;gap:.5rem!important;font-size:clamp(.85rem,2vw,.95rem)!important}.btn-ver-completados:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #10b98166!important}.btn-ver-completados:active{transform:translateY(0)!important}.btn-editar-evento{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;border:none!important;padding:clamp(.6rem,2vw,.75rem) clamp(1rem,2.5vw,1.35rem)!important;border-radius:8px!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;box-shadow:0 4px 12px #3b82f64d!important;display:inline-flex!important;align-items:center!important;gap:.5rem!important;font-size:clamp(.85rem,2vw,.95rem)!important}.btn-editar-evento:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #3b82f666!important;background:linear-gradient(135deg,#2563eb,#1d4ed8)!important}.btn-editar-evento:active{transform:translateY(0)!important}.btn-eliminar-evento{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;border:none!important;padding:clamp(.6rem,2vw,.75rem) clamp(1rem,2.5vw,1.35rem)!important;border-radius:8px!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;box-shadow:0 4px 12px #ef44444d!important;display:inline-flex!important;align-items:center!important;gap:.5rem!important;font-size:clamp(.85rem,2vw,.95rem)!important}.btn-eliminar-evento:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #ef444466!important;background:linear-gradient(135deg,#dc2626,#b91c1c)!important}.btn-eliminar-evento:active{transform:translateY(0)!important}.clase-actions{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.btn-action{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:12px;font-weight:600;font-size:.938rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #6366f140}.btn-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166;background:linear-gradient(135deg,#4f46e5,#4338ca)}.btn-action.secondary{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 2px 8px #64748b40}.btn-action.secondary:hover{background:linear-gradient(135deg,#475569,#334155);box-shadow:0 4px 12px #64748b66}.estudiantes-section h2{margin:0 0 1.5rem;color:var(--dark)}.empty-state-small{text-align:center;padding:3rem;background:var(--light);border-radius:12px;color:#64748b}.empty-state-small p{margin:.5rem 0}.hint{font-size:.9rem;color:#94a3b8}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.calendar-header span{font-weight:600;color:var(--dark);text-transform:capitalize;font-size:.85rem}.calendar-header button{width:24px;height:24px;border:none;background:var(--light);border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--dark);transition:all .3s}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.15rem;margin-bottom:.25rem}.weekday{text-align:center;font-size:.65rem;font-weight:600;color:#64748b;padding:.25rem 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.15rem}.calendar-day{aspect-ratio:1!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:6px!important;font-size:clamp(.65rem,1.5vw,.75rem)!important;cursor:pointer!important;transition:all .3s ease!important;position:relative!important;background:var(--light)!important}.calendar-day.empty{background:transparent!important;cursor:default!important}.calendar-day:not(.empty):hover{background:#e0e7ff!important;transform:scale(1.1)!important}.calendar-day.today{background:linear-gradient(135deg,var(--primary),var(--secondary))!important;color:#fff!important;font-weight:600!important;box-shadow:0 2px 8px #6366f14d!important}.notifications-badge{width:48px;height:48px;background:linear-gradient(135deg,var(--danger),#f97316);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;box-shadow:0 4px 12px #ef444466;animation:pulse 2s infinite;cursor:pointer;position:relative}.notifications-badge .badge-count{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.notifications-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);width:320px;max-height:400px;overflow-y:auto;opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .3s}.notifications-dropdown:before{content:"";position:absolute;bottom:100%;right:0;width:60px;height:.5rem;background:transparent;pointer-events:auto}.notifications-badge:hover .notifications-dropdown,.notifications-dropdown:hover{opacity:1;pointer-events:all;transform:translateY(0)}.notification-item{padding:1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:all .3s}.notif-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.notification-item strong{color:var(--dark);font-size:.95rem}.notif-mensaje{margin:.5rem 0;font-size:.85rem;color:#64748b;line-height:1.4}.notif-preview{margin-top:.5rem;padding:.5rem;background:var(--light);border-left:3px solid var(--primary);font-size:.85rem;color:var(--dark);font-style:italic;border-radius:4px}.btn-ir-chat{margin-top:.75rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s;width:100%}.btn-ir-chat:hover{background:var(--primary-dark);transform:translate(4px)}.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#0009!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:99999!important;animation:fadeIn .3s ease-out!important;padding:clamp(1rem,3vw,2rem)!important;isolation:isolate!important}.modal-content{background:#fff!important;border-radius:16px!important;padding:clamp(1.5rem,3vw,2rem)!important;width:90%!important;max-width:500px!important;max-height:90vh!important;overflow-y:auto!important;box-shadow:0 25px 50px -12px #00000040!important;animation:fadeIn .3s ease-out!important;position:relative!important;z-index:100000!important;isolation:isolate!important}.modal-content.large{width:95%!important;max-width:900px!important}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#94a3b8;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.modal-close:hover{background:var(--light);color:var(--dark)}.modal-content h2{margin:0 0 1.5rem;color:var(--dark)}.modal-header{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:clamp(1rem,3vw,1.5rem)!important;border-bottom:2px solid #e5e7eb!important;background:#fff!important;border-radius:16px 16px 0 0!important}.modal-header h2{margin:0!important;color:#1f2937!important;font-size:clamp(1.15rem,3vw,1.5rem)!important;font-weight:700!important}.btn-close{background:#f3f4f6!important;border:none!important;width:clamp(32px,5vw,40px)!important;height:clamp(32px,5vw,40px)!important;border-radius:50%!important;font-size:clamp(1.25rem,3vw,1.75rem)!important;color:#6b7280!important;cursor:pointer!important;transition:all .3s ease!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}.btn-close:hover{background:#e5e7eb!important;color:#374151!important;transform:rotate(90deg)!important}.modal-body{padding:clamp(1rem,3vw,1.5rem)!important;color:#374151!important;font-size:clamp(.9rem,2vw,1rem)!important}.modal-body p{margin:.75rem 0!important;line-height:1.6!important}.modal-footer{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:clamp(.65rem,2vw,1rem)!important;padding:clamp(1rem,3vw,1.5rem)!important;border-top:2px solid #e5e7eb!important;background:#f9fafb!important;border-radius:0 0 16px 16px!important}.modal-footer button{padding:clamp(.65rem,2vw,.875rem) clamp(1.25rem,3vw,2rem)!important;border-radius:10px!important;font-size:clamp(.9rem,2vw,1rem)!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;border:none!important}.modal-footer button:not(.btn-primary):not(.btn-danger){background:#e5e7eb!important;color:#374151!important}.modal-footer button:not(.btn-primary):not(.btn-danger):hover{background:#d1d5db!important}.modal-footer .btn-primary{background:var(--gradient-primary)!important;color:#fff!important;box-shadow:0 4px 12px #667eea4d!important}.modal-footer .btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #667eea66!important}.modal-footer .btn-primary:disabled{opacity:.6!important;cursor:not-allowed!important;transform:none!important}.form-group label{display:block;margin-bottom:.5rem;color:var(--dark);font-weight:600;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-secondary{background:#64748b;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s}.btn-secondary:hover{background:#475569}@media (max-width: 1400px){.main-tab-content{padding:2.5rem 3rem}.tab-content-with-sidebar.with-calendar{grid-template-columns:1fr 260px}.dashboard-welcome{font-size:2.5rem}.dashboard-subtitle{font-size:1.15rem}.dashboard-menu-buttons{gap:1.25rem;padding:2rem}.dashboard-btn{min-width:130px;padding:1.25rem 2rem}.btn-icon{font-size:2.75rem}.btn-label{font-size:1rem}@media (max-width: 1200px){.main-tab-content{padding:2rem 2.5rem}.tab-content-with-sidebar.with-calendar{grid-template-columns:1fr}.mini-calendar-sidebar{order:2;position:static;border-left:none;border-top:1px solid #e5e7eb;box-shadow:none;max-height:none}.dashboard-header{padding:3rem 2rem 2.5rem}.dashboard-welcome{font-size:2.2rem}.dashboard-subtitle{font-size:1.1rem}.dashboard-menu-buttons{gap:1rem;padding:1.5rem;flex-wrap:wrap;overflow-x:visible;justify-content:center}.dashboard-btn{min-width:120px}}@media (max-width: 900px){.tab-header-bar.home-header{padding:1.5rem}.header-subtitle{font-size:.95rem}.dashboard-header{padding:2.5rem 1.5rem 2rem}.dashboard-welcome{font-size:2rem}.dashboard-subtitle{font-size:1rem}.dashboard-menu-buttons{flex-direction:column;gap:1rem;padding:1.5rem;overflow:visible;align-items:stretch}.dashboard-btn{width:100%;max-width:400px;flex-direction:row;justify-content:flex-start;gap:1.5rem;padding:1.25rem 1.75rem}.btn-icon{font-size:2.5rem}.btn-label{font-size:1.1rem}.tab-header-bar{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.tab-title{font-size:1.5rem}.tab-content-with-sidebar{padding:1rem}.main-tab-content{padding:1.5rem}.floating-badges{top:80px;right:1rem}}@media (max-width: 768px){.dashboard-container,.dashboard-layout{padding:0}.dashboard-header{padding:2rem 1rem}.dashboard-welcome{font-size:1.75rem}.dashboard-subtitle{font-size:.95rem}.dashboard-menu-buttons{padding:1rem}.dashboard-btn{padding:1rem 1.5rem}.btn-icon{font-size:2.25rem}.btn-label{font-size:1rem}.tab-header-bar.home-header{padding:1.25rem 1rem}.tab-title{font-size:1.4rem}.header-subtitle{font-size:.9rem}.tab-header-bar{padding:.75rem 1rem}.tab-title{font-size:1.2rem}.btn-back-home{padding:.6rem 1rem;font-size:.9rem}.main-tab-content,.message-input-form{padding:1rem}.message-input-textarea{min-height:80px;font-size:16px}.actividades-list{max-height:250px}.detalles-grid{gap:1rem}.stat-box{padding:1rem}.stat-icon{width:50px;height:50px;font-size:2rem}.stat-number{font-size:1.5rem}.btn-send-message{padding:.75rem 1.25rem;font-size:.9rem}.form-row{grid-template-columns:1fr}.eventos-header{flex-direction:column;align-items:flex-start}.calendario-full{padding:1rem}.calendario-full .calendar-day{font-size:.9rem}.modal-content{width:95%;padding:1.5rem}.floating-badges{right:.5rem;top:70px;scale:.9}.solicitudes-badge{padding:.5rem .75rem}.badge-label{font-size:.8rem}}@media (max-width: 480px){.header-tabs{flex-direction:column;gap:.5rem}.tab-btn{width:100%;padding:.65rem 1rem}.message-input-form{flex-direction:column;padding:.875rem}.tipo-select{width:100%}.message-input-textarea{width:100%;min-height:100px;font-size:16px}.btn-send-message{width:100%;justify-content:center;padding:.85rem}.actividades-list{max-height:200px}.detalles-view{padding:1rem}.detalles-grid{grid-template-columns:1fr}.codigo-text-large{font-size:1.5rem}.btn-copy-large{padding:.75rem 1rem}.stats-grid{grid-template-columns:1fr}.programacion-section-header{flex-direction:column;gap:.5rem;align-items:flex-start}.programacion-section-header h4{font-size:.9rem}.btn-programar-selected{width:100%;justify-content:center}.unidad-header-expandable{flex-direction:column;align-items:flex-start;gap:.75rem}.unidad-actions{width:100%;justify-content:space-between}.checkbox-select-all{flex:1;justify-content:center}.actividad-info{flex-wrap:wrap}.actividad-titulo{width:100%}.selected-activities-preview{padding:1rem}.selected-activities-list{max-height:150px}.eventos-list{gap:.75rem}.evento-card{padding:1rem}.evento-header{flex-direction:column;align-items:flex-start}.programacion-header h3{font-size:1.1rem}.programacion-subtitle{font-size:.85rem}.unidad-card,.programada-card{padding:.75rem}.unidad-icon,.programada-icon{width:32px;height:32px;font-size:1.25rem}.btn-programar{width:32px;height:32px;font-size:1rem}.stats-compact{flex-direction:column}.info-compact{gap:.5rem}.codigo-text{font-size:1rem;letter-spacing:1px}.calendario-view{padding:1rem}.calendario-header h2{font-size:1.3rem}.floating-badges{scale:.85}}.clase-detail-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);width:100%;overflow-x:hidden}.clase-detail{width:100%;max-width:1400px;margin:0 auto;padding:1rem;box-sizing:border-box}@media (min-width: 768px){.clase-detail{padding:2rem}}.clase-header{margin-bottom:2rem}.btn-back{background:none;border:none;color:#4f46e5;font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;display:inline-flex;align-items:center;gap:.5rem}.btn-back:hover{text-decoration:underline}.clase-info-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.clase-info-header h1{font-size:1.5rem;color:#1a1a1a;margin:0 0 .5rem}.clase-meta{display:flex;gap:1rem;color:#6b7280;font-size:.875rem;flex-wrap:wrap}@media (min-width: 768px){.clase-info-header h1{font-size:2rem}.clase-meta{gap:1.5rem;font-size:.938rem}}.btn-edit-clase{background:var(--gradient-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.938rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #667eea4d}.btn-edit-clase:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.clase-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}@media (min-width: 768px){.clase-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}}.stat-card{background:var(--gradient-primary);color:#fff;padding:1rem;border-radius:12px;text-align:center}@media (min-width: 768px){.stat-card{padding:1.5rem}}.stat-number{font-size:2rem;font-weight:700;margin-bottom:.5rem}@media (min-width: 768px){.stat-number{font-size:2.5rem}}.stat-label{font-size:.875rem;opacity:.9}@media (min-width: 768px){.stat-label{font-size:.938rem}}.tabs-navigation{display:flex;gap:.25rem;margin-bottom:2rem;border-bottom:2px solid #e5e7eb;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-button{background:none;border:none;padding:.75rem 1rem;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s;position:relative;bottom:-2px;white-space:nowrap;flex-shrink:0}@media (min-width: 768px){.tabs-navigation{gap:.5rem}.tab-button{padding:1rem 2rem;font-size:1rem}}.tab-button:hover{color:#4f46e5;background-color:#f3f4f6}.tab-button.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.clase-actions{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}@media (min-width: 768px){.clase-actions{gap:1rem}}.btn-action{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:.625rem 1rem;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1 1 auto;min-width:fit-content;box-shadow:0 2px 8px #6366f140}@media (min-width: 768px){.btn-action{padding:.875rem 1.75rem;font-size:.938rem;flex:0 1 auto}}.btn-action:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.btn-action.secondary{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 2px 8px #64748b40}.btn-action.secondary:hover{background:linear-gradient(135deg,#475569,#334155);box-shadow:0 4px 12px #64748b66}.estudiantes-section h2{font-size:1.5rem;color:#1a1a1a;margin-bottom:1.5rem}.empty-state-small{text-align:center;padding:3rem;background:#f9fafb;border-radius:12px;border:2px dashed #d1d5db}.empty-state-small p{color:#6b7280;margin:.5rem 0}.hint{font-size:.875rem;color:#9ca3af}.estudiantes-table-container{background:#fff!important;border-radius:12px!important;box-shadow:0 1px 3px #0000001a!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.estudiantes-table{width:100%!important;min-width:800px!important;border-collapse:collapse!important}.estudiantes-table thead{background:#f9fafb!important}.estudiantes-table th{text-align:left!important;padding:clamp(.65rem,2vw,1rem)!important;font-weight:600!important;color:#374151!important;border-bottom:2px solid #e5e7eb!important;font-size:clamp(.825rem,2vw,1rem)!important}@media (min-width: 768px){.estudiantes-table th{padding:1rem!important;font-size:1rem!important}}.estudiantes-table td{padding:clamp(.65rem,2vw,1rem)!important;border-bottom:1px solid #e5e7eb!important;color:#4b5563!important;font-size:clamp(.825rem,2vw,1rem)!important}@media (min-width: 768px){.estudiantes-table td{padding:1rem!important;font-size:1rem!important}}.estudiantes-table tbody tr:hover{background:#f9fafb!important}.progress-column{display:flex;flex-direction:column;gap:.5rem;min-width:250px}.progress-bar-container{width:100%;height:24px;background:#e5e7eb;border-radius:12px;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.progress-bar-fill{height:100%;transition:all .3s ease;border-radius:12px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:.75rem;font-weight:600;color:#fff}.progress-text{font-size:.875rem;font-weight:600;color:#374151}.progress-score{font-size:.813rem;color:#6b7280}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.813rem;font-weight:500}.badge.success{background:#d1fae5;color:#065f46}.badge.warning{background:#fef3c7;color:#92400e}.btn-table-action{background:#f3f4f6;border:none;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:1.125rem;transition:background .2s}.btn-table-action:hover{background:#e5e7eb}.modal-content.large{max-width:95%;width:100%}@media (min-width: 768px){.modal-content.large{max-width:800px}}.modal-content.small{max-width:95%!important;width:100%!important;position:relative!important;z-index:100000!important}@media (min-width: 768px){.modal-content.small{max-width:400px!important}}.upload-instructions{margin-bottom:2rem}.upload-instructions h3{font-size:1.125rem;margin-bottom:1rem;color:#374151}.format-note{background:#eff6ff;border-left:4px solid #3b82f6;padding:1rem;margin-bottom:1rem;font-size:.875rem;color:#1e40af;line-height:1.6}.format-table{width:100%;border-collapse:collapse;font-size:.875rem;margin-bottom:1.5rem}.format-table th,.format-table td{padding:.75rem;border:1px solid #d1d5db;text-align:left}.format-table th{background:#f3f4f6;font-weight:600}.file-upload-area{margin-bottom:2rem}.file-upload-area input[type=file]{display:none}.file-upload-label{display:block;width:100%;padding:2rem;border:2px dashed #d1d5db;border-radius:12px;text-align:center;cursor:pointer;transition:all .2s;background:#f9fafb;color:#6b7280;font-weight:500}.file-upload-label:hover{border-color:#4f46e5;background:#eef2ff;color:#4f46e5}.preview-section{margin-top:2rem}.preview-section h3{font-size:1rem;margin-bottom:1rem;color:#374151}.preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-table th,.preview-table td{padding:.75rem;border:1px solid #e5e7eb;text-align:left}.preview-table th{background:#f9fafb;font-weight:600;color:#374151}.warning-box{background:#fef3c7;border:1px solid #fbbf24;color:#92400e;padding:1rem;border-radius:8px;margin-top:1rem}.student-actions{padding:1.5rem!important;background:#fff!important;position:relative!important;z-index:100001!important}.student-info{margin-bottom:1.5rem!important;padding-bottom:1.5rem!important;border-bottom:2px solid #e5e7eb!important;position:relative!important;z-index:100001!important}.student-info p{margin:.5rem 0!important;color:#4b5563!important;font-size:1rem!important;font-weight:500!important}.student-info p strong{color:#1f2937!important;font-weight:600!important}.action-buttons{display:flex!important;flex-direction:column!important;gap:.75rem!important;position:relative!important;z-index:100001!important}.btn-action-full{width:100%!important;padding:1rem 1.25rem!important;background:linear-gradient(135deg,#f3f4f6,#e5e7eb)!important;border:2px solid #d1d5db!important;border-radius:12px!important;font-size:1rem!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;text-align:left!important;color:#374151!important;box-shadow:0 2px 8px #00000014!important;display:flex!important;align-items:center!important;gap:.75rem!important}.btn-action-full:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db)!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #0000001f!important;border-color:#9ca3af!important}.loading{text-align:center;padding:4rem;font-size:1.25rem;color:#6b7280}.error{text-align:center;padding:4rem;color:#dc2626;font-size:1.25rem}.selection-bar{background:#f3f4f6;padding:1rem 1.5rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.selection-bar span{font-weight:500;color:#374151}.btn-delete-selected{background:#dc2626;color:#fff;border:none;padding:.625rem 1.25rem;border-radius:6px;font-size:.938rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-delete-selected:hover{background:#b91c1c}.estudiantes-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.estudiantes-table th:first-child{width:40px}.btn-action-full.danger{background:linear-gradient(135deg,#fee2e2,#fecaca)!important;color:#dc2626!important;border:1px solid #fca5a5!important;font-weight:600!important}.btn-action-full.danger:hover{background:linear-gradient(135deg,#fecaca,#fca5a5)!important;box-shadow:0 4px 12px #dc262633!important}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;color:#fff!important;border:none!important;padding:clamp(.65rem,2vw,.875rem) clamp(1.25rem,3vw,2rem)!important;border-radius:10px!important;font-size:clamp(.9rem,2vw,1rem)!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;box-shadow:0 4px 12px #dc26264d!important}.btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b)!important;transform:translateY(-2px)!important;box-shadow:0 6px 16px #dc262666!important}.warning-text{color:#dc2626;font-weight:500;margin-top:.5rem}.warning-box{background:#fee2e2;color:#991b1b;padding:1rem;border-radius:8px;border-left:4px solid #dc2626;margin-bottom:1rem;font-size:.938rem}.form-group{margin:1.5rem 0}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:#374151}.form-input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:#4f46e5}.error-message{background:#fee2e2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #dc2626}.info-text{background:#eff6ff;color:#1e40af;padding:.75rem 1rem;border-radius:8px;margin-top:1rem;font-size:.938rem;border-left:4px solid #3b82f6}.btn-primary{background:#4f46e5;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#4338ca}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.completados-modal{max-width:600px;max-height:85vh;overflow-y:auto}.completados-header{text-align:center;padding-bottom:1.5rem;border-bottom:2px solid #e2e8f0;margin-bottom:1.5rem}.completados-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 2s infinite}.completados-header h2{margin:.5rem 0;color:#1e293b;font-size:1.75rem;font-weight:700}.completados-evento-titulo{color:#64748b;font-size:1rem;margin:.5rem 0 0;font-weight:500;font-style:italic}.completados-count{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-radius:12px}.count-badge{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-size:1.5rem;font-weight:700;padding:.5rem 1rem;border-radius:50%;min-width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #3b82f64d}.count-text{font-size:1.125rem;color:#1e40af;font-weight:600}.completados-list{display:flex;flex-direction:column;gap:1rem}.completado-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid #e2e8f0;border-radius:12px;transition:all .3s ease;position:relative;overflow:hidden}.completado-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#10b981,#059669)}.completado-card:hover{transform:translate(4px);box-shadow:0 8px 20px #00000014;border-color:#10b981}.completado-numero{font-size:1.25rem;font-weight:700;color:#94a3b8;min-width:2rem;text-align:center}.completado-avatar{width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #6366f14d}.completado-info{flex:1;display:flex;flex-direction:column;gap:.375rem}.completado-nombre{font-size:1.125rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.completado-fecha,.completado-hora{display:flex;align-items:center;gap:.5rem;font-size:.938rem;color:#64748b}.completado-fecha{font-weight:500}.completado-hora{font-weight:600;color:#3b82f6}.fecha-icon,.hora-icon{font-size:1rem}.completado-check{font-size:2rem;color:#10b981;font-weight:700;flex-shrink:0;animation:pulse 2s infinite}@media (max-width: 640px){.completados-modal{max-width:95vw;padding:1.5rem}.completados-icon{font-size:3rem}.completados-header h2{font-size:1.5rem}.completado-card{padding:1rem;gap:.75rem}.completado-avatar{width:3rem;height:3rem;font-size:1.25rem}.completado-nombre{font-size:1rem}.completado-fecha,.completado-hora{font-size:.875rem}.count-badge{font-size:1.25rem;min-width:2.5rem;height:2.5rem}}.section-header-centered{background:var(--gradient-primary)!important;padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,4vw,2.5rem)!important;border-radius:20px!important;margin-bottom:2rem!important;box-shadow:0 10px 40px #667eea4d!important;animation:fadeInUp .6s ease-out;position:relative;overflow:hidden}.section-header-centered:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,#ffffff1a,#fff0);pointer-events:none}.header-content-centered{display:flex;justify-content:center;align-items:center;position:relative;z-index:1;margin-bottom:1rem;width:100%}.header-title-centered{color:#fff!important;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;margin:0;display:flex;align-items:center;gap:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1);animation:fadeInUp .6s ease-out .1s backwards}.emoji-icon-centered{font-size:clamp(1.8rem,5vw,2.5rem);display:inline-block;animation:bounceIcon 2s ease-in-out infinite}.btn-back-floating{position:absolute;left:0;top:50%;transform:translateY(-50%);background:#fff3!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3)!important;color:#fff!important;padding:.75rem 1.5rem;border-radius:12px;font-size:clamp(.85rem,2vw,1rem);font-weight:600;cursor:pointer;transition:all .3s ease;z-index:2;animation:fadeInUp .6s ease-out .2s backwards;white-space:nowrap}.btn-back-floating:hover{background:#ffffff4d!important;border-color:#ffffff80!important;transform:translateY(-50%) translate(-5px);box-shadow:0 5px 15px #0003}.section-header-centered .clase-actions{display:flex;gap:1rem;justify-content:center;margin-top:0;position:relative;z-index:1;flex-wrap:wrap}.section-header-centered .clase-actions .btn-action{background:#fffffff2!important;color:var(--primary-color)!important;padding:.75rem 1.5rem;border-radius:12px;font-size:clamp(.85rem,2vw,.95rem);font-weight:600;border:none!important;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00000026;animation:fadeInUp .6s ease-out backwards;white-space:nowrap}.section-header-centered .clase-actions .btn-action:nth-child(1){animation-delay:.3s}.section-header-centered .clase-actions .btn-action:nth-child(2){animation-delay:.4s}.section-header-centered .clase-actions .btn-action:nth-child(3){animation-delay:.5s}.section-header-centered .clase-actions .btn-action:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.section-header-centered .clase-actions .btn-action.secondary{background:#ffffffd9;color:var(--secondary-color)}.section-header-centered .actividades-subtitle{color:#fffffff2;font-size:clamp(.95rem,2.5vw,1.1rem);margin:0;text-align:center;font-weight:500;animation:fadeInUp .6s ease-out .4s backwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width: 768px){.section-header-centered{padding:1.5rem 1rem;background:var(--gradient-primary)!important}.header-content-centered{flex-direction:column;gap:1rem}.header-title-centered{font-size:1.5rem;text-align:center;color:#fff!important}.emoji-icon-centered{font-size:1.8rem}.btn-back-floating{position:relative;top:auto;left:auto;transform:none;width:100%;background:#fff3!important;color:#fff!important}.btn-back-floating:hover{transform:translateY(-2px);background:#ffffff4d!important}.section-header-centered .btn-primary{position:relative;top:auto;right:auto;transform:none;width:100%;margin-top:.5rem;background:#fffffff2!important;color:var(--primary-color)!important}.section-header-centered .btn-primary:hover{transform:scale(1.02);background:#fff!important}.section-header-centered .clase-actions{flex-direction:column;width:100%}.section-header-centered .clase-actions .btn-action{width:100%;background:#fffffff2!important;color:var(--primary-color)!important}}@media (min-width: 769px) and (max-width: 1024px){.section-header-centered{padding:1.75rem 2rem;background:var(--gradient-primary)!important}.header-title-centered{font-size:1.85rem;color:#fff!important}.emoji-icon-centered{font-size:2.1rem}.btn-back-floating{padding:.6rem 1.2rem;font-size:.9rem;background:#fff3!important;color:#fff!important}.section-header-centered .clase-actions .btn-action{padding:.65rem 1.2rem;font-size:.9rem;background:#fffffff2!important;color:var(--primary-color)!important}}@media (min-width: 1025px){.section-header-centered{padding:2rem 2.5rem;background:var(--gradient-primary)!important}.header-title-centered{font-size:2.25rem;color:#fff!important}.emoji-icon-centered{font-size:2.5rem}.btn-back-floating{background:#fff3!important;color:#fff!important}.section-header-centered .btn-primary,.section-header-centered .clase-actions .btn-action{background:#fffffff2!important;color:var(--primary-color)!important}}.eventos-actions{display:flex!important;justify-content:center!important;margin-bottom:2rem!important}.btn-crear-evento{background:var(--gradient-primary)!important;color:#fff!important;border:none!important;padding:clamp(.85rem,2vw,1rem) clamp(2rem,5vw,3rem)!important;border-radius:15px!important;font-weight:600!important;font-size:clamp(1rem,2.5vw,1.15rem)!important;cursor:pointer!important;transition:all .3s ease!important;box-shadow:0 6px 20px #667eea66!important;animation:fadeInUp .6s ease-out .3s backwards;min-width:200px!important;max-width:400px!important;position:relative;overflow:hidden;white-space:nowrap!important}}.btn-crear-evento:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-crear-evento:hover:before{left:100%}.btn-crear-evento:hover{transform:translateY(-3px);box-shadow:0 8px 30px #667eea80}.btn-crear-evento:active{transform:translateY(-1px)}@media (max-width: 768px){.btn-crear-evento{width:100%;max-width:none;padding:1rem 2rem;font-size:1rem}}@media (min-width: 769px) and (max-width: 1024px){.btn-crear-evento{padding:.9rem 2.5rem;font-size:1.05rem}}@media (min-width: 1025px){.btn-crear-evento{padding:1rem 3rem;font-size:1.15rem}}@media (max-width: 768px){.modal-content{width:95%!important;max-width:95vw!important;padding:1.25rem!important;border-radius:12px!important}.modal-content.small{width:95%!important;max-width:95vw!important}.modal-header h2{font-size:1.25rem!important}}@media (min-width: 769px) and (max-width: 1024px){.modal-content{width:85%!important;max-width:600px!important;padding:1.75rem!important}.modal-content.small{width:70%!important;max-width:500px!important}}@media (min-width: 1025px){.modal-content{width:80%!important;max-width:550px!important;padding:2rem!important;border-radius:18px!important}.modal-content.small{width:60%!important;max-width:480px!important}.modal-content.large{width:90%!important;max-width:950px!important}.modal-header h2{font-size:1.5rem!important;font-weight:600!important}.student-info p{font-size:1.05rem!important}}.capitulos-view{padding:2rem;max-width:1400px;margin:0 auto}.capitulos-subtitle{margin:.5rem 0 0;font-size:1rem;font-weight:400}.capitulos-container{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014}.capitulos-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #f0f0f0}.btn-desbloquear-todos{padding:.875rem 1.75rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #10b9814d}.btn-desbloquear-todos:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.capitulos-info p{margin:0;font-size:1.05rem;color:#666}.capitulos-info strong{color:var(--primary);font-weight:700}.capitulos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.capitulo-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 12px #00000014;transition:all .3s ease;border:2px solid transparent}.capitulo-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.capitulo-card.desbloqueado{border-color:#10b981;background:linear-gradient(to bottom,#fff,#f0fdf4)}.capitulo-card.bloqueado{border-color:#e5e7eb;background:linear-gradient(to bottom,#fff,#f9fafb);opacity:.85}.capitulo-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.capitulo-icon{font-size:2.5rem;line-height:1;flex-shrink:0}.capitulo-info{flex:1}.capitulo-info h4{margin:0 0 .5rem;font-size:1.25rem;color:#1e293b;font-weight:700}.capitulo-numero{font-size:.9rem;color:#64748b;font-weight:500}.capitulo-toggle{margin-left:auto}.switch{position:relative;display:inline-block;width:56px;height:30px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s;border-radius:30px}.slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.slider{background:linear-gradient(135deg,#10b981,#059669)}input:focus+.slider{box-shadow:0 0 0 3px #10b98133}input:checked+.slider:before{transform:translate(26px)}.capitulo-stats{display:flex;gap:2rem;margin-bottom:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-icon{font-size:1.5rem;line-height:1}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.stat-label{font-size:.85rem;color:#64748b;font-weight:500}.capitulo-fecha{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#10b9811a;border-radius:8px;margin-top:.75rem}.fecha-icon{font-size:1.1rem}.fecha-texto{font-size:.85rem;color:#059669;font-weight:500}.capitulo-notas{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem 1rem;background:#f8fafc;border-radius:8px;margin-top:.75rem}.notas-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}.notas-texto{font-size:.85rem;color:#64748b;line-height:1.4}.capitulos-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}@media (max-width: 768px){.capitulos-view{padding:1rem}.capitulos-container{padding:1.25rem}.capitulos-actions{flex-direction:column;gap:1rem;align-items:stretch}.btn-desbloquear-todos{width:100%}.capitulos-grid{grid-template-columns:1fr;gap:1rem}.capitulo-stats{gap:1rem}.stat-value{font-size:1.25rem}}.toast{position:fixed;top:2rem;right:2rem;background:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 8px 24px #00000026;display:flex;align-items:center;gap:1rem;min-width:300px;max-width:500px;z-index:10000;animation:slideIn .3s ease-out,fadeOut .3s ease-in 3.7s}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.toast-icon{font-size:1.5rem}.toast-message{flex:1;font-size:1rem;color:#2c3e50;font-weight:500}.toast-close{background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.toast-close:hover{background:#0000000d;color:#2c3e50}.toast-success{border-left:4px solid #27ae60}.toast-error{border-left:4px solid #e74c3c}.toast-info{border-left:4px solid #3498db}.toast-welcome{border-left:4px solid #9b59b6;background:linear-gradient(135deg,#fff,#f8f9fa)}@media (max-width: 768px){.toast{top:1rem;right:1rem;left:1rem;min-width:auto;max-width:none}}.catalogo-container{min-height:100vh;background:linear-gradient(135deg,#e8eeff,#f5e8ff,#fef3ff,#e8f7ff,#f0fdff);background-size:400% 400%;animation:gradientShift 15s ease infinite;width:100%;overflow-x:hidden;position:relative}.catalogo-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.6) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.5) 0%,transparent 50%);pointer-events:none;z-index:0}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.catalogo-header{background:var(--gradient-primary);padding:1rem 2rem;color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #00000026;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown .4s ease-out;gap:1rem;flex-wrap:wrap}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-content{display:flex;align-items:center;gap:1rem;animation:fadeInLeft .5s ease-out}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.header-content:before{content:"";width:60px;height:60px;background:#fffffff2;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0003;border:3px solid rgba(255,255,255,.4);flex-shrink:0;background-image:linear-gradient(135deg,#667eea1a,#764ba21a);transition:all .3s ease}@media (min-width: 768px){.catalogo-header{padding:1rem 2rem}}.header-content h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;background:linear-gradient(to right,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 10px rgba(0,0,0,.1)}@media (min-width: 768px){.header-content h1{font-size:1.8rem}}.subtitle{margin:0;font-size:.85rem;color:#e0e7ff;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.3)}@media (min-width: 768px){.subtitle{font-size:.95rem}}.header-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;animation:fadeInRight .7s ease-out}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (min-width: 768px){.header-actions{gap:1rem}}.user-info{display:flex;gap:1rem;align-items:center;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.welcome-text{font-size:.95rem;font-weight:600;color:#fff}@media (min-width: 768px){.welcome-text{font-size:1.1rem}}.user-role{padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;background:#ffffff40;color:#fff;border:2px solid rgba(255,255,255,.4)}@media (min-width: 768px){.user-role{padding:.5rem 1rem;font-size:.9rem}}.role-estudiante{background:#3498db4d;border-color:#3498db99}.role-profesor{background:#2ecc714d;border-color:#2ecc7199}.role-colegio{background:#9b59b64d;border-color:#9b59b699}.role-administrador{background:#e74c3c4d;border-color:#e74c3c99}.btn-my-books,.btn-my-classes,.btn-admin{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.4)}.btn-my-books:hover,.btn-my-classes:hover,.btn-admin:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-logout{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;background:#e74c3c4d;color:#fff;border:2px solid rgba(231,76,60,.6)}.btn-logout:hover{background:#e74c3c80;transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c66}.btn-login,.btn-register{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-login{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5)}.btn-login:hover{background:#ffffff4d;transform:translateY(-2px)}.btn-register{background:#fff;color:var(--primary-color)}.btn-register:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.search-bar{padding:2rem;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;background:#fff;box-shadow:0 2px 8px #0000001a}.search-input-group{flex:1;min-width:300px;display:flex;gap:.5rem}.search-input{flex:1;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.search-input:focus{outline:none;border-color:var(--primary-color)}.btn-search{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s}.btn-search:hover{background:#5568d3}.sort-group{display:flex;align-items:center;gap:.5rem}.sort-group label{font-weight:600;color:#333}.sort-select{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;cursor:pointer}.results-info{padding:0 2rem;margin-top:1rem;color:#666;position:relative;z-index:1;animation:fadeIn .8s ease-out}.catalogo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:3rem 2rem;padding:3rem 2rem 4rem;background:linear-gradient(180deg,rgba(0,0,0,.05) 0px,transparent 20px),repeating-linear-gradient(0deg,#f5f5f5,#e8e8e8 300px,#d8d8d8,#e8e8e8 302px,#f5f5f5 350px);position:relative;z-index:1;animation:fadeInUp 1s ease-out}.catalogo-grid:before{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:linear-gradient(180deg,#8b4513,#654321 70%,#4a2f14);box-shadow:0 4px 8px #0000004d,inset 0 1px #8b451366;z-index:1}.catalogo-grid:after{content:"";position:absolute;bottom:0;left:0;right:0;height:8px;background:linear-gradient(0deg,rgba(0,0,0,.15) 0%,transparent 100%);pointer-events:none}.libro-card{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);perspective:1000px;animation:bookEntrance .6s ease-out backwards;animation-delay:calc(var(--book-index, 0) * .1s)}@keyframes bookEntrance{0%{opacity:0;transform:translateY(50px) rotateX(-15deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}.libro-card:hover{transform:translateY(-20px) scale(1.05);z-index:10;animation:wiggle .5s ease-in-out}@keyframes wiggle{0%,to{transform:translateY(-20px) scale(1.05) rotate(0)}25%{transform:translateY(-20px) scale(1.05) rotate(-2deg)}75%{transform:translateY(-20px) scale(1.05) rotate(2deg)}}.libro-portada{position:relative;width:180px;height:270px;box-shadow:8px 8px 20px #0006,-2px 0 8px #0003,inset 0 0 0 1px #ffffff1a;border-radius:4px 8px 8px 4px;overflow:hidden;background:linear-gradient(90deg,#f8f8f8,#fff 5%,#fff 95%,#e8e8e8);transform-style:preserve-3d;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.libro-portada:before{content:"";position:absolute;left:-100%;top:0;bottom:0;width:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);z-index:3;transition:left .6s}.libro-card:hover .libro-portada:before{left:150%}.libro-card:hover .libro-portada{box-shadow:15px 15px 40px #00000080,-4px 0 15px #0000004d,inset 0 0 0 1px #fff3,0 0 30px #667eea4d;transform:rotateY(-8deg) scale(1.05)}mo{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:linear-gradient(90deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.1) 50%,transparent 100%);z-index:1}.libro-portada .libro-spine{position:absolute;left:0;top:0;bottom:0;width:12px;background:linear-gradient(90deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.1) 50%,transparent 100%);z-index:4}.libro-portada:after{content:"";position:absolute;right:0;top:4px;bottom:4px;width:8px;background:repeating-linear-gradient(0deg,#f5f5f5,#f5f5f5 1px,#e8e8e8 1px,#e8e8e8 2px);box-shadow:inset 2px 0 4px #0000001a;border-radius:0 4px 4px 0;z-index:0}.libro-portada img{position:relative;width:100%;height:100%;object-fit:cover;z-index:2;border-radius:2px 6px 6px 2px}.portada-generica{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;z-index:2;overflow:hidden}.portada-generica:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 2px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 2px);pointer-events:none}.portada-contenido{position:relative;text-align:center;color:#fff;z-index:1;width:100%;padding:1rem}.portada-titulo{font-size:1rem;font-weight:700;line-height:1.2;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);word-wrap:break-word;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.portada-autor{font-size:.75rem;font-weight:400;font-style:italic;opacity:.9;text-shadow:1px 1px 2px rgba(0,0,0,.3);border-top:1px solid rgba(255,255,255,.3);padding-top:.5rem;margin-top:.5rem}.libro-info{padding:1.5rem;flex:1;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin-top:1rem;box-shadow:0 4px 15px #0000001a;min-height:180px;display:flex;flex-direction:column;transition:all .3s ease}.libro-card:hover .libro-info{box-shadow:0 8px 25px #667eea33;transform:translateY(-5px)}.libro-info h3{margin:0 0 .5rem;font-size:1.1rem;color:#333;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:center;font-weight:700}.autor{color:var(--primary-color);font-size:.9rem;margin:0 0 .75rem;font-weight:500;text-align:center}.descripcion-corta{font-size:.85rem;color:#666;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-align:center;flex:1}.libro-actions{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.btn-detalle,.btn-activar{padding:.6rem 1rem;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.btn-detalle:before,.btn-activar:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-detalle:hover:before,.btn-activar:hover:before{width:300px;height:300px}.btn-detalle{background:#f0f0f0;color:#333;border:2px solid #ddd}.btn-detalle:hover{background:#e0e0e0;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-activar{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn-activar:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #667eea80}.loading-state,.empty-state{text-align:center;padding:4rem 2rem}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:#333}.empty-state p{margin:0;color:#666}.modal-content{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlide .3s ease}@keyframes modalSlide{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:#0000001a;border:none;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;transition:background .3s;z-index:10}.modal-close:hover{background:#0003}.modal-detalle .modal-body{display:flex;flex-direction:column;gap:0;padding:0;max-height:85vh;overflow-y:auto}.modal-detalle .modal-body::-webkit-scrollbar{width:8px}.modal-detalle .modal-body::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.modal-detalle .modal-body::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:10px}.modal-detalle .modal-body::-webkit-scrollbar-thumb:hover{background:var(--gradient-primary)}.modal-portada{width:100%;display:flex;flex-direction:column;align-items:center;padding:2.5rem 2.5rem 2rem;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-radius:20px 20px 0 0}.modal-portada img{width:100%;max-width:280px;border-radius:12px;box-shadow:0 10px 30px #667eea40;transition:transform .3s ease}.modal-portada img:hover{transform:scale(1.02)}.modal-info{flex:1;padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem}.modal-info h2{margin:0;font-size:2rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.3}.modal-autor{font-size:1.2rem;color:var(--secondary-color);margin:0;font-weight:600;font-style:italic}.modal-metadata{display:flex;flex-wrap:wrap;gap:.75rem}.modal-metadata span{background:linear-gradient(135deg,#f0eeff,#fdf4ff);padding:.625rem 1.125rem;border-radius:12px;font-size:.95rem;color:#5b21b6;font-weight:500;border:1px solid rgba(102,126,234,.15);transition:all .3s ease}.modal-metadata span:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.modal-info h3{margin:1rem 0 0;font-size:1.3rem;color:var(--primary-color);display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:2px solid #e8eeff}.modal-descripcion{line-height:1.8;color:#555;margin:0;font-size:1.05rem;text-align:justify;background:linear-gradient(135deg,#fafafe,#f8f9ff);padding:1.5rem;border-radius:12px;border-left:4px solid var(--primary-color);box-shadow:0 2px 8px #0000000d}.btn-activar-grande{width:100%;padding:1.125rem 1.5rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:12px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;margin-top:auto}.btn-activar-grande:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-activar-grande:hover:before{left:100%}.btn-activar-grande:hover{transform:translateY(-3px);box-shadow:0 8px 20px #667eea66}.btn-activar-grande:active{transform:translateY(-1px)}.activate-code-modal{max-width:520px;padding:2rem}.modal-header-icon{text-align:center;margin-bottom:1.5rem}.icon-large{font-size:48px;display:block;margin-bottom:12px}.modal-subtitle{color:#6b7280;font-size:14px;margin:8px 0 0;font-weight:400}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background-color:#fee;border:1px solid #fcc;color:#c33}.alert-success{background-color:#efe;border:1px solid #cfc;color:#3c3}.alert-icon{font-size:20px}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.label-icon{margin-right:6px}.form-input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .3s}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.code-input{font-family:Courier New,monospace;font-size:18px;font-weight:600;letter-spacing:2px;text-align:center}.form-hint{display:block;margin-top:8px;color:#9ca3af;font-size:13px}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-outline{background:#fff;border:2px solid #e5e7eb;color:#666}.btn-outline:hover{background:#f9fafb}.btn-primary{background:var(--primary-color);color:#fff;display:flex;align-items:center;gap:.5rem}.btn-primary:hover{background:#5568d3}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.btn-primary:disabled:hover{transform:none}@media (max-width: 1279px){.catalogo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2.5rem 1.75rem}}@media (max-width: 1023px){.search-bar{padding:1.5rem}.catalogo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2.25rem 1.5rem;padding:2.5rem 1.5rem}.libro-portada{width:160px;height:240px}}@media (max-width: 767px){.catalogo-header{flex-direction:column;gap:1rem;padding:1rem 1.5rem}.header-content{flex-direction:column;width:100%;text-align:center}.header-content:before{margin:0 auto}.header-content h1{font-size:1.5rem}.subtitle{font-size:.85rem}.header-actions{flex-direction:column;width:100%;gap:.5rem}.user-info{flex-direction:column;gap:.75rem;width:100%}.btn-my-books,.btn-my-classes,.btn-admin,.btn-logout,.btn-login,.btn-register{width:100%;padding:.75rem 1rem;font-size:.95rem}.search-bar{padding:1.25rem;flex-direction:column;align-items:stretch;border-radius:0}.search-input-group{min-width:100%;flex-direction:column}.btn-search{width:100%}.sort-group{flex-direction:column;align-items:stretch}.sort-select{width:100%}.catalogo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:2rem 1.25rem;padding:2rem 1rem}.libro-portada{width:140px;height:210px}.libro-info{padding:1rem;min-height:140px}.libro-info h3{font-size:.95rem}.autor{font-size:.8rem}.descripcion-corta{font-size:.75rem;-webkit-line-clamp:2;line-clamp:2}.btn-detalle,.btn-activar{padding:.5rem .875rem;font-size:.8rem}.modal-overlay{padding:1rem}.modal-portada{padding:2rem 1.5rem 1.5rem}.modal-portada img{max-width:240px}.modal-info{padding:2rem 1.5rem}}@media (max-width: 480px){.catalogo-header{padding:1rem}.header-content:before{width:50px;height:50px}.header-content h1{font-size:1.25rem}.subtitle{font-size:.8rem}.btn-my-books,.btn-my-classes,.btn-admin,.btn-logout,.btn-login,.btn-register{padding:.65rem 1rem;font-size:.9rem}.search-bar{padding:1rem}.search-input,.btn-search,.sort-select{padding:.65rem .875rem;font-size:.9rem}.catalogo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1.75rem 1rem;padding:1.5rem .75rem}.libro-portada{width:120px;height:180px}.libro-info{padding:.875rem;min-height:120px;margin-top:.75rem}.libro-info h3{font-size:.875rem}.autor{font-size:.75rem}.descripcion-corta{font-size:.7rem}.libro-actions{padding:0 .875rem .875rem;gap:.4rem}.btn-detalle,.btn-activar{padding:.45rem .75rem;font-size:.75rem;border-radius:8px}.modal-content{padding:1.25rem}.modal-portada{padding:1.5rem 1rem 1rem}.modal-portada img{max-width:200px}.modal-info{padding:1.5rem 1rem}.modal-info h2{font-size:1.5rem}.modal-autor{font-size:1rem}.modal-info h3{font-size:1.1rem}.modal-descripcion{font-size:.95rem;padding:1.25rem}.modal-header-icon .icon-large{font-size:3rem}.form-input{padding:.65rem;font-size:.9rem}.code-input{font-size:1.25rem}.modal-buttons{flex-direction:column}.modal-buttons button{width:100%}}@media (max-width: 359px){.catalogo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:1.5rem .75rem}.libro-portada{width:110px;height:165px}.libro-info h3{font-size:.8rem}.modal-portada img{max-width:180px}.modal-info h2{font-size:1.3rem}.modal-descripcion{font-size:.9rem;padding:1rem}}:root{--primary-color: var(--primary-color);--secondary-color: var(--secondary-color);--accent-color: #10b981;--success-color: #4ECDC4;--warning-color: #FFB703;--danger-color: #ef4444;--text-dark: #1f2937;--text-light: #6b7280;--bg-light: #f9fafb}.landing-page{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-dark);overflow-x:hidden}.landing-page *{margin:0;padding:0;box-sizing:border-box}.landing-loader{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loader-spinner{width:50px;height:50px;border:4px solid #f3f4f6;border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.preview-banner{position:fixed;top:0;left:0;right:0;background:var(--gradient-primary);color:#fff;padding:1rem;z-index:10000;box-shadow:0 4px 12px #00000026;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.preview-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.preview-icon{font-size:1.5rem}.preview-text{flex:1;font-weight:600;font-size:1rem}.btn-back-admin{background:#fff;color:var(--primary-color);border:none;padding:.6rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;white-space:nowrap}.btn-back-admin:hover{background:#f9fafb;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.landing-page:has(.preview-banner) .landing-header{top:60px}.landing-page:has(.preview-banner) .hero-section{padding-top:140px}.landing-header{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px #00000026;z-index:1000;transition:all .3s ease}.header-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:#fff}.logo img{height:40px;width:auto;filter:brightness(0) invert(1)}.logo-icon{font-size:2rem}.logo-text{color:#fff}.nav-menu{display:flex;gap:2rem;align-items:center}.nav-menu a{color:#ffffffe6;text-decoration:none;font-weight:500;transition:all .3s ease;position:relative;padding:.5rem 0}.nav-menu a:hover{color:#fff}.nav-menu a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:#fff;transition:width .3s ease}.nav-menu a:hover:after{width:100%}.header-actions{display:flex;gap:1rem;align-items:center}.btn-login,.btn-register,.btn-preview{padding:.75rem 1.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:.95rem;white-space:nowrap}.btn-login{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-login:hover{background:#ffffff4d;border-color:#fff;transform:translateY(-2px)}.btn-register{background:#fff;color:var(--primary-color);box-shadow:0 4px 15px #0003}.btn-register:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.btn-preview{background:#fff;color:var(--primary-color);box-shadow:0 4px 15px #0003}.btn-preview:hover{transform:translateY(-2px)}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px}.menu-toggle span{width:25px;height:3px;background:#fff;border-radius:3px;transition:all .3s ease}.hero-section{position:relative;min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8rem 2rem 3rem;overflow:hidden}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-2}.hero-background img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));opacity:.95;z-index:-1}.hero-content{max-width:900px;text-align:center;color:#fff;z-index:1}.hero-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.2;margin-bottom:1.5rem;animation:fadeInUp .8s ease}.hero-subtitle{font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.6;margin-bottom:2.5rem;opacity:.95;animation:fadeInUp .8s ease .2s both}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeInUp .8s ease .4s both}.btn-cta-primary,.btn-cta-secondary{padding:1rem 2.5rem;border-radius:50px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;border:none}.btn-cta-primary{background:#fff;color:var(--primary-color)}.btn-cta-primary:hover{transform:scale(1.05);box-shadow:0 15px 30px #0003}.btn-cta-secondary{background:#fff3;color:#fff;border:2px solid white;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-cta-secondary:hover{background:#fff;color:var(--primary-color)}.hero-video{margin-top:3rem;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .8s ease .6s both}.hero-video iframe{width:100%;max-width:800px;height:450px;border:none}.section-container{max-width:1200px;margin:0 auto;padding:3rem 2rem}.section-header{text-align:center;margin-bottom:2.5rem}.section-header h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-section{background:var(--bg-light)}.feature-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0000000d;transition:all .3s ease;text-align:center}.feature-card:hover{transform:translateY(-10px);box-shadow:0 10px 40px #00000026}.feature-icon{font-size:3.5rem;margin-bottom:1rem}.feature-card h3{font-size:1.3rem;margin-bottom:.75rem;color:var(--text-dark)}.feature-card p{color:var(--text-light);line-height:1.6}.slider-section,.hero-slider-section{background:#000;position:relative;height:100vh;min-height:600px;overflow:hidden;margin-top:0}.slider-container{position:relative;height:100%}.slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease;display:flex;align-items:flex-end;justify-content:flex-end}.slide.active{opacity:1;z-index:1}.slide-content{position:relative;z-index:2;text-align:right;color:#fff;padding:3rem;max-width:600px;margin-right:5%;margin-bottom:5%;animation:slideUp .8s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-title{font-size:clamp(2.5rem,5vw,4.5rem);margin-bottom:1.5rem;font-weight:800;text-shadow:2px 2px 10px rgba(0,0,0,.5);color:#fff;line-height:1.2}.slide-subtitle,.slide-description{font-size:clamp(1.2rem,2vw,1.8rem);max-width:100%;margin:0 0 2.5rem;text-shadow:1px 1px 5px rgba(0,0,0,.5);line-height:1.6;color:#fff}.slide-cta-buttons{display:flex;gap:1.5rem;justify-content:flex-end;flex-wrap:wrap}.slide-cta-btn{padding:1.2rem 3rem;border-radius:50px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 20px #0000004d;display:inline-flex;align-items:center;gap:.5rem;border:none;white-space:nowrap}.slide-cta-btn.primary{background:#fff;color:var(--primary-color)}.slide-cta-btn.primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #fff6;background:#f9fafb}.slide-cta-btn.secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.8)}.slide-cta-btn.secondary:hover{background:#fff3;border-color:#fff;transform:translateY(-3px);box-shadow:0 8px 30px #ffffff4d}.slider-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.3);width:50px;height:50px;border-radius:50%;font-size:2rem;cursor:pointer;transition:all .3s ease;z-index:10;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.slider-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.slider-prev{left:2rem}.slider-next{right:2rem}.slide-background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}.slide-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0009,#0006);z-index:1}.slide-title{position:relative;z-index:2;font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1rem;font-weight:800;text-shadow:2px 2px 10px rgba(0,0,0,.5);color:#fff}.slide-description{position:relative;z-index:2;font-size:clamp(1.2rem,2vw,1.8rem);max-width:700px;margin:0 auto 2rem;text-shadow:1px 1px 5px rgba(0,0,0,.5);line-height:1.5;color:#fff}.slider-controls{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;z-index:2}.slider-dot{width:12px;height:12px;border-radius:50%;background:#ffffff80;border:none;cursor:pointer;transition:all .3s ease;padding:0}.slider-dot.active{background:#fff;width:30px;border-radius:6px}.benefit-card{background:linear-gradient(135deg,#f9fafb,#fff);padding:2.5rem;border-radius:20px;border:2px solid #e5e7eb;transition:all .3s ease}.benefit-card:hover{border-color:var(--primary-color);box-shadow:0 10px 40px #0000001a;transform:translateY(-5px)}.benefit-icon{font-size:4rem;margin-bottom:1.5rem}.benefit-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--primary-color)}.benefit-card p{color:var(--text-light);line-height:1.7;font-size:1.05rem}.testimonials-section{background:linear-gradient(135deg,#e8eeff,#f5e8ff)}.testimonial-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #00000014;transition:all .3s ease}.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001f}.testimonial-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.testimonial-avatar,.testimonial-avatar-placeholder{width:60px;height:60px;border-radius:50%;object-fit:cover}.testimonial-avatar-placeholder{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.testimonial-info h4{font-size:1.1rem;margin-bottom:.25rem}.testimonial-role{color:var(--primary-color);font-size:.9rem;font-weight:600}.testimonial-institution{color:var(--text-light);font-size:.85rem}.testimonial-text{font-style:italic;color:var(--text-light);line-height:1.7}.contact-section{background:var(--bg-light)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}.contact-info h2{font-size:2.5rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-info>p{color:var(--text-light);margin-bottom:2rem;font-size:1.1rem}.contact-details{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.contact-item{display:flex;gap:1rem;align-items:flex-start}.contact-icon{font-size:2rem;flex-shrink:0}.contact-item h4{font-size:.9rem;color:var(--text-light);margin-bottom:.25rem}.contact-item a{color:var(--primary-color);text-decoration:none;font-weight:600;transition:color .3s ease}.contact-item a:hover{color:var(--secondary-color)}.contact-item p{color:var(--text-dark)}.social-media{margin-top:2rem}.social-media h4{margin-bottom:1rem;color:var(--text-dark)}.social-links{display:flex;gap:1rem}.social-links a{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;transition:all .3s ease}.social-links a:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0003}.cta-card{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));padding:3rem;border-radius:20px;color:#fff;text-align:center;box-shadow:0 10px 40px #0003}.cta-card h3{font-size:2rem;margin-bottom:1rem}.cta-card p{font-size:1.1rem;margin-bottom:2rem;opacity:.95}.btn-whatsapp{background:#25d366;color:#fff;border:none;padding:1rem 2rem;border-radius:50px;font-size:1.1rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.75rem;transition:all .3s ease}.btn-whatsapp:hover{background:#20ba5a;transform:scale(1.05);box-shadow:0 10px 30px #25d3664d}.latest-books{padding:5rem 2rem;background:#fff}.latest-books-header{text-align:center;margin-bottom:3rem}.latest-books-header h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--text-dark);margin-bottom:.5rem}.latest-books-header p{font-size:1.2rem;color:var(--text-light);max-width:600px;margin:0 auto}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;max-width:1400px;margin:0 auto 3rem}.books-grid-modern{display:grid;gap:1.8rem;max-width:1400px;margin:0 auto 3rem;padding:1rem}@media (max-width: 640px){.books-grid-modern{grid-template-columns:1fr!important;gap:1.5rem}}.book-card-modern{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #00000014;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;display:flex;flex-direction:column;cursor:pointer;animation:fadeInUp .6s ease-out forwards;opacity:0}.book-card-modern:nth-child(1){animation-delay:.1s}.book-card-modern:nth-child(2){animation-delay:.2s}.book-card-modern:nth-child(3){animation-delay:.3s}.book-card-modern:nth-child(4){animation-delay:.4s}.book-card-modern:nth-child(5){animation-delay:.5s}.book-card-modern:nth-child(6){animation-delay:.6s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.book-card-modern:hover{transform:translateY(-15px) scale(1.03);box-shadow:0 25px 50px #00000026}.book-cover-wrapper{position:relative}.book-cover-container-modern{position:relative;width:100%;padding-top:120%;overflow:hidden;background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.book-cover-modern{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1),filter .4s ease;filter:brightness(.95)}.book-card-modern:hover .book-cover-modern{transform:scale(1.1) rotate(2deg);filter:brightness(1.05)}.book-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eeaf2,#764ba2f2);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;z-index:2}.book-card-modern:hover .book-overlay{opacity:1}.btn-view-details{background:#fff;color:var(--primary-color);border:none;padding:.9rem 2rem;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;transform:translateY(20px);transition:all .3s ease;box-shadow:0 8px 20px #0003}.book-card-modern:hover .btn-view-details{transform:translateY(0)}.btn-view-details:hover{transform:scale(1.1)!important;box-shadow:0 10px 25px #0000004d}.book-badge-new{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.6rem 1.2rem;border-radius:25px;font-size:.85rem;font-weight:700;text-transform:uppercase;box-shadow:0 4px 15px #10b98180;z-index:3;animation:bounceIn 1s ease-out,pulseGlow 2s ease-in-out infinite 1s}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes pulseGlow{0%,to{box-shadow:0 4px 15px #10b98180}50%{box-shadow:0 4px 25px #10b981cc}}.book-info-modern{padding:1rem;flex:1;display:flex;flex-direction:column;background:#fff;position:relative}.book-title-modern{font-size:1rem;font-weight:700;color:var(--text-dark);margin-bottom:.3rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .3s ease}.book-card-modern:hover .book-title-modern{color:var(--primary-color)}.book-author-modern{font-size:.8rem;color:var(--text-light);margin-bottom:.6rem;font-weight:600;font-style:italic;transition:color .3s ease}.book-card-modern:hover .book-author-modern{color:var(--secondary-color)}.book-preview-modern{font-size:.75rem;color:var(--text-light);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.book-modal-content{background:#fff;border-radius:24px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 25px 50px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.book-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.book-modal-close:hover{background:#000c;transform:rotate(90deg)}.book-modal-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding:2rem}.book-modal-cover{position:sticky;top:2rem}.book-modal-cover img{width:100%;border-radius:16px;box-shadow:0 15px 40px #0003;transition:transform .3s ease}.book-modal-cover img:hover{transform:scale(1.05)}.book-modal-info{display:flex;flex-direction:column;gap:1rem}.book-modal-info h2{font-size:2rem;font-weight:800;color:var(--text-dark);margin-bottom:.5rem;line-height:1.2}.book-modal-author,.book-modal-editorial,.book-modal-category{font-size:1rem;color:var(--text-light);margin-bottom:.5rem}.book-modal-author strong,.book-modal-editorial strong,.book-modal-category strong{color:var(--text-dark);font-weight:700}.book-modal-description{margin-top:1rem;padding-top:1rem;border-top:2px solid #e5e7eb}.book-modal-description h3{font-size:1.3rem;font-weight:700;color:var(--text-dark);margin-bottom:1rem}.book-modal-description p{font-size:1.05rem;line-height:1.8;color:var(--text-light)}.book-modal-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #e5e7eb}.btn-modal-primary{flex:1;padding:1rem 2rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px #00000026}.btn-modal-primary:hover{transform:translateY(-3px);box-shadow:0 12px 30px #00000040}.btn-modal-secondary{flex:1;padding:1rem 2rem;background:#fff;color:var(--text-dark);border:2px solid #e5e7eb;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-modal-secondary:hover{background:#f9fafb;border-color:var(--primary-color);color:var(--primary-color)}@media (max-width: 768px){.book-modal-grid{grid-template-columns:1fr;padding:1.5rem}.book-modal-cover{position:relative;top:0}.book-modal-info h2{font-size:1.5rem}.book-modal-actions{flex-direction:column}}.book-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;display:flex;flex-direction:column;cursor:pointer}.book-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 20px 40px #0003}.book-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea1a,#764ba21a);opacity:0;transition:opacity .4s ease;z-index:1;pointer-events:none}.book-card:hover:before{opacity:1}.book-cover-container{position:relative;width:100%;padding-top:140%;overflow:hidden;background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.book-cover{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1);filter:brightness(.95)}.book-card:hover .book-cover{transform:scale(1.08);filter:brightness(1)}.book-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;box-shadow:0 4px 12px #10b98166;z-index:2;animation:pulse 2s ease-in-out infinite}.book-info{padding:1.5rem;flex:1;display:flex;flex-direction:column;position:relative;z-index:2}.book-title{font-size:1.3rem;font-weight:700;color:var(--text-dark);margin-bottom:.5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .3s ease}.book-card:hover .book-title{color:var(--primary-color)}.book-author{font-size:.95rem;color:var(--text-light);margin-bottom:1rem;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:color .3s ease}.book-author:before{content:"✍️";font-size:1rem}.book-card:hover .book-author{color:var(--secondary-color)}.book-description{font-size:.9rem;color:var(--text-light);line-height:1.6;margin-bottom:1rem;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.book-card:hover .book-description{-webkit-line-clamp:4}.books-cta-container{text-align:center;margin-top:2rem}.books-cta-btn{padding:1rem 2.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;border-radius:50px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 20px #0003;display:inline-flex;align-items:center;gap:.75rem}.books-cta-btn:hover{transform:scale(1.05);box-shadow:0 8px 30px #0000004d}.features-section{padding:3rem 2rem;background:#fff}.section-container{max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--text-dark);margin-bottom:.5rem}.section-header p{font-size:1.2rem;color:var(--text-light);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.feature-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border:1px solid #f0f0f0;text-align:center}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #00000026;border-color:var(--primary-color)}.feature-icon{font-size:3rem;margin-bottom:1rem;display:inline-block}.feature-card h3{font-size:1.4rem;color:var(--text-dark);margin-bottom:1rem;font-weight:700}.feature-card p{color:var(--text-light);line-height:1.6;font-size:1rem}.benefits-section{padding:3rem 2rem}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem}.benefit-card{background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 6px 20px #0000001a;transition:all .3s ease;position:relative;overflow:hidden}.benefit-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color))}.benefit-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #00000026}.benefit-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;margin-bottom:1.5rem}.benefit-card h3{font-size:1.5rem;color:var(--text-dark);margin-bottom:1rem;font-weight:700}.benefit-card p{color:var(--text-light);line-height:1.7;font-size:1rem}.testimonials-section{padding:3rem 2rem}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.testimonial-card{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 4px 20px #0000001a;transition:all .3s ease;position:relative}.testimonial-card:before{content:'"';position:absolute;top:1rem;left:1.5rem;font-size:5rem;color:#667eea1a;font-family:Georgia,serif;line-height:1}.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.testimonial-avatar{width:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid var(--primary-color);margin-bottom:1.5rem}.testimonial-text{font-size:1.05rem;color:var(--text-dark);line-height:1.7;margin-bottom:1.5rem;font-style:italic;position:relative;z-index:1}.testimonial-author h4{font-size:1.1rem;color:var(--text-dark);font-weight:700;margin-bottom:.3rem}.testimonial-role{font-size:.95rem;color:var(--primary-color);font-weight:600;margin-bottom:.2rem}.testimonial-institution{font-size:.9rem;color:var(--text-light)}.landing-footer{background:#1f2937;color:#fff;padding:3rem 2rem 1.5rem}.footer-container{max-width:1200px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-column h4{margin-bottom:1rem;font-size:1.1rem}.footer-column a{display:block;color:#ffffffb3;text-decoration:none;margin-bottom:.5rem;transition:color .3s ease}.footer-column a:hover{color:#fff}.footer-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.3rem;font-weight:700}.footer-logo img{height:35px;width:auto}.footer-column p{color:#ffffffb3;line-height:1.6}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;text-align:center;color:#fff9}.whatsapp-float{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:none;cursor:pointer;box-shadow:0 5px 20px #25d36666;transition:all .3s ease;z-index:999;animation:pulse 2s infinite}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 8px 30px #25d36680}@keyframes pulse{0%,to{box-shadow:0 5px 20px #25d36666}50%{box-shadow:0 5px 30px #25d366b3}}@media (max-width: 768px){.menu-toggle{display:flex}.nav-menu{position:fixed;top:70px;left:0;right:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);flex-direction:column;padding:2rem;box-shadow:0 5px 20px #0003;transform:translateY(-100%);opacity:0;transition:all .3s ease;gap:1rem}.nav-menu.active{transform:translateY(0);opacity:1}.nav-menu a{color:#fff;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.2)}.header-actions{display:none}.header-container{padding:1rem 1.5rem}.logo{font-size:1.2rem}.logo img{height:30px}.hero-section{padding-top:90px;min-height:500px}.hero-content h1{font-size:2rem}.hero-content p{font-size:1.1rem}.hero-stats{gap:1.5rem;flex-wrap:wrap}.stat-number{font-size:2rem}.features-section,.benefits-section,.testimonials-section,.latest-books-section{padding:3rem 1rem}.section-header h2{font-size:1.8rem}.section-header p{font-size:1rem}.features-grid,.benefits-grid,.testimonials-grid{grid-template-columns:1fr;gap:1.5rem}.feature-card,.benefit-card,.testimonial-card{padding:1.5rem}.slider-section{height:100vh;min-height:500px}.slide-title{font-size:2rem}.slide-description{font-size:1.1rem}.slide-cta-buttons{flex-direction:column;gap:1rem}.slide-cta-btn{padding:1rem 2rem;font-size:1rem;width:100%;max-width:280px}.slider-nav{width:40px;height:40px;font-size:1.5rem}.slider-prev{left:1rem}.slider-next{right:1rem}.slide-cta-btn{padding:.8rem 1.5rem;font-size:1rem}.slider-controls{bottom:1rem}.books-grid{grid-template-columns:1fr;gap:1.5rem}.latest-books-header h2{font-size:1.8rem}.latest-books-header p{font-size:1rem}.books-cta-btn{padding:.8rem 1.8rem;font-size:1rem}.contact-content{grid-template-columns:1fr;gap:2rem}.footer-grid{grid-template-columns:1fr;gap:2rem;text-align:center}.footer-column{align-items:center}.preview-banner-content{flex-direction:column;gap:.8rem;text-align:center}.preview-text{font-size:.9rem}.btn-back-admin{width:100%;padding:.7rem 1rem;font-size:.9rem}.landing-page:has(.preview-banner) .hero-section{padding-top:180px}.landing-page:has(.preview-banner) .landing-header{top:60px}}@media (min-width: 769px) and (max-width: 1024px){.features-grid,.benefits-grid,.testimonials-grid,.books-grid{grid-template-columns:repeat(2,1fr)}.header-container{padding:1rem 1.5rem}.nav-menu{gap:1.5rem}}.section-cta{display:flex;justify-content:center;margin-top:3rem;padding:2rem 0}.btn-secondary-large{padding:1.2rem 3rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border:none;border-radius:50px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary-large:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000004d;filter:brightness(1.1)}.btn-secondary-large:active{transform:translateY(-1px);box-shadow:0 4px 15px #0003}.student-home-container{min-height:100vh;background:linear-gradient(to bottom,#f0f4f8,#e8eef5)}.admin-preview-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;text-align:center;margin:1rem;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 4px 15px #667eea4d;animation:slideDownBanner .4s ease-out;position:relative;z-index:10}.admin-preview-banner span{font-size:1.5rem}.admin-preview-banner p{margin:0;font-size:1rem}.admin-preview-banner strong{font-weight:700}@keyframes slideDownBanner{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.student-home{max-width:1400px;margin:0 auto;padding:2rem}.welcome-banner{text-align:center;background:var(--gradient-primary);color:#fff;margin-bottom:3rem;padding:2.5rem 2rem;border-radius:20px;box-shadow:0 10px 30px #667eea4d}.welcome-banner h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.welcome-banner p{font-size:1.2rem;opacity:.95;margin-bottom:.5rem}.btn-join-class-home{background:var(--gradient-primary);color:#fff;border:none;padding:1rem 2rem;border-radius:50px;font-weight:700;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 20px #667eea66;font-size:1rem;margin-top:1rem;display:inline-flex;align-items:center;gap:.5rem;position:relative;overflow:hidden}.btn-join-class-home:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-join-class-home:hover:before{left:100%}.btn-join-class-home:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 30px #667eea99}.btn-join-class-home:active{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 15px #667eea80}.btn-icon{font-size:1.2rem;animation:pulse 2s infinite}.btn-sparkle{font-size:1.2rem;animation:sparkle 1.5s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes sparkle{0%,to{opacity:1;transform:rotate(0)}50%{opacity:.5;transform:rotate(180deg)}}.empty-state{background:#fff;border-radius:20px;padding:4rem 2rem;text-align:center;max-width:600px;margin:0 auto;box-shadow:0 10px 40px #0000001a}.empty-icon{font-size:5rem;margin-bottom:1.5rem}.empty-state h2{color:#333;font-size:1.8rem;margin-bottom:1rem}.empty-state p{color:#666;font-size:1.1rem;margin-bottom:2rem;line-height:1.6}.btn-join{background:var(--gradient-primary);color:#fff;border:none;padding:1rem 2.5rem;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.btn-join:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.demo-view{max-width:900px;margin:0 auto}.info-card{background:#fff;border-radius:20px;padding:3rem 2rem;box-shadow:0 10px 40px #0000001a;text-align:center}.info-icon{font-size:4rem;margin-bottom:1.5rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.info-card h2{color:#333;font-size:2rem;margin-bottom:1rem;font-weight:700}.info-card>p{color:#666;font-size:1.1rem;margin-bottom:2.5rem;line-height:1.6}.demo-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2.5rem;text-align:left}.feature-item{display:flex;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#f5f7fa,#e8eef5);border-radius:12px;transition:all .3s ease;border:2px solid transparent}.feature-item:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a;border-color:var(--primary-color)}.feature-icon{font-size:2rem;flex-shrink:0}.feature-item h3{color:#333;font-size:1.1rem;margin:0 0 .5rem;font-weight:600}.feature-item p{color:#666;font-size:.9rem;margin:0;line-height:1.5}.demo-note{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffd93d;border-radius:12px;padding:1.25rem;color:#856404;font-size:.95rem;line-height:1.6}.demo-note strong{font-weight:700;color:#664d03}.clase-selector{background:#fff;border-radius:15px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #00000014}.clase-selector label{display:block;font-weight:600;color:#333;margin-bottom:.75rem;font-size:1rem}.clase-select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;color:#333;background:#fff;cursor:pointer;transition:all .3s ease}.clase-select:hover{border-color:var(--primary-color)}.clase-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.action-card{background:#fff;border-radius:15px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000014;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;min-height:180px}.action-card-purple{border-top:4px solid var(--primary-color)}.action-card-pink{border-top:4px solid #f093fb}.action-card-blue{border-top:4px solid #4facfe}.action-card-green{border-top:4px solid #43e97b}.action-card-orange{border-top:4px solid #ffa502}.action-card-teal{border-top:4px solid #14b8a6}.action-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001f}.action-card:hover .action-card-icon{animation:bounce .6s ease-in-out}.action-card-icon{font-size:2.5rem;transition:all .3s ease}.action-card-content{flex:1;display:flex;flex-direction:column;justify-content:center}.action-card-content h3{font-size:1.3rem;margin-bottom:.5rem;color:#333;transition:all .3s ease}.action-card-content p{color:#666;font-size:.9rem;transition:all .3s ease}.action-card-badge{background:#ff4757;color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;position:absolute;top:10px;right:10px}.action-card-badge.badge-warning{background:linear-gradient(135deg,#ff4757,#ff3838);box-shadow:0 2px 8px #ff475766,0 0 0 3px #ff47571a;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{transform:scale(1);box-shadow:0 2px 8px #ff475766,0 0 0 3px #ff47571a}50%{transform:scale(1.05);box-shadow:0 2px 12px #ff475799,0 0 0 5px #ff475726}}.upcoming-events-section,.notifications-section{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 15px #0000001a}.upcoming-events-section h2,.notifications-section h2{color:#333;font-size:1.8rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.events-list,.notifications-list{display:flex;flex-direction:column;gap:1rem}.event-card{background:#f8f9fa;border-radius:12px;padding:1.2rem;display:flex;gap:1rem;transition:all .3s ease;border-left:4px solid transparent;position:relative}.event-card:hover{background:#fff;box-shadow:0 4px 12px #00000014;transform:translate(4px)}.event-card.event-completado{background:linear-gradient(135deg,#f0fdf4,#dcfce7);opacity:.7;border-left-color:#10b981}.btn-completar-evento{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;font-weight:700;transition:all .3s ease;box-shadow:0 2px 8px #10b9814d}.btn-completar-evento:hover{transform:scale(1.1);box-shadow:0 4px 12px #10b98166}.btn-completar-evento:active{transform:scale(.95)}.evento-completado-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;box-shadow:0 2px 8px #10b9814d}.event-priority{width:4px;border-radius:2px}.event-priority-alta{background-color:#ff4757}.event-priority-media{background-color:#ffa502}.event-priority-baja{background-color:#26de81}.event-content{flex:1}.event-content h4{color:#333;font-size:1.2rem;margin-bottom:.5rem}.event-date{color:#666;font-size:.95rem;margin-bottom:.5rem}.event-description{color:#888;font-size:.9rem}.notification-card{background:#f8f9fa;border-radius:12px;padding:1rem;display:flex;gap:1rem;align-items:flex-start;transition:all .3s ease;position:relative}.notification-card:hover{background:#fff;box-shadow:0 4px 12px #00000014}.notification-card:hover .notification-delete{opacity:1}.notification-icon{font-size:1.5rem}.notification-content{flex:1}.notification-content h4{color:#333;font-size:1.1rem;margin-bottom:.3rem}.notification-content p{color:#666;font-size:.95rem}.notification-time{color:#999;font-size:.85rem;margin-right:2rem}.notification-delete{position:absolute;top:.75rem;right:.75rem;background:#ff4757;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:1.2rem;line-height:1;cursor:pointer;opacity:0;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:0}.notification-delete:hover{background:#ee5a6f;transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:#fff;border-radius:20px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{padding:2rem 2rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:1.5rem;color:#333}.modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{padding:2rem}.form-group label{display:block;color:#333;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.modal-footer{padding:1rem 2rem 2rem;display:flex;gap:1rem;justify-content:flex-end}.btn-cancel,.btn-submit{padding:.75rem 2rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-cancel{background:#f0f0f0;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary)}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1024px){.admin-preview-banner{padding:.875rem 1.5rem;margin:.75rem}.admin-preview-banner span{font-size:1.25rem}.admin-preview-banner p{font-size:.9rem}.demo-features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.info-card{padding:2.5rem 1.5rem}}@media (max-width: 768px){.student-home{padding:1rem}.admin-preview-banner{flex-direction:column;text-align:center;padding:.75rem 1rem;margin:.5rem;gap:.5rem}.admin-preview-banner span{font-size:1.5rem}.admin-preview-banner p{font-size:.85rem;line-height:1.4}.welcome-banner h1{font-size:2rem}.welcome-banner p{font-size:1rem}.action-cards{grid-template-columns:1fr;gap:1rem}.action-card{padding:1.5rem}.action-card-icon{font-size:2.5rem}.action-card-content h3{font-size:1.3rem}.demo-view{padding:0 1rem}.info-card{padding:2rem 1.25rem}.info-card h2{font-size:1.6rem}.info-icon{font-size:3rem}.demo-features{grid-template-columns:1fr;gap:1rem}.feature-item{padding:1.25rem}.feature-icon{font-size:1.75rem}.feature-item h3{font-size:1rem}.feature-item p{font-size:.85rem}}@media (max-width: 480px){.admin-preview-banner{padding:.625rem .75rem;margin:.25rem;border-radius:8px}.admin-preview-banner span{font-size:1.25rem}.admin-preview-banner p{font-size:.75rem}.info-card{padding:1.5rem 1rem}.info-card h2{font-size:1.4rem}.info-card>p{font-size:1rem}.demo-note{font-size:.85rem;padding:1rem}.feature-item{flex-direction:column;text-align:center;gap:.75rem}.feature-icon{font-size:2.5rem}}:root{--primary: var(--primary-color);--primary-dark: #5568d3;--secondary: var(--secondary-color);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--dark: #1e293b;--light: #f8fafc;--border: #e2e8f0;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.student-dashboard{min-height:100vh;background:var(--gradient-primary)}.student-dashboard.modern{background:var(--light)}.dashboard-container{max-width:1400px;margin:0 auto;padding:2rem;min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center}.dashboard-layout{display:grid;grid-template-columns:280px 1fr 320px;gap:1.5rem;width:100%;min-height:calc(100vh - 80px);padding:1.5rem}.loading-spinner{text-align:center;color:#fff}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}.no-classes-card{background:#fff;padding:4rem 3rem;border-radius:20px;text-align:center;box-shadow:var(--shadow-lg);animation:fadeIn .5s ease-out;max-width:500px}.no-classes-icon{font-size:5rem;margin-bottom:1.5rem}.no-classes-card h2{color:var(--dark);margin-bottom:1rem}.no-classes-card p{color:#64748b;margin-bottom:2rem;font-size:1.1rem}.sidebar{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 10px 40px #0000001a;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto;animation:slideIn .5s ease-out}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.sidebar-header h3{margin:0;color:var(--dark);font-size:1.25rem;font-weight:700}.student-info-card{background:var(--gradient-primary);border-radius:14px;padding:1rem;margin-bottom:1.25rem;color:#fff;box-shadow:0 8px 20px #667eea66;position:relative;overflow:hidden}.student-info-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-20px,20px) rotate(180deg)}}.student-avatar{width:50px;height:50px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);position:relative;z-index:1}.avatar-emoji{font-size:1.5rem}.student-details{text-align:center;margin-bottom:.75rem;position:relative;z-index:1}.student-details h4{margin:0 0 .25rem;font-size:1rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff}.student-role{margin:0;font-size:.8rem;opacity:1;font-weight:500;color:#fff}.student-stats{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.stat-mini{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:.6rem .75rem;display:flex;align-items:center;gap:.75rem;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.stat-mini:hover{background:#ffffff40;transform:translateY(-2px)}.stat-icon{font-size:1.75rem;flex-shrink:0}.stat-info{display:flex;flex-direction:column;gap:.1rem;flex:1}.stat-number{font-size:1.3rem;font-weight:700;line-height:1;color:#fff}.stat-label{font-size:.7rem;opacity:1!important;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:#fff!important}.clases-list{display:flex;flex-direction:column;gap:.75rem}.clase-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#f8f9fa;border:2px solid transparent;position:relative;overflow:hidden}.clase-item:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--gradient-primary);transform:scaleY(0);transition:transform .3s ease}.clase-item:hover:before{transform:scaleY(1)}.clase-item:hover{background:#f1f5f9;transform:translate(6px);box-shadow:0 4px 12px #00000014}.clase-item.active{background:var(--gradient-primary);border-color:transparent;color:#fff;box-shadow:0 8px 20px #667eea66;transform:translate(0)}.clase-item.active:before{display:none}.clase-icon{width:42px;height:42px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;transition:all .3s ease;border:2px solid rgba(102,126,234,.2)}.clase-item:hover .clase-icon{transform:scale(1.1) rotate(5deg)}.clase-item.active .clase-icon{background:#ffffff40;border-color:#fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:scale(1)}.clase-info{flex:1;min-width:0}.clase-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#2d3748}.clase-item.active .clase-info h4{color:#fff!important}.clase-info p{margin:0;font-size:.85rem;opacity:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b}.clase-item.active .clase-info p{color:#fff!important;opacity:1!important}.clase-codigo{padding:.25rem .75rem;background:#ffffff4d;border-radius:6px;font-size:.75rem;font-weight:600;font-family:monospace}.clase-item.active .clase-codigo{background:#fff3}.main-content{background:#fff;border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .5s ease-out}.content-header{padding:1.5rem 2rem;border-bottom:2px solid var(--border);background:linear-gradient(to right,#f8fafc,#fff)}.header-info h1{margin:0 0 .5rem;color:var(--dark);font-size:1.75rem}.header-meta{display:flex;gap:1.5rem;flex-wrap:wrap;margin:0;font-size:.95rem;color:#64748b}.header-meta span{display:flex;align-items:center;gap:.5rem}.header-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.back-btn{padding:.75rem 1.5rem;border:2px solid var(--border);background:#fff;color:var(--dark);border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.back-btn:hover{background:var(--light);border-color:var(--dark);transform:translate(-3px)}.tab-btn{padding:.75rem 1.5rem;border:2px solid var(--border);background:#fff;color:var(--dark);border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s;font-size:.95rem}.tab-btn:hover{background:var(--light);border-color:var(--primary)}.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #667eea4d}.content-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-view{display:flex;flex-direction:column;height:100%}.chat-header-actions{padding:1rem 1.5rem;border-bottom:2px solid var(--border);background:#fff}.messages-container{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(to bottom,#f8fafc,#fff)}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:var(--light)}.messages-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.messages-container::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-state span{font-size:.95rem}.actividades-complementarias-list{padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.unidad-complementaria-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 12px #00000014;border:2px solid transparent;transition:all .3s ease}.unidad-complementaria-card:hover{border-color:var(--primary);box-shadow:0 6px 20px #667eea26;transform:translateY(-2px)}.unidad-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.unidad-header h4{margin:0;font-size:1.25rem;color:var(--text-dark);font-weight:700}.estado-badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap}.estado-badge.activa{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;box-shadow:0 2px 6px #10b98133}.estado-badge.cerrada{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;box-shadow:0 2px 6px #ef444433}.unidad-descripcion{color:#64748b;font-size:.95rem;line-height:1.6;margin:0 0 1rem}.unidad-fechas{color:#475569;font-size:.9rem;margin:.5rem 0;font-weight:500}.unidad-actividades{color:#334155;font-size:.95rem;font-weight:600;margin:.5rem 0 1rem;display:flex;align-items:center;gap:.5rem}.badge-unidad-completa{font-size:.8rem;font-weight:500;color:#7c3aed;background:#f3e8ff;padding:.25rem .75rem;border-radius:12px}.actividades-especificas-list{background:#f8fafc;border-radius:12px;padding:1rem;margin:1rem 0;border:1px solid #e2e8f0}.actividades-especificas-titulo{font-size:.85rem;font-weight:600;color:#475569;margin:0 0 .75rem}.actividad-especifica-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:8px;margin-bottom:.5rem;border:1px solid #e2e8f0;transition:all .2s ease}.actividad-especifica-item.clickable{cursor:pointer}.actividad-especifica-item:last-child{margin-bottom:0}.actividad-especifica-item:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11a;transform:translate(4px)}.actividad-especifica-item.clickable:hover{background:#f8fafc;border-color:#8b7ac4;box-shadow:0 4px 12px #8b7ac426}.actividad-especifica-item.completed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#10b981}.actividad-especifica-item.completed .actividad-numero{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff}.actividad-especifica-item.completed:hover{border-color:#059669;box-shadow:0 4px 12px #10b98133}.actividad-especifica-item .actividad-numero{width:28px;height:28px;background:#fff;border:2px solid #6366f1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:#6366f1;flex-shrink:0}.actividad-especifica-item .actividad-titulo{flex:1;font-size:.9rem;color:#334155;font-weight:500}.actividad-badges{display:flex;align-items:center;gap:.5rem}.actividad-especifica-item .actividad-tipo-badge{font-size:.75rem;padding:.25rem .75rem;background:var(--gradient-primary);color:#fff;border-radius:12px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.completed-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;font-size:14px;font-weight:700;box-shadow:0 2px 8px #10b9814d;animation:popIn .4s cubic-bezier(.68,-.55,.265,1.55)}.actividad-puntaje{font-size:.75rem;padding:.25rem .6rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:12px;font-weight:600;display:flex;align-items:center;gap:.25rem;box-shadow:0 2px 6px #f59e0b4d}.unidad-intentos{color:#7c3aed;font-size:.9rem;font-weight:600;margin:.5rem 0;background:#f3e8ff;padding:.5rem;border-radius:8px}.btn-realizar-actividades{width:100%;padding:1rem;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-realizar-actividades:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-realizar-actividades:active{transform:translateY(0)}.message-bubble{display:flex;gap:.75rem;animation:slideIn .3s ease-out}.message-bubble.mine{flex-direction:row-reverse}.message-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;flex-shrink:0;box-shadow:0 2px 8px #667eea4d}.message-content{max-width:65%;background:#fff;border-radius:16px;padding:1rem 1.25rem;box-shadow:0 2px 8px #00000014;border:1px solid var(--border)}.message-bubble.mine .message-content{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-color:transparent}.message-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.message-author{font-weight:600;font-size:.95rem}.message-bubble.mine .message-author{color:#fffffff2}.message-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff;display:inline-flex;align-items:center;gap:.25rem}.message-time{font-size:.75rem;opacity:.7;margin-left:auto}.message-text{margin:0;line-height:1.6;font-size:.95rem}.message-replies{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.message-bubble.mine .message-replies{border-top-color:#ffffff4d}.reply{padding:.5rem .75rem;background:#0000000d;border-radius:8px;margin:.5rem 0;font-size:.9rem}.message-bubble.mine .reply{background:#fff3}.message-input-form{padding:1.5rem 2rem;background:#fff;border-top:2px solid var(--border);display:flex;gap:1rem;align-items:center}.tipo-select{padding:.75rem 1rem;border:2px solid var(--border);border-radius:10px;font-size:.9rem;cursor:pointer;background:#fff;min-width:200px;transition:all .3s}.tipo-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.message-input{flex:1;padding:.75rem 1.25rem;border:2px solid var(--border);border-radius:25px;font-size:.95rem;transition:all .3s;font-family:inherit}.message-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.btn-send{width:48px;height:48px;border:none;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.btn-send:hover{transform:scale(1.1);box-shadow:0 6px 16px #667eea66}.btn-send:active{transform:scale(.95)}.chat-disabled-message{padding:3rem 2rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-top:2px solid #f59e0b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center}.disabled-icon{font-size:3rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.chat-disabled-message p{margin:0;font-size:1.1rem;font-weight:600;color:#92400e}.chat-disabled-message span{margin:0;font-size:.9rem;color:#b45309;opacity:.9}.info-view{padding:2rem;overflow-y:auto}.book-section{margin-bottom:2rem}.book-section h3{margin:0 0 1rem;color:var(--dark);font-size:1.25rem}.book-card{display:flex;gap:1.5rem;align-items:center;padding:1.5rem;background:var(--light);border-radius:12px;border:2px solid var(--border)}.book-card img{width:100px;height:140px;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px #00000026}.book-card h4{margin:0 0 .5rem;color:var(--dark);font-size:1.1rem}.book-card p{margin:0;color:#64748b}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.detail-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--light);border-radius:12px;border:2px solid var(--border);transition:all .3s}.detail-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow)}.detail-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.detail-card label{display:block;font-size:.85rem;color:#64748b;margin-bottom:.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-card p{margin:0;color:var(--dark);font-weight:600;font-size:1.05rem}.codigo-display{font-family:monospace;background:#fff;padding:.5rem 1rem;border-radius:6px;border:1px dashed var(--primary);color:var(--primary);letter-spacing:2px}.clase-stats-section{background:#fff;border-radius:12px;padding:1.5rem;margin-top:1.5rem;box-shadow:0 2px 8px #0000000d}.clase-stats-section h4{color:#2d3748;font-size:1.1rem;margin-bottom:1.25rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f7fafc;border-radius:10px;transition:all .3s ease}.stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.stat-icon{font-size:2rem;flex-shrink:0}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.8rem;color:#718096;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.5rem;color:#2d3748;font-weight:700}.back-to-home-btn{padding:.75rem 1.5rem;background:#fff;border:2px solid var(--border);border-radius:10px;color:var(--dark);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.back-to-home-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translate(-3px);box-shadow:0 4px 12px #667eea4d}.eventos-view{padding:2rem;overflow-y:auto}.eventos-header{margin-bottom:2rem}.eventos-header h3{margin:0;color:var(--dark);font-size:1.5rem}.eventos-list{display:flex;flex-direction:column;gap:1rem}.evento-card{display:flex;gap:1.5rem;align-items:center;background:#fff;border-radius:12px;padding:1.5rem;border:2px solid var(--border);transition:all .3s}.evento-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.evento-card.past{opacity:.6}.evento-left{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;border-left:4px solid var(--primary);padding-left:1rem}.evento-date{text-align:center}.evento-day{font-size:2rem;font-weight:700;color:var(--dark);line-height:1}.evento-month{font-size:.9rem;color:#64748b;text-transform:uppercase;margin-top:.25rem}.evento-content{flex:1}.evento-content h4{margin:0 0 .5rem;color:var(--dark);font-size:1.2rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.evento-cerrado-badge{display:inline-flex;align-items:center;gap:.25rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;box-shadow:0 2px 6px #ef44444d}.evento-content p{margin:0 0 1rem;color:#64748b}.evento-meta{display:flex;gap:1rem;align-items:center}.evento-time{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:#64748b}.evento-priority{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.priority-alta{background:#ef44441a;color:#ef4444}.priority-media{background:#f59e0b1a;color:#f59e0b}.priority-baja{background:#4facfe1a;color:#4facfe}.evento-actions{display:flex;align-items:center;margin-left:auto}.btn-completar-evento{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff;border:none;width:44px;height:44px;border-radius:12px;cursor:pointer;font-size:1.3rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #64748b4d;position:relative;overflow:hidden}.btn-completar-evento.completado{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.btn-completar-evento:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .4s,height .4s}.btn-completar-evento:hover:before{width:100%;height:100%}.btn-completar-evento:hover{transform:translateY(-3px) scale(1.05)}.btn-completar-evento.completado:hover{box-shadow:0 6px 20px #10b98180}.btn-completar-evento:active{transform:translateY(-1px) scale(1)}.progreso-view{padding:2rem;overflow-y:auto}.progreso-header{margin-bottom:2rem}.progreso-header h3{margin:.5rem 0 0;color:var(--dark);font-size:1.5rem}.progreso-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.progreso-card{background:#fff;border-radius:12px;padding:1.5rem;border:2px solid var(--border);display:flex;gap:1.5rem;align-items:flex-start;transition:all .3s}.progreso-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.progreso-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--light);border-radius:12px}.progreso-info{flex:1}.progreso-info h4{margin:0 0 .5rem;color:var(--dark);font-size:1rem}.progreso-stat{margin:0 0 1rem;font-size:1.8rem;font-weight:700;color:var(--primary)}.progress-bar{width:100%;height:8px;background:var(--light);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:4px;transition:width .3s ease}.medalla-section{margin-top:2rem}.medalla-card{background:linear-gradient(135deg,#fff5e6,#ffe8cc);border:2px solid #ffa502;border-radius:15px;padding:2rem;text-align:center}.medalla-icon{font-size:4rem;display:block;margin-bottom:1rem}.medalla-card p{color:#333;font-size:1.1rem;font-weight:600;margin:0}.actividades-completadas-section{margin-top:2rem}.actividades-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.actividades-completadas-section h3{color:var(--dark);font-size:1.2rem;margin:0}.actividades-resumen{display:flex;gap:1rem;flex-wrap:wrap}.resumen-item{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.resumen-item.libro{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;box-shadow:0 2px 6px #3b82f633}.resumen-item.profundizacion{background:linear-gradient(135deg,gold,#ffed4e);color:#744210;box-shadow:0 2px 6px #ffd7004d}.actividades-table{background:#fff;border-radius:12px;border:2px solid var(--border);overflow:hidden}.actividad-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);transition:background .2s}.actividad-row:last-child{border-bottom:none}.actividad-row:hover{background:var(--light)}.actividad-row.pendiente{opacity:.7;background:#fafafa}.actividad-row.pendiente:hover{opacity:1;background:#f3f4f6}.actividad-info{display:flex;align-items:center;gap:1rem;flex:1}.actividad-numero{width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.actividad-numero.pendiente{background:#9ca3af}.actividad-detalles h4{margin:0 0 .25rem;color:var(--dark);font-size:1rem}.actividad-meta-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.actividad-tipo{margin:0;font-size:.85rem;color:#64748b;text-transform:capitalize}.actividad-pagina{font-size:.8rem;color:#4a5568;background:#e6f2ff;padding:.25rem .6rem;border-radius:12px;font-weight:500}.actividad-complementaria{font-size:.8rem;color:#744210;background:linear-gradient(135deg,gold,#ffed4e);padding:.25rem .6rem;border-radius:12px;font-weight:600;box-shadow:0 2px 4px #ffd7004d}.actividad-libro{font-size:.8rem;color:#1e40af;background:linear-gradient(135deg,#dbeafe,#bfdbfe);padding:.25rem .6rem;border-radius:12px;font-weight:600;box-shadow:0 2px 4px #3b82f633}.actividad-estado-pendiente{font-size:.8rem;color:#f59e0b;background:#fef3c7;padding:.25rem .6rem;border-radius:12px;font-weight:600}.actividad-stats{display:flex;gap:1rem;align-items:center}.actividad-puntaje{padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem}.actividad-puntaje.correcta{background:#10b9811a;color:#10b981}.actividad-puntaje.incorrecta{background:#ef44441a;color:#ef4444}.actividad-puntaje.pendiente{background:#f3f4f6;color:#6b7280;font-style:italic}.actividad-fecha{color:#64748b;font-size:.85rem}.btn-ver-mas{width:100%;margin-top:1rem;padding:.75rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #667eea33}.btn-ver-mas:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea4d}.btn-ver-mas:active{transform:translateY(0)}.actividades-view{padding:2rem;overflow-y:auto}.actividades-header{margin-bottom:2rem}.actividades-header h3{margin:.5rem 0 0;color:var(--dark);font-size:1.5rem}.calendar-sidebar{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto;animation:slideIn .5s ease-out .1s backwards}.mini-calendar{width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.calendar-header span{font-weight:600;color:var(--dark);text-transform:capitalize;font-size:1.05rem}.calendar-header button{width:32px;height:32px;border:none;background:var(--light);border-radius:8px;cursor:pointer;font-size:1.2rem;color:var(--dark);transition:all .3s}.calendar-header button:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.weekday{text-align:center;font-size:.75rem;font-weight:600;color:#64748b;padding:.5rem 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s;position:relative;background:var(--light)}.calendar-day.empty{background:transparent;cursor:default}.calendar-day:not(.empty):hover{background:#e0e7ff;transform:scale(1.1)}.calendar-day.today{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:600;box-shadow:0 2px 8px #667eea4d}.calendar-day.has-events{font-weight:600;color:var(--primary)}.event-dot{position:absolute;bottom:4px;width:4px;height:4px;background:var(--primary);border-radius:50%}.calendar-day.today .event-dot{background:#fff}.calendar-events{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--border)}.calendar-events h4{margin:0 0 1rem;font-size:1rem;color:var(--dark)}.mini-evento{padding:.75rem;background:var(--light);border-radius:8px;border-left:4px solid var(--primary);margin-bottom:.5rem;transition:all .3s}.mini-evento:hover{background:#e0e7ff;transform:translate(4px)}.mini-evento span{font-size:.9rem;color:var(--dark);font-weight:500}.mini-evento.deep-dive{border-left-color:#8b7ac4;background:linear-gradient(135deg,#f3e8ff,#faf5ff)}.mini-evento.deep-dive:hover{background:linear-gradient(135deg,#e9d5ff,#f3e8ff)}.mini-evento small{display:block;font-size:.75rem;color:#64748b;margin-top:.25rem}.no-events{text-align:center;color:#94a3b8;font-style:italic;padding:2rem 0;font-size:.9rem}.notifications-badge{position:fixed;top:100px;right:2rem;z-index:1000;cursor:pointer}.badge-count{width:48px;height:48px;background:linear-gradient(135deg,var(--danger),#dc2626);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:0 4px 12px #ef444466;animation:pulse 2s ease-in-out infinite}.notifications-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);min-width:320px;max-height:400px;overflow-y:auto;opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .3s}.notifications-badge:hover .notifications-dropdown{opacity:1;pointer-events:all;transform:translateY(0)}.notification-item{padding:1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .3s}.notification-item:hover{background:var(--light)}.notification-item:last-child{border-bottom:none}.notification-item strong{display:block;color:var(--dark);margin-bottom:.25rem;font-size:.95rem}.notification-item p{margin:0 0 .5rem;color:#64748b;font-size:.85rem;line-height:1.4}.notif-time{font-size:.75rem;color:#94a3b8}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out}.modal-content{background:#fff;border-radius:20px;padding:2.5rem;max-width:500px;width:90%;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;animation:fadeIn .3s ease-out;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:none;background:var(--light);border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;color:#64748b}.modal-close:hover{background:var(--danger);color:#fff;transform:rotate(90deg)}.modal-content h2{margin:0 0 1.5rem;color:var(--dark);font-size:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--dark);font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid var(--border);border-radius:10px;font-size:1rem;font-family:inherit;transition:all .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.btn-primary{width:100%;padding:1rem 2rem;border:none;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-primary:active{transform:translateY(0)}@media (max-width: 1200px){.dashboard-layout{grid-template-columns:260px 1fr}.calendar-sidebar{display:none}}@media (max-width: 768px){.dashboard-layout{grid-template-columns:1fr;padding:1rem}.sidebar{max-height:none;order:2;margin-top:1rem;background:#fff;border-radius:12px;padding:1rem}.main-content{order:1}.message-content{max-width:85%}.header-meta{flex-direction:column;gap:.25rem;align-items:flex-start}.header-actions{flex-wrap:wrap;width:100%}.tab-btn{flex:1;min-width:100px;font-size:.85rem}.tipo-select{min-width:140px}.message-input-form{flex-wrap:wrap;gap:.5rem}.notifications-badge{top:80px;right:1rem;scale:.9}.notifications-dropdown{right:-100px;min-width:280px}.details-grid,.info-details-grid{grid-template-columns:1fr}.modal-content{padding:2rem 1.5rem;width:95%}.clases-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.clase-item{flex-direction:column;text-align:center}.clase-icon{margin:0 auto .5rem}.content-header,.content-body{padding:1rem}}@media (max-width: 600px){.header-tabs{overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.tab-btn{white-space:nowrap}.messages-container{padding:.75rem;gap:.75rem}.message-avatar{width:32px;height:32px;font-size:.9rem}.empty-state{padding:2rem 1rem}.empty-icon{font-size:3rem}.notifications-badge{top:70px;right:.5rem;scale:.85}.badge-count{width:40px;height:40px;font-size:1rem}}@media (max-width: 480px){.dashboard-layout{padding:.5rem;gap:.75rem}.sidebar-header h3{font-size:1.1rem}.clases-list{grid-template-columns:1fr}.clase-item{flex-direction:row;text-align:left}.clase-icon{margin:0}.content-header .header-info h1{font-size:1.1rem}.header-tabs{flex-direction:column;gap:.5rem}.tab-btn{width:100%}.message-input-form{padding:1rem;flex-direction:column}.tipo-select{width:100%;min-width:100%}.message-input,.btn-send{width:100%}.messages-container,.content-header,.info-view,.content-body{padding:1rem}.book-card{flex-direction:column;text-align:center}.detail-card{flex-direction:row;align-items:center}.form-group input,.form-group textarea{font-size:16px}.modal-content{width:95%;padding:1.5rem}.section-header-centered{padding:1.5rem 1rem!important}.header-title-centered{font-size:1.3rem!important;flex-direction:column;text-align:center}.btn-back-floating{position:static!important;transform:none!important;width:100%;margin-top:1rem}}@media (max-width: 768px){.section-header-centered{padding:1.75rem 1.5rem!important}.header-title-centered{font-size:1.5rem!important}.btn-back-floating{left:1.5rem!important;padding:.65rem 1.25rem!important;font-size:.9rem}.eventos-list,.actividades-complementarias-list{padding:.5rem}.evento-card,.unidad-complementaria-card{margin-bottom:1rem}.info-view .book-section,.info-view .details-grid{padding:0 .5rem}}@media (max-width: 1024px){.btn-back-floating:hover{background:#ffffff4d!important}}.deep-dive-page{min-height:100vh;background:var(--gradient-primary);position:relative;overflow-x:hidden}.deep-dive-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(255,255,255,.05) 0%,transparent 50%);animation:floatingPattern 20s ease-in-out infinite;pointer-events:none}@keyframes floatingPattern{0%,to{transform:translate(0)}50%{transform:translate(20px,20px)}}.deep-dive-navbar{position:relative;z-index:10;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #0000001a}.navbar-brand{display:flex;align-items:center;gap:16px}.btn-back{background:var(--gradient-primary);color:#fff;border:none;padding:10px 20px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-back:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.navbar-title h2{margin:0;font-size:20px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-subtitle{margin:4px 0 0;font-size:14px;color:#6b7280}.navbar-actions{display:flex;align-items:center;gap:16px}.user-info{font-size:14px;color:#4b5563;font-weight:500}.btn-logout{background:#ef4444;color:#fff;border:none;padding:10px 20px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-logout:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.progress-section{position:relative;z-index:10;max-width:800px;margin:32px auto;padding:24px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px #0000001a}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-label{font-size:18px;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-stats{font-size:16px;font-weight:600;color:#6b7280}.progress-bar-container{position:relative;width:100%;height:32px;background:#e5e7eb;border-radius:16px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.progress-bar-fill{height:100%;background:var(--gradient-primary);border-radius:16px;transition:width .6s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:flex-end;padding-right:12px;position:relative;overflow:hidden}.progress-bar-fill:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-percentage{position:relative;z-index:1;color:#fff;font-weight:700;font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.completion-badge{margin-top:16px;padding:12px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;text-align:center;font-weight:600;font-size:16px;animation:bounceIn .6s ease-out;box-shadow:0 4px 12px #10b9814d}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.activities-container{position:relative;z-index:10;max-width:1200px;margin:0 auto;padding:24px}.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding-bottom:100px}.activity-card{position:relative;background:#fff;border-radius:20px;padding:24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a;overflow:hidden}.activity-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 32px #667eea4d}.activity-card.active{border:3px solid var(--primary-color);box-shadow:0 8px 24px #667eea66}.activity-card.completed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #10b981}.activity-card.completed:hover{box-shadow:0 12px 32px #10b9814d}.completed-badge{position:absolute;top:12px;right:12px;width:36px;height:36px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #10b98166;animation:popIn .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes popIn{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}.checkmark{color:#fff;font-size:20px;font-weight:700}.activity-number{position:absolute;top:12px;left:12px;width:32px;height:32px;background:var(--gradient-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;box-shadow:0 2px 8px #667eea4d}.activity-card.completed .activity-number{background:linear-gradient(135deg,#10b981,#059669)}.activity-icon-large{font-size:64px;text-align:center;margin:32px 0 16px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.activity-card-title{font-size:18px;font-weight:700;color:#1f2937;margin:12px 0;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center}.activity-card.completed .activity-card-title{color:#059669}.activity-card-type{font-size:13px;color:#6b7280;text-align:center;margin:8px 0 12px;text-transform:capitalize;font-weight:500}.activity-stats{display:flex;justify-content:center;gap:16px;margin:12px 0;padding:12px;background:#667eea0d;border-radius:8px;border:1px solid rgba(102,126,234,.1)}.activity-card.completed .activity-stats{background:#10b9810d;border-color:#10b9811a}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-icon{font-size:18px}.stat-value{font-size:16px;font-weight:700;color:var(--primary-color)}.activity-card.completed .stat-value{color:#10b981}.stat-label{font-size:10px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.btn-start-activity{width:100%;padding:12px 24px;background:var(--gradient-primary);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-start-activity:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.activity-card.completed .btn-start-activity{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.activity-card.completed .btn-start-activity:hover{box-shadow:0 6px 20px #10b98166}.card-decoration{position:absolute;bottom:0;right:0;width:80px;height:80px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:20px 0;pointer-events:none}.fab-continue{position:fixed;bottom:32px;right:32px;width:64px;height:64px;background:var(--gradient-primary);color:#fff;border:none;border-radius:50%;font-size:24px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #667eea66;transition:all .3s ease;z-index:1000;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fab-continue:hover{transform:scale(1.1);box-shadow:0 12px 32px #667eea80}.fab-continue:active{transform:scale(.95)}@media (max-width: 768px){.deep-dive-navbar{padding:12px 16px;flex-direction:column;gap:12px}.navbar-brand{flex-direction:column;align-items:flex-start;width:100%}.navbar-actions{width:100%;justify-content:space-between}.progress-section{margin:16px;padding:16px}.activities-container{padding:16px}.activities-grid{grid-template-columns:1fr;gap:16px}.fab-continue{bottom:16px;right:16px;width:56px;height:56px;font-size:20px}}@media (max-width: 480px){.navbar-title h2{font-size:16px}.activity-icon-large{font-size:48px;margin:24px 0 12px}.activity-card-title{font-size:16px;min-height:40px}}#root{width:100%;margin:0;padding:0;text-align:left}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
