@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--primary:#2F80ED;--secondary:#00A88F;--accent:#FFB020;--bg:#f6f7fb;--surface:#fff;--soft:#eef2f7;--text:#172033;--muted:#667085;--border:#d9e0ea;--shadow:0 20px 55px rgba(20,31,52,.12)}
[data-theme=dark]{--bg:#0d111a;--surface:#151b27;--soft:#202838;--text:#eef4ff;--muted:#a7b1c2;--border:#2d3748;--shadow:0 22px 65px rgba(0,0,0,.35)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,color-mix(in srgb,var(--primary),transparent 78%),transparent 34rem),linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--secondary),var(--bg) 92%));color:var(--text);font-family:Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;letter-spacing:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}
.auth-shell{display:grid;place-items:center;padding:28px}.login-panel{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}.login-copy h1,.hero-strip h1,.section-head h1{margin:10px 0;font-size:clamp(2rem,5vw,4.5rem);line-height:1}.login-copy p{max-width:520px;color:var(--muted);font-size:1.08rem}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:850}
.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px clamp(16px,4vw,42px);background:color-mix(in srgb,var(--surface),transparent 10%);border-bottom:1px solid var(--border);backdrop-filter:blur(18px)}.topbar-main{display:contents}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;min-width:max-content}.brand img{max-height:40px;max-width:180px}.logo-dark{display:none}[data-theme=dark] .logo-light{display:none}[data-theme=dark] .logo-dark{display:block}.nav{display:flex;gap:6px;justify-content:center;min-width:0}.nav a,.admin-tabs a{padding:9px 13px;border-radius:8px;color:var(--muted);white-space:nowrap}.nav a.is-active,.admin-tabs a.is-active{background:color-mix(in srgb,var(--primary),transparent 86%);color:var(--text)}.top-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.hamburger,.mobile-logout{display:none}.hamburger{width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--soft);color:var(--text);padding:0;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}.hamburger span{width:17px;height:2px;border-radius:999px;background:currentColor;transition:transform .22s ease,opacity .18s ease}.menu-open .hamburger span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-open .hamburger span:nth-child(2){opacity:0}.menu-open .hamburger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:30px 0 48px}.hero-strip,.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:26px}.eyebrow{margin:0;color:var(--secondary);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pill{border:1px solid var(--border);background:var(--surface);padding:10px 14px;border-radius:999px;color:var(--muted)}
.banner-hero{min-height:260px;margin-bottom:28px;border-radius:8px;overflow:hidden;display:flex;align-items:end;padding:28px;background:linear-gradient(180deg,rgba(8,13,24,.08),rgba(8,13,24,.78)),var(--banner) center/cover;color:#fff;box-shadow:var(--shadow)}.banner-hero h1{margin:8px 0 0;font-size:clamp(2rem,4vw,4rem);line-height:1}.banner-hero .eyebrow{color:#d9fff7}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.video-card,.card,.metric{background:color-mix(in srgb,var(--surface),transparent 2%);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.video-card{overflow:hidden;background:#005ca8}.thumb{position:relative;width:100%;aspect-ratio:16/9;border:0;padding:0;cursor:pointer;overflow:hidden;background:#005ca8;color:#fff}.thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,92,168,.02),rgba(0,58,114,.42));pointer-events:none}.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.thumb:hover img{transform:scale(1.04)}.thumb span{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;font-weight:900;text-align:left;text-shadow:0 2px 12px rgba(0,0,0,.55)}.thumb i{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:rgba(0,58,114,.72);color:#fff;font-style:normal;z-index:2}.video-body{padding:20px;background:var(--surface)}.video-body h2,.card h2{margin:0 0 10px;font-size:1.18rem}.video-body p,.muted{color:var(--muted);margin:0}.video-body p{white-space:pre-line;line-height:1.5}.player{background:#005ca8;padding:12px}.player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#005ca8}
.card{padding:18px}.login-form,.panel-form{display:grid;gap:14px}.panel-form{max-width:860px}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.wide-left{grid-template-columns:360px minmax(0,1fr)}.stack{display:grid;gap:18px}.form-grid,.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px}label{display:grid;gap:9px;color:var(--muted);font-weight:700;font-size:.82rem}label[hidden]{display:none!important}input,textarea,select{width:100%;border:1.5px solid var(--border);border-radius:8px;background:var(--soft);color:var(--text);padding:13px 15px;outline:none;font-size:.9rem;line-height:1.35}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 80%)}
.primary-btn,.ghost-btn,.small-btn,.danger-btn,.icon-btn{border:0;border-radius:8px;min-height:40px;padding:10px 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.primary-btn{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.ghost-btn,.icon-btn{background:var(--soft);color:var(--text)}.small-btn{background:var(--primary);color:#fff}.danger-btn{background:#dc2626;color:#fff}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.metric{padding:18px}.metric span{color:var(--muted);display:block}.metric strong{font-size:2rem}.list-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-size:.86rem}.inline-edit{display:grid;gap:8px}.actions{display:flex;gap:8px;flex-wrap:wrap}.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.theme-choice{border:1px solid var(--border);border-radius:8px;padding:12px;cursor:pointer}.theme-choice input{width:auto}.theme-choice span{display:flex;gap:5px;margin:5px 0}.theme-choice b{width:22px;height:22px;border-radius:50%}.theme-choice b:nth-child(1){background:var(--sw1)}.theme-choice b:nth-child(2){background:var(--sw2)}.theme-choice b:nth-child(3){background:var(--sw3)}
.admin-users-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;align-items:start}.user-edit-form{display:grid;gap:18px;font-size:.9rem}.user-edit-form h2{font-size:1rem}.user-edit-form .form-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:20px}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.user-list-card{padding:0;overflow:hidden}.list-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.list-card-head h2{margin:0;font-size:1rem}.user-list{display:grid}.user-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border)}.user-row:last-child{border-bottom:0}.user-row strong{display:block;font-size:.92rem;font-weight:700}.user-row span{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;word-break:break-word}.user-row small{font-size:.72rem;color:var(--muted);background:var(--soft);border:1px solid var(--border);border-radius:999px;padding:6px 10px}.user-row .small-btn{min-height:34px;padding:8px 12px;font-size:.78rem}
.alert,.toast{border-radius:8px;padding:12px 14px;margin-bottom:16px;border:1px solid var(--border);background:var(--surface)}.success{border-color:color-mix(in srgb,var(--secondary),white 45%)}.error{border-color:#ef4444}.empty-state{grid-column:1/-1;padding:48px 18px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:8px}.site-footer{width:min(1180px,calc(100% - 32px));margin:0 auto 28px;color:var(--muted);border-top:1px solid var(--border);padding-top:18px}
.login-dark{min-height:100vh;background:#fff;color:var(--text)}.login-dark .login-panel{width:min(430px,calc(100% - 32px));grid-template-columns:1fr;gap:22px;text-align:center}.login-dark .login-copy{display:grid;justify-items:center;gap:10px}.login-logo{width:min(330px,86vw);min-width:min(330px,86vw);height:auto;margin-bottom:8px}
.login-banner{width:100%;aspect-ratio:1074/307;border-radius:14px;background:url(/assets/img/banner_new.jpg) center/contain no-repeat #fff;box-shadow:0 10px 30px rgba(20,31,52,.12);margin:0 auto 6px}
.login-dark .login-copy h1{font-size:1.75rem;margin:8px 0 0;color:var(--text)}.login-dark .login-copy p{font-size:.92rem;color:var(--muted);margin:0}.login-dark .login-form{text-align:left;padding:24px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.login-dark label{color:var(--muted)}.login-dark input{background:var(--soft);border-color:var(--border);color:var(--text)}.login-dark input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 80%)}.login-dark .primary-btn{background:#0022C7}
.auth-link{margin:0;text-align:center;color:var(--muted);font-size:.85rem}.auth-link a{color:var(--text);font-weight:800;text-decoration:underline}
.register-panel{width:min(820px,calc(100% - 32px))!important}.register-form{gap:26px}.form-section{display:grid;gap:14px}.form-section h2{margin:0;font-size:1rem;color:var(--text)}.form-section .form-grid{grid-template-columns:repeat(2,minmax(210px,1fr));gap:16px}.fee-box{background:var(--soft);border:1px solid var(--border);border-radius:10px;padding:14px 16px;font-weight:700}
.consent-box{border:2px solid var(--accent);border-radius:14px;padding:16px;background:color-mix(in srgb,var(--accent),transparent 88%)}.consent-box label{display:flex;gap:10px;align-items:flex-start;color:var(--text);font-weight:800;font-size:.9rem}.consent-box input[type=checkbox]{width:auto;margin-top:3px}
.info-note{border-radius:10px;padding:14px 16px;background:var(--soft);border:1px dashed var(--border);font-size:.82rem;color:var(--muted);line-height:1.5}.info-note a{color:var(--text);text-decoration:underline}
.modal-overlay{position:fixed;inset:0;background:rgba(5,8,14,.72);display:flex;align-items:center;justify-content:center;padding:24px;z-index:60}.modal-overlay[hidden]{display:none}.modal-panel{position:relative;width:100%;max-width:640px;max-height:82vh;overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.5)}.modal-panel h2{margin-top:0}.modal-panel p{line-height:1.6;color:var(--muted)}.modal-close{position:absolute;top:12px;right:14px;border:0;background:transparent;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer}
@media(max-width:820px){.register-panel{padding:0}.form-section .form-grid{grid-template-columns:1fr}}
@media(max-width:820px){.login-panel,.split,.wide-left,.video-grid{grid-template-columns:1fr}.topbar{display:grid;grid-template-columns:1fr;gap:0;padding:10px 12px}.topbar-main{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.brand{min-width:0}.brand img{max-height:34px;max-width:150px}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{flex:0 0 auto}.hamburger{display:flex}.logout-link{display:none}.mobile-logout{display:block}.nav{width:100%;display:grid;grid-template-columns:1fr;gap:8px;max-height:0;opacity:0;overflow:hidden;padding:0;transform:translateY(-4px);transition:max-height .28s ease,opacity .22s ease,padding .22s ease,transform .22s ease}.menu-open .nav{max-height:260px;opacity:1;padding:12px 0 2px;transform:translateY(0)}.nav a{width:100%;background:var(--soft);border:1px solid var(--border);padding:12px 13px;text-align:left}.nav a.is-active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-color:transparent}.ghost-btn{min-height:36px;padding:8px 11px}.icon-btn{width:40px;min-height:40px;padding:0}.hero-strip{align-items:start;flex-direction:column}.banner-hero{min-height:210px;padding:22px}}
@media(min-width:901px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page{width:min(1320px,calc(100% - 48px))}.player iframe{min-height:360px}}
@media(max-width:900px){.video-grid{grid-template-columns:1fr!important}.page{width:min(100% - 24px,720px)}.banner-hero{min-height:190px}}
@media(max-width:900px){.admin-users-layout{grid-template-columns:1fr}.user-edit-form .form-grid{grid-template-columns:1fr}.user-row{grid-template-columns:1fr;gap:8px}.user-row .small-btn{width:max-content}.list-card-head{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.brand img{max-width:118px}.brand span{display:none}.nav a{padding:8px 10px;font-size:.92rem}.topbar{padding:9px 10px}}
@media(max-width:820px){.topbar{padding:12px 14px}.topbar-main{gap:14px}.brand img{max-height:41px;max-width:180px}.top-actions{gap:10px}.hamburger{width:48px;height:48px;border-radius:10px;gap:5px}.hamburger span{width:20px;height:2.4px}.menu-open .hamburger span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}.menu-open .hamburger span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}.icon-btn{width:48px;min-height:48px;font-size:1.18rem}.menu-open .nav{max-height:320px;padding:14px 0 3px}.nav{gap:10px}.nav a{padding:14px 16px;font-size:1.1rem;border-radius:10px}}
@media(max-width:420px){.brand img{max-width:142px;max-height:41px}.nav a{padding:12px 13px;font-size:1.02rem}.topbar{padding:11px 12px}.hamburger,.icon-btn{width:46px;height:46px;min-height:46px}}
@media(max-width:820px){.topbar{padding:15px 18px}.topbar-main{gap:18px}.brand img{max-height:51px;max-width:225px}.top-actions{gap:13px}.hamburger{width:60px;height:60px;border-radius:12px;gap:6px}.hamburger span{width:25px;height:3px}.menu-open .hamburger span:nth-child(1){transform:translateY(9px) rotate(45deg)}.menu-open .hamburger span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.icon-btn{width:60px;min-height:60px;font-size:1.48rem}.menu-open .nav{max-height:400px;padding:18px 0 4px}.nav{gap:13px}.nav a{padding:18px 20px;font-size:1.38rem;border-radius:12px}}
@media(max-width:420px){.brand img{max-width:178px;max-height:51px}.nav a{padding:15px 16px;font-size:1.28rem}.topbar{padding:14px 15px}.hamburger,.icon-btn{width:58px;height:58px;min-height:58px}}
@media(max-width:820px){.icon-btn[data-theme-toggle]{font-size:2rem;line-height:1}}
@media(max-width:420px){.icon-btn[data-theme-toggle]{font-size:1.9rem;line-height:1}}
@media(max-width:820px){.icon-btn[data-theme-toggle]{font-size:2.9rem;line-height:1}}
@media(max-width:420px){.icon-btn[data-theme-toggle]{font-size:2.75rem;line-height:1}}
.user-session-stats table{min-width:980px}.user-session-stats th:nth-child(n+3),.user-session-stats td:nth-child(n+3){text-align:center}.percent{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:6px 9px;border-radius:999px;background:var(--soft);border:1px solid var(--border);font-weight:800;font-size:.82rem}.percent.is-started{background:color-mix(in srgb,var(--accent),transparent 78%);border-color:color-mix(in srgb,var(--accent),transparent 35%);color:var(--text)}.percent.is-complete{background:color-mix(in srgb,var(--secondary),transparent 78%);border-color:color-mix(in srgb,var(--secondary),transparent 35%);color:var(--text)}.percent.is-empty{color:var(--muted)}
.vithas-main-banner{min-height:230px;background:var(--banner) center/contain no-repeat #0122C7;padding:0}.partners-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:34px;align-items:end;margin:-6px 0 30px;padding:26px 30px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.partner-block{display:grid;gap:14px;align-content:start}.partner-block span{font-size:1.45rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:500;color:var(--text)}.partner-block img{max-height:112px;width:auto;max-width:100%;object-fit:contain;object-position:left center}.partner-block.collaborator img{max-height:86px}[data-theme=dark] .partners-strip{background:#fff;color:#08111f}[data-theme=dark] .partner-block span{color:#08111f}
@media(max-width:820px){.partners-strip{grid-template-columns:1fr;gap:24px;margin:0 0 24px;padding:22px}.partner-block span{font-size:1.2rem}.partner-block img{max-height:92px}.partner-block.collaborator img{max-height:70px}}
.thumb i{width:96px;height:96px;font-size:0;background:rgba(0,58,114,.86);box-shadow:0 18px 42px rgba(0,18,54,.38),0 0 0 7px rgba(255,255,255,.18);pointer-events:none;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.thumb i::before{content:"";display:block;width:0;height:0;border-top:22px solid transparent;border-bottom:22px solid transparent;border-left:32px solid #fff;margin-left:8px}.thumb:hover i{transform:translate(-50%,-50%) scale(1.08);background:rgba(1,34,199,.92);box-shadow:0 20px 50px rgba(0,18,54,.44),0 0 0 9px rgba(255,255,255,.2)}
@media(max-width:820px){.thumb i{width:82px;height:82px}.thumb i::before{border-top-width:19px;border-bottom-width:19px;border-left-width:28px;margin-left:7px}}
.theme-toggle{position:relative}.theme-icon{position:relative;display:block;width:24px;height:24px;border-radius:50%;background:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--text),transparent 82%)}.theme-icon::before,.theme-icon::after{content:"";position:absolute;display:block}.theme-icon::before{inset:-7px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 8deg,currentColor 8deg 18deg,transparent 18deg 53deg,currentColor 53deg 63deg,transparent 63deg 98deg,currentColor 98deg 108deg,transparent 108deg 143deg,currentColor 143deg 153deg,transparent 153deg 188deg,currentColor 188deg 198deg,transparent 198deg 233deg,currentColor 233deg 243deg,transparent 243deg 278deg,currentColor 278deg 288deg,transparent 288deg 323deg,currentColor 323deg 333deg,transparent 333deg);opacity:.85}.theme-icon::after{display:none}[data-theme=dark] .theme-icon{width:27px;height:27px;background:transparent;box-shadow:inset -8px -5px 0 1px var(--text)}[data-theme=dark] .theme-icon::before{display:none}[data-theme=dark] .theme-icon::after{display:block;width:4px;height:4px;right:2px;top:3px;border-radius:50%;background:var(--text);box-shadow:-13px 4px 0 -1px var(--text),-5px 15px 0 -1px var(--text)}
@media(max-width:820px){.theme-icon{width:29px;height:29px}.theme-icon::before{inset:-9px}[data-theme=dark] .theme-icon{width:32px;height:32px;box-shadow:inset -10px -6px 0 1px var(--text)}}
@media(max-width:420px){.theme-icon{width:27px;height:27px}.theme-icon::before{inset:-8px}[data-theme=dark] .theme-icon{width:30px;height:30px}}
