.dashboard-header{border-radius:var(--radius-2xl);border:1px solid var(--border-light);background:linear-gradient(135deg,#6366f114 0%,#764ba214 100%);margin-bottom:3em;padding:2.5em;position:relative;overflow:hidden}.dashboard-header:before{content:"";background:radial-gradient(circle,#6366f11a 0%,#0000 70%);width:100%;height:100%;animation:15s ease-in-out infinite float;position:absolute;top:-50%;right:-50%}.dashboard-header h1{color:var(--text-dark);z-index:1;margin-bottom:.5em;font-size:2.75em;position:relative}.dashboard-header p{color:var(--text-light);z-index:1;font-size:1.15em;font-weight:500;position:relative}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.75em;margin-bottom:3.5em;display:grid}.stat-card{border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);transition:all var(--transition-base);cursor:pointer;background:#fff;align-items:center;gap:1.25em;padding:2em;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";opacity:0;width:100%;height:100%;transition:opacity var(--transition-base);background:linear-gradient(135deg,#0000 0%,#6366f108 100%);position:absolute;top:0;left:0}.stat-card:after{content:"";background:var(--primary-gradient);border-radius:var(--radius-2xl);opacity:0;z-index:-1;transition:opacity var(--transition-base);position:absolute;inset:-2px}.stat-card:hover{box-shadow:var(--shadow-2xl);transform:translateY(-6px)scale(1.02)}.stat-card:hover:before{opacity:1}.stat-card:hover:after{opacity:.1}.stat-icon{border-radius:var(--radius-xl);width:72px;height:72px;box-shadow:var(--shadow-md);z-index:1;transition:all var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;font-size:2em;display:flex;position:relative}.stat-card:hover .stat-icon{transform:rotate(5deg)scale(1.1)}.stat-info h3{background:var(--primary-gradient);-webkit-text-fill-color:transparent;z-index:1;transition:all var(--transition-base);-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.5em;font-weight:800;position:relative}.stat-card:hover .stat-info h3{transform:scale(1.05)}.stat-info p{color:var(--text-medium);letter-spacing:.01em;z-index:1;margin:.5em 0 0;font-size:.95em;font-weight:600;position:relative}.dashboard-section{margin-bottom:3em}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5em;display:flex}.section-header h2{margin:0}.section-header a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .3s}.section-header a:hover{color:var(--primary-dark);text-decoration:underline}.course-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2.25em;display:grid}.course-card{border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);transition:all var(--transition-slow);cursor:pointer;background:#fff;position:relative;overflow:hidden}.course-card:after{content:"";opacity:0;transition:opacity var(--transition-base);pointer-events:none;background:linear-gradient(135deg,#6366f10d 0%,#0000 100%);position:absolute;inset:0}.course-card:hover{box-shadow:var(--shadow-2xl);border-color:var(--primary-light);transform:translateY(-10px)scale(1.02)}.course-card:hover:after{opacity:1}.course-card img{object-fit:cover;width:100%;height:220px;transition:transform var(--transition-slow)}.course-card:hover img{transform:scale(1.08)}.course-content{z-index:1;padding:2em;position:relative}.course-content h3{color:var(--text-dark);transition:color var(--transition-base);margin:0 0 .75em;font-size:1.4em;font-weight:700;line-height:1.3}.course-rating-slot{min-height:1.5em;margin-bottom:.4em}.course-rating{color:#f59e0b;align-items:center;gap:.25rem;font-size:.85rem;display:flex}.course-rating-empty{visibility:hidden}.course-card:hover .course-content h3{color:var(--primary-color)}.course-description{color:var(--text-medium);-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:4.9em;max-height:4.9em;margin-bottom:1.5em;font-size:.95em;line-height:1.7;display:-webkit-box;overflow:hidden}.progress-bar{background:var(--background-tertiary);border-radius:var(--radius-2xl);width:100%;height:12px;margin-bottom:.75em;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #00000014}.progress-fill{background:var(--primary-gradient);border-radius:var(--radius-2xl);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-fill:before{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:2s infinite shimmer-progress;position:absolute;inset:0}.progress-fill:after{content:"";background:linear-gradient(#ffffff4d 0%,#0000 100%);position:absolute;inset:0}.progress-text{color:var(--text-medium);margin-bottom:1.25em;font-size:.9em;font-weight:600}.continue-btn{text-align:center;background:var(--primary-gradient);color:#fff;border-radius:var(--radius-xl);width:100%;transition:all var(--transition-base);box-shadow:var(--shadow-md);z-index:1;justify-content:center;align-items:center;gap:.5em;padding:1.1em;font-size:.95em;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.continue-btn:before{content:"";z-index:-1;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.continue-btn:after{content:"→";transition:transform var(--transition-base);margin-left:.5em;font-size:1.2em}.continue-btn:hover:before{left:100%}.continue-btn:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.continue-btn:hover:after{transform:translate(4px)}.empty-state{text-align:center;box-shadow:var(--card-shadow);background:#fff;border-radius:12px;padding:4em 2em}.empty-state h3{color:var(--text-dark);margin:1em 0 .5em}.empty-state p{color:var(--text-light);margin-bottom:2em}.btn-primary{background-color:var(--primary-color);color:#fff;border-radius:6px;padding:.75em 2em;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px)}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:1em}.stat-card{text-align:center;flex-direction:column}.course-grid{grid-template-columns:1fr}}
