:root{--sidebar-width:280px;--sidebar-collapsed-width:70px;--header-height:80px;--primary-color:#4f46e5;--primary-hover:#4338ca;--secondary-color:#64748b;--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--info-color:#06b6d4;--light-bg:#f8fafc;--border-color:#e2e8f0;--text-primary:#1e293b;--text-secondary:#64748b;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--light-bg);color:var(--text-primary);margin:0;padding:0;line-height:1.6}.app-layout{display:flex;min-height:100vh}.sidebar-desktop{position:fixed;top:0;left:0;height:100vh;background:linear-gradient(180deg,#fff,#f8fafc);border-right:1px solid var(--border-color);box-shadow:var(--shadow-lg);z-index:1000;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-desktop.sidebar-open{width:var(--sidebar-width)}.sidebar-desktop.sidebar-open .logout-btn span,.sidebar-desktop.sidebar-open .nav-text,.sidebar-desktop.sidebar-open .sidebar-brand,.sidebar-desktop.sidebar-open .user-details{opacity:1;transform:translateX(0)}.sidebar-desktop.sidebar-closed{width:var(--sidebar-collapsed-width)}.sidebar-desktop.sidebar-closed .logout-btn span,.sidebar-desktop.sidebar-closed .nav-text,.sidebar-desktop.sidebar-closed .sidebar-brand,.sidebar-desktop.sidebar-closed .user-details{opacity:0;transform:translateX(-10px)}.sidebar-desktop.sidebar-closed .sidebar-toggle-btn{right:.25rem;padding:.375rem;font-size:.75rem}.sidebar-header{padding:1.5rem 1rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.sidebar-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.sidebar-logo{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;box-shadow:0 4px 12px rgba(79,70,229,.3);transition:all .3s ease}.sidebar-logo:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(79,70,229,.4)}.sidebar-brand{margin-left:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-brand h5{color:var(--text-primary);font-weight:700;margin:0;font-size:1.1rem;letter-spacing:-.025em}.sidebar-brand small{color:var(--text-secondary);font-size:.75rem;font-weight:500;letter-spacing:.025em}.sidebar-toggle-btn{background:hsla(0,0%,100%,.8);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;padding:.5rem;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 4px rgba(0,0,0,.05);position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:10}.sidebar-toggle-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-50%) scale(1.05);box-shadow:0 4px 8px rgba(79,70,229,.2)}.sidebar-toggle-btn:active{transform:translateY(-50%) scale(.95)}.sidebar-nav{padding:1rem 0;flex:1 1}.sidebar-nav .nav-link{display:flex;align-items:center;padding:.875rem 1rem;color:var(--text-secondary);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:0;margin:.25rem .5rem;border-radius:12px;position:relative;font-weight:500}.sidebar-nav .nav-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--primary-color);border-radius:0 2px 2px 0;transition:height .3s ease}.sidebar-nav .nav-link:hover{background:rgba(79,70,229,.08);color:var(--primary-color);transform:translateX(4px)}.sidebar-nav .nav-link:hover:before{height:60%}.sidebar-nav .nav-link.active{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;box-shadow:0 4px 12px rgba(79,70,229,.3);transform:translateX(4px)}.sidebar-nav .nav-link.active:before{height:100%;background:hsla(0,0%,100%,.3)}.sidebar-nav .nav-icon{width:20px;text-align:center;font-size:1rem;transition:all .3s ease}.sidebar-nav .nav-text{margin-left:.75rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-footer{padding:1rem;border-top:1px solid var(--border-color);background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.sidebar-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.user-info{display:flex;align-items:center;margin-bottom:1rem;padding:.5rem;border-radius:12px;transition:all .3s ease}.user-info:hover{background:rgba(79,70,229,.05)}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;box-shadow:0 2px 8px rgba(79,70,229,.2);transition:all .3s ease}.user-avatar:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(79,70,229,.3)}.user-details{margin-left:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-details .user-name{font-weight:600;color:var(--text-primary);font-size:.875rem;margin:0;letter-spacing:-.025em}.user-details .user-role{color:var(--text-secondary);font-size:.75rem;margin:0;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.logout-btn{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:var(--danger-color);font-size:.875rem;padding:.75rem;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;display:flex;align-items:center;justify-content:center;font-weight:500}.logout-btn:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.logout-btn:active{transform:translateY(0)}.logout-btn i{margin-right:.5rem;transition:all .3s ease}.logout-btn span{transition:all .3s cubic-bezier(.4,0,.2,1)}.main-content{flex:1 1;margin-left:var(--sidebar-width);transition:margin-left .3s cubic-bezier(.4,0,.2,1);background:var(--light-bg);min-height:100vh}.main-content.sidebar-closed{margin-left:var(--sidebar-collapsed-width)}.content-wrapper{min-height:100vh;padding:2rem;background:linear-gradient(135deg,#f8fafc,#fff)}.page-header{background:linear-gradient(135deg,#fff,#f8fafc);border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#667eea,#764ba2);border-image-slice:1;padding:3rem 0;margin-bottom:2.5rem;position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(102,126,234,.05) 0,transparent 70%);border-radius:50%;animation:float 20s ease-in-out infinite}.page-header .header-icon-wrapper{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;box-shadow:0 8px 24px rgba(102,126,234,.3);animation:bounceIn .8s ease-out}.page-header .page-title{font-size:2rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em;position:relative;animation:slideUp .6s ease-out}.page-header .page-subtitle{color:var(--text-secondary);margin:0;font-size:1rem;font-weight:500;position:relative;animation:slideUp .6s ease-out .1s both}.page-content{padding:0 2rem 2rem}.stats-card{border:none;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .4s cubic-bezier(.4,0,.2,1);background:#fff;position:relative;overflow:hidden;animation:slideUp .6s ease-out}.stats-card:first-child{animation-delay:.1s}.stats-card:nth-child(2){animation-delay:.2s}.stats-card:nth-child(3){animation-delay:.3s}.stats-card:nth-child(4){animation-delay:.4s}.stats-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.stats-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(102,126,234,.05) 0,transparent 70%);transform:scale(0);transition:transform .5s ease}.stats-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.15)}.stats-card:hover:before{transform:scaleX(1)}.stats-card:hover:after{transform:scale(1)}.stats-card:hover .stats-icon{transform:scale(1.1) rotate(5deg)}.stats-card:hover .stats-number{transform:scale(1.05)}.stats-card .stats-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff;font-size:1.75rem;box-shadow:0 8px 24px rgba(0,0,0,.15);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.stats-card .stats-icon:before{content:"";position:absolute;inset:-4px;border-radius:18px;padding:2px;background:linear-gradient(135deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,.2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.stats-card .stats-icon.bg-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.stats-card .stats-icon.bg-success{background:linear-gradient(135deg,#10b981,#059669)}.stats-card .stats-icon.bg-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.stats-card .stats-icon.bg-info{background:linear-gradient(135deg,#06b6d4,#0891b2)}.stats-card .stats-icon.bg-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.stats-card .stats-number{font-size:2.5rem;font-weight:800;margin:0 0 .5rem;letter-spacing:-.02em;transition:transform .3s ease;position:relative;z-index:1}.stats-card .stats-label{color:var(--text-secondary);margin:0;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header .section-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.training-card{border:none;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .4s cubic-bezier(.4,0,.2,1);background:#fff;position:relative;animation:slideUp .6s ease-out}.training-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(102,126,234,.05),transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:1}.training-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.15)}.training-card:hover:before{opacity:1}.training-card:hover .training-thumbnail img{transform:scale(1.1)}.training-card:hover .training-btn{transform:translateY(-2px);box-shadow:0 8px 20px rgba(102,126,234,.3)}.training-thumbnail{position:relative;height:200px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.training-thumbnail:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.3));pointer-events:none}.training-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}.training-overlay{position:absolute;top:1rem;right:1rem;z-index:2}.training-overlay .badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid hsla(0,0%,100%,.2)}.training-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;line-height:1.4;position:relative;z-index:2}.training-description{font-size:.9rem;line-height:1.6;margin-bottom:1rem;color:var(--text-secondary)}.training-description,.training-progress{position:relative;z-index:2}.training-progress .progress{height:10px;border-radius:10px;background:#e5e7eb;overflow:visible;box-shadow:inset 0 2px 4px rgba(0,0,0,.06)}.training-progress .progress-bar{border-radius:10px;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .5s ease}.training-progress .progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);animation:shimmer 2s infinite}.training-btn{border-radius:12px;font-weight:600;padding:.875rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(0,0,0,.1);position:relative;z-index:2;overflow:hidden}.training-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.training-btn:hover:before{width:300px;height:300px}.training-btn:active{transform:translateY(0)}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.loading-state-dashboard{padding:6rem 2rem;animation:slideUp .6s ease-out}.loading-state-dashboard .loading-spinner-wrapper{margin:0 auto}.loading-state-dashboard .loading-spinner{width:120px;height:120px;margin:0 auto;position:relative;display:flex;align-items:center;justify-content:center}.loading-state-dashboard .loading-spinner .spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-radius:50%;animation:spin 2s linear infinite}.loading-state-dashboard .loading-spinner .spinner-ring:first-child{border-top-color:#667eea;animation-duration:1.5s}.loading-state-dashboard .loading-spinner .spinner-ring:nth-child(2){border-right-color:#764ba2;animation-duration:2s;animation-direction:reverse;width:80%;height:80%}.loading-state-dashboard .loading-spinner .spinner-ring:nth-child(3){border-bottom-color:#10b981;animation-duration:2.5s;width:60%;height:60%}.loading-state-dashboard .loading-spinner i{font-size:2.5rem;color:#667eea;z-index:1;animation:pulse 2s ease-in-out infinite}.loading-state-dashboard .loading-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.loading-state-dashboard .loading-text{font-size:1rem;color:var(--text-secondary)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-state-dashboard{padding:4rem 2rem;animation:slideUp .6s ease-out}.error-state-dashboard .error-icon{width:100px;height:100px;margin:0 auto;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#dc2626;font-size:3rem;box-shadow:0 8px 24px rgba(220,38,38,.2);animation:shake .5s ease-in-out}.error-state-dashboard .error-icon i{animation:pulse 2s ease-in-out infinite}.error-state-dashboard .error-title{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.error-state-dashboard .error-text{font-size:1.05rem;line-height:1.7;max-width:500px;margin:0 auto 1.5rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 14px rgba(102,126,234,.3);transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{background:linear-gradient(135deg,#5a3fd6,#6a3e94);transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.btn-primary:active{transform:translateY(0)}.btn-outline-primary{border:2px solid #667eea;color:#667eea;background:transparent;transition:all .3s ease}.btn-outline-primary:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.3)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);border:none;box-shadow:0 4px 14px rgba(16,185,129,.3)}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 20px rgba(16,185,129,.4)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;box-shadow:0 4px 14px rgba(245,158,11,.3)}.btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 6px 20px rgba(245,158,11,.4)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;box-shadow:0 4px 14px rgba(239,68,68,.3)}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 6px 20px rgba(239,68,68,.4)}.mobile-sidebar .offcanvas-header{border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,#fff,#f8fafc);padding:1.5rem}.mobile-sidebar .offcanvas-header .offcanvas-title{font-weight:700;color:var(--text-primary);font-size:1.1rem;letter-spacing:-.025em}.mobile-sidebar .offcanvas-body{background:#fff;padding:1rem}.mobile-sidebar .nav-link{padding:.875rem 1rem;color:var(--text-secondary);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:12px;margin:.25rem 0;font-weight:500;position:relative}.mobile-sidebar .nav-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--primary-color);border-radius:0 2px 2px 0;transition:height .3s ease}.mobile-sidebar .nav-link:hover{background:rgba(79,70,229,.08);color:var(--primary-color);transform:translateX(4px)}.mobile-sidebar .nav-link:hover:before{height:60%}.mobile-sidebar .nav-link.active{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;box-shadow:0 4px 12px rgba(79,70,229,.3);transform:translateX(4px)}.mobile-sidebar .nav-link.active:before{height:100%;background:hsla(0,0%,100%,.3)}.user-info-mobile{border-top:1px solid var(--border-color);padding-top:1rem;margin-top:1rem}.user-info-mobile .user-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;box-shadow:0 2px 8px rgba(79,70,229,.2)}.user-info-mobile .fw-bold{font-weight:600;color:var(--text-primary);letter-spacing:-.025em}.user-info-mobile .text-muted{color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.user-info-mobile .btn-outline-danger{border-radius:12px;font-weight:500;padding:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-info-mobile .btn-outline-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.landing-page{background:#fff;overflow-x:hidden}.hero-section-modern{background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}.hero-section-modern:before{content:"";position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);border-radius:50%;animation:float 20s ease-in-out infinite}.hero-section-modern:after{content:"";position:absolute;bottom:-50%;left:-20%;width:600px;height:600px;background:radial-gradient(circle,hsla(0,0%,100%,.08) 0,transparent 70%);border-radius:50%;animation:float 25s ease-in-out infinite reverse}.hero-wave{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;line-height:0}.hero-wave svg{position:relative;display:block;width:calc(100% + 1.3px);height:120px}.min-vh-75{min-height:75vh}.hero-badge .badge-pill{display:inline-flex;align-items:center;padding:.65rem 1.5rem;background:hsla(0,0%,100%,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50px;color:#fff;font-weight:500;font-size:.9rem;border:1px solid hsla(0,0%,100%,.2);animation:slideUp .8s ease-out}.hero-title{font-size:4rem;font-weight:800;line-height:1.1;color:#fff;margin-bottom:1.5rem;animation:slideUp .8s ease-out .2s both}@media(max-width:768px){.hero-title{font-size:2.5rem}}.gradient-text{background:linear-gradient(135deg,#fff,#f0f0f0);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.gradient-text,.text-gradient{-webkit-text-fill-color:transparent}.text-gradient{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text}.hero-subtitle{font-size:1.3rem;line-height:1.7;color:hsla(0,0%,100%,.95);max-width:600px;animation:slideUp .8s ease-out .4s both}.hero-actions{animation:slideUp .8s ease-out .6s both}.hero-actions .btn-hero-primary{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:12px;background:#fff;color:#667eea;border:none;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.hero-actions .btn-hero-primary:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(0,0,0,.3);background:#f8f8f8;color:#667eea}.hero-actions .btn-hero-secondary{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:12px;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid hsla(0,0%,100%,.3);transition:all .3s cubic-bezier(.4,0,.2,1)}.hero-actions .btn-hero-secondary:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.5);transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.15);color:#fff}.hero-stats{animation:slideUp .8s ease-out .8s both}.hero-stats .stat-item .stat-number{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:.25rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.hero-stats .stat-item .stat-label{font-size:.9rem;color:hsla(0,0%,100%,.9);margin:0;font-weight:500}.hero-visual{position:relative;height:500px;animation:slideUp .8s ease-out .4s both}.floating-card{position:absolute;background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.15);transition:all .3s ease;animation:float 6s ease-in-out infinite}.floating-card:hover{transform:translateY(-10px) scale(1.05);box-shadow:0 30px 80px rgba(0,0,0,.25)}.floating-card .card-icon{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;margin-bottom:1rem;box-shadow:0 10px 25px rgba(102,126,234,.3)}.floating-card h4{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.floating-card p{font-size:.9rem;color:var(--text-secondary);margin:0}.floating-card.card-1{top:10%;left:5%;width:250px;animation-delay:0s}.floating-card.card-2{top:40%;right:10%;width:280px;animation-delay:2s}.floating-card.card-3{bottom:15%;left:15%;width:260px;animation-delay:4s}.features-section{background:linear-gradient(180deg,#fff,#f8fafc);position:relative}.section-heading{font-size:3rem;font-weight:800;color:var(--text-primary)}@media(max-width:768px){.section-heading{font-size:2rem}}.section-subheading{font-size:1.2rem;max-width:600px;margin:0 auto}.feature-card{background:#fff;border-radius:24px;padding:2.5rem;height:100%;box-shadow:0 10px 40px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.05);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.feature-card:hover{transform:translateY(-10px);box-shadow:0 20px 60px rgba(0,0,0,.15)}.feature-card:hover:before{transform:scaleX(1)}.feature-card.featured{border:2px solid #667eea;box-shadow:0 20px 60px rgba(102,126,234,.2)}.feature-card.featured:before{transform:scaleX(1);height:5px}.popular-badge{position:absolute;top:20px;right:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 5px 15px rgba(102,126,234,.4)}.feature-icon-wrapper{width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1.5rem;box-shadow:0 10px 30px rgba(0,0,0,.15)}.feature-icon-wrapper.bg-gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.feature-icon-wrapper.bg-gradient-success{background:linear-gradient(135deg,#10b981,#059669)}.feature-icon-wrapper.bg-gradient-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.feature-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.feature-description{font-size:1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{padding:.6rem 0;color:var(--text-primary);font-weight:500;font-size:.95rem;border-bottom:1px solid rgba(0,0,0,.05)}.feature-list li:last-child{border-bottom:none}.feature-list li i{color:#10b981}.mini-feature{text-align:center;padding:2rem 1rem;background:#fff;border-radius:16px;transition:all .3s ease;border:1px solid rgba(0,0,0,.05)}.mini-feature:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1)}.mini-feature .feature-mini-icon{font-size:2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem}.mini-feature h5{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.mini-feature p{font-size:.9rem;color:var(--text-secondary);margin:0}.cta-section{background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:-50%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);border-radius:50%}.cta-wrapper{background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;padding:3rem;border:1px solid hsla(0,0%,100%,.2)}@media(max-width:768px){.cta-wrapper{padding:2rem 1.5rem}}.cta-heading{font-size:2.5rem;font-weight:800;color:#fff}@media(max-width:768px){.cta-heading{font-size:2rem}}.cta-subheading{font-size:1.15rem;color:hsla(0,0%,100%,.95);line-height:1.7}.cta-feature-item{color:#fff;font-weight:500;font-size:1rem}.cta-btn-primary{padding:1.2rem 2rem;font-size:1.1rem;font-weight:700;border-radius:14px;background:#fff;color:#667eea;border:none;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:all .3s ease}.cta-btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(0,0,0,.3);background:#f8f8f8;color:#667eea}.cta-btn-secondary{padding:1.2rem 2rem;font-size:1.1rem;font-weight:700;border-radius:14px;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid hsla(0,0%,100%,.3);transition:all .3s ease}.cta-btn-secondary:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.5);transform:translateY(-3px);color:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 8px 24px rgba(0,0,0,.08)}50%{transform:scale(1.05);box-shadow:0 12px 32px rgba(102,126,234,.2)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.hero-section{background:linear-gradient(135deg,#667eea,#764ba2)}.card-hover{transition:transform .3s ease,box-shadow .3s ease}.card-hover:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.btn-custom{border-radius:50px;padding:12px 30px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.navbar-brand{font-weight:700;font-size:1.5rem}.training-viewer-container{animation:slideUp .6s ease-out}.back-button-training{border-radius:12px;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;border:2px solid #667eea;color:#667eea}.back-button-training:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateX(-4px);box-shadow:0 4px 12px rgba(102,126,234,.3)}.back-button-training i{transition:transform .3s ease}.back-button-training:hover i{transform:translateX(-3px)}.training-info-card{border:none;border-radius:24px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden;position:relative;animation:slideUp .6s ease-out .1s both}.training-info-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#667eea,#764ba2)}.training-info-card .training-header-icon{width:70px;height:70px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:18px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;box-shadow:0 8px 24px rgba(102,126,234,.3);animation:bounceIn .8s ease-out}.training-info-card .training-title{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1.3}.training-info-card .training-description{font-size:1.1rem;line-height:1.7}.training-info-card .training-progress-section{background:linear-gradient(135deg,#f8fafc,#fff);border-radius:16px;padding:1.5rem;border:1px solid #e5e7eb}.training-info-card .training-progress-section .progress-label{font-weight:600;color:var(--text-primary);font-size:.95rem}.training-info-card .training-progress-section .progress-badge{font-size:.9rem;padding:.5rem 1rem;border-radius:20px;font-weight:700}.training-info-card .training-progress-bar{height:12px;border-radius:10px;background:#e5e7eb;overflow:visible}.training-info-card .training-progress-bar .progress-bar{border-radius:10px;box-shadow:0 2px 8px rgba(102,126,234,.3);position:relative}.training-info-card .training-progress-bar .progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);animation:shimmer 2s infinite}.training-info-card .progress-stats .stat-box{padding:1rem;border-radius:12px;background:#fff;transition:all .3s ease}.training-info-card .progress-stats .stat-box:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.training-info-card .progress-stats .stat-box i{font-size:1.5rem;display:block}.training-info-card .progress-stats .stat-box .stat-number{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin:.5rem 0}.training-info-card .progress-stats .stat-box .stat-label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.completion-celebration{animation:slideUp .6s ease-out}.completion-celebration .celebration-card{background:linear-gradient(135deg,#fff,#f0fdf4);box-shadow:0 8px 32px rgba(16,185,129,.2);border-radius:24px;position:relative;overflow:hidden}.completion-celebration .celebration-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#10b981,#059669)}.completion-celebration .celebration-confetti{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.completion-celebration .celebration-confetti .confetti{position:absolute;width:10px;height:10px;background:#667eea;animation:confetti-fall 3s linear infinite}.completion-celebration .celebration-confetti .confetti:first-child{left:10%;animation-delay:0s;background:#667eea}.completion-celebration .celebration-confetti .confetti:nth-child(2){left:30%;animation-delay:.5s;background:#10b981}.completion-celebration .celebration-confetti .confetti:nth-child(3){left:50%;animation-delay:1s;background:#f59e0b}.completion-celebration .celebration-confetti .confetti:nth-child(4){left:70%;animation-delay:1.5s;background:#ef4444}.completion-celebration .celebration-confetti .confetti:nth-child(5){left:90%;animation-delay:2s;background:#06b6d4}.completion-celebration .trophy-icon{width:100px;height:100px;margin:0 auto;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#f59e0b;font-size:3rem;box-shadow:0 8px 24px rgba(245,158,11,.3);animation:bounceIn .8s ease-out,pulse 2s ease-in-out 1s infinite}.completion-celebration .celebration-title{font-size:2.5rem;font-weight:800;color:var(--text-primary);background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.completion-celebration .celebration-text{font-size:1.15rem;color:var(--text-secondary);line-height:1.7}.completion-celebration .certificate-btn{padding:1rem 2.5rem;border-radius:14px;font-weight:700;font-size:1.1rem;box-shadow:0 8px 24px rgba(16,185,129,.3);transition:all .3s ease}.completion-celebration .certificate-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(16,185,129,.4)}.completion-celebration .completion-stats .completion-stat{padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.completion-celebration .completion-stats .completion-stat i{font-size:1.5rem;display:block}.completion-celebration .completion-stats .completion-stat .stat-value{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:.5rem 0}.completion-celebration .completion-stats .completion-stat .stat-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}@keyframes confetti-fall{0%{top:-10%;transform:translateX(0) rotate(0deg);opacity:1}to{top:110%;transform:translateX(30px) rotate(1turn);opacity:0}}.module-viewer-card{border:none;border-radius:24px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden;animation:slideUp .6s ease-out .2s both}.module-viewer-card .module-viewer-header{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:2px solid #e5e7eb;padding:1.5rem;position:relative}.module-viewer-card .module-viewer-header:before{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,#667eea,#764ba2)}.module-viewer-card .module-viewer-header .module-title-section{display:flex;align-items:center}.module-viewer-card .module-viewer-header .module-title-section .module-icon-wrapper{width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;box-shadow:0 4px 12px rgba(102,126,234,.3)}.module-viewer-card .module-viewer-header .module-title-section .module-viewer-title{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0}.module-viewer-card .module-viewer-header .module-title-section .module-meta{font-size:.9rem;color:var(--text-secondary)}.module-viewer-card .module-viewer-header .module-title-section .module-meta .module-type-badge{padding:.35rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.module-viewer-card .module-viewer-header .completion-checkmark{width:45px;height:45px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;box-shadow:0 4px 12px rgba(16,185,129,.3);animation:bounceIn .8s ease-out}.module-viewer-card .module-viewer-body{padding:2rem}.module-viewer{background-color:#fff;border-radius:16px;padding:2rem;margin:1rem 0;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.modules-sidebar-card{border:none;border-radius:24px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden;animation:slideUp .6s ease-out .3s both}.modules-sidebar-card .modules-sidebar-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem}.modules-sidebar-card .modules-sidebar-header h5{color:#fff;font-weight:700}.modules-sidebar-card .modules-sidebar-header .modules-count-badge{background:hsla(0,0%,100%,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);padding:.5rem 1rem;border-radius:20px;font-weight:700}.modules-sidebar-card .modules-list{max-height:70vh;overflow-y:auto}.modules-sidebar-card .modules-list::-webkit-scrollbar{width:6px}.modules-sidebar-card .modules-list::-webkit-scrollbar-track{background:#f1f1f1}.modules-sidebar-card .modules-list::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.modules-sidebar-card .modules-list::-webkit-scrollbar-thumb:hover{background:#5a3fd6}.module-list-item{padding:1.25rem;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:all .3s ease;position:relative;background:#fff}.module-list-item:hover{background:#f8fafc;transform:translateX(4px)}.module-list-item.active{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-left:4px solid #667eea}.module-list-item.active .module-item-title{color:#667eea;font-weight:700}.module-list-item.active .active-indicator{position:absolute;right:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#667eea,#764ba2)}.module-list-item.completed .module-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.module-list-item.completed .module-item-title{color:var(--text-secondary)}.module-list-item .module-item-content{display:flex;align-items:center;gap:1rem}.module-list-item .module-item-left{display:flex;align-items:center;gap:.75rem}.module-list-item .module-item-left .module-number{width:32px;height:32px;background:#f8fafc;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-secondary);font-size:.9rem}.module-list-item .module-item-left .module-icon{width:40px;height:40px;background:linear-gradient(135deg,#f8fafc,#e5e7eb);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#667eea;font-size:1rem;transition:all .3s ease}.module-list-item .module-item-info{flex:1 1}.module-list-item .module-item-info .module-item-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem;line-height:1.4}.module-list-item .module-item-info .module-item-meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary)}.module-list-item .module-item-info .module-item-meta .duration{display:flex;align-items:center}.module-list-item .module-item-info .module-item-meta .type-dot{width:3px;height:3px;background:var(--text-secondary);border-radius:50%}.module-list-item .module-item-info .module-item-meta .type{text-transform:capitalize}.module-list-item .module-item-right .completion-badge{width:32px;height:32px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;box-shadow:0 2px 8px rgba(16,185,129,.3)}.loading-state-training{padding:6rem 2rem;animation:slideUp .6s ease-out}.loading-state-training .loading-spinner-wrapper{margin:0 auto}.loading-state-training .loading-spinner{width:120px;height:120px;margin:0 auto;position:relative;display:flex;align-items:center;justify-content:center}.loading-state-training .loading-spinner .spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-radius:50%;animation:spin 2s linear infinite}.loading-state-training .loading-spinner .spinner-ring:first-child{border-top-color:#667eea;animation-duration:1.5s}.loading-state-training .loading-spinner .spinner-ring:nth-child(2){border-right-color:#764ba2;animation-duration:2s;animation-direction:reverse;width:80%;height:80%}.loading-state-training .loading-spinner .spinner-ring:nth-child(3){border-bottom-color:#10b981;animation-duration:2.5s;width:60%;height:60%}.loading-state-training .loading-spinner i{font-size:2.5rem;color:#667eea;z-index:1;animation:pulse 2s ease-in-out infinite}.loading-state-training .loading-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.loading-state-training .loading-text{font-size:1rem;color:var(--text-secondary)}.error-state-training{padding:4rem 2rem;animation:slideUp .6s ease-out}.error-state-training .error-icon{width:100px;height:100px;margin:0 auto;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#dc2626;font-size:3rem;box-shadow:0 8px 24px rgba(220,38,38,.2);animation:shake .5s ease-in-out}.error-state-training .error-icon i{animation:pulse 2s ease-in-out infinite}.error-state-training .error-title{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.error-state-training .error-text{font-size:1.05rem;line-height:1.7;max-width:500px;margin:0 auto 1.5rem}.error-state-training .error-actions .btn{font-weight:600;padding:.875rem 2rem;border-radius:12px}.error-state-training .error-actions .btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.modal.show{animation:fadeIn .3s ease-out}.modal .modal-dialog.modal-lg{max-width:700px}.modal .modal-content{border-radius:24px;border:none;box-shadow:0 20px 60px rgba(0,0,0,.2);overflow:hidden}.modal .modal-header{padding:1.75rem 2rem;border-bottom:2px solid #e5e7eb;position:relative}.modal .modal-header.bg-primary{background:linear-gradient(135deg,#667eea,#764ba2)!important}.modal .modal-header.bg-primary:after{content:"";position:absolute;bottom:-2px;left:0;width:80px;height:2px;background:hsla(0,0%,100%,.5)}.modal .modal-header .modal-title{font-weight:700;font-size:1.35rem}.modal .modal-body .quiz-header{padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.modal .modal-body .quiz-header .quiz-question{font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.6;margin-bottom:1rem}.modal .modal-body .quiz-header .quiz-meta{display:flex;gap:.5rem}.modal .modal-body .quiz-header .quiz-meta .badge{padding:.5rem 1rem;border-radius:20px;font-weight:600}.modal .modal-body .quiz-options{margin-top:1.5rem}.modal .modal-body .quiz-result .alert{border-radius:16px;border:none;padding:1.5rem}.modal .modal-body .quiz-result .alert.alert-success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-left:4px solid #10b981}.modal .modal-body .quiz-result .alert.alert-success h6{color:#065f46;font-weight:700;font-size:1.1rem}.modal .modal-body .quiz-result .alert.alert-success p{color:#047857}.modal .modal-body .quiz-result .alert.alert-danger{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #ef4444}.modal .modal-body .quiz-result .alert.alert-danger h6{color:#991b1b;font-weight:700;font-size:1.1rem}.modal .modal-body .quiz-result .alert.alert-danger p{color:#b91c1c}.modal .modal-body .quiz-result .correct-answer{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;padding:1rem 1.25rem;border-left:3px solid #10b981}.modal .modal-body .quiz-result .correct-answer h6{font-size:.95rem;margin-bottom:.5rem}.modal .modal-body .quiz-result .correct-answer p{font-size:1.05rem;margin:0}.modal .modal-body .quiz-result .quiz-stats{background:#f8fafc;border-radius:12px;padding:1.25rem}.modal .modal-body .quiz-result .quiz-stats .stat-item h6{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:.5rem}.modal .modal-body .quiz-result .quiz-stats .stat-item p{font-size:1.25rem;font-weight:800}.modal .modal-footer{padding:1.25rem 2rem;border-top:2px solid #e5e7eb}.modal .modal-footer.bg-light{background:#f8fafc!important}.modal .modal-footer .btn{padding:.75rem 1.75rem;border-radius:12px;font-weight:600;transition:all .3s ease}.modal .modal-footer .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.quiz-option{border:2px solid #e5e7eb;border-radius:14px;padding:1.25rem;margin:.75rem 0;cursor:pointer;transition:all .3s ease;background:#fff;position:relative;overflow:hidden}.quiz-option:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,#667eea,#764ba2);transform:scaleY(0);transition:transform .3s ease}.quiz-option:hover{border-color:#667eea;background:linear-gradient(135deg,#f8fafc,#eef2ff);transform:translateX(4px)}.quiz-option:hover:before{transform:scaleY(1)}.quiz-option.border-primary{border-color:#667eea!important;background:linear-gradient(135deg,#eef2ff,#e0e7ff);box-shadow:0 4px 12px rgba(102,126,234,.2)}.quiz-option.border-primary:before{transform:scaleY(1)}.quiz-option.border-primary .option-text{color:#667eea;font-weight:600}.quiz-option.correct{border-color:#10b981!important;background:#ecfdf5}.quiz-option.incorrect{border-color:#ef4444!important;background:#fef2f2}.quiz-option .option-indicator{transition:all .3s ease}.quiz-option .option-text{font-size:1.05rem;color:var(--text-primary);line-height:1.5;transition:all .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.search-input .form-control{border-radius:12px;box-shadow:var(--shadow-sm);padding:.75rem 1rem}.search-input .form-control:focus{box-shadow:var(--shadow-md);border-color:var(--primary-color)}.search-input .btn{border-radius:0 12px 12px 0}.results-info{padding:.5rem 0;font-size:.875rem}.empty-state{padding:3rem 1rem}.empty-state i{opacity:.5}.empty-state h4{margin-bottom:.5rem}.empty-state p{margin-bottom:1.5rem}.empty-state-dashboard{background:#fff;border-radius:24px;padding:4rem 2rem;box-shadow:0 4px 20px rgba(0,0,0,.08);margin:2rem 0;animation:slideUp .6s ease-out}.empty-state-dashboard .empty-state-icon{width:120px;height:120px;margin:0 auto;background:linear-gradient(135deg,#f8fafc,#e5e7eb);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#667eea;font-size:3rem;box-shadow:0 8px 24px rgba(0,0,0,.08);animation:pulse 2s ease-in-out infinite}.empty-state-dashboard .empty-state-icon i{opacity:1}.empty-state-dashboard .empty-state-title{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.empty-state-dashboard .empty-state-text{font-size:1.05rem;line-height:1.7;max-width:600px;margin:0 auto 1.5rem}.empty-state-dashboard .empty-state-actions .btn{font-size:1rem;padding:.875rem 2rem;border-radius:12px;font-weight:600;transition:all .3s ease}.empty-state-dashboard .empty-state-actions .btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.training-meta{font-size:.875rem}.chart-card{border:none;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.08);background:#fff;transition:all .3s ease;overflow:hidden}.chart-card:hover{box-shadow:0 8px 30px rgba(0,0,0,.12);transform:translateY(-4px)}.chart-card .chart-header{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:2px solid #e5e7eb;padding:2rem;position:relative}.chart-card .chart-header:before{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,#667eea,#764ba2)}.chart-card .chart-header h5{color:var(--text-primary);font-weight:700;margin:0 0 .5rem;font-size:1.25rem}.chart-card .chart-header small{color:var(--text-secondary);font-size:.9rem;font-weight:500}.chart-card .card-body{padding:2rem}.table-card{border:none;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.08);background:#fff;overflow:hidden;transition:all .3s ease}.table-card:hover{box-shadow:0 8px 30px rgba(0,0,0,.12)}.table-card .table-header{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:2px solid #e5e7eb;padding:2rem;position:relative}.table-card .table-header:before{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,#667eea,#764ba2)}.table-card .table-header h5{color:var(--text-primary);font-weight:700;margin:0 0 .5rem;font-size:1.25rem}.table-card .table-header small{color:var(--text-secondary);font-size:.9rem;font-weight:500}.table-card .table{margin:0}.table-card .table th{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;background-color:#f8fafc}.table-card .table td,.table-card .table th{color:var(--text-primary);padding:1.25rem 1rem}.table-card .table td{font-size:.95rem;vertical-align:middle;border-top:1px solid #e5e7eb}.table-card .table tbody tr{transition:all .2s ease}.table-card .table tbody tr:hover{background-color:#f8fafc;transform:scale(1.005)}.table-card .table .table-light th{background-color:var(--light-bg)}.form-control,.form-select{border-radius:12px;border:2px solid #e5e7eb;padding:.875rem 1rem;font-size:1rem;transition:all .3s ease;background-color:#f9fafb}.form-control:focus,.form-select:focus{border-color:#667eea;background-color:#fff;box-shadow:0 0 0 4px rgba(102,126,234,.1);outline:none}.form-control.border-0,.form-select.border-0{border:none;box-shadow:0 2px 8px rgba(0,0,0,.08)}.form-control.border-0:focus,.form-select.border-0:focus{box-shadow:0 4px 16px rgba(102,126,234,.15)}.form-label{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem}.badge{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.85rem;letter-spacing:.025em}.badge.bg-success{background:linear-gradient(135deg,#10b981,#059669)!important}.badge.bg-warning{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.badge.bg-danger{background:linear-gradient(135deg,#ef4444,#dc2626)!important}.badge.bg-info{background:linear-gradient(135deg,#06b6d4,#0891b2)!important}.badge.bg-secondary{background:linear-gradient(135deg,#6b7280,#4b5563)!important}.badge.bg-primary{background:linear-gradient(135deg,#667eea,#764ba2)!important}.department-card{border:none;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .4s cubic-bezier(.4,0,.2,1);background:#fff;position:relative;overflow:hidden}.department-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.department-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.15)}.department-card:hover:before{transform:scaleX(1)}.department-card:hover .department-icon{transform:scale(1.1) rotate(5deg)}.department-card .department-icon{width:80px;height:80px;background:linear-gradient(135deg,#f8fafc,#e5e7eb);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:all .3s ease}.department-card .department-name{font-weight:700;color:var(--text-primary);margin-bottom:.75rem;font-size:1.15rem}.progress{height:10px;border-radius:10px;background:#e5e7eb;overflow:visible}.progress .progress-bar{border-radius:10px;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .5s ease}.progress .progress-bar.bg-primary{background:linear-gradient(90deg,#667eea,#764ba2)!important}.progress .progress-bar.bg-success{background:linear-gradient(90deg,#10b981,#059669)!important}.progress .progress-bar.bg-warning{background:linear-gradient(90deg,#f59e0b,#d97706)!important}.progress .progress-bar.bg-secondary{background:linear-gradient(90deg,#6b7280,#4b5563)!important}.alert{border-radius:16px;border:none;padding:1.25rem 1.5rem;font-weight:500;box-shadow:0 4px 12px rgba(0,0,0,.08)}.alert.alert-success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46;border-left:4px solid #10b981}.alert.alert-danger{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;border-left:4px solid #ef4444}.alert.alert-warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e;border-left:4px solid #f59e0b}.alert.alert-info{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#075985;border-left:4px solid #06b6d4}.modern-modal .modal-content{border:none;border-radius:16px;box-shadow:var(--shadow-xl)}.modern-modal .modal-header{border-bottom:1px solid var(--border-color);padding:1.5rem}.modern-modal .modal-header .modal-title{font-weight:600;color:var(--text-primary);display:flex;align-items:center}.modern-modal .modal-body{padding:1.5rem}.modern-modal .modal-footer{border-top:1px solid var(--border-color);padding:1rem 1.5rem;background:var(--light-bg)}.mobile-menu-btn{position:fixed;top:1rem;left:1rem;z-index:1050}.mobile-menu-btn .mobile-toggle-btn{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border:none;color:#fff;font-size:1.125rem;box-shadow:0 4px 12px rgba(79,70,229,.3);transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-menu-btn .mobile-toggle-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(79,70,229,.4)}.mobile-menu-btn .mobile-toggle-btn:active{transform:scale(.95)}.auth-page{background:linear-gradient(135deg,#f8fafc,#fff)}.auth-page,.auth-page .container-fluid{min-height:100vh}.auth-page .h-100{height:100vh!important}.auth-left-side{background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;padding:4rem}.auth-left-side:before{top:-30%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);animation:float 20s ease-in-out infinite}.auth-left-side:after,.auth-left-side:before{content:"";position:absolute;border-radius:50%}.auth-left-side:after{bottom:-30%;left:-20%;width:500px;height:500px;background:radial-gradient(circle,hsla(0,0%,100%,.08) 0,transparent 70%);animation:float 25s ease-in-out infinite reverse}.auth-branding{position:relative;z-index:2;max-width:500px;color:#fff}.auth-branding .auth-brand-logo{width:80px;height:80px;background:hsla(0,0%,100%,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.5rem;box-shadow:0 10px 30px rgba(0,0,0,.2);animation:slideUp .8s ease-out}.auth-branding .auth-brand-title{font-size:3.5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:slideUp .8s ease-out .2s both}.auth-branding .auth-brand-subtitle{font-size:1.25rem;line-height:1.7;color:hsla(0,0%,100%,.95);animation:slideUp .8s ease-out .4s both}.auth-features{animation:slideUp .8s ease-out .6s both}.auth-features .auth-feature-item{display:flex;align-items:center;margin-bottom:1.5rem;color:#fff;font-size:1.1rem;font-weight:500}.auth-features .auth-feature-item i{font-size:1.5rem;margin-right:1rem;color:hsla(0,0%,100%,.9)}.auth-right-side{background:#fff;padding:3rem 2rem;overflow-y:auto}.auth-form-container{width:100%;max-width:500px;animation:slideUp .8s ease-out}.auth-form-title{font-size:2.5rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem}.auth-form-subtitle{font-size:1.1rem;color:var(--text-secondary)}.auth-alert{border-radius:14px;background:#fee2e2;color:#dc2626;padding:1rem 1.25rem;border:none;border-left:4px solid #dc2626}.auth-alert i{font-size:1.1rem}.auth-form .auth-label{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem}.auth-form .auth-input-group{position:relative;display:flex;align-items:center}.auth-form .auth-input-group i{position:absolute;left:1rem;color:var(--text-secondary);font-size:1rem;z-index:2;pointer-events:none}.auth-form .auth-input-group .auth-input{width:100%;padding:.875rem 1rem .875rem 3rem;font-size:1rem;border:2px solid #e5e7eb;border-radius:12px;transition:all .3s ease;background:#f9fafb}.auth-form .auth-input-group .auth-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px rgba(102,126,234,.1)}.auth-form .auth-input-group .auth-input::placeholder{color:#9ca3af}.auth-form .auth-checkbox .form-check-input{width:1.2rem;height:1.2rem;border-radius:6px;border:2px solid #e5e7eb;cursor:pointer}.auth-form .auth-checkbox .form-check-input:checked{background-color:#667eea;border-color:#667eea}.auth-form .auth-checkbox .form-check-input:focus{box-shadow:0 0 0 4px rgba(102,126,234,.1)}.auth-form .auth-checkbox .form-check-label{margin-left:.5rem;color:var(--text-secondary);font-size:.95rem;cursor:pointer}.auth-btn-primary{padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;box-shadow:0 10px 25px rgba(102,126,234,.3);transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 35px rgba(102,126,234,.4);background:linear-gradient(135deg,#5a3fd6,#6a3e94)}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-primary:disabled{opacity:.7;cursor:not-allowed}.auth-divider{position:relative;text-align:center;margin:2rem 0}.auth-divider:after,.auth-divider:before{content:"";position:absolute;top:50%;width:45%;height:1px;background:#e5e7eb}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-divider span{background:#fff;padding:0 1rem;color:var(--text-secondary);font-size:.9rem;font-weight:500}.auth-footer-text{color:var(--text-secondary);font-size:1rem;margin:0}.auth-link{color:#667eea;text-decoration:none;font-weight:500;transition:all .2s ease}.auth-link:hover{color:#5a3fd6;text-decoration:underline}.auth-link-primary{color:#667eea;text-decoration:none;font-weight:700;transition:all .2s ease}.auth-link-primary:hover{color:#5a3fd6;text-decoration:underline}.auth-demo-text{background:#f3f4f6;border-radius:10px;padding:.75rem 1rem;color:var(--text-secondary);font-size:.9rem;margin:0;border:1px solid #e5e7eb}.auth-demo-text i{color:#667eea}@media(max-width:768px){.main-content{margin-left:0;padding:0}.sidebar-desktop{display:none}.content-wrapper{padding:4rem 1rem 1rem}.page-content{padding:0 1rem 1rem}.page-header{padding:1.5rem 0}.page-header .page-title{font-size:1.5rem}.hero-section h1{font-size:2.5rem}.hero-section .lead{font-size:1.1rem}.sidebar-toggle-btn{display:none}}@media(max-width:576px){.stats-card{margin-bottom:1rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}}