:root{
  --navy:#0B2545; --navy-2:#13315C; --navy-3:#1E4174;
  --green:#16A34A; --green-2:#12803B; --green-soft:#E8F7EE;
  --ink:#1B2433; --muted:#5B6576; --line:#E3E8EF; --bg:#F5F7FB;
}
body{font-family:'Plus Jakarta Sans','Noto Sans Devanagari',system-ui,sans-serif;color:var(--ink);background:var(--bg)}
html[lang=hi] body{font-family:'Noto Sans Devanagari','Plus Jakarta Sans',system-ui,sans-serif}
a{color:var(--navy-3)}
.nav-main{background:var(--navy)}
.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--green);color:#fff;font-size:18px}
.btn-green{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
.btn-green:hover,.btn-green:focus{background:var(--green-2);border-color:var(--green-2);color:#fff}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
.btn-navy:hover{background:var(--navy-3);color:#fff}
.text-green{color:var(--green)!important}
.text-navy{color:var(--navy)!important}
.bg-navy{background:var(--navy)!important}
.bg-green-soft{background:var(--green-soft)!important}

/* Hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff;padding:72px 0 64px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(22,163,74,.35),transparent 70%)}
.hero h1{font-weight:800;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.15}
.hero p.lead{color:#C9D6EA;max-width:640px}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}
.hero-stats b{display:block;font-size:1.6rem}
.hero-stats span{color:#9FB3D1;font-size:.85rem}

/* Cards */
.card{border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.course-card{transition:transform .15s,box-shadow .15s;height:100%}
.course-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(11,37,69,.10)}
.course-card .band{height:8px;border-radius:14px 14px 0 0}
.lv-junior .band{background:#F59E0B}.lv-beginner .band{background:var(--green)}.lv-advanced .band{background:var(--navy-3)}.lv-tools .band{background:#7C3AED}
.badge-level{font-weight:600;letter-spacing:.02em}
.badge-junior{background:#FEF3C7;color:#92400E}.badge-beginner{background:var(--green-soft);color:var(--green-2)}.badge-advanced{background:#E0E8F5;color:var(--navy-3)}.badge-tools{background:#EDE9FE;color:#5B21B6}
.price{font-weight:800;font-size:1.4rem;color:var(--navy)}
.price s{font-size:.9rem;color:var(--muted);font-weight:500}
.section-title{font-weight:800;color:var(--navy)}
.stat-card .num{font-size:1.75rem;font-weight:800;color:var(--navy)}
.stat-card .lbl{color:var(--muted);font-size:.85rem}
.progress{height:8px;border-radius:99px;background:#E6EBF2}
.progress-bar{background:var(--green)}

/* Lesson player */
.learn-wrap{display:grid;grid-template-columns:300px minmax(0,1fr) 320px;min-height:calc(100vh - 56px)}
.learn-side{background:#fff;border-right:1px solid var(--line);overflow-y:auto;max-height:calc(100vh - 56px);position:sticky;top:56px}
.learn-main{padding:24px 32px;min-width:0}
.learn-right{background:#fff;border-left:1px solid var(--line);padding:20px;overflow-y:auto;max-height:calc(100vh - 56px);position:sticky;top:56px}
.side-module{padding:12px 16px 4px;font-weight:700;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.side-lesson{display:flex;gap:10px;align-items:flex-start;padding:9px 16px;text-decoration:none;color:var(--ink);font-size:.92rem;border-left:3px solid transparent}
.side-lesson:hover{background:var(--bg)}
.side-lesson.active{background:var(--green-soft);border-left-color:var(--green);font-weight:600}
.side-lesson.locked{color:#9AA4B2;pointer-events:none}
.side-lesson i{margin-top:2px}
.video-box{position:relative;padding-top:56.25%;border-radius:14px;overflow:hidden;background:#000}
.video-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lesson-body{font-size:1.02rem;line-height:1.75}
.lesson-body h3{font-size:1.2rem;font-weight:700;color:var(--navy);margin-top:1.6rem}
.lesson-body h4{font-size:1.05rem;font-weight:700;margin-top:1.2rem}
.lesson-body .prompt{background:#0F1B2D;color:#E6EDF7;border-radius:10px;padding:14px 16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9rem;white-space:pre-wrap;margin:12px 0}
.lesson-body .tip{background:var(--green-soft);border-left:4px solid var(--green);padding:12px 16px;border-radius:8px;margin:14px 0}
.lesson-body .warn{background:#FFF7E6;border-left:4px solid #F59E0B;padding:12px 16px;border-radius:8px;margin:14px 0}
.lesson-body table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.95rem}
.lesson-body th,.lesson-body td{border:1px solid var(--line);padding:8px 10px;vertical-align:top}
.lesson-body th{background:var(--bg)}
.panel-title{font-weight:700;color:var(--navy);font-size:.95rem;margin-bottom:8px}
.obj-list li{margin-bottom:4px}
@media (max-width:1199px){.learn-wrap{grid-template-columns:260px minmax(0,1fr)}.learn-right{grid-column:2;position:static;max-height:none;border-left:0;border-top:1px solid var(--line)}}
@media (max-width:767px){.learn-wrap{grid-template-columns:1fr}.learn-main{order:1}.learn-right{order:2}.learn-side{order:3;position:static;max-height:none;border-right:0;border-top:1px solid var(--line)}.learn-right{grid-column:1}.learn-main{padding:18px 16px}}

/* Admin */
.admin-wrap{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 56px)}
.admin-side{background:var(--navy-2);padding:16px 0}
.admin-side a{display:flex;gap:10px;align-items:center;color:#C9D6EA;text-decoration:none;padding:9px 20px;font-size:.92rem}
.admin-side a:hover,.admin-side a.active{background:rgba(255,255,255,.08);color:#fff}
.admin-side a.active{border-left:3px solid var(--green)}
.admin-main{padding:24px 28px;min-width:0}
@media (max-width:991px){.admin-wrap{grid-template-columns:1fr}.admin-side{display:flex;overflow-x:auto;padding:0}.admin-side a{white-space:nowrap}}
.table thead th{font-size:.8rem;text-transform:uppercase;color:var(--muted);letter-spacing:.03em;background:var(--bg)}
textarea.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}

.site-footer{background:var(--navy);color:#9FB3D1}
.auth-card{max-width:440px;margin:48px auto}
.cert-sheet{background:#fff;max-width:1000px;margin:24px auto;padding:56px;border:10px solid var(--navy);outline:3px solid var(--green);outline-offset:-22px;text-align:center}
.cert-sheet h1{font-weight:800;color:var(--navy);letter-spacing:.04em}
.cert-name{font-size:2.4rem;font-weight:800;color:var(--green-2);border-bottom:2px solid var(--line);display:inline-block;padding:0 24px 6px}
@media print{.nav-main,.site-footer,.no-print{display:none!important}body{background:#fff}.cert-sheet{margin:0;max-width:none}}
:focus-visible{outline:3px solid #60A5FA;outline-offset:2px}
/* WhatsApp CTA */
.btn-wa{background:#25D366;color:#fff;font-weight:600}.btn-wa:hover{background:#1DA851;color:#fff}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:1050;display:flex;align-items:center;gap:8px;background:#25D366;color:#fff;text-decoration:none;font-weight:600;border-radius:99px;padding:10px 16px 10px 12px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.wa-float i{font-size:1.5rem;line-height:1}.wa-float:hover{background:#1DA851;color:#fff}
@media (max-width:576px){.wa-float span{display:none}.wa-float{padding:12px}}
@media print{.wa-float{display:none}}
/* Hero poster (right half) */
.hero-poster{display:block;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.35);border:3px solid rgba(255,255,255,.12);transition:transform .2s}
.hero-poster:hover{transform:translateY(-3px)}
.hero-poster img{display:block;width:100%;height:auto}
