:root{
    --violet:#5624d0; --violet-dark:#401b9c; --accent:#ff6b35; --accent-dark:#e85a2a;
    --ink:#1c1d1f; --muted:#6a6f73; --bg:#f7f9fc; --line:#e6e8ec;
}
*{font-family:'Poppins',system-ui,sans-serif;}
body{color:var(--ink);background:#fff;margin:0;}
a{text-decoration:none;}
.text-accent{color:var(--accent)!important;}
.text-muted-light{color:#b9bdc7;}

/* Buttons */
.btn-accent{background:var(--accent);border:none;color:#fff;font-weight:600;border-radius:10px;transition:.2s;}
.btn-accent:hover{background:var(--accent-dark);color:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(255,107,53,.35);}
.btn-outline-accent{border:2px solid var(--violet);color:var(--violet);font-weight:600;border-radius:10px;background:#fff;}
.btn-outline-accent:hover{background:var(--violet);color:#fff;}

/* Navbar */
.eh-navbar{background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.06);padding:.7rem 0;}
.eh-navbar .navbar-brand{font-size:1.5rem;color:var(--violet);}
.eh-navbar .nav-link{color:var(--ink);font-weight:500;margin:0 .3rem;}
.eh-navbar .nav-link:hover{color:var(--violet);}
.eh-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;}
.eh-main{min-height:60vh;}

/* Hero */
.eh-hero{background:linear-gradient(135deg,#f4f1ff 0%,#fff 60%);padding:4.5rem 0;}
.eh-hero-tag{display:inline-block;background:#ece7ff;color:var(--violet);padding:.35rem 1rem;border-radius:30px;font-weight:600;font-size:.85rem;margin-bottom:1rem;}
.eh-hero-title{font-size:3rem;font-weight:800;line-height:1.15;margin-bottom:1rem;}
.eh-hero-sub{color:var(--muted);font-size:1.1rem;max-width:520px;margin-bottom:1.5rem;}
.eh-hero-search{display:flex;gap:.5rem;max-width:520px;margin-bottom:2rem;}
.eh-hero-search .form-control{border-radius:10px;padding:.8rem 1rem;border:2px solid var(--line);}
.eh-hero-stats{display:flex;gap:2.5rem;}
.eh-hero-stats strong{display:block;font-size:1.6rem;color:var(--violet);}
.eh-hero-stats span{color:var(--muted);font-size:.9rem;}
.eh-hero-img{max-width:100%;border-radius:24px;box-shadow:0 30px 60px rgba(86,36,208,.18);}

/* Sections */
.eh-section-head{text-align:center;margin-bottom:2.5rem;}
.eh-section-head h2{font-weight:800;font-size:2rem;}
.eh-section-head p{color:var(--muted);}
.eh-section-grey{background:var(--bg);}
.eh-page-hero{background:var(--violet);color:#fff;padding:3rem 0;}
.eh-page-hero h1{font-weight:800;}
.eh-page-hero p{opacity:.85;margin:0;}

/* Category cards */
.eh-cat-card{display:flex;flex-direction:column;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.6rem 1rem;color:var(--ink);transition:.2s;height:100%;}
.eh-cat-card:hover{border-color:var(--violet);transform:translateY(-4px);box-shadow:0 12px 24px rgba(86,36,208,.12);color:var(--violet);}
.eh-cat-card i{font-size:2rem;color:var(--violet);}
.eh-cat-card span{font-weight:600;font-size:.92rem;text-align:center;}

/* Course cards */
.eh-course-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.25s;}
.eh-course-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,0,0,.12);}
.eh-thumb-link{position:relative;display:block;}
.eh-thumb{width:100%;height:170px;object-fit:cover;}
.eh-badge-cat{position:absolute;top:12px;left:12px;background:#fff;color:var(--violet);font-size:.72rem;font-weight:700;padding:.25rem .7rem;border-radius:20px;}
.eh-badge-cat-dark{background:var(--accent);color:#fff;font-size:.75rem;font-weight:700;padding:.3rem .8rem;border-radius:20px;}
.eh-card-body{padding:1.1rem;}
.eh-card-title{font-weight:700;font-size:1rem;margin-bottom:.4rem;line-height:1.35;}
.eh-card-title a{color:var(--ink);}
.eh-card-title a:hover{color:var(--violet);}
.eh-instructor{color:var(--muted);font-size:.85rem;margin-bottom:.4rem;}
.eh-rating{display:flex;align-items:center;gap:.4rem;margin-bottom:.6rem;}
.eh-stars{color:#f4a300;font-size:.85rem;}
.eh-rating-num{font-weight:700;color:#b4690e;font-size:.85rem;}
.eh-card-foot{display:flex;justify-content:space-between;align-items:center;}
.eh-price{font-weight:800;color:var(--violet);font-size:1.15rem;}

/* Stats band */
.eh-stats-band{background:var(--violet);color:#fff;padding:3rem 0;}
.eh-stats-band i{font-size:2rem;opacity:.8;}
.eh-stats-band h3{font-weight:800;margin:.4rem 0 0;}
.eh-stats-band p{opacity:.8;margin:0;}

/* Instructors / testimonials */
.eh-instructor-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem;text-align:center;transition:.2s;height:100%;}
.eh-instructor-card:hover{box-shadow:0 14px 30px rgba(0,0,0,.1);transform:translateY(-4px);}
.eh-instructor-img{width:96px;height:96px;border-radius:50%;object-fit:cover;margin-bottom:1rem;}
.eh-testimonial{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.6rem;height:100%;}
.eh-testimonial p{color:var(--muted);font-style:italic;}
.eh-testimonial-author{display:flex;align-items:center;gap:.7rem;margin-top:1rem;}
.eh-testimonial-author img{width:42px;height:42px;border-radius:50%;}

/* CTA / footer */
.eh-cta{background:linear-gradient(135deg,var(--violet),var(--violet-dark));color:#fff;padding:4rem 0;text-align:center;}
.eh-cta h2{font-weight:800;}
.eh-footer{background:#15151c;color:#cfd2dc;padding:3rem 0 1.5rem;}
.eh-footer h6{color:#fff;font-weight:600;margin-bottom:1rem;}
.eh-footer a{display:block;color:#9aa0b0;margin-bottom:.5rem;}
.eh-footer a:hover{color:#fff;}
.eh-social{display:flex;gap:.8rem;font-size:1.3rem;}
.eh-social a{margin:0;}

/* Auth */
.eh-auth{min-height:80vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:3rem 1rem;}
.eh-auth-card{background:#fff;border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.1);padding:2.5rem;width:100%;max-width:460px;}
.eh-auth-head{text-align:center;margin-bottom:1.6rem;}
.eh-auth-head i{font-size:2.4rem;color:var(--violet);}
.eh-auth-head h3{font-weight:800;margin-top:.5rem;}
.eh-auth-head p{color:var(--muted);margin:0;}
.eh-auth-card .form-control{border-radius:10px;padding:.7rem .9rem;}
.eh-demo-creds{background:#f4f1ff;border-radius:10px;padding:.8rem;font-size:.78rem;color:var(--muted);margin-top:1rem;}

/* Filters / detail */
.eh-filter{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem;position:sticky;top:90px;}
.eh-filter-list a{display:flex;align-items:center;gap:.5rem;color:var(--ink);padding:.45rem .6rem;border-radius:8px;font-size:.92rem;}
.eh-filter-list a:hover,.eh-filter-list a.active{background:#f4f1ff;color:var(--violet);font-weight:600;}
.eh-detail-hero{background:linear-gradient(135deg,#2d2235,#1c1d1f);padding:3rem 0;}
.eh-detail-hero h1{font-weight:800;}
.eh-detail-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;color:#ddd;font-size:.9rem;}
.eh-enroll-card{background:#fff;border-radius:16px;padding:1.2rem;box-shadow:0 20px 50px rgba(0,0,0,.3);}
.eh-price-lg{font-size:1.8rem;font-weight:800;color:var(--violet);margin-bottom:1rem;}
.eh-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.6rem;}
.eh-panel h4,.eh-panel h5{font-weight:700;}
.eh-review{display:flex;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);}
.eh-review img{width:46px;height:46px;border-radius:50%;}
.eh-pay-methods{display:flex;flex-direction:column;gap:.6rem;}
.eh-pay-opt{border:2px solid var(--line);border-radius:10px;padding:.8rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.6rem;}
.eh-check-list{list-style:none;padding:0;}
.eh-check-list li{margin-bottom:.6rem;}
.eh-check-list i{color:#2ecc71;margin-right:.5rem;}
.eh-contact-info>div{display:flex;gap:1rem;align-items:start;margin-bottom:1.4rem;}
.eh-contact-info i{font-size:1.4rem;color:var(--violet);}

/* Dashboard */
.eh-dashboard{padding:0;}
.eh-sidebar{width:260px;min-height:calc(100vh - 70px);background:linear-gradient(180deg,var(--violet),var(--violet-dark));color:#fff;padding:1.5rem 0;position:sticky;top:0;}
.eh-sidebar-head{display:flex;gap:.8rem;align-items:center;padding:0 1.5rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.15);}
.eh-sidebar-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;}
.eh-sidebar-nav{display:flex;flex-direction:column;padding:1rem .8rem;}
.eh-sidebar-nav a{color:#e7e0ff;padding:.75rem 1rem;border-radius:10px;display:flex;align-items:center;gap:.7rem;font-weight:500;margin-bottom:.2rem;transition:.15s;}
.eh-sidebar-nav a:hover,.eh-sidebar-nav a.active{background:rgba(255,255,255,.18);color:#fff;}
.eh-dash-content{padding:2rem;background:var(--bg);min-height:calc(100vh - 70px);}
.eh-dash-content h3{font-weight:800;}
.eh-stat-card{background:#fff;border-radius:14px;padding:1.2rem;display:flex;gap:1rem;align-items:center;box-shadow:0 4px 14px rgba(0,0,0,.05);height:100%;}
.eh-stat-card h4,.eh-stat-card h6{font-weight:800;margin:0;}
.eh-stat-card span{color:var(--muted);font-size:.85rem;}
.eh-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;flex-shrink:0;}
.bg-violet{background:var(--violet);}.bg-orange{background:var(--accent);}.bg-green{background:#2ecc71;}
.bg-pink{background:#e84393;}.bg-blue{background:#3498db;}
.eh-table thead th{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--line);}
.eh-progress-row{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);}
.eh-activity{display:flex;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line);}
.eh-activity i{color:var(--accent);}

/* Learning page */
.eh-learn-top{background:#1c1d1f;padding:.8rem 0;}
.eh-learn-main{padding:1.5rem;}
.eh-learn-side{background:#fff;border-left:1px solid var(--line);min-height:calc(100vh - 120px);}
.eh-lesson-list{max-height:calc(100vh - 170px);overflow:auto;}
.eh-lesson-item{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);cursor:pointer;}
.eh-lesson-item:hover{background:#f4f1ff;}
.eh-material-row{display:flex;align-items:center;gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--line);}
.eh-lesson-manage{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line);}

/* Toast */
.eh-toast{min-width:280px;}

@media(max-width:991px){
    .eh-hero-title{font-size:2.1rem;}
    .eh-sidebar{width:100%;min-height:auto;position:static;}
    .eh-dashboard .row{flex-direction:column;}
}
